Add ADR references to code for decision traceability. Use when creating new files, documenting non-obvious implementation choices, or when user mentions ADR traceability, code reference, or document decision in code. Provides language-specific patterns for Python, TypeScript, Rust, Go.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/terrylica/cc-skills/blob/main/plugins/itp/skills/adr-code-traceability/SKILL.md -a claude-code --skill adr-code-traceabilityInstallation paths:
.claude/skills/adr-code-traceability/# 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)
| Language | New File Header | Inline 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](./references/language-patterns.md) 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](./references/placement-guidelines.md) for detailed guidance.
---
## Examples
### New File (Python)
```python
"""
Redis cache adapter for session management.
ADR: 2025-12-01-redis-session-cache
"""
class RedisSessionCache:
...
```
### Inline Comment (TypeScript)
```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 tou