record
GitHub用于记录架构决策(ADR)并同步更新相关需求与系统设计,确保长期约束、边界和契约的一致性。在建立或变更重要系统约定时自动触发,涵盖从创建 ADR 到验证规范同步的完整流程。
Trigger Scenarios
Install
npx skills add kdlbs/kandev --skill record -g -y
SKILL.md
Frontmatter
{
"name": "record",
"description": "Keep durable architecture decisions, requirements, and system designs in sync. Auto-invoke when a request establishes or changes a long-lived boundary, public contract, ownership rule, operational invariant, or repo-wide convention with meaningful alternatives. Also use for explicit ADR or specification-recording requests."
}
Record Knowledge
Record significant decisions for future work. Reconcile the affected requirements and system designs after the decision.
Record a decision
Create an ADR when all statements are true:
- The choice creates a durable constraint, boundary, contract, ownership rule, operational invariant, or repository-wide convention.
- Meaningful alternatives have different trade-offs.
- Future work must follow or supersede the choice.
- A requirement, system design, test, or work order does not preserve enough rationale.
Do not create an ADR for a simple feature, local refactor, routine dependency change, plan sequence, or temporary migration step.
ADR procedure
- Choose an ID in the form
YYYY-MM-DD-short-title. - Make sure that
docs/decisions/<id>.mddoes not exist. - Create the ADR with the template below.
- Add it to
docs/decisions/INDEX.md. - Reconcile affected specifications.
Existing numeric ADR IDs remain valid. Do not rename them.
# ADR-YYYY-MM-DD-short-title: Short title
**Status:** accepted | superseded by <adr-id> | deprecated
**Date:** YYYY-MM-DD
**Area:** backend | frontend | infra | protocol | workflow
## Context
Explain the situation and the need for a decision.
## Decision
State the selected rule, boundary, or contract.
## Consequences
State benefits, costs, and follow-up constraints.
## Alternatives Considered
State each meaningful alternative and why it was not selected.
Reconcile specifications
Read docs/specs/README.md, the owning system index, and the relevant files in
docs/specs/guide/.
Apply these rules:
- Confirm the owning system from the durable contract. Do not assign ownership to UI only because users observe the decision there.
- If the decision changes observable behavior, update the owning requirement
and its
REQ-*orAC-*criteria. - If the decision changes technical boundaries or contracts, update the owning system design.
- If both change, update both artifacts and preserve their references.
- If the decision is internal and does not change a documented design, the ADR is sufficient.
- If no product system applies, state that fact in the ADR.
Do not copy the ADR into requirements or system design. Link the ADR from the affected design. Requirements contain observable outcomes, not decision rationale.
During legacy migration, use docs/specs/INDEX.md to locate existing sources.
Do not create a new generic spec.md file.
Validation
Run:
python3 scripts/lint-spec-files.py --all
git diff --check -- docs/decisions docs/specs
Report the ADR, affected requirement IDs, affected system designs, and the validation result.
Version History
-
0e4ae86
Current 2026-08-27 18:29
收紧规格所有权定义,明确遗留迁移期间的索引使用规则;强化系统导向的规格治理,区分可观察行为与技术边界对需求/设计文档的不同影响。
- b4239d8 2026-07-24 17:32


