Trade study
Use when a design decision has multiple viable options with non-obvious trade-offs. Triggers on "should we use X or Y", connector/topology/IC selection dilemmas, architecture choices that constrain downstream work, or any hard-to-reverse decision where the best option depends on weighing competing priorities. Also use when asked to write, review, or update a trade study.From its SKILL.md
npx -y skills add mawildoer/atopile-agent-skill --skill trade-studyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.0 KB, as published. Nobody here has run it
Trade Studies
Trade studies capture structured comparisons when a design decision has multiple viable options. They make reasoning auditable for the team now and anyone revisiting the decision later.
When to Write One
Write one when:
- Multiple options are viable and the best choice depends on weighing competing priorities
- The decision affects downstream work (connector choice constrains PCB stackup, firmware, mechanical design)
- The decision is hard to reverse once implemented
Don't write one when:
- One option is clearly dominant
- The decision is easily reversible
- The scope is too small to justify the overhead
File Convention
Each trade study is a markdown file, dated and kebab-cased, kept in the repo (e.g. under docs/trades/):
docs/trades/YYYY-MM-DD-<topic-in-kebab-case>.md
Structure
Every trade study has exactly four sections plus a header block:
Header Block
# Trade Study: <Title>
**Date:** YYYY-MM-DD
**Status:** OPEN | DECIDED
**Decision:** <one-line summary of chosen option> ← only after decided
1. Context
What we're deciding and why it matters. Include:
- The problem or constraint that forced the decision
- Requirements the solution must meet (quantified where possible)
- Use cases affected by the decision
2. Options
Each viable approach as a subsection (### Option A: ...). Describe concisely — what the approach is, how it works, key characteristics. No advocacy — just facts.
3. Comparison Table
Rows are evaluation criteria, columns are options. Use qualitative ratings with explanation, not bare checkmarks.
| Criteria | A: <name> | B: <name> |
|---|---|---|
| **<criterion>** | <rating + explanation> | <rating + explanation> |
Good criteria to consider for hardware decisions:
- JLCPCB/LCSC availability and stock
- Board space impact (mm² estimate)
- Component count / BOM cost
- ADC channels, MCU peripherals consumed
- New packages required (
ato create part) - Accuracy / precision at operating conditions
- Temperature drift behavior
- Failure modes and detectability
- Firmware complexity
- Reusability across other designs
- Power sequencing / hot-swap implications
- Mechanical constraints (PCB thickness, connector alignment)
Not all criteria apply to every decision — pick the ones that differentiate the options.
4. Recommendation
Which option and why, structured as:
- Rationale: why the chosen option wins on the criteria that matter most for this specific use case
- What we're giving up: explicitly acknowledge the trade-offs accepted
- When to revisit: conditions under which the decision should be reconsidered
Optional: Research Findings
If research uncovered facts that eliminated options or changed the landscape, add a ## Research Findings section between Comparison and Recommendation. This is for discovered constraints (e.g., "no 0.8mm card-edge power connectors exist on LCSC"), not for general background.
After a Decision
Update the header:
- Change
**Status:**fromOPENtoDECIDED - Add
**Decision:**line with one-line summary - Keep the full trade study in the repo as a record — don't delete it
Workflow
- Research options before writing — check datasheets, LCSC/JLCPCB availability, existing packages, and the atopile registry
- Draft all four sections. Get the comparison table right — this is the core value
- Review with the user before marking DECIDED (trade studies with Status: OPEN are proposals)
- Decide — update status, add decision line
- Reference the trade study from relevant design docs so future readers can find the reasoning