원클릭으로
canon-implementation
Use when you need a governed implementation run for an existing system with explicit task mapping and mutation bounds.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when you need a governed implementation run for an existing system with explicit task mapping and mutation bounds.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when you need a governed Canon review of a real diff or pull-request range instead of a loose chat summary.
Use when a repository does not have Canon runtime state yet and you need to initialize .canon before any governed workflow.
Use when you need a governed Canon policy-shaping run to shape a new or modified policy with mandatory impact evaluation.
Use when you need a governed backlog run that decomposes bounded upstream decisions into delivery epics and slices.
Use when you need a governed Canon architecture run to record decisions, tradeoffs, and risk-gated approvals.
Use when you need a governed change run in a live codebase where invariants and existing behavior matter.
| name | canon-implementation |
| description | Use when you need a governed implementation run for an existing system with explicit task mapping and mutation bounds. |
| preflight | {"requires_canon":true,"requires_initialized":true,"canonical_input":"implementation","system_context":"existing","risk_required":true,"zone_required":true,"owner_optional":true} |
available-nowdefault visibility: discoverable-standardExpose the delivered Canon implementation workflow as a governed run started from your AI assistant.
$canon-change.RISKZONEOptional:
OWNER when the user wants to override Git-derived ownership explicitlycanon is on PATH. If missing, point to the install guide..canon/ exists. If missing, point to $canon-init.--system-context existing for this skill.canon-input/ as read-only source material.canon-input/implementation.md or canon-input/implementation/ as the canonical authored-input locations for this mode.canon-input/implementation/, treat brief.md as the authoritative readiness brief and source-map.md as explicit provenance for carried-forward change or architecture context.--input-text instead of materializing a repo file automatically.--input from the active editor file, open tabs, recent .canon/ artifacts, or any other path under .canon/..canon/ artifacts or published packets directly; the current brief must restate task mapping, mutation bounds, safety-net evidence, and rollback expectations.$canon-change instead of guessing execution bounds.low-impact, bounded-impact, or systemic-impact.green, yellow, or red.Canon does not invent the implementation body for you. Canon governs,
validates, and persists the packet. You (the assistant) MUST author the real
implementation body from the bounded source material BEFORE calling
canon run --mode implementation.
Do this every time, even when the user starts from a short brief rather than a finished packet:
canon-input/implementation.md or
a folder-backed packet under canon-input/implementation/. The authored body
MUST include all of the following canonical H2 sections with concrete content:
## Task Mapping## Bounded Changes## Mutation Bounds## Allowed Paths## Executed Changes## Candidate Frameworks## Options Matrix## Decision Evidence## Recommendation## Task Linkage## Completion Evidence## Adoption Implications## Remaining Risks## Ecosystem Health## Safety-Net Evidence## Independent Checks## Rollback Triggers## Rollback StepsRollback Plan do not satisfy
this slice. Use the canonical H2 headings above.## Missing Authored Body
naming the missing canonical heading instead of fabricating filler.$canon-change or ask targeted clarification
questions before invoking Canon rather than submitting an empty brief.Author the packet as an implementation lead comparing bounded execution options for maintainers and approvers inside a task-mapped delivery packet.
canon run --mode implementation --system-context existing --risk <RISK> --zone <ZONE> [--owner <OWNER>] (--input <INPUT_PATH> | --input-text <INPUT_TEXT>)gate:execution approval target on the first run; the state is AwaitingApproval and the posture stays recommendation-only until that gate is approved.$canon-approve records the gate:execution approval, Canon still remains AwaitingApproval until $canon-resume runs the post-approval continuation.$canon-resume, surface approved-recommendation only when the packet has no executable local patch payload; real workspace mutation currently requires a bounded local payload such as patch.diff inside canon-input/implementation/.recommendation-only before resume, approved-recommendation only after approved resume without a local patch payload, mutating after approved resume with a valid local patch payload).canon/artifacts/<RUN_ID>/implementation/ paths when Canon emitted themAction Chips: when the host supports chips, preserve the full objects Canon already returned in mode_result.action_chips; do not collapse them to label-only bullets. In text-only hosts, render each chip's text_fallback instead. Typical gated set: Inspect evidence, Approve generation..., Open primary artifact; after approval but before continuation: Open primary artifact, Inspect evidence, Resume run. Must be the last element of the response; do not place any text after this section.canon is missing, show the supported install path from README..canon/ is missing, point to $canon-init.$canon-change instead of guessing task mapping or mutation bounds.AwaitingApproval, surface the exact target Canon produced and do not imply the run is complete.AwaitingApproval, say directly that the run now needs $canon-resume, not another approval.$canon-inspect-artifacts first.$canon-inspect-evidence when the user needs invocation rationale or policy decisions.$canon-change when the real gap is still bounded planning rather than execution guidance.$canon-pr-review only when the real target is a diff or WORKTREE.$canon-status$canon-inspect-evidence$canon-inspect-artifacts$canon-approve$canon-resume$canon-change$canon-pr-reviewBefore starting the governed run, check for before_run hooks:
If .canon/hooks.toml exists and is valid TOML with version = 1:
Parse hooks.before_run.actions array.
Filter by mode_filter: skip hooks whose mode_filter does not include
implementation. If mode_filter is null or absent, include the hook.
For each matching hook, emit a proposal block:
## Lifecycle Hook Detected
**Event**: before_run
**Hook**: <id>
**Command**: `<command>`
**Working Directory**: <repo-root>
**Description**: <description>
**Required**: <Yes if optional=false, No if optional=true>
**Trusted**: <Yes if trusted=true, No if trusted=false>
Proceed with this hook? [Yes / No / Skip all hooks]
Apply confirmation rules per the optional/trusted matrix in
.agents/skills/canon-shared/references/hooks-schema.md.
For untrusted hooks (trusted: false), add an extra confirmation step
explaining that the command source is not in the trusted allowlist.
If .canon/hooks.toml is missing, unreadable, or has invalid TOML, skip
hook detection silently. Do not block the run flow.
Record hook trace in ai-provenance.md (see Hook Trace Recording below).
After each hook proposal is resolved, append to the run's ai-provenance.md:
## Hook Traces
| Hook ID | Event | Command | Trusted | Outcome | Exit Code | Timestamp |
|---------|-------|---------|---------|---------|-----------|-----------|
| <id> | before_run | <command> | <yes/no> | <accepted/declined/skipped> | <code or n/a> | <ISO 8601> |