agentsclimarketplace

Tech stack builder

Skill theagenticguy/erpaval/skills/tech-stack-builder

Opinionated tech stack recommendations and settled library references. Two modes: (1) `/build-stack` runs parallel researcher agents to compare candidates and emit a stack report + ADRs for greenfield projects; (2) direct reference routing for coding with settled defaults. Use when the user asks to recommend a stack, choose between frameworks, compare open-source tools, scaffold a project with quality gates, set up a security pipeline, or asks how to wire TanStack Router/Query/Table/Form, Motion, Recharts, D3, React Three Fiber, dnd-kit, XY Flow, shadcn/blocks.so, Hono, tRPC, Litestar, FastAPI, cyclopts, polars, DuckDB, Biome, pnpm, Vite, uv, ruff, ty, pyright, mise, lefthook, golangci-lint, clippy, cargo-nextest, cargo-deny, betterleaks, semgrep, osv-scanner, trivy, grype, hadolint, cosign, checkov, CDK, or Amplify Gen 2 + Aurora. Do NOT use for product definition or PRD drafting (use `product-discovery`); do NOT invoke directly when `erpaval` is running — `erpaval` drives `/build-stack` through `CL-SPEC`.From its SKILL.md

Install
npx -y skills add theagenticguy/erpaval --skill tech-stack-builder

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

9.8 KB, as published. Nobody here has run it

Contents

FileWhen to load
references/orchestrator.mdRunning /build-stack — intake → parallel research → synthesis → ADRs
references/opinionated-defaults.mdDeciding health-check vs full-research per category
references/search-strategies.mdConfiguring researcher agent tool use (Context7, exa, nova, etc.)
references/health-check-criteria.mdHEALTHY / CAUTION / WARNING classification for recommendations
references/output-templates.mdFormat specs for the stack report, ADRs, comparison matrices
references/domains/backend.mdBackend researcher domain config
references/domains/frontend.mdFrontend researcher domain config
references/domains/infra.mdInfrastructure researcher domain config
references/domains/aws.mdAWS researcher domain config
references/domains/devtools.mdDev-tooling researcher domain config
references/stacks/typescript/Settled TypeScript/React patterns — 15 library references
references/stacks/python/Settled Python patterns — core, CLI, API, data pipeline
references/stacks/go/Settled Go patterns — modules, golangci-lint, govulncheck, chi
references/stacks/rust/Settled Rust patterns — cargo, clippy, nextest, cargo-deny
references/stacks/shared/Cross-language tooling — mise, lefthook, security, CI/CD, containers
templates/stack-report.mdFull report skeleton (instantiated by orchestrator)
templates/adr-template.mdADR format for significant choices
templates/comparison-matrix.mdComparison matrix format
templates/scaffold/Ready-to-copy project scaffolds — python, typescript, go, rust

Tech Stack Builder

Two-mode skill: /build-stack runs parallel researcher agents to produce a stack report + ADRs, and standalone reference routing teaches settled coding patterns when the user is already building.

Mode 1 — /build-stack orchestration

Runs a forked orchestrator that launches the plugin researcher agent in parallel across up to five domain configs (backend, frontend, infra, aws, devtools). Each instance researches its slice, scores candidates against health-check-criteria.md, and writes a comparison matrix. The orchestrator synthesizes, resolves conflicts via explicit priority (user constraints → avoid list → ecosystem coherence → health → familiarity), and emits:

ArtifactDescription
tech-stack-report.mdUnified stack table, per-layer analysis, comparison matrices, architecture diagram
adr/NNN-*.md3–5 ADRs for non-obvious or long-horizon decisions
Dependency snippetspyproject.toml, package.json, mise.toml scoped to the recommended stack
Scaffold (optional)Phase 5 generates real config files via templates/scaffold/ if the user opts in

Hybrid defaults philosophy: ~60% of categories have opinionated winners (ruff, uv, biome, mise) — the researcher runs a health check only on those. The remaining ~40% (web framework, ORM, IaC, component library) get full comparison research, because the landscape actively shifts. See references/opinionated-defaults.md for the split.

To start: /build-stack with optional context (e.g., /build-stack Python API for payments on AWS). Full runbook in references/orchestrator.md.

Mode 2 — Reference routing for settled defaults

When the user is already coding and needs a specific library pattern, route them to one reference file. Don't pre-load everything — each reference carries real weight, and loading all of them doubles the active context for no gain.

React + TypeScript web app

Start with the stack overview (references/stacks/typescript/webapp.md), then load one library reference on demand:

Library / layerReference
TanStack Routerreferences/stacks/typescript/tanstack-router.md
TanStack Queryreferences/stacks/typescript/tanstack-query.md
TanStack Tablereferences/stacks/typescript/tanstack-table.md
TanStack Formreferences/stacks/typescript/tanstack-form.md
Motion (ex framer-motion)references/stacks/typescript/motion.md
Recharts + D3references/stacks/typescript/visualization.md
React Three Fiber + Dreireferences/stacks/typescript/react-three-fiber.md
dnd-kitreferences/stacks/typescript/dnd-kit.md
XY Flow (React Flow)references/stacks/typescript/xy-flow.md
blocks.so + shadcn/uireferences/stacks/typescript/ui-blocks.md
Amplify Gen 2 + Aurorareferences/stacks/typescript/amplify-aurora.md

Core setups per language

ScenarioReference
TypeScript core (pnpm, biome, zod, vitest)references/stacks/typescript/core.md
Node API (Hono, tRPC, Fastify)references/stacks/typescript/node-api.md
AWS CDK (TypeScript)references/stacks/typescript/cdk.md
Python core (uv, ruff, ty/pyright, pytest)references/stacks/python/core.md
Python CLI (cyclopts, rich)references/stacks/python/cli.md
Python API (FastAPI, Litestar)references/stacks/python/api.md
Data pipeline (polars, DuckDB, Parquet)references/stacks/python/data-pipeline.md
Go project (modules, golangci-lint, govulncheck)references/stacks/go/core.md
Rust project (cargo, clippy, nextest, cargo-deny)references/stacks/rust/core.md

Cross-language tooling

ScenarioReference
mise versions + tasksreferences/stacks/shared/mise-config.md
lefthook + conventional commitsreferences/stacks/shared/git-hooks.md
Security pipeline (7-layer shift-left)references/stacks/shared/security.md
CI/CD (GitHub Actions per language)references/stacks/shared/ci-cd.md
Container security (Dockerfile, hadolint, grype)references/stacks/shared/containers.md
Code-quality configsreferences/stacks/shared/code-quality.md

Scaffolds

When the user asks to scaffold a project with quality gates pre-wired, load the matching file from templates/scaffold/ — python.md, typescript.md, go.md, or rust.md. Each scaffold contains concrete, ready-to-copy files: dependency manifests, linter configs, mise.toml, lefthook.yml, CI workflow, Dockerfile, .gitignore, .editorconfig — wired to the full security pipeline.

Ecosystem fit

  • Upstream of erpaval. erpaval's CL-SPEC classifier invokes /build-stack when the stack is missing. Don't call both; erpaval drives.
  • Downstream of product-discovery. Product-discovery owns PRD, HMW, and EARS — those skills explicitly exclude tech choices. When they hand off a PRD, Section 15 maps directly to /build-stack intake.
  • Uses researcher agent (defined in ${CLAUDE_PLUGIN_ROOT}/agents/researcher.md). Do not define a custom researcher here.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.