← ClaudeAtlas

stacklisted

Own docs/stack.md — every adopted technology with one line on why it earned its place. Use it before adding a dependency to go.mod, package.json, or any other manifest; when a technology is being swapped, dropped, or evaluated; and when `scc validate` reports stack.missing or stack.undocumented-dependency, which means something is installed that nobody recorded a decision about.
protonspy/open-wiki · ★ 0 · AI & Automation · score 65
Install: claude install-skill protonspy/open-wiki
You own `docs/stack.md`. The rule it enforces is in `.claude/rules/knowledge-base.md`, and it is short: **technology not listed here is an open decision, never something adopted silently.** This is checkable because dependency manifests are structured data. `scc validate` reads the direct dependencies out of `go.mod` and `package.json` and reports any that `stack.md` does not mention. Indirect dependencies are skipped — nobody decided those. ## Adding a dependency is two steps Adding it to the manifest is the first. The second is here, and it happens in the same change, not later: 1. **Say what problem it solves** — the one you actually have, not the category. 2. **Say what it was chosen over**, if anything real was considered. This is the line that pays off in a year, when someone asks why not the obvious alternative. 3. **Say what it costs.** Every dependency is a supply-chain surface, a version to keep current, and an API someone will have to learn. If you cannot name the cost you have not finished evaluating it. ```markdown ## Go - **stdlib only** — the binary ships to six platforms and every dependency is a supply-chain surface. A dependency has to be worth that. ``` The validator matches on the module path or its last segment, so writing `chi` for `github.com/go-chi/chi` is enough. It is looking for a decision, not a spelling. ## Before you add anything Ask the three questions, in this order: 1. **Can the standard library do it?** For most of what a