agentleFS
DrawdEADrawdEA/dev-shortcuts/stack-check/SKILL.md

stack-check

Skill1 starsChanged 7 months agoMITView on GitHub

Reviews architectural decisions, tech stack choices, and system design for soundness. Use this skill whenever the user asks "is this architecture good", "does this make sense", "should I use X or Y", "review my stack", "is this the right approach", or describes how they've structured a project. Auto-trigger when the user shares a system design, tech stack, or architecture decision and seems to want validation or critique. Covers RN/Expo mobile, Next.js/web, AI/LLM tooling, and backend/infra. Don't wait to be asked — if an architectural decision comes up that seems worth examining, run this proactively.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. DRAZY/claude-skills★ 1same name
    2. hellocrossmanwild/Claude-skills-tools★ 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 repository3 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask clarifying questions if the stack/decision isn't fully described — what is being built, who uses it, what's the team size, what's the …

    line 29
  2. Distinctive:

    If they're considering bare RN over Expo without a strong reason, push back

    line 72
  3. Distinctive:

    Don't overcomplicate data fetching — Server Components + fetch is often enough before reaching for React Query

    line 76
  4. Distinctive:

    Don't build a microservices architecture for a product with <10k users

    line 89
  5. Distinctive:

    When evaluating a tool for a solo dev or small team using Claude heavily, apply these signals:

    line 104
  6. Distinctive:

    Add this section to every stack-check output:

    line 141

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/stack-check

Reviews architecture and tech stack decisions for soundness. Not just "is this the popular choice" — is it the right choice for what you're building and where you're going.

Trigger conditions

  • Explicit: /stack-check followed by a description, stack list, or diagram
  • Auto: user describes how they've structured a project
  • Auto: user asks "should I use X or Y for Z"
  • Auto: user shares a tech stack and seems to want feedback
  • Auto: user says "does this make sense" about an architectural decision

What "sound architecture" means here

Evaluate on five axes:

  1. Fit — does this tool/pattern actually solve the problem, or is it overkill/underkill?
  2. Coherence — do the pieces work well together, or are there impedance mismatches?
  3. Longevity — will this still be a reasonable choice in 12-18 months?
  4. Vibe/AI coding compatibility — how well does this tool work when Claude (or another LLM) is writing the code?

How to run a stack-check

  1. Ask clarifying questions if the stack/decision isn't fully described — what is being built, who uses it, what's the team size, what's the timeline
  2. Research any unfamiliar tools or recent ecosystem shifts via web_search before forming opinions
  3. Evaluate each axis above
  4. Give a verdict with concrete reasoning

Output format

## Stack check: <what's being reviewed>

**Overall verdict: ✅ Sound** | **⚠️ Some concerns** | **❌ Reconsider**

One-line summary.

---

### Fit
[Is this the right tool for this specific problem? What does it do well here, what does it miss?]

### Coherence
[Do the pieces work together? Any friction points, impedance mismatches, or "this will bite you later" combos?]


### Longevity
[Is this still a reasonable bet in 12-18 months? Any ecosystem risk, deprecation risk, or momentum concerns?]

### Alternatives worth knowing
| Option | When to prefer it |
|---|---|---|
| X | [scenario] |
| Y | [scenario] |

