ECHO
Skill1 starsChanged 8 months agoMITView on GitHub
Capture decision reasoning for future reference. Use when: making architectural decisions, choosing between options, recording why something was done a certain way, or any time "why did we do it this way?" might come up later. Creates a queryable decision log with full reasoning context.
We split this skill into the rules it gives an agent
5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 97
When this skill is invoked:
- Distinctive: line 103
Update the echo index
- Distinctive: line 107
Look up the echo by ID or name
- Distinctive: line 146
Before and after any "should we..." discussion
- Distinctive: line 155
No external dependencies — uses Python standard library only
“Common” is measured: kept by at least 6 in 10 of the 5 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
ECHO
Capture decision reasoning. Query it later. Never forget the "why."
Usage
/echo create <name> --decision "what" --reasoning "why"
/echo query <id> [question]
/echo listWhat This Is
ECHO captures decision points with their full reasoning context — what was decided, why, what alternatives were rejected, and what unknowns existed at the time. When future-you asks "why did we do it this way?", ECHO has the answer.
This is architectural decision records (ADRs) made practical and queryable.
Creating an Echo
/echo create auth-strategy \
--decision "JWT with refresh tokens over session-based auth" \
--reasoning "Stateless scales better for our microservices architecture" \
--alternatives "Session cookies, OAuth2 only, API keys" \
--confidence 0.8 \
--unknowns "Token revocation performance at scale"Fields
| Field | Flag | Description |
| Name | (positional) | Human-readable identifier (alphanumeric, hyphens, underscores only) |
| Decision | --decision | What was decided |
| Reasoning | --reasoning | Why this choice was made |
| Alternatives | --alternatives | Comma-separated rejected options |
| Confidence | --confidence | 0.0 - 1.0, how sure you were |
| Unknowns | --unknowns | Comma-separated things you didn't know |
| Project | --project | Project name (defaults to current directory) |
| Context | --context | Additional session context |
| Files | --files | Comma-separated related files |
Output
══════════════════════════════════════════════════════
ECHO CAPTURED
══════════════════════════════════════════════════════
Name: auth-strategy
ID: ECHO-L6C4
Decision: JWT with refresh tokens over session-ba...
Confidence: 0.8
Query later with:
/echo query ECHO-L6C4 'why did we choose JWT?'
══════════════════════════════════════════════════════Querying an Echo
/echo query auth-strategy "why not session cookies?"
/echo query ECHO-L6C4 "what were the unknowns?"Returns the full decision context including:
- The original decision
- Complete reasoning
- Rejected alternatives
- Unknowns at decision time
- Confidence level
- Date and project context
AUTO-EXECUTE Protocol
When this skill is invoked:
For /echo create <name>:
- Parse all provided flags
- Generate a unique ID:
ECHO-XXXX - Save echo JSON to
echoes/directory - Update the echo index
- Display the echo ID for future reference
For /echo query <id>:
- Look up the echo by ID or name
- Load the full decision context
- Display the reasoning in context of the question asked
- Log the query (useful for tracking which decisions get revisited)
For /echo list:
- Scan the echoes directory
- Display all captured decisions with IDs, names, and dates
Echo Data Format
{
"id": "ECHO-L6C4",
"name": "auth-strategy",
"created": "2024-01-15T14:30:00",
"decision": {
"what": "JWT with refresh tokens",
"reasoning": "Stateless for microservices",
"alternatives_rejected": ["Sessions", "API keys"],
"confidence": 0.8,
"unknowns": ["Revocation at scale"]
},
"context": {
"project": "my-api",
"related_files": ["src/auth/middleware.ts"]
},
"queries": []
}When to Use
- Choosing between architectures, libraries, or approaches
- Making tradeoff decisions you'll need to justify later
- Before and after any "should we..." discussion
- Any time the answer to "why?" matters for future work
Prerequisites
- Claude Code with Bash, Read, and Write tool access
- An
echoes/directory for storage (skill will create it if missing) - No external dependencies — uses Python standard library only
Setup
- Copy this folder to
~/.claude/skills/ECHO/ - The
echoes/directory will be created automatically on first use
Decisions without reasoning are accidents. Capture the why.
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- cwinvestments/memstack★ 425same name
- simota/agent-skills★ 96same name
- G1Joshi/Agent-Skills★ 15same name
- CharTyr/Mai-Skill-Loader★ 4same name
- KailasMahavarkar/agentic-skills★ 2same name
- jasoncrawford/claude-skills★ 1same name
- vbrevik/claude_code_skills★ 0same name
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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

