Claude-skill-registry adr-code-traceability

Add ADR references to code for traceability. TRIGGERS - ADR traceability, code reference, document decision in code.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/adr-code-traceability" ~/.claude/skills/majiayu000-claude-skill-registry-adr-code-traceability && rm -rf "$T"
manifest: skills/data/adr-code-traceability/SKILL.md
source content

ADR Code Traceability

Add Architecture Decision Record references to code for decision traceability. Provides language-specific patterns and placement guidelines.

When to Use This Skill

  • Creating new files as part of an ADR implementation
  • Documenting non-obvious implementation choices
  • User mentions "ADR traceability", "code reference", "document decision"
  • Adding decision context to code during
    /itp:go
    Phase 1

Quick Reference

Reference Format

ADR: {adr-id}

Path Derivation:

ADR: 2025-12-01-my-feature
/docs/adr/2025-12-01-my-feature.md

Language Patterns (Summary)

LanguageNew File HeaderInline Comment
Python
"""...\n\nADR: {adr-id}\n"""
# ADR: {adr-id} - reason
TypeScript
/** ... \n * @see ADR: {adr-id} */
// ADR: {adr-id} - reason
Rust
//! ...\n//! ADR: {adr-id}
// ADR: {adr-id} - reason
Go
// Package ... \n// ADR: {adr-id}
// ADR: {adr-id} - reason

See Language Patterns for complete examples.


Placement Decision Tree

Is this a NEW file created by the ADR?
├── Yes → Add reference in file header
└── No → Is the change non-obvious?
    ├── Yes → Add inline comment with reason
    └── No → Skip ADR reference

See Placement Guidelines for detailed guidance.


Examples

New File (Python)

"""
Redis cache adapter for session management.

ADR: 2025-12-01-redis-session-cache
"""

class RedisSessionCache:
    ...

Inline Comment (TypeScript)

// ADR: 2025-12-01-rate-limiting - Using token bucket over sliding window
// for better burst handling in our use case
const rateLimiter = new TokenBucketLimiter({ rate: 100, burst: 20 });

Do NOT Add References For

  • Every line touched (only where traceability adds value)
  • Trivial changes (formatting, typo fixes)
  • Standard patterns (well-known idioms)
  • Test files (unless test approach is an ADR decision)

Reference Documentation