Decision Log Skill
Log high-leverage decisions from the current work session.
Process
Scan conversation for decisions that:
- Remove options or lock architecture
- Choose between alternatives
- Set scope boundaries
- Select tooling/frameworks
- Establish principles
Generate ADL entry for each:
## ADL-YYYYMMDD-###
**Project:** [from context]
**Decision Class:** [ARCH|UX|SCOPE|TOOLING|PHIL]
**Decision:** [one sentence]
**Chosen Option:** [selected approach]
**Rejected Options:**
- [alternative 1]
- [alternative 2]
**Why:**
- [reason 1]
- [reason 2]
**Tradeoffs Accepted:**
- [what was given up]
**Revisit If:**
- [invalidation condition]
Route by Project visibility (see Routing Rule below), then append to the chosen file. Before writing, two precheck commands:
grep '^## ADL-YYYYMMDD-' <chosen-file> to find today's highest sequence for that file and increment — sequence is per-day per-file, not shared across the two logs.
- Format-match check (mandatory):
grep -A1 '^## ADL-' <chosen-file> | head -6 to confirm existing entries use the same field syntax (**Project**: vs **Project:** — both are seen in the wild; match what the file already uses). If the target file has zero ADL-shaped entries, STOP and surface to user: the path may have drifted.
Report what was logged, including which log it landed in and why.
Routing Rule
ARETE keeps two parallel decision logs by visibility. Route each ADL by the Project field:
| Log |
Path |
Use for |
Project examples |
| Public |
~/projects/notes/decisions/YYYY-MM.md (in public repo AreteDriver/notes) |
Open-source projects, identity/philosophy decisions, engineering practice, anything publishable on Substack or discussable in interviews |
arete-evals, BenchGoblins, anchormd (post-launch), tiaid, ai-skills, Portfolio / Job hunt positioning, identity decisions like "engineer not researcher" |
| Private |
~/projects/DecisionLog/DECISIONS.md (in private repo AreteDriver/DecisionLog) |
Strategic build choices, product monetization positioning, pre-launch product decisions, internal tooling, anything competitively sensitive |
Animus (build path), memboot (pricing/launch), WatchTower, Dossier, Argus, Gorgon, Aurora-Arcology, Crucible research, internal tools |
When the Project is unclear or ambiguous: surface the routing question to the user before writing. State the candidates and ask. Default to PRIVATE on ambiguity — easier to promote a private entry to public than to retract a public one.
Cross-check: when in doubt, look at how the same Project's recent ADLs were routed. The user's existing pattern is usually the answer.
Do NOT cross-write the same ADL to both files. Sequence numbers are per-file-per-day; writing to both creates a fake conflict where ADL-YYYYMMDD-001 means different things in different files (already happened today before this rule was codified — see ADL-20260523-001 in each file for the divergent example).
Decision Classes
| Class |
Use For |
| ARCH |
System design, APIs, data models |
| UX |
Controls, interactions, experience |
| SCOPE |
Feature cuts, MVP boundaries |
| TOOLING |
Languages, frameworks, build |
| PHIL |
Strategy, principles, values |
Detection Patterns
Look for:
- "chose X over Y"
- "decided to"
- "went with"
- "cut/dropped/excluded"
- Options presented then one selected
- Architecture discussions
What NOT to Log
- Reversible in minutes
- Implementation details
- Bug fixes
- Routine changes
1---2name: decision-log3description: Log high-leverage decisions from the current work session to the Arete Decision Log. Extracts architecture, UX, scope, tooling, and philosophy decisions. Invoke with /decision-log or /adl.4---56# Decision Log Skill78Log high-leverage decisions from the current work session.910## Process11121. **Scan conversation** for decisions that:13 - Remove options or lock architecture14 - Choose between alternatives15 - Set scope boundaries16 - Select tooling/frameworks17 - Establish principles18192. **Generate ADL entry** for each:20 ```markdown21 ## ADL-YYYYMMDD-###22 **Project:** [from context]23 **Decision Class:** [ARCH|UX|SCOPE|TOOLING|PHIL]2425 **Decision:** [one sentence]2627 **Chosen Option:** [selected approach]2829 **Rejected Options:**30 - [alternative 1]31 - [alternative 2]3233 **Why:**34 - [reason 1]35 - [reason 2]3637 **Tradeoffs Accepted:**38 - [what was given up]3940 **Revisit If:**41 - [invalidation condition]42 ```43443. **Route by Project visibility** (see Routing Rule below), then append to the chosen file. Before writing, two precheck commands:45 - `grep '^## ADL-YYYYMMDD-' <chosen-file>` to find today's highest sequence **for that file** and increment — sequence is **per-day per-file**, not shared across the two logs.46 - **Format-match check** (mandatory): `grep -A1 '^## ADL-' <chosen-file> | head -6` to confirm existing entries use the same field syntax (`**Project**:` vs `**Project:**` — both are seen in the wild; match what the file already uses). If the target file has zero ADL-shaped entries, STOP and surface to user: the path may have drifted.47484. **Report** what was logged, including which log it landed in and why.4950## Routing Rule5152ARETE keeps two parallel decision logs by visibility. Route each ADL by the Project field:5354| Log | Path | Use for | Project examples |55|---|---|---|---|56| **Public** | `~/projects/notes/decisions/YYYY-MM.md` (in public repo `AreteDriver/notes`) | Open-source projects, identity/philosophy decisions, engineering practice, anything publishable on Substack or discussable in interviews | `arete-evals`, `BenchGoblins`, `anchormd` (post-launch), `tiaid`, `ai-skills`, `Portfolio / Job hunt positioning`, identity decisions like "engineer not researcher" |57| **Private** | `~/projects/DecisionLog/DECISIONS.md` (in private repo `AreteDriver/DecisionLog`) | Strategic build choices, product monetization positioning, pre-launch product decisions, internal tooling, anything competitively sensitive | `Animus` (build path), `memboot` (pricing/launch), `WatchTower`, `Dossier`, `Argus`, `Gorgon`, `Aurora-Arcology`, `Crucible` research, internal tools |5859**When the Project is unclear or ambiguous**: surface the routing question to the user before writing. State the candidates and ask. **Default to PRIVATE on ambiguity** — easier to promote a private entry to public than to retract a public one.6061**Cross-check**: when in doubt, look at how the same Project's recent ADLs were routed. The user's existing pattern is usually the answer.6263**Do NOT cross-write** the same ADL to both files. Sequence numbers are per-file-per-day; writing to both creates a fake conflict where ADL-YYYYMMDD-001 means different things in different files (already happened today before this rule was codified — see ADL-20260523-001 in each file for the divergent example).6465## Decision Classes6667| Class | Use For |68|-------|---------|69| ARCH | System design, APIs, data models |70| UX | Controls, interactions, experience |71| SCOPE | Feature cuts, MVP boundaries |72| TOOLING | Languages, frameworks, build |73| PHIL | Strategy, principles, values |7475## Detection Patterns7677Look for:78- "chose X over Y"79- "decided to"80- "went with"81- "cut/dropped/excluded"82- Options presented then one selected83- Architecture discussions8485## What NOT to Log8687- Reversible in minutes88- Implementation details89- Bug fixes90- Routine changes