architecture-decision-records — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited architecture-decision-records (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Capture architectural decisions as they happen during coding sessions. Instead of decisions living only in Slack threads, PR comments, or someone's memory, this skill produces structured ADR documents that live alongside the code.
This skill is the decision-record authority the coding-standards hub defers to for recording significant design decisions.
Use the lightweight ADR format proposed by Michael Nygard, adapted for AI-assisted development:
# ADR-NNNN: [Decision Title]
**Date**: YYYY-MM-DD
**Status**: proposed | accepted | deprecated | superseded by ADR-NNNN
**Deciders**: [who was involved]
## Context
What is the issue that we're seeing that is motivating this decision or change?
[2-5 sentences describing the situation, constraints, and forces at play]
## Decision
What is the change that we're proposing and/or doing?
[1-3 sentences stating the decision clearly]
## Alternatives Considered
### Alternative 1: [Name]
- **Pros**: [benefits]
- **Cons**: [drawbacks]
- **Why not**: [specific reason this was rejected]
### Alternative 2: [Name]
- **Pros**: [benefits]
- **Cons**: [drawbacks]
- **Why not**: [specific reason this was rejected]
## Consequences
What becomes easier or more difficult to do because of this change?
### Positive
- [benefit 1]
- [benefit 2]
### Negative
- [trade-off 1]
- [trade-off 2]
### Risks
- [risk and mitigation]#### Capturing a New ADR
When a decision moment is detected:
docs/adr/ does not exist, ask the user for confirmation before creating thedirectory, a README.md seeded with the index table header (see ADR Index Format below), and a blank template.md for manual use. Do not create files without explicit consent.
docs/adr/ and incrementdocs/adr/NNNN-decision-title.mdafter explicit approval. If the user declines, discard the draft without writing any files.
docs/adr/README.md#### Reading Existing ADRs
When a user asks "why did we choose X?":
docs/adr/ exists: if not, respond: "No ADRs found in this project. Would you like to start recordingarchitectural decisions?"
docs/adr/README.md index for relevant entries#### ADR Directory Structure
docs/
└── adr/
├── README.md ← index of all ADRs
├── 0001-use-nextjs.md
├── 0002-postgres-over-mongo.md
├── 0003-rest-over-graphql.md
└── template.md ← blank template for manual use#### ADR Index Format
# Architecture Decision Records
| ADR | Title | Status | Date |
|-----|-------|--------|------|
| [0001](0001-use-nextjs.md) | Use Next.js as frontend framework | accepted | 2026-01-15 |
| [0002](0002-postgres-over-mongo.md) | PostgreSQL over MongoDB for primary datastore | accepted | 2026-01-20 |
| [0003](0003-rest-over-graphql.md) | REST API over GraphQL | accepted | 2026-02-01 |Watch for these patterns in conversation that indicate an architectural decision:
Explicit signals
Implicit signals (suggest recording an ADR, do not auto-create without user confirmation)
#### Do
#### Don't
proposed → accepted → [deprecated | superseded by ADR-NNNN]| Category | Examples |
|---|---|
| Technology choices | Framework, language, database, cloud provider |
| Architecture patterns | Monolith vs microservices, event-driven, CQRS |
| API design | REST vs GraphQL, versioning strategy, auth mechanism |
| Data modeling | Schema design, normalization decisions, caching strategy |
| Infrastructure | Deployment model, CI/CD pipeline, monitoring stack |
| Security | Auth strategy, encryption approach, secret management |
| Testing | Test framework, coverage targets, E2E vs integration balance |
| Process | Branching strategy, review process, release cadence |
#### Plan Structure
Every implementation plan must open with a section listing all applicable coding rules that govern the work:
## Applicable Rules
- Java: `@Slf4j` mandatory; no `LoggerFactory.getLogger(...)`
- REST: RFC 7807 error envelope
- DB migrations: explicit constraint naming (`ck_`, `uq_`, `fk_`, `ix_`)
- Security: Argon2id for password hashingThis prevents rule violations discovered late in review.
#### Mandatory Verification Section
Every plan must include a verification section before implementation begins:
## Verification Checklist
- [ ] File-by-file comparison against existing code
- [ ] Each change checked against applicable coding rules
- [ ] Vulnerability assessment (SQL injection, SSRF, XSS, secrets exposure)
- [ ] PR simulation: would this pass review?
- [ ] No regressions in adjacent functionality#### Rollback Plan (Required)
Every plan that touches production systems must include:
## Rollback Plan
**Trigger condition:** Error rate > 1% within 5 minutes of deployment, or health check failure
**Rollback steps:**
1. Trigger automated pipeline rollback job
2. If pipeline unavailable: `kubectl rollout undo deployment/my-app`
3. Notify on-call channel with incident ticket
**Owner:** Platform team on-call#### Dependency Analysis
Before breaking work into steps, analyse dependencies:
## Dependency Analysis
**Affected components:** auth-service, user-api, frontend login flow
**Blast radius:** All users on login path; ~2,000 req/min
**Change order:** DB migration → service deploy → frontend deploy
**Rollback order:** Frontend revert → service revert → DB migration downBlast radius determines review strictness and deployment window requirements.
#### Risk Assessment
Every plan that changes > 3 files or touches a shared service must include a risk table:
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| DB migration timeout on large table | Medium | High | Run during low-traffic window; add LOCK TIMEOUT |
| Config mismatch between envs | Low | Medium | Use environment parity check in CI |
| N+1 introduced in new query | Low | Low | Add query count assertion in integration test |
#### Phased Delivery Rule
Split into phases when any of these conditions hold:
Each phase must be independently deployable and not break production in isolation.
#### Performance Impact
For plans that touch hot paths (endpoints with > 1,000 req/min or latency-sensitive flows):
## Performance Impact
**Affected path:** POST /api/orders (avg 3,200 req/min)
**Estimated latency change:** +2ms (additional DB lookup per request)
**Mitigation:** Cache lookup result in Redis for 60s — reduces additional latency to < 0.5ms p99
**Load test:** k6 script in `tests/load/order-flow.js` must pass p99 ≤ 50ms before production deploy~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.