---
name: "flow-register"
description: "Flow: Register - Declare This Session's Wave Role - A worker session announces its own role to the wave orchestrator; the orchestrator records the ..."
---
<!-- GENERATED by claude-power-pack - scripts/codex-skill-sync.py; edit .claude/commands/flow/register.md instead -->

## Codex harness adaptations

Generated from a Claude Code command. Where the procedure references these Claude-only surfaces, adapt as follows:

- Claude subagent/skill dispatch: do the work inline in this session, or shell out to `codex exec` when isolation is needed.
- Helper scripts are bundled under `scripts/` in this skill directory (byte-identical copies from the claude-power-pack checkout). Commands run them as `"${CPP_SKILL_DIR:-/dev/null}"/scripts/<name>`: `CPP_SKILL_DIR` is the absolute directory containing THIS SKILL.md - the location the skills catalog gives, with any alias such as `r0` expanded. A shell resolves a bare `scripts/<name>` against your working directory (the target project), never this skill, so substitute that directory, or set it in the same command (`CPP_SKILL_DIR=/abs/skill/dir; ...`) - each command is a fresh shell. "Not a directory" on `/dev/null/scripts/<name>` (exit 126, or 127 in some shells) means `CPP_SKILL_DIR` is unset: set it and re-run; never run the target project's own `scripts/<name>` in its place. A bare `scripts/<name>` inside a command is a CPP-checkout operation that the text says so about; in prose, `scripts/<name>` NAMES the bundled helper. Some helpers expect sibling repo resources, so prefer a full checkout when one is available.

# Flow: Register - Declare This Session's Wave Role

A worker session announces its own role to the wave orchestrator; the orchestrator records the ...

## Full procedure

Read `reference.md` in this skill directory for the complete, authoritative procedure before acting on this skill.
