skills/decision-recording/SKILL.md
Recording architecture and engineering decisions with one-shot decision recording and search.
npx skillsauth add tracemem/tracemem-skills decision-recordingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is the DEFAULT tool for documenting decisions. When a user asks you to "document a decision", "record a decision", or "make a decision record", use
decision_record(one-shot). Do NOT use the multi-stepdecision_create/decision_add_context/decision_closeworkflow unless you need data product operations (reads, writes, policy evaluations, or approvals).
This skill teaches how to record architectural and engineering decisions using TraceMem's one-shot recording and how to search for existing decisions to build on precedent.
decision_create / decision_close workflow insteaddecision_record -- One-Shot RecordingRecords a complete decision in a single call. The decision is automatically created, populated with context, committed, and snapshotted.
decision_search -- Finding PrecedentSearches your agent's previous decisions by text, category, tags, or status.
Always search first to avoid duplicating decisions or to find decisions to supersede:
Tool: decision_search
Parameters:
- query: "database storage events" (free-text search)
- category: "architecture" (optional filter)
- tags: ["postgresql"] (optional filter)
- status: "committed" (optional filter)
Returns: Array of matching decisions with supersession indicators
If no existing decision found -- record a new one:
Tool: decision_record
Parameters:
- title: "Use PostgreSQL with JSONB for event storage"
- category: "architecture"
- context: "We need a storage backend for decision trace events..."
- decision: "Use PostgreSQL with JSONB columns for event payload storage..."
- rationale: "PostgreSQL provides ACID guarantees needed for audit trails..."
- alternatives_considered:
- option: "MongoDB"
rejected_because: "Team lacks MongoDB expertise..."
- option: "Kafka + ClickHouse"
rejected_because: "Over-engineered for current volume..."
- tags: ["postgresql", "events", "storage"]
- constraints: "Must support ACID transactions"
- consequences: "Will need partitioning at 10M events/day"
Returns: Complete decision with trace and snapshot
If superseding an existing decision -- reference the old one:
Tool: decision_record
Parameters:
- title: "Migrate event storage to TimescaleDB"
- category: "architecture"
- context: "Event volume now exceeds 10M/day, partitioning needed..."
- decision: "Switch from plain PostgreSQL to TimescaleDB hypertables..."
- rationale: "TimescaleDB provides automatic partitioning and compression..."
- supersedes: "TMEM_abc123" (ID of the old decision)
- tags: ["timescaledb", "events", "storage"]
Returns: Decision linked to the superseded one
Choose the most specific applicable category:
| Category | Use For |
|----------|---------|
| architecture | System design, component structure, data flow |
| dependency | Library, framework, or tool choices |
| schema | Database schema, data model changes |
| api_design | API endpoint design, contract decisions |
| infra | Infrastructure, deployment, hosting decisions |
| tradeoff | Engineering tradeoffs with clear pros/cons |
| convention | Coding standards, naming conventions |
| other | Anything that doesn't fit above |
postgresql, go, grpcconcurrency, security, performancedecision_record when data operations are needed: If you need to read/write data products as part of the decision, use the full envelope workflowsupersedes field creates an auditable chain -- use it to show decision evolution rather than deleting old decisions.testing
Instructions for writing and efficiently storing data in TraceMem.
tools
Complete workflow patterns for common TraceMem operations.
tools
Scenarios where TraceMem should not be used.
development
Auditing memory traces and debugging.