.agents/skills/implementation-kickoff/SKILL.md
Use this skill as the explicit transition from an agreed implementation scope to isolated execution. Keep the user's original checkout and existing branches unchanged, and finish with a clean local branch that is ready for the user to push.
Record the original requirement, success criteria, intended target (origin/main unless the user states otherwise), task-owned paths, compatibility boundary, intentionally unsupported cases, and required repository skills. For a multi-step task, create and maintain the repository's required ExecPlan, but keep operational artifacts out of the shipped-path manifest unless they are intended deliverables.
If the current directory is a worktree previously created for this same task in the current conversation, resume it. Otherwise, continue from the user's current checkout only long enough to create a new worktree.
origin main. If the fetch fails, stop rather than claiming a stale ref is current.origin/main commit.git worktree list; never reuse or delete a collision.git worktree add --detach <worktree> origin/main and perform all subsequent implementation work there.Do not create the final branch yet. A detached worktree makes the eventual $pr-draft-summary branch suggestion authoritative and prevents temporary naming from becoming accidental output.
Keep the task diff uncommitted through implementation, focused tests, formatting, and review fixes. Track new files explicitly because ordinary diff statistics omit untracked files. Use the applicable repository skills and references, including $implementation-strategy before user-facing or runtime changes.
Do not create checkpoint commits. If an external interruption requires extra protection, leave the dedicated worktree intact or use a clearly named temporary stash; restore the changes before continuing and do not treat the stash as a deliverable.
When the user asks to complete another author's pull request:
origin/main; do not derive the final branch from the contributor branch and do not preserve its intermediate commit topology.Co-authored-by trailers, linked issues, and the original intent that the replacement must preserve.After implementation, focused tests, and formatting are stable, fetch origin main again. If it advanced:
origin/main. With no task commits, this updates the empty local commit range to the new base.Record this observed origin/main commit as the final-base candidate. Do not call an older base "latest" merely because its changes appear unrelated.
Run the repository's applicable completion gates against the complete task-owned diff on the final-base candidate. For runtime code, tests, examples, build or test behavior, or behavior-impacting docs, run $implementation-final-review and the required $code-change-verification sequence in their mandated order. Honor their fingerprint and invalidation rules.
Skip those skills only when their own repository rules say the task is ineligible, such as a repo-meta-only change. Do not weaken an eligible gate merely because the diff is small.
Do not create the branch or commit when review is non-converging, verification fails, required evidence is missing, or the final content lacks clean-review credit.
Invoke $pr-draft-summary only after review and verification apply to the final content. Give it a self-contained packet containing the original requirement, implementation scope contract, important decisions and intent, complete changed-path inventory including untracked files, final diff and statistics, compatibility notes, issue references, and takeover provenance.
The worktree is intentionally detached. Tell $pr-draft-summary to treat the current branch value HEAD as "no branch yet" and require a concrete unused branch-name suggestion; never accept HEAD as the suggestion. The description must explain the complete final change and its motivation, not only the last review fix.
For a takeover, begin the description with prose such as This pull request supersedes #<number> and .... Preserve any separate issue-closing line only when the final implementation actually resolves that issue.
If the diff, scope, base, behavior claim, issue relationship, or provenance changes after generation, regenerate the entire PR handoff.
Fetch origin main once more immediately before creating the branch. If it differs from the final-base candidate, return to section 4 and repeat replay, affected checks, final review, verification, and PR handoff. Once stable:
$pr-draft-summary for the next available numeric suffix and regenerate the handoff before creating a colliding branch.Co-authored-by: Name <email>, retain distinct valid co-author trailers from the imported commits, and deduplicate identities.Branch creation and committing identical content are repository bookkeeping and do not invalidate clean content review. If a hook or manual fix changes task content, stop, classify the change under $implementation-final-review, and rerun every invalidated gate and $pr-draft-summary before replacing or amending the commit.
Run python .agents/skills/implementation-kickoff/scripts/validate_handoff.py --repo <worktree> --base <final-base> --expected-branch <branch>. For a takeover, also pass --required-trailer-email <verified-email> for each identity that must be credited.
Independently confirm that the committed diff has the reviewed content fingerprint when final review supplied one. The validator checks Git topology and repository cleanliness; it does not replace semantic review or fingerprint verification.
Leave the worktree in place. Report the worktree path, final observed base commit, branch, commit SHA and subject, verification results, review status, PR title and description, and whether takeover provenance was included. Treat the worktree path and validator output as local diagnostics: never include them in the PR title, PR description, or other copy-ready external text. State explicitly that nothing was pushed and no pull request was created.