### Verdict
[Concrete recommendation. Not "it depends" — make a call. If it's context-dependent, say which context leads to which answer.]

Domain-specific heuristics

RN/Expo mobile

  • Expo managed workflow is almost always correct unless you have a specific native module need — don't prebuild early
  • New Architecture is now default in SDK 55 — flag any Old Arch-only native deps
  • State: zustand for most things, don't reach for Redux unless you genuinely need devtools + time travel
  • Navigation: React Navigation v7 — anything older is a red flag
  • If they're considering bare RN over Expo without a strong reason, push back

Next.js/web

  • App Router is the current path — Pages Router is legacy, flag it
  • Don't overcomplicate data fetching — Server Components + fetch is often enough before reaching for React Query
  • Supabase is a solid choice for indie/small team; flag if they're trying to use it at scale without understanding the tradeoffs
  • Vercel for hosting is fine but flag vendor lock-in if it matters to them

AI/LLM tooling

  • Evaluate: is this actually agentic or just a prompted workflow? (matters for framing, not necessarily correctness)
  • RAG vs structured extraction — most "knowledge base" use cases are better served by structured extraction than naive RAG
  • MCP is worth learning — it's becoming the standard tool interface
  • Flag if they're using LangChain for something Claude/Anthropic SDK handles natively — often unnecessary abstraction
  • Vector DB: only reach for Pinecone/Weaviate if you actually need scale; pgvector handles most indie use cases

Backend/infra

  • Supabase covers 80% of indie/small team backend needs — validate before they build custom
  • Don't build a microservices architecture for a product with <10k users
  • Edge functions are often overkill — regular serverless is fine for most cases
  • Flag premature optimization patterns (caching layers, queues, etc. before there's actual load)

Edge cases

  • "Is my whole app architecture sound" — ask for a brief description or diagram, then evaluate holistically
  • "X vs Y" — always make a call, don't hedge. State your reasoning clearly
  • Unfamiliar tool — web_search it before opining, don't hallucinate capabilities
  • Solo dev vs team — adjust recommendations; what's right for a team of 5 is often wrong for a solo builder
  • MVP vs production — flag explicitly when a choice is fine for MVP but needs rethinking at scale

Vibe/AI coding compatibility heuristics

When evaluating a tool for a solo dev or small team using Claude heavily, apply these signals:

What makes a tool AI-coding friendly

  • TypeScript-native API — Claude generates typed code more reliably than SQL strings or stringly-typed configs
  • Colocated schema + logic — Claude can read the whole data layer in one place; hunting across migration files increases hallucination risk
  • Small, stable API surface — fewer ways to do the same thing = more consistent codegen
  • Rich docs + high training data coverage — tools with extensive docs and GitHub presence generate better completions
  • No raw SQL required — SQL is the #1 surface where LLMs generate plausible-but-wrong code (especially RLS policies)

Known AI coding traps by tool

ToolAI coding risk
Supabase RLSClaude frequently generates RLS policies that look right but have logic errors — always review manually
Supabase SSR (Next.js)Client vs server client distinction is a common Claude mistake — @supabase/ssr vs @supabase/supabase-js
PrismaSchema is separate from queries — Claude loses context across files in long sessions
Raw SQLHighest hallucination risk — prefer query builders or TypeScript-native ORMs
LangChainAPI surface changes frequently — Claude's training data is often stale on exact method names

AI-friendly alternatives

Instead ofConsiderWhy
Supabase (complex RLS)ConvexTypeScript queries, no SQL, colocated schema
Raw SQLDrizzle ORMTypeScript-native, schema-first, excellent Claude compatibility
LangChainAnthropic SDK directlySmaller surface, stable API, Claude knows it well
PrismaDrizzleFaster, TypeScript-first, less migration complexity

The Convex signal specifically

Convex is notably AI-coding friendly:

  • Queries/mutations are TypeScript functions with full type inference — no SQL strings
  • Schema is defined in convex/schema.ts, colocated with functions — Claude reads the whole data layer at once
  • Reactive queries mean less glue code for Claude to get wrong
  • Official Anthropic + Convex integration exists — well-covered in training data

For solo devs vibe-coding a new project in 2026, Convex is now a legitimate default over Supabase unless you specifically need SQL control or have existing Supabase infrastructure.

Output format (updated)

Add this section to every stack-check output:

### Vibe/AI coding compatibility
**Score: 🤖 High / ⚠️ Medium / 🚨 Low**
[1-2 sentences: how well does Claude generate correct code for this tool? Any known traps?]

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

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.