adr — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited adr (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
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.
You are in AUTONOMOUS MODE. Do NOT ask questions. Create or manage Architecture Decision Records for this project.
INPUT: $ARGUMENTS
Accepted arguments:
Creates a new ADR for this decision.
retrospective or retro: Analyze the codebase and generate ADRs for decisionsalready made but not documented.
index: Regenerate the ADR index file.supersede <N> <new decision>: Create a new ADR that supersedes ADR-N.deprecate <N>: Mark ADR-N as deprecated.list: List all existing ADRs with their statuses.If no arguments provided, run in retrospective mode.
============================================================ PHASE 1: DIRECTORY SETUP ============================================================
Step 1.1 -- Initialize ADR Directory
Check if docs/adr/ exists. If not, create it.
Check for ADRs in alternative locations:
adr/docs/decisions/decisions/doc/adr/If found in an alternative location, use that location instead of creating a new one.
Step 1.2 -- Determine Next ADR Number
Scan existing ADR files matching the pattern NNNN-*.md (e.g., 0001-use-postgresql.md). Find the highest number and increment by 1 for the next ADR. If no ADRs exist, start at 0001.
Step 1.3 -- Read Existing ADRs
Read all existing ADR files to understand:
============================================================ PHASE 2: NEW ADR CREATION ============================================================
When creating a new ADR from a decision description:
Step 2.1 -- Research the Decision
Analyze the codebase to gather context for the decision:
Step 2.2 -- Write ADR
Use the Michael Nygard format:
# [ADR-NNNN] [Title: Short Decision Statement]
**Date:** YYYY-MM-DD
**Status:** [proposed | accepted | deprecated | superseded by [ADR-XXXX](XXXX-title.md)]
## Context
[What is the issue that we're seeing that is motivating this decision or change?
Describe the forces at play: technical, political, social, project-specific.
These forces are likely in tension and should be called out as such.
State facts, not opinions. 2-4 paragraphs.]
## Decision
[What is the change that we're proposing and/or doing?
State the decision clearly and unambiguously.
Use active voice: "We will use X" not "X should be used."
1-2 paragraphs.]
## Consequences
[What becomes easier or more difficult to do because of this change?
Include both positive and negative consequences.
Be honest about trade-offs.
**Positive:**
- [consequence]
- [consequence]
**Negative:**
- [consequence]
- [consequence]
**Neutral:**
- [consequence]
]Step 2.3 -- File Naming
Name the file: NNNN-kebab-case-title.md
0003-use-postgresql-for-primary-datastore.md============================================================ PHASE 3: RETROSPECTIVE MODE ============================================================
When running in retrospective mode, analyze the codebase to infer architectural decisions that were made but never documented:
Step 3.1 -- Detect Decisions
Scan for these categories of decisions:
| Category | What to Look For |
|---|---|
| Language/Runtime | Primary language, runtime version constraints |
| Framework | Web framework, UI framework, CLI framework choice |
| Database | Database type, ORM/query builder choice |
| Auth | Authentication strategy, provider choice |
| State Management | State management library/pattern |
| API Style | REST vs GraphQL vs gRPC, API versioning strategy |
| Infrastructure | Docker, K8s, serverless, cloud provider |
| CI/CD | Pipeline tool, deployment strategy |
| Testing | Test framework, testing strategy (unit/integration/e2e) |
| Monorepo vs Polyrepo | Repository structure decision |
| Dependency Management | Package manager, lockfile strategy |
| Code Style | Linter, formatter, style guide |
| Error Handling | Error handling strategy, logging approach |
| Caching | Caching strategy, cache provider |
Step 3.2 -- Generate ADRs
For each detected decision:
"This ADR was created retrospectively to document a decision already in effect."
Step 3.3 -- Prioritize
Generate retrospective ADRs in priority order:
============================================================ PHASE 4: INDEX GENERATION ============================================================
Generate or update docs/adr/README.md (or docs/adr/index.md):
# Architecture Decision Records
This directory contains Architecture Decision Records (ADRs) for [Project Name].
## What is an ADR?
An ADR is a short document that captures an important architectural decision
made along with its context and consequences.
## ADR Index
| # | Title | Status | Date |
|---|-------|--------|------|
| [0001](0001-title.md) | Title | Accepted | YYYY-MM-DD |
| [0002](0002-title.md) | Title | Superseded by [0003](0003-title.md) | YYYY-MM-DD |
| ... | ... | ... | ... |
## Statuses
- **Proposed** -- Under discussion, not yet decided
- **Accepted** -- Decision has been made and is in effect
- **Deprecated** -- Decision is no longer relevant
- **Superseded** -- Replaced by a newer decision (linked)============================================================ SELF-HEALING VALIDATION (max 2 iterations) ============================================================
After producing documentation, validate completeness:
IF VALIDATION FAILS:
============================================================ OUTPUT ============================================================
| # | Title | Status | Date |
|---|---|---|---|
| NNNN | Title | Status | Date |
| ... | ... | ... | ... |
docs/adr/NNNN-title.md -- [description]docs/adr/README.md -- Updated index============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.md in that memory directoryEntry format:
### /adr — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT ============================================================
evident from the codebase.
is too small; "adopt Prettier + ESLint with specific rule overrides" is worth documenting).
NEXT STEPS:
After creating ADRs:
/document to check overall documentation health."/diagram to generate architecture diagrams that complement these ADRs."/arch-review to review the architecture decisions for consistency."~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.