.cursor/skills/adr/SKILL.md
Creates a new Architecture Decision Record in docs/adr/. Load when making a significant architectural decision, choosing between technical approaches, establishing a new pattern, or recording why an alternative was rejected. Covers ADR format, status lifecycle, and what qualifies as an ADR.
npx skillsauth add poko8nada/portfolio-v3 adrInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ADRs record the why and why-not behind significant decisions. They are append-only — never rewrite, only supersede. Agents use status fields to determine which decisions are currently active.
This is also the canonical place for rejected alternatives — including feature-level "why not" reasoning that used to live in behavior documents.
In this repository, ADRs are also the default place for concrete feature
contracts that must be fixed before implementation.
Do not create docs/spec.md unless the user explicitly asks for it.
Accepted — currently active, agents must followSuperseded — replaced by a later ADR, link to successorDeprecated — no longer applicable, brief reason whyWrite this document in Japanese.
---
status: Accepted
date: YYYY-MM-DD
---
# ADR-NNNN: [決定のタイトル]
## Context
- [この決定を促した状況・問題は何か]
## Decision
- [何を決定したか。明確・直接的に記述する]
## Rationale
- [なぜこの選択肢か。どのトレードオフを受け入れたか]
## Alternatives Considered
### [代替案 A]
- [内容と、採用しなかった理由]
### [代替案 B]
- [内容と、採用しなかった理由]
## Consequences
- [この決定によって何が楽になり、何が難しくなるか。将来の決定に何を制約するか]
## Initial Implementation Plan
1. [実装の大枠を 3〜5 手順で書く]
## Planned Files
- `path/to/file`: [何を担当する予定か]
- `path/to/file`: [何を担当する予定か]
When implementation depends on concrete route paths, binding names, object keys, JSON shapes, print behavior, theme policy, or similar fixed values, include those exact values in the ADR itself.
When the user asks for planning before coding, include both:
If the ADR decides a concrete value, write the exact value.
Good:
RESUME_ASSETS_BUCKETportfolio-resume-assets/aboutBad:
An ADR should not become a task-by-task checklist, but it must be specific enough that a fresh implementer understands both the fixed boundary and the intended implementation shape without additional chat.
If the exact value is not yet known and implementation depends on it, ask before finalizing.
docs/adr/
├── 0001-result-type-pattern.md
├── 0002-colocation-pattern.md
└── 0003-vertical-slice-architecture.md
Zero-padded 4-digit sequence. Title is kebab-case summary of the decision.
Do not edit the original. Create a new ADR and add to the original:
---
status: Superseded by ADR-NNNN
date: YYYY-MM-DD
---
Agents check status first — a superseded ADR is never authoritative.
documentation
Creates or updates docs/spec.md — the project's functional requirements. Load when defining new features, when requirements have changed, or when docs/spec.md does not exist. Covers what to write, what to omit, and how to express requirements in a way that is verifiable and agent-friendly.
development
Bootstraps project documentation for an existing repository by reading the codebase, README, tests, and package metadata, then creates or updates docs/overview.md, docs/spec.md, and ADRs when significant architectural decisions are discovered. Use when asked to document a repo, extract project purpose, write overview/spec docs, review an existing codebase, or capture architecture decisions from source.
development
Creates or updates docs/overview.md — the project's purpose and background. Load when starting a new project, when the project's goals or context have changed, or when docs/overview.md does not exist. Covers what to write, what to omit, and how to keep the document agent-friendly.
documentation
Implements a new feature using docs-first delivery, boundary-driven structure, and skeleton-first execution. Load when adding a route, feature, or new user-visible behavior.