documenting-decisions — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited documenting-decisions (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.
Architecture Decision Records (ADRs) capture significant technical decisions with their context, rationale, and consequences. They are the institutional memory that explains WHY the codebase looks the way it does.
Every ADR follows this structure:
# NNNN. Decision Title
## Status
Proposed | Accepted | Deprecated | Superseded by [NNNN](NNNN-title.md)
## Context
What is the issue that we're seeing that is motivating this decision or change?
Describe the forces at play — technical constraints, business requirements,
team capabilities, timeline pressure. Be objective: state facts, not opinions.
## Decision
What is the change that we're proposing and/or doing? State the decision in
full sentences, using active voice: "We will..." not "It was decided that..."
## Consequences
What becomes easier or more difficult to do because of this change? List both
positive and negative consequences. Every decision has trade-offs — if you
cannot identify any negative consequences, you have not thought hard enough.ADRs live in docs/decisions/ with zero-padded sequential numbering:
docs/decisions/
0001-use-typescript-for-plugin.md
0002-agent-per-phase-architecture.md
0003-file-based-state-management.mdTo determine the next number, read the existing files in docs/decisions/ and increment the highest number. If the directory is empty or does not exist, start at 0001.
Write an ADR when the decision:
one. The rejected alternatives and the reasons for rejection are valuable context for future developers who will wonder "why didn't we just..."
(performance, simplicity, flexibility) to gain something else. Record what was traded and why.
sometimes correct, but the reasoning must be explicit so the deviation is not "fixed" back by a future developer who assumes it was a mistake.
a long-term commitment. Record why this dependency was chosen over alternatives and what the exit strategy is.
Do not write an ADR when:
reasonable alternative, an ADR adds bureaucratic overhead without value.
and you are applying it to a new case, no decision was made.
structure. These are code-level decisions, not architecture-level.
minutes with no downstream impact, it does not need formal documentation.
The decision has been written but not yet accepted. It is open for discussion and may be modified.
The decision has been agreed upon and is in effect. The codebase should conform to this decision.
The decision is no longer relevant — the feature or system it pertains to has been removed. The ADR remains for historical context.
A newer decision has replaced this one. The ADR must include a reference to its successor:
## Status
Superseded by [0007](0007-new-approach-to-state.md)The successor ADR should reference what it supersedes in its Context section to maintain the decision trail.
X because it supports concurrent writes without locking, which Y does not" is useful.
List them and say why they were rejected.
information, say so. Future readers will know to re-evaluate if new information emerges.
takes longer, you are including implementation details that belong in code or comments.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.