Buy vs build adr
Skill stdin/buy-vs-build/plugins/buy-vs-build/skills/buy-vs-build-adr
Use when a non-obvious buy-vs-build decision was just made and should be recorded durably, or when a project keeps a docs/decisions/ log of Architecture Decision Records (ADRs) for build/buy/reuse and dependency choices.From its SKILL.md
npx -y skills add stdin/buy-vs-build --skill buy-vs-build-adrAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 3 stars3 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.
- runs commandsInstructs the agent to run 1 command, including `node scripts/record-decision.js \ --title "Use Server-Sent Events for the live feed" \ --rung native-platform \ --decision "Stream updates with SSE over HTTP." \ --rejected "WebSockets, becaus`.
SKILL.md
1.9 KB, 391 tokens by cl100k_base, as published. Nobody here has run it
Buy vs Build ADR
Capture non-obvious buy-vs-build decisions as Architecture Decision Records so the reasoning — and the trigger to revisit it — survives the pull request.
When to record
Record an ADR when a decision is non-obvious or hard to reverse:
- Adding or removing a dependency.
- Choosing a commercial service over owning a capability.
- Building something in-house.
- Picking one technical option over a comparable one (for example, Server-Sent Events over WebSockets).
Skip it for obvious, trivial, easily reversible choices. An ADR is a few sentences, not an essay — it mirrors the one-line decision note the rule already produces, just durable and reviewable.
How to record
ADRs live in docs/decisions/, numbered sequentially as NNNN-title.md. Use the next free number. Either run the helper:
node scripts/record-decision.js \
--title "Use Server-Sent Events for the live feed" \
--rung native-platform \
--decision "Stream updates with SSE over HTTP." \
--rejected "WebSockets, because the feed is one-way and full-duplex is unused." \
--revisit "the feed needs bidirectional messaging."
…or, if no helper is available, create docs/decisions/NNNN-title.md by hand with this shape:
# NNNN. <title>
- Status: Accepted
- Date: <YYYY-MM-DD>
- Rung: <do-nothing|built-in|native-platform|installed-dependency|open-source|commercial|in-house>
## Context
<requirement and constraints>
## Decision
<the option chosen>
**Tradeoff:** <why it wins>
**Rejected:** <next-best option> because <constraint>
## Consequences
Revisit if <specific trigger>.
What ships with it: 1 file
226 B alongside SKILL.md
agents/
- openai.yaml226 B