stack-selection
Skill0 starsChanged 3 months agoMITView on GitHub
Use at the start of a new project, when trellis.json does not exist yet, or when the user asks what to build something with. Recommends technologies based on that project's actual requirements rather than defaults.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- juninmd/skillstheir own version, first seen Nov 8, 2026
- muxammadmamajonov/dot-claudetheir own version, first seen Jul 6, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- juninmd/skills★ 2same name
- muxammadmamajonov/dot-claude★ 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.
In this repository9 other files it gives its agents.
- accessibilitySkill
- clean-codeSkill
- component-designSkill
- documentationSkill
- feedback-and-performanceSkill
- mockupsSkill
- securitySkill
- spec-authoringSkill
- testingSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Start scaffolding before the user has agreed to the choices
- Distinctive: line 20
Add a technology "for later" — every dependency is a permanent maintenance cost
- Very specific: line 22
If you catch yourself writing package.json before the user has said yes, stop.
- Distinctive: line 26
Ask these before recommending anything.
- Distinctive: line 73
Fewer pieces: Every additional service is another failure mode, another bill, another set of credentials.
- Distinctive: line 81
Ask about volume before recommending anything usage-priced.
- Very specific: line 88
Write trellis.json — validate it against trellis.schema.json.
- Very specific: line 100
Write one file per significant choice, named docs/decisions/NNN-short-title.md:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Choosing a stack
Trellis has no default stack. A project's technology is a recommendation you make for that project, based on what it actually needs — not a template you apply.
Your job is to ask enough to make a real recommendation, explain the trade-off in one line each, and let the user decide.
Never do this
- Assume a stack because it is popular, or because the last project used it
- Start scaffolding before the user has agreed to the choices
- Present a stack as settled fact rather than a recommendation
- Recommend something you cannot justify from a stated requirement
- Add a technology "for later" — every dependency is a permanent maintenance cost
If you catch yourself writing package.json before the user has said yes, stop.
What to ask
Ask these before recommending anything. Batch them — do not interrogate one line at a time.
What is it
- What does this do, for whom, and what does success look like?
- Is there a user interface, an API, a command line tool, or a library? (This sets
typeintrellis.json.) - Roughly how many users, and are they public or authenticated?
What it must handle
- Does data need to persist? Relational, document, or files?
- Does anything need to happen in real time?
- Does it work offline?
- Does it send email, take payments, handle uploads, run scheduled work?
- Does it need to be found by search engines?
Constraints
- What is the budget, monthly? Free tier only is a legitimate and common answer.
- Where does it need to run? Any hosting already in place?
- Anything the user already knows or already runs that would be cheaper to reuse?
- Any compliance or data-residency requirement?
Longevity
- Is this a throwaway experiment or something maintained for years?
- Will anyone else work on it?
How to recommend
Give one recommendation per layer, with a one-line reason tied to something the user said, plus the main alternative and when it would win. Not a survey — a decision they can accept or push back on.
Framework <choice> because <requirement they stated>
alternative: <x>, better if <condition>
Database ...
Hosting ...
Testing ...Then state the total monthly cost at the scale they described, and what the first thing to break will be as it grows.
Weighting
- Requirements they stated. Offline support, SEO, real-time, and budget eliminate more options than anything else. Start there.
- Boring beats novel. For anything maintained longer than a few months, prefer technology with a long support history and a large body of existing answers. An agent writes better code in a well-documented ecosystem, and you are the one who will maintain it.
- Fewer pieces. Every additional service is another failure mode, another bill, another set of credentials. Reach for one that does two jobs adequately over two that each do one job well, unless a stated requirement demands otherwise.
- Free tiers are a real constraint, not a preference to design around. Check the actual limits and name the threshold where each breaks.
Where cost actually bites
Ask about volume before recommending anything usage-priced. The failures that hurt are not monthly fees — they are per-unit quotas that stop working mid-month. Image transformations, function invocations, bandwidth, build minutes, monthly active users, email per day. For anything usage-priced, say what the free allowance is and roughly what usage exhausts it.
Once decided
- Write
trellis.json— validate it againsttrellis.schema.json. - For each chosen technology, check whether
stacks/<name>/exists.- It exists: load it. It holds current, verified knowledge for that technology.
- It does not: say so. Offer to create it with
/stack-add <name>. Until then you are working from general knowledge, which may be out of date — verify anything version-specific before relying on it.
- Wire up the gate commands so
verifyactually runs. A project is not set up until every declared gate runs and passes on an empty project. Prove it before writing application code. - Record the choices and their reasons in
docs/decisions/. In six months the reason matters more than the choice.
Recording the decision
Write one file per significant choice, named docs/decisions/NNN-short-title.md:
# 001 — <the choice>
**Date:** YYYY-MM-DD
**Status:** accepted
## Context
What the project needs that made this a question.
## Decision
What was chosen.
## Alternatives
What else was considered, and the specific reason it lost.
## Consequences
What this makes easy. What this makes hard. What would have to be true to revisit it.The Alternatives section is the valuable one. It stops the same debate being reopened, and it tells a future reader whether the original reasoning still holds.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

