decide
Skill0 starsChanged 28 days agoMITView on GitHub
Create a new Architecture Decision Record (ADR) in perdure/decisions/.
51 other projects use a version of this.
Adopted by
Most recently taken up by
- aditya-vermax/skillstheir own version, first seen Nov 8, 2026
- vimkim/my-skillstheir own version, first seen Nov 8, 2026
- yuri-xyz/skillstheir own version, first seen Nov 8, 2026
- blamechris/chroxytheir own version, first seen Nov 8, 2026
- dirien/yet-another-agent-harnesstheir own version, first seen Nov 8, 2026
- Integralist/agent-skillstheir own version, first seen Nov 6, 2026
Used with
Projects with it also use redesign, weekly and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
arjunkshahSkillredesign
Redesign existing interfaces to premium quality while preserving product goals and functional behavior.
Also in 3 projects that use this
gaiaaiagentSkillweekly
Generate a weekly digest rolling up dailies into higher-level pattern analysis
Also in 3 projects that use this
SethGammonSkillexperiment
Automated optimization loop with scalar fitness function. Proposes changes in isolated worktrees, measures with a metric command, keeps improvements, discards failures. Supports convergence detection and diminishing returns.
Also in 3 projects that use this
kv0906Skillinbox
Quick capture mode (with content) or batch processing mode (no content). GTD-style routing of inbox items to proper folders. Use "/inbox thought to capture" or "/inbox" to process.
Also in 3 projects that use this
AnthropicSkillbrief
Generate contextual briefings for legal work — daily summary, topic research, or incident response. Use when starting your day and need a scan of legal-relevant items across email, calendar, and contracts, when researching a specific legal question across internal sources, or when a developing situation (data breach, litigation threat, regulatory inquiry) needs rapid context.
Also in 5 projects that use this
AWSSkillmap
Map verified service capabilities against customer-provided control framework and threat model. Produces mapping-results.json, controls-catalog.md, and framework-mapping.md. Supports pluggable frameworks: CCMv4, NIST 800-53, CIS Benchmarks, ISO 27001, etc. Split into 4 focused sub-skills for better accuracy; this skill orchestrates them.
Also in 3 projects that use this
Other versions51 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 51
- ParadevAI/Paradev★ 16ksame name
- superset-sh/superset★ 16ksame name
- coreyhaines31/makerskills★ 893same name
- me2resh/apexyard★ 542same name
- menkesu/awesome-pm-skills★ 441same name
- BlockRunAI/blockrun-mcp★ 389same name
- kv0906/pm-kit★ 138same name
- Abilityai/cornelius★ 109same name
- me2resh/agent-decision-record★ 48same name
- seandavi/lifeos-template★ 46same name
41 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 9 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 50 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Create an ADR when a task that never reads the originating record must still obey the decision — a default, a name, a boundary, a rule — …
- Distinctive: line 35
If unsure, ask the user: "Will another task have to obey this without reading the record?"
- Very specific: line 40
If perdure/decisions/ doesn't exist, create it.
- Very specific: line 42
If perdure/decisions/INDEX.md doesn't exist, create it with the skeleton (see step 5).
- Very specific: line 65
Add 1 and pad to 3 digits.
- Distinctive: line 72
Ask the user (or infer from context) for:
- Distinctive: line 82
When promoting an existing workflow decision, pre-fill these from the workflow file.
- Distinctive: line 86
Write the file with this exact schema:
- Distinctive: line 142
If INDEX.md doesn't exist, create with this skeleton:
- Distinctive: line 174
Add the new ADR to the Active section:
- Very specific: line 179
Update the updated: frontmatter timestamp.
- Very specific: line 200
Ask the user: "Commit perdure/decisions/ to git?"
- Very specific: line 202
If they say no, add perdure/decisions/ to .gitignore
- Distinctive: line 224
Never overwrite an existing ADR file
- Very specific: line 225
Always number with next-adr-id.py (it checks the files and every branch)
- Very specific: line 226
Never set status: superseded on creation (that's only set later)
- Very specific: line 227
Keep ADR files immutable after status: accepted except:
- Distinctive: line 232
Always update INDEX.md in the same operation as ADR file creation
“Common” is measured: kept by at least 6 in 10 of the 50 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Create an Architecture Decision Record
You are creating a new ADR — a structured, immutable record of a significant
architectural or design decision. ADRs live in perdure/decisions/ and survive
workflows, sessions, and time.
When to use this skill
Create an ADR when a task that never reads the originating record must still obey the decision — a default, a name, a boundary, a rule — and it can be stated in one sentence without that task's filenames. Size does not matter: a one-line default other tasks inherit qualifies; a ten-file refactor's local choices do not. Typical shapes:
- Architecture, data model, or system boundaries
- Trade-offs worth documenting (chose X over Y because Z)
- Anything future engineers (or you in 6 months) will ask "why?" about
- Anything that crosses workflows or outlives a single feature
Don't create an ADR for a choice only this task's files depend on, however
large the change. When only the rule matters and not the why, propose a
one-line addition to the project's instruction file (CLAUDE.md or
AGENTS.md) instead, for the user to place — perdure never writes outside
perdure/.
If unsure, ask the user: "Will another task have to obey this without reading the record?"
Steps
1. Verify the directory
If perdure/decisions/ doesn't exist, create it. Do this first: next-adr-id.py
exits 2 when it finds no perdure/ folder at or above where it runs.
If perdure/decisions/INDEX.md doesn't exist, create it with the skeleton (see step 5).
2. Resolve slug, ID, and filename
Slug: from $1 or ask the user (kebab-case, e.g., sqlite-over-redis).
ID: the next free 3-digit number. From the project root, run:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/next-adr-id.py" --root .It prints the id to use (001 for the first decision): one more than the
highest id in perdure/decisions/ or on any local or remote-tracking branch,
so two branches do not take the same number. (${CLAUDE_PLUGIN_ROOT} is the
plugin directory, set by Claude Code. Without it, the same script sits in the
plugin checkout's root scripts/ directory, or in scripts/ beside this
SKILL.md in a skills-CLI install.)
Where no script can be reached, read the highest id from the id position of the names, exactly three digits after the date (it sees the checked-out branch only):
ls perdure/decisions/ | sed -nE 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}-([0-9]{3})-.*/\1/p' | sort -n | tail -1Add 1 and pad to 3 digits; no output means 001.
Filename: YYYY-MM-DD-<id>-<slug>.md
Example: 2026-05-10-005-sqlite-over-redis.md
3. Gather information
Ask the user (or infer from context) for:
- Title (one line, plain English)
- Context — what's the situation that required this decision?
- Decision — what was chosen?
- Alternatives considered — what other options were weighed and why rejected?
- Consequences — positive and negative outcomes
- Tags — categorization keywords (e.g.,
auth,cost,agent-config) - Related workflow(s) — slug(s) of workflow(s) this decision came from (optional)
- Implementing commits — git SHAs if applicable (optional; can backfill later)
When promoting an existing workflow decision, pre-fill these from the workflow file.
4. Create the ADR file
Write the file with this exact schema:
---
id: <3-digit ID>
title: <title>
status: accepted
date: <YYYY-MM-DD>
# Linkage
supersedes: []
superseded-by: []
related-decisions: []
related-workflows: [<slug> or empty]
# Implementation tracking
implementing-commits: []
implementing-files: []
# Discoverability
tags: []
---
# Context
<what situation required this decision>
# Decision
<what was chosen and the core reasoning>
# Alternatives considered
- **<Alternative 1>**: <why rejected>
- **<Alternative 2>**: <why rejected>
# Consequences
**Positive**:
- <benefit 1>
- <benefit 2>
**Negative**:
- <trade-off 1>
**Neutral**:
- <side effect>
# References
- Workflow: <link to workflow file if any>
- Related commits: <SHAs if known>5. Update INDEX.md
If INDEX.md doesn't exist, create with this skeleton:
---
type: orchestrator-decisions-index
updated: <ISO-8601 timestamp>
schema-version: 1
---
# Decisions Index
## Active — currently in force
| ID | Title | Accepted | Tags |
|----|-------|----------|------|
## Superseded
| ID | Title | Superseded by | Date |
|----|-------|---------------|------|
## Deprecated
| ID | Title | Deprecated | Reason |
|----|-------|------------|--------|
## Rejected
| ID | Title | Date | Reason |
|----|-------|------|--------|Add the new ADR to the Active section:
| <id> | [<title>](<filename>) | <date> | <tags> |Update the updated: frontmatter timestamp.
On a merge conflict in INDEX.md, keep the rows from both sides, ordered by
id. If both branches took the same id, rot-lint reports a decision-id
finding. Fix it by renumbering the later decision to the id next-adr-id.py
prints, and every reference to it, in decisions and records, terminal ones
included:
- its file name and its
id: - its INDEX row
- each
related-decisionsentry that names it, in other decisions - each
ADR-NNNmention of it, and each[promoted → #NNN]mark that points at it
A mention of the shared number belongs to the branch that added it
(git log -S'ADR-NNN' on that branch finds the commit). Renumber the later
decision's branch's mentions; leave the rest unchanged, and change nothing
else.
6. Check .gitignore
Ask the user: "Commit perdure/decisions/ to git?"
- Recommended: yes (ADRs are team-facing, long-term team context)
- If they say no, add
perdure/decisions/to.gitignore
Same default as workflow files — both are committed by default (docs/RECORDS-CONVENTION.md, also at
references/RECORDS-CONVENTION.md beside this SKILL.md in a skills-CLI install); archives remain the gitignored privacy layer. Note: records carry no authors frontmatter by design — git already carries authorship once, and records document work, not workers.
7. Report
✅ ADR created: #<id> <title>
File: perdure/decisions/<filename>
Status: accepted
Added to INDEX.md Active section
Next steps:
- Review the ADR and edit any section that needs more detail
- Commit if your team shares ADRs
- View all: /perdure:decisionsSafety rules
- Never overwrite an existing ADR file
- Always number with
next-adr-id.py(it checks the files and every branch) - Never set
status: supersededon creation (that's only set later) - Keep ADR files immutable after
status: acceptedexcept:- Adding
superseded-bywhen a new ADR supersedes this - Updating status to
deprecatedwith reason - Backfilling
implementing-commitsafter code ships - Renumbering a decision whose number another branch also took (step 5)
- Adding
- Always update INDEX.md in the same operation as ADR file creation
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

