Agent skill
gov
Execute governed implementation workflow with work items, RFC/ADR checks, phase gates, testing, and closure. Use when: (1) User invokes /gov, (2) A non-trivial change needs work item tracking, (3) Implementation may require RFC/ADR handling
Install this agent skill to your Project
npx add-skill https://github.com/govctl-org/govctl/tree/main/.claude/skills/gov
SKILL.md
/gov - Governed Workflow
Execute a complete, auditable workflow for: $ARGUMENTS
Outputs: Implemented change, updated governance artifacts where needed, validated tests/checks, and a completed work item.
Agent Patterns
CLI choice
Use govctl for governance operations.
When working on the govctl repo itself, use cargo run --quiet -- instead. Commands below use govctl for brevity.
Non-interactive commands
Use non-interactive CLI commands only. Prefer --stdin for multi-line content.
Verification
After each governance write or substantive code change, run the relevant validation (govctl check, tests, render when needed).
Quick Reference
govctl status
govctl work list pending
govctl work show <WI-ID>
govctl work new --active "<title>"
govctl work move <WI-ID> <status>
govctl work set <WI-ID> description "Scope and why"
govctl work add <WI-ID> acceptance_criteria "add: Implement feature X"
govctl work add <WI-ID> journal "Ran tests; fixed parser bug" --scope parser
govctl work add <WI-ID> notes "Do not retry old fixture path; it fails because snapshots are stale"
govctl work add <WI-ID> refs RFC-0001
govctl work add <WI-ID> tags <tag>
govctl tag new <tag>
govctl tag list
govctl rfc list
govctl adr list
govctl rfc new "<title>"
govctl adr new "<title>"
govctl rfc finalize <RFC-ID> normative
govctl rfc advance <RFC-ID> <impl|test|stable>
govctl check
govctl render
Critical Rules
- Use
govctlfor governance operations. Never edit governed files directly. - Respect phase discipline:
spec -> impl -> test -> stable. - Behavior changes must be grounded in a normative RFC. If behavior is unspecified or ambiguous, stop and escalate.
- Ask permission before
govctl rfc finalize ...orgovctl rfc advance ...unless$ARGUMENTSexplicitly grant full authority. - Keep an active work item before implementation.
govctl check --has-activeis the gate. - In source comments, reference artifacts with
[[artifact-id]]. - Use work item fields correctly:
description: task scope and why; set once, rarely changejournal: execution log; append actions and outcomesnotes: durable learnings; record constraints, decisions, retry rules, and failure causes
- Avoid loops. If the same approach already failed, do not repeat it unchanged.
- Spec-only governance maintenance does not belong here. Use
/specwhen no implementation work is required. - Work items are operational memory, not normative authority. If implementation needs a new requirement or design decision, amend the RFC or ADR instead of stuffing it into
description,journal, ornotes.
Working Memory
The active work item is persistent working memory. Read it with govctl work show <WI-ID>; do not rely on raw TOML.
Read order
descriptiontells you the scope.journaltells you what was tried and what happened.notestells you what to remember before the next attempt.acceptance_criteriatells you what must be true before closure.
Write rules
- Add a
journalentry after meaningful progress, verification, or failure. - Add a
notesentry when you learn something future steps must obey. - On failure, write both when appropriate:
journal: what you ran and what failednotes: why it failed, what not to retry, or what to try instead
Workflow
0. Initialize
govctl status
- Read
gov/config.toml. - Classify the task:
- Doc-only: skip governance analysis, but still use a work item
- Bug fix: usually no new RFC if behavior is already specified
- Feature: likely requires an RFC or ADR
- Deprecation or removal: amend the governing RFC before implementation
- Refactor: ADR may be needed if it changes architecture
1. Resolve the work item
govctl work list pending
- Matching active item: use it
- Matching queued item:
govctl work move <WI-ID> active - No match:
govctl work new --active "<concise-title>"
Then immediately:
govctl work show <WI-ID>
govctl work set <WI-ID> description "Brief scope: what and why"
govctl work add <WI-ID> acceptance_criteria "chore: govctl check passes"
Add task-specific acceptance criteria and refs as needed:
govctl work add <WI-ID> acceptance_criteria "add: Implement feature X"
govctl work add <WI-ID> refs RFC-0001
Follow the wi-writer skill for acceptance criteria quality.
2. Analyze governance
Skip this step for doc-only changes.
govctl rfc list
govctl adr list
Choose the smallest thing that matches reality:
- New behavior not covered by an RFC: draft an RFC
- Ambiguous interpretation or architectural choice: draft an ADR
- Deprecation or removal of specified behavior: amend the governing RFC first
- Existing normative RFC already specifies the change: proceed
- Spec-only artifact maintenance with no implementation: stop and use
/spec
If you create artifacts:
- Follow
rfc-writeroradr-writer - Review drafts with the appropriate reviewer agent
- Fix critical findings before implementation
3. Enter implementation
Before writing code:
govctl check --has-active
For RFC-governed work, verify the RFC state:
draft/spec: ask permission, then finalize and advance toimplnormative/spec: ask permission, then advance toimplnormative/impl+: proceeddeprecated: stop
If implementation reveals a spec bug, do not silently deviate. Amend the RFC per [[ADR-0016]] or stop and ask.
Implementation rules:
- Keep changes focused.
- Follow RFC clauses and cite them in source comments when useful.
- After each substantive change, run the relevant validation.
- Update working memory as you go:
govctl work add <WI-ID> journal "Implemented X; govctl check passes" --scope <scope>
govctl work add <WI-ID> notes "Do not retry Y; it fails because Z"
4. Test
If an RFC exists, ask permission before govctl rfc advance <RFC-ID> test unless full authority was granted.
Run the relevant verification for the change:
govctl check- Project tests
- Render commands when governed output changed
If a check fails:
- Record the failed attempt in
journal - Record the lesson or retry rule in
notes - Change approach before retrying
Do not continue until green.
If the change implements, removes, or materially alters RFC-governed behavior, invoke the compliance-checker agent before moving to stable.
Treat Critical compliance findings as a release gate; fix them before continuing.
5. Complete
Run final validation:
govctl check
govctl render
If an RFC exists and all required testing is done, ask permission before govctl rfc advance <RFC-ID> stable unless full authority was granted.
Before advancing to stable for RFC-governed behavior:
- Run compliance-checker
- Fix any Critical findings
- Re-run the relevant checks if code changed
Before closing the work item:
- Review the work item with
wi-reviewer - Tick completed acceptance criteria
- Move the work item to
done
Example:
govctl work show <WI-ID>
govctl work tick <WI-ID> acceptance_criteria "<pattern>" -s done
govctl work move <WI-ID> done
Error Handling
Stop and ask when
- Requirements are ambiguous.
- A normative RFC conflicts with the requested change.
- The change would break existing behavior.
- Security or secret-handling issues appear.
- The task grows beyond the original scope.
- The same failure recurs and you do not have a materially different next step.
Otherwise recover and continue
| Problem | Recovery |
|---|---|
govctl check fails |
Read diagnostics, fix, rerun |
| Tests fail | Debug, fix, rerun |
work move ... done rejected |
Add or tick acceptance criteria first |
| Same failure repeats | Read notes, then journal; record a new plan or stop and ask |
Commit Conventions
chore(work): activate or complete a work itemdocs(rfc)/docs(adr): draft governance artifactsfeat(scope)/fix(scope)/refactor(scope)/docs(scope)/test(scope): implementation commits
Use the commit skill for all raw VCS operations.
Execution Checklist
- Environment validated; config read
- Active work item exists
-
govctl work show <WI-ID>read before implementation -
description,journal, andnotesused correctly - Governance analysis completed or explicitly skipped
- Validation and tests passed
- Acceptance criteria ticked
- Work item closed
BEGIN EXECUTION NOW.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
commit
Commit changes with govctl integration — check work item status, update journal or notes, and run govctl check
guard-writer
Write well-structured Verification Guards. Use when: (1) Creating a new guard, (2) Editing guard check commands or patterns, (3) User mentions guard, verification, or check
wi-writer
Write well-structured work items with proper acceptance criteria. Use when: (1) Creating work items, (2) Adding acceptance criteria, (3) User mentions work item, task, WI, or ticket
adr-writer
Write effective Architecture Decision Records. Use when: (1) Creating a new ADR, (2) Recording a design decision, (3) User mentions ADR, decision, trade-off, or alternatives
rfc-writer
Write well-structured RFCs with normative clauses. Use when: (1) Creating a new RFC, (2) Adding or editing RFC clauses, (3) User mentions RFC, specification, or normative requirements
decision-analysis
Stress-test a design decision with premortem/backcast analysis, then produce a risk-calibrated recommendation that maps to ADR fields. Use when: (1) Multiple competing architecture options, (2) Irreversible or high-risk design choices, (3) /discuss identifies a complex trade-off
Didn't find tool you were looking for?