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.4lifecycle: experimental5---67# Decision Log Skill89Log high-leverage decisions from the current work session.1011## Process12131. **Scan conversation** for decisions that:14 - Remove options or lock architecture15 - Choose between alternatives16 - Set scope boundaries17 - Select tooling/frameworks18 - Establish principles19202. **Generate ADL entry** for each:21 ```markdown22 ## ADL-YYYYMMDD-###23 **Project:** [from context]24 **Decision Class:** [ARCH|UX|SCOPE|TOOLING|PHIL]2526 **Decision:** [one sentence]2728 **Chosen Option:** [selected approach]2930 **Rejected Options:**31 - [alternative 1]32 - [alternative 2]3334 **Why:**35 - [reason 1]36 - [reason 2]3738 **Tradeoffs Accepted:**39 - [what was given up]4041 **Revisit If:**42 - [invalidation condition]43 ```44453. **Route by Project visibility** (see Routing Rule below), then append to the chosen file. Before writing, two precheck commands:46 - `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.47 - **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.48494. **Report** what was logged, including which log it landed in and why.5051## Routing Rule5253ARETE keeps two parallel decision logs by visibility. Route each ADL by the Project field:5455| Log | Path | Use for | Project examples |56|---|---|---|---|57| **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" |58| **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 |5960**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.6162**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.6364**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).6566## Decision Classes6768| Class | Use For |69|-------|---------|70| ARCH | System design, APIs, data models |71| UX | Controls, interactions, experience |72| SCOPE | Feature cuts, MVP boundaries |73| TOOLING | Languages, frameworks, build |74| PHIL | Strategy, principles, values |7576## Detection Patterns7778Look for:79- "chose X over Y"80- "decided to"81- "went with"82- "cut/dropped/excluded"83- Options presented then one selected84- Architecture discussions8586## What NOT to Log8788- Reversible in minutes89- Implementation details90- Bug fixes91- Routine changes