ワンクリックで
yak-adr
Architecture Decision Records. Create, manage, and cross-reference ADRs — no external CLI needed.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Architecture Decision Records. Create, manage, and cross-reference ADRs — no external CLI needed.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Surveying the herd. Use when planning work by approaching goals and discovering blockers — emergent planning through action, not top-down decomposition
The night crew. Unattended overnight session where Yakob works through a queue of well-defined yaks serially — shave, sniff-test, remediate if needed, push a PR — so the operator wakes up to reviewable PRs.
The shaver's field guide. The complete operating guide for shavers in the yakthang environment. Covers task lifecycle (yx show, start, shaver-message, done), message checking (yakob-message), heartbeat (via /loop), and notes for Yakob.
Sorting the herd at the gate. Session start ritual for Yakob. Establishes the time window and WIP limit, surveys the yak map, and helps the operator decide what to tackle this session — before acceleration flow begins.
Closing the barn. End-of-session wrap-up for Yakob. Harvests done yaks into a worklog summary, prunes the map, and reorganizes remaining work for the next session. Can be called at any natural break point — not just end of day.
Does this yak smell right? Use when a shaver reports done and Yakob needs to verify the work matches the brief using a fresh, independent reviewer agent before accepting or pruning the yak.
| name | yak-adr |
| description | Architecture Decision Records. Create, manage, and cross-reference ADRs — no external CLI needed. |
| allowed-tools | Read, Write, Edit, Grep, Glob |
| argument-hint | <create|supersede|amend|update-index|list> [title or ADR number] |
User instructions: $ARGUMENTS
Parse $ARGUMENTS to determine which operation to perform:
create "Title" or just a title string — create a new ADRsupersede NNNN "New Title" — create a new ADR that supersedes #NNNNamend NNNN "New Title" — create a new ADR that amends #NNNNupdate-index — regenerate the README.md index tablelist — show all existing ADRs and their statusesIf $ARGUMENTS is empty or unclear, ask the user what they want to do.
Write an ADR when making decisions that:
Not for: minor implementation details, bug fixes, refactoring, configuration changes.
If the user's request doesn't clearly warrant an ADR, mention this guidance before proceeding. Don't refuse — the user may have good reasons.
| Convention | Value |
|---|---|
| ADR location | docs/adr/ relative to repository root |
| Filename format | NNNN-kebab-case-title.md (4-digit zero-padded) |
| Index file | docs/adr/README.md with markdown table |
| New ADR status | proposed |
| Date format | YYYY-MM-DD |
Supported statuses: proposed, accepted, rejected, superseded, amended, deprecated
docs/adr/[0-9][0-9][0-9][0-9]-*.md0001Before any operation, check if docs/adr/ exists. If not:
docs/adr/ directorydocs/adr/README.md with the initial template (see Operation: Update Index for the full template)adopt-cqrs-and-event-sourcingkeep-main-rs-thinuuid-for-migration-eventsWhen creating a new ADR, write the file with this exact structure:
# NNNN. Title of the Decision
Date: YYYY-MM-DD
## Status
proposed
## Context
[Describe the issue, forces at play, and what motivates this decision.
Include enough background that a reader unfamiliar with the project
can understand why this decision matters.]
## Decision
[State the decision clearly. Use active voice: "We will..." or
"Use X for Y because Z."]
### Relation to other ADRs
None.
## Consequences
### Benefits
[What becomes easier or better because of this decision.]
### Trade-offs
[What becomes harder or more constrained. Be honest.]
### Future considerations
[Open questions, things to watch for, conditions under which
this decision should be revisited.]
docs/adr/NNNN-kebab-case-title.md using the ADR TemplateNNNN. Title (preserving the user's original casing)proposedCreated: docs/adr/NNNN-kebab-case-title.md
Status: proposed
Next steps:
- Fill in Context, Decision, and Consequences (if not already done)
- Change status to "accepted" once the decision is agreed upon
- Commit the ADR with the related code changes
When a new decision replaces an older one entirely:
docs/adr/NNNN-*.md) to confirm it exists and get its titleaccepted (supersedes ADR NNNN)superseded by ADR MMMM — Short Title of New ADR
Created: docs/adr/MMMM-new-title.md (supersedes ADR NNNN)
Updated: docs/adr/NNNN-old-title.md → status: superseded
Both ADRs cross-reference each other.
When a new decision modifies (but does not replace) an older one:
docs/adr/NNNN-*.md) to confirm it exists and get its titleaccepted (amends ADR NNNN)amended by ADR MMMM — Short Title of New ADR
accepted remains)accepted
amended by ADR MMMM — Short Title of New ADR
Created: docs/adr/MMMM-new-title.md (amends ADR NNNN)
Updated: docs/adr/NNNN-old-title.md → status: amended
Both ADRs cross-reference each other.
Regenerate docs/adr/README.md from the current ADR files:
docs/adr/[0-9][0-9][0-9][0-9]-*.md using Glob# heading, stripping the NNNN. prefix## Status — use only the first word for the index table (e.g., superseded not superseded by ADR 0019 — Title)docs/adr/README.md with this structure:# Architecture Decision Records
ADRs document significant architectural and design decisions.
## Index
| # | Decision | Status |
|---|----------|--------|
| [NNNN](NNNN-filename.md) | Title | status |
## When to Write an ADR
Write an ADR when making decisions that:
- Change the architecture or core design patterns
- Introduce new dependencies or technologies
- Affect multiple components or the public API
- Have long-term maintenance implications
- Future maintainers will ask "why did we do it this way?"
Not for: minor implementation details, bug fixes, refactoring,
configuration changes.
docs/adr/README.md if it exists and display the Index table| Operation | Invocation | What it does |
|---|---|---|
| Create | /yak-adr create "Title" | New ADR with next sequential number |
| Supersede | /yak-adr supersede 0015 "New approach" | New ADR, marks old as superseded |
| Amend | /yak-adr amend 0012 "Refinement" | New ADR, marks old as amended |
| Update index | /yak-adr update-index | Regenerate README.md table |
| List | /yak-adr list | Show all ADRs and statuses |
| Status | Meaning | How it's set |
|---|---|---|
| proposed | Under discussion, not yet accepted | Default for new ADRs |
| accepted | Decision is in effect | User manually changes from proposed |
| rejected | Considered but not adopted | User manually changes from proposed |
| superseded | Replaced by a newer ADR | Set by supersede operation |
| amended | Modified by a newer ADR (still partially in effect) | Set by amend operation |
| deprecated | No longer relevant but not replaced | User manually sets |