Skip to content

Commit 00c3d3a

Browse files
committed
feat(handoff): explicit invocation authorizes the declared handoff workflow
Bridged from Codex Game Studios commit 2eae58d. Explicit /handoff invocation now counts as approval for the full declared handoff workflow without a second confirmation: continuity-file updates, path-scoped staging, the standard handoff commit, and a normal push. - Adds authorization preconditions naming the declared continuity files and the safety bounds (no source edits, no branch switching, no force-push, no --no-verify/amend). - Renames Phase 3 -> Commit Handoff, Phase 4 -> Push Handoff and notes that invocation is commit/push authorization. Adapted Codex -> OpenCode: $handoff -> /handoff.
1 parent f0cfaa2 commit 00c3d3a

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

.opencode/skills/handoff/SKILL.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ pair for `/resume-from-handoff`.
1414
- Pushing the handoff to the current branch's remote is expected behavior,
1515
not a merge to main. Do not conflate the two.
1616
- Do not edit legacy Claude runtime files or instruction surfaces.
17+
- Explicit invocation of `/handoff` authorizes this skill's declared handoff
18+
workflow without a second approval confirmation: update continuity files, stage
19+
relevant uncommitted changes by path, create the standard handoff commit, and
20+
push the current branch.
21+
- Declared continuity files:
22+
`production/session-handoff.md`, `production/session-archive.md`, and
23+
`production/session-state/active.md`.
24+
- Show the user the intended handoff label and concise update summary, then
25+
run the declared handoff workflow directly. Do not pause between the summary,
26+
continuity writes, commit, and push unless the work would leave the declared
27+
workflow.
28+
- This authorization does not include making new source edits outside the
29+
continuity files, design decisions, game-feel/balance calls, writes outside
30+
declared continuity files, branch switching, force-pushes, or `--no-verify` /
31+
amend workarounds.
1732
- Use evidence from the current turn for every status, count, and verification
1833
claim.
1934
- If a command fails, halt the current phase and report the exact failure.
@@ -119,7 +134,7 @@ Overwrite `production/session-state/active.md` with a short pointer stub to
119134
projects; keep it coherent but do not stage it unless the repo explicitly tracks
120135
it.
121136

122-
## Phase 3: Commit When Authorized
137+
## Phase 3: Commit Handoff
123138

124139
Run:
125140

@@ -132,7 +147,8 @@ git log -5 --oneline
132147
If there are no relevant uncommitted changes, skip the commit and say why.
133148

134149
Otherwise stage only the relevant paths by name. Avoid broad staging unless the
135-
user explicitly asked for it. Before committing, verify:
150+
user explicitly asked for it. `/handoff` invocation is commit authorization for
151+
the relevant handoff work. Before committing, verify:
136152

137153
```bash
138154
git diff --cached --name-status
@@ -142,7 +158,7 @@ Commit with the standard handoff subject.
142158

143159
Never use `--no-verify`. Never amend as a workaround for a failed hook.
144160

145-
## Phase 4: Push To Current Branch
161+
## Phase 4: Push Handoff
146162

147163
Determine the current branch:
148164

@@ -152,6 +168,8 @@ git rev-parse --abbrev-ref HEAD
152168

153169
Push the handoff commit to the current branch's remote. This is a routine
154170
backup of the handoff state — not a merge decision and not a push to main.
171+
Explicit `/handoff` invocation is normal push authorization for the standard
172+
handoff commit.
155173

156174
- If the branch has an upstream: `git push`
157175
- If the branch has no upstream: `git push -u origin <branch>`

0 commit comments

Comments
 (0)