stack-advise
Skill0 starsChanged 2 months agoMITView on GitHub
Reviews a project's whole stack — languages, tooling, tests, CI, observability, conventions — and recommends the specific tools, libraries, and practices that would make it more professional, ranked by payoff against effort. Use when a project has grown past its tooling or before opening it to more contributors.
In this repository16 other files it gives its agents.
- adversarial-reviewSkill
- changelogSkill
- cve-patchSkill
- diagnoseSkill
- docs-driftSkill
- good-readmeSkill
- improve-designSkill
- improve-seoSkill
- janitorSkill
- kickoffSkill
- nta-scanSkill
- refactor-oopSkill
- repo-reconSkill
- software-architectureSkill
- spec-driven-devSkill
- your-skill-nameSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
Write down what the project already does well before looking for gaps.
- Distinctive: line 73
Read only, apart from the report file.
- Distinctive: line 75
Never recommend replacing the language, framework, database, or hosting.
- Distinctive: line 77
Do not recommend what is already there.
- Very specific: line 80
Every recommendation cites the evidence from this repo that motivates it, as path:line or a git log observation.
- Distinctive: line 85
Prefer the ecosystem's settled choice over a newer or more capable tool.
- Distinctive: line 88
No taste. Style preferences, naming, and architecture opinions are not stack advice unless a tool would enforce them mechanically.
- Distinctive: line 93
Every area in steps 2–7 has been assessed against what the repo contains, each recommendation names one tool or practice, one first step, …
≈ “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
Stack advise
Goal
A short, ranked list of changes to how this project is built, checked, shipped, and observed, each justified by something missing or weak in this repo and proportionate to its size and stage — not a tour of what is fashionable.
Context
Check first:
- What the project is, who uses it, and how mature it is: README, manifest, version, release history, contributor count, issue tracker. A weekend tool and a service other teams depend on deserve different recommendations.
- The stack as it stands: languages and versions, frameworks, package manager, build tool, test runner, and the lockfile.
- What is already in place, so you do not recommend it: linter and formatter
configs, type-checking settings, pre-commit hooks,
.editorconfig, CI workflows, release automation, dependency-update bots, coverage tooling, logging and metrics libraries, error reporting, health endpoints,CONTRIBUTING,SECURITY.md,LICENSE,CHANGELOG, ADRs,AGENTS.md. - How the project's ecosystem does things. Recommend the tools its language community has settled on, not the ones you know from another.
- Signs of pain in the history:
git logfor repeated "fix lint", "fix CI", "bump version" commits, reverted releases, or long-lived flaky tests. Each is evidence for a specific recommendation.
Steps
- Write down what the project already does well before looking for gaps. Judge every recommendation against the stage and size you established; the question is what this project needs next, not what a large one has.
- Quality of implementation: linting, formatting, static typing or type
checking, test runner and structure, coverage reporting, mutation or
property testing where the domain warrants it, and whether checks run
locally before they run in CI (pre-commit, git hooks, a single
make checkor equivalent). - Consistency: one package manager, a committed lockfile, pinned tool
versions (
.tool-versions,.nvmrc,rust-toolchain, ...), a reproducible development environment (devcontainer, Nix, Docker) if setup is more than one command, and whether CI runs the same commands a developer does. - Delivery: CI that runs tests on every change, branch protection expectations, automated releases and version bumps, a changelog, dependency-update automation (Dependabot, Renovate), and a documented release process.
- Observability, where the project runs as a service or long-lived process: structured logging with levels and correlation IDs, metrics, tracing, error reporting, health and readiness endpoints, and whether failures are distinguishable from a log line. Skip this section for a library or a one-shot CLI and say so.
- Security posture: secret scanning, dependency vulnerability scanning, SAST
in CI, a
SECURITY.md, signed or provenance-attested releases where the ecosystem supports them, and least-privilege CI permissions. - Standards and contribution:
LICENSE,CONTRIBUTING, a code of conduct where the project is open, issue and PR templates, commit conventions, ADRs for decisions already visible in the code, and anAGENTS.mdor equivalent if agents work in the repo. - For each gap, name one specific tool or practice — the ecosystem's default
unless there is a reason recorded in the repo not to — and the smallest
first step that adopts it. Estimate effort as
hours,days, orongoing, and payoff as what goes wrong today without it. - Rank by payoff against effort. Cap the list at ten. If more than ten things qualify, the ranking is the deliverable, not the count.
Constraints
- Read only, apart from the report file. Recommend; do not install, configure, or scaffold anything.
- Never recommend replacing the language, framework, database, or hosting. Those are decisions this project has made; work within them.
- Do not recommend what is already there. If something is present but misconfigured or unused, that is a finding about the configuration, not a recommendation to add it.
- Every recommendation cites the evidence from this repo that motivates it, as
path:lineor agit logobservation. No evidence, no recommendation. - Proportion. A recommendation that would cost more to run than the project costs to maintain is wrong regardless of merit. Say when something is premature and what would make it worth revisiting.
- Prefer the ecosystem's settled choice over a newer or more capable tool. Name an alternative only when the settled choice has a concrete disadvantage here.
- No taste. Style preferences, naming, and architecture opinions are not stack advice unless a tool would enforce them mechanically.
Done when
Every area in steps 2–7 has been assessed against what the repo contains, each recommendation names one tool or practice, one first step, evidence, effort, and payoff, and the list is ranked and at most ten items long.
Output
Save the report to STACK-ADVICE.md at the repo root, replacing any earlier
one.
Open with two or three lines: what the project is, its stage, and where its tooling stands overall.
Already solid — what is in place and working, one line per item. Brief; this tells the reader what you checked.
Recommendations — ranked, at most ten:
| # | Recommendation | Area | Evidence | First step | Effort | Payoff |
Area is one of quality, consistency, delivery, observability, security,
standards. Evidence is path:line or a git log observation. First step
is a single command or file to add.
Close with two short lists:
- Not yet — things that would be reasonable later, and what would trigger them.
- Not assessed — areas skipped and why (for example, observability for a library).
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.

