Skill v1.0.3
currentAutomated scan100/100~1 modified
version: "1.0.3" name: implement description: Explicit workflow for one bounded implementation using source-grounded discovery, a walking slice, evidence-gated review, validation, and commit. Use only when the user invokes /implement or another skill explicitly delegates to it. Do not trigger for ordinary coding requests, follow-up edits, fixes with an established design, or requests to amend an existing commit. allowed-tools: Bash, Glob, Grep, Read, Edit, Write
Implement workflow
Implement one bounded unit in the current worktree. Prefer the smallest complete change that satisfies the requested behavior. The current agent researches and implements the unit directly, so do not write the implementation twice as a code-bearing plan.
Presets increase required evidence, not architecture, abstractions, tests, or documentation.
Arguments
Arguments are $ARGUMENTS.
Parse these flags before starting:
--preset light|standard|design|strict: defaultstandard--parent-plan <path>: authoritative scope or phase brief--reviewer <selector>: consult-llm reviewer selector, repeatable--reviewers <selector,selector>: comma-separated reviewer selectors--validation <command>: expected validation command
Everything else is the implementation request.
Presets:
light: an established local pattern, focused validation, no external reviewstandard: the default, acceptance evidence and runtime exercise where
applicable, no routine external review
design: a meaningful API, ownership, or architecture choice, with one
source-grounded technical-shape review before edits
strict: authentication, secrets, untrusted input, protocols, migrations,
persistence, destructive behavior, concurrency, or FFI, with boundary-focused evidence and one final diff review
Treat a component with a strict boundary as strict even when the selected preset is lighter. Strictness adds relevant proof. It does not justify speculative hardening.
Do not ask the user during the workflow unless continuing safely requires a material product choice, public or irreversible contract, dependency, durable-state change, trust-model change, unsafe overwrite, or major scope expansion.
Working record
Keep at most one evolving implementation brief under history/ with today's date prefix. A brief is required only when:
- the preset is
designorstrict - the caller explicitly requests one
- discoveries are complex enough that a durable execution record prevents
mistakes
A sufficient parent plan replaces the brief. Add a local note only for material facts or deviations absent from the parent plan.
Use this compact shape when a brief is needed:
# Implement: <topic>**Goal:** <one observable outcome>**Preset:** <preset>**Parent plan:** <path or n/a>**Validation:** <commands>## Scope-In:-Out:## Source facts-`<path>:<symbol>`: <ownership, contract, or convention>## Technical shape-Existing mechanisms to reuse:-Smallest complete slice:-Acceptance evidence:-Real trust or compatibility boundaries:-Stop conditions:## Accepted review findings-<only independently reproduced findings>## Result-Acceptance evidence:-Validation:-Commit:-Blockers:
Do not pre-write source or test code in the brief. Do not create separate plans, proposal captures, feedback ledgers, or review transcripts. Update the brief only when scope, technical ownership, accepted evidence, or the result changes. Briefs are workflow records. Do not stage or commit them.
A result sentinel is a separate artifact only when a parent plan or caller requires one.
1. Establish facts
- Read active repository instructions and relevant architecture documentation.
- Record
git rev-parse HEADand inspectgit status --short. - Stop before overwriting or unsafely entangling unrelated user changes.
- Read a supplied parent plan and treat its scope and acceptance criteria as
authoritative.
- Find the nearest existing implementation, callers, tests, configuration, and
runtime path. Prefer repository mechanisms over new ones.
- Define the observable outcome, explicit non-goals, smallest complete slice,
actual trust or compatibility boundaries, and acceptance evidence.
- Select the narrowest useful focused checks plus every repository-required
check. Use --validation unless it is plainly wrong.
Do not invent future consumers, extension points, defensive layers, or tests for unchanged framework behavior.
2. Review the technical shape when required
Skip this section unless the preset is design. A run receives at most one external review. Do not run a second review to approve corrections.
Before calling consult-llm, load the consult-llm skill and follow its invocation contract. Attach the brief or parent plan and focused source files. Use --task review, supplied reviewer selectors when present, the quoted heredoc terminator __CONSULT_LLM_END__, and Bash timeout 600000.
Ask whether the technical shape demonstrably conflicts with source-established ownership, behavior, contracts, or trust boundaries. Do not ask for a replacement plan or general hardening advice.
Every reported finding must include:
- Claim: the specific incorrect behavior, contradiction, or execution blocker
- Trigger: the concrete input, state, caller, or plan step that exposes it
- Expected: the acceptance criterion, existing contract, repository
convention, or real boundary requirement
- Actual: the behavior the proposed shape would produce
- Evidence: exact files and symbols plus a manual procedure, command, or
complete reachable source trace
- Smallest correction: the minimum change that fixes the issue
- Verification: the check that proves the correction
Tell the reviewer to return no findings when no issue meets this standard. General hardening, hypothetical edge cases, style preferences, alternative valid designs, and speculative callers are not findings.
Independently confirm each finding before accepting it. For a pre-implementation finding, compare the named plan step with the complete current source path and identify the exact contract or acceptance criterion that would fail. Reviewer assertions alone are not evidence.
Ignore findings that cannot be reproduced, have no reachable trigger, protect no accepted behavior or real boundary, duplicate lower-layer guarantees, or ask for more hardening than the demonstrated issue requires. Record only accepted findings and their smallest corrections in the brief. Do not preserve rejected feedback in a ledger.
3. Implement a walking slice
Implement serially in the current worktree:
- Build the thinnest complete path through existing owners.
- Reuse repository conventions before adding state, types, helpers, or error
layers.
- Add an early test only when it captures a demonstrated regression, pure
contract, parser, protocol invariant, or trust-boundary invariant needed to make the slice safe.
- Compile or run the changed path as soon as it works.
- Add remaining tests only when they prove accepted behavior, platform behavior,
compatibility, a demonstrated regression, or a real trust boundary.
- Keep provisional APIs local and easy to reshape until a real second consumer
proves a broader boundary.
Continue with best judgment when a correction preserves accepted behavior, reduces complexity, follows an existing convention, and stays within scope. Stop only when a stop condition from the opening section fires.
Revisit the technical shape when implementation introduces a generic mechanism, pass-through layer, one-consumer abstraction, unexplained convention deviation, or material scope growth. Prefer deletion or a smaller local form.
4. Exercise, simplify, and validate
For every acceptance criterion, obtain concrete evidence from a focused test, manual reproduction, real process or application exercise, or source proof for a static contract.
For standard and above, exercise the changed runtime path and one representative failure or constrained state when applicable. For strict components, verify only the relevant input, authorization, persistence, compatibility, error, cancellation, allocation, and destructive-state boundaries.
Audit the actual diff for:
- unexplained scope growth or ownership changes
- accidental overwrite of user changes
- duplicated logic or tests
- pass-through layers and single-consumer abstractions
- tests of unchanged framework behavior
- protections that must remain at real trust or compatibility boundaries
Run all focused validation and repository-required checks.
Conditional final diff review
Run one final diff review only for strict, or when the implementation materially diverges from the technical shape or changes a public or generic framework contract. If a design run already used its review, verify the diff directly instead. Never create a review cycle.
Load the consult-llm skill and use the same invocation requirements from section 2. Attach the diff, acceptance criteria, and focused source context. Ask for deletion-first review and concrete correctness findings. Require every finding to use the Claim, Trigger, Expected, Actual, Evidence, Smallest correction, and Verification fields above.
The reviewer must not report hypothetical failures, speculative compatibility, defense-in-depth without a real boundary, new extensibility, unchanged framework behavior, style preferences, or alternative valid designs. A minimality finding must identify exact code that serves no accepted behavior or real boundary.
Before changing code, independently reproduce each finding through the real entry point, a safe command, or a complete source trace from a real boundary to the failure. For unsafe or destructive triggers, source proof must demonstrate the reachable path and violated invariant without executing harm. For a minimality finding, confirm the existing owner or single consumer, apply the smallest safe deletion, and rerun the relevant evidence.
Apply only the smallest correction that resolves a reproduced issue. Ignore unreproduced suggestions. Do not request follow-up review. If a reproduced fix requires redesign or scope expansion, stop and report the blocker.
5. Commit and report
Commit when acceptance evidence and required validation pass, no blocker remains, and repository instructions permit committing. Never commit workflow records.
When a result sentinel is required, follow the caller's exact path and format. Write it after committing so its commit fields are final. If the caller supplies no format, use:
# Implementation Result: <topic>status: success | blocked | failedhead_commit: <sha or pending>commit: <sha or pending>validation: <commands>validation_status: passed | failed | skipped## Summary-<what changed>## Acceptance-<criterion>: met | not met | unknown, with evidence## Blockers-<blocker or none>
Report concisely:
## Result-Outcome: <observable result>-Main implementation: <owners and mechanisms reused>-Acceptance evidence: <tests or runtime proof>-Review: <none | accepted reproduced findings | blocker>-Validation: <commands and results>-Commit: <sha or reason absent>-Remaining risks: <none or bounded demonstrated risks>-Sentinel: <path or n/a>