Claude Code Tools

prompt-mini

github

A Claude Code plugin that stops vague prompts before they run. Detects your stack, asks targeted questions, and forges a structured prompt. Zero credits wasted.

Stars
⭐ 23
License
MIT
Last Updated
2026-05-18
Source
github


A Claude Code plugin agent that intercepts vague prompts before execution. Detects your stack, asks targeted questions, and forges a structured prompt for Claude Code. No re-prompts. Zero wasted credits.

Works for every major stack: Next.js, React Native, Expo, Supabase, Prisma, FastAPI, Chrome MV3, Tailwind, shadcn, Clerk, Vercel AI SDK, LangChain, Drizzle, Cloudflare Workers, and 30+ more. Each stack has its own pitfall rules, scope anchors, and stop conditions baked in - so the forged prompt is never generic and common.


🚨 Demo



🔗 By the Same Creator

ToolWhat it doesStars
prompt-masterA free Claude.ai skill that writes the accurate prompts for ANY AI tool.4,000+ ⭐

🚀 Installation

Requirements: Claude Code v2.0+ · Python 3.8+

Step 1 - Add the marketplace via terminal

claude plugin marketplace add nidhinjs/prompt-mini

Step 2 - Install via terminal

claude plugin install prompt-mini@nidhinjs-marketplace

Step 3 - Run this script

Mac / Linux:

python3 ~/.claude/plugins/cache/nidhinjs-marketplace/prompt-mini/0.1.0/setup.py

Windows:

python "$env:USERPROFILE\.claude\plugins\cache\nidhinjs-marketplace\prompt-mini\0.1.0\setup.py"

Step 4 - Restart Claude Code

In Claude Code → Verify with /prompt-mini → you should see prompt-mini listed.

Running the script is required due to a known Claude Code bug where plugin hooks don’t register automatically.


#2 - Local Install (Contributors)

Step 1 - Clone

git clone https://github.com/nidhinjs/prompt-mini.git

Step 2 - Create a parent folder

Mac / Linux:

cd ..
mkdir prompt-mini-dev && cd prompt-mini-dev
mkdir .claude-plugin
echo '{"name":"local-dev","owner":{"name":"nidhinjs"},"plugins":[{"name":"prompt-mini","source":"./prompt-mini"}]}' > .claude-plugin/marketplace.json
mv ../prompt-mini ./prompt-mini

Windows:

cd ..
mkdir prompt-mini-dev; cd prompt-mini-dev; mkdir .claude-plugin
[System.IO.File]::WriteAllText(".claude-plugin\marketplace.json", '{"name":"local-dev","owner":{"name":"nidhinjs"},"plugins":[{"name":"prompt-mini","source":"./prompt-mini"}]}')
mv ..\prompt-mini .\prompt-mini

Step 3 - Register and install

claude plugin marketplace add /absolute/path/to/prompt-mini-dev
claude plugin install prompt-mini@local-dev

Step 4 - Run setup

python prompt-mini/setup.py

Step 5 - Restart Claude Code


🎯 How It Works

Every prompt you type gets evaluated by a lightweight Python hook:

Clear prompt? → Passes through instantly. Zero questions.

Vague or framework-specific prompt? → Hook intercepts. Skill fires. Asks 2-6 targeted questions. Assembles a structured prompt and executes it.

You type a prompt

Hook evaluates (~189 tokens)

     Clear? ──────────────────→ Pass through instantly

     Vague?

Scans project files (package.json, CLAUDE.md, imports)
Detects your stack automatically
Asks ≤5 clarifying questions
Assembles structured 6-block forged prompt

Claude Code executes the forged prompt

⌨️ Bypass

Add * at the start of any prompt to skip prompt-mini entirely:

* fix the login bug

Other auto-bypasses: /slash-commands and #memory-commands pass through unchanged.



🛠️ Supported Stacks

Framework specific routing, scope anchors, and stop conditions for every major stack.

Web Frameworks (11)

StackWhat prompt-mini prevents
Next.js App RouterAdds "use client" everywhere, mixes App/Pages Router, forgets "use server" on actions
Next.js Pages RouterUses server actions (App Router only), wrong data fetching pattern
RemixConfuses loaders with server actions, misses nested routing
SvelteKitWrites React patterns in Svelte files, wrong file conventions
AstroAdds React hooks to .astro files, treats it like a SPA
Vite + ReactAttempts server actions, forgets all fetching is client-side
Vite + Vue 3Mixes Options API and Composition API
Nuxt 3Mixes Nuxt 2 patterns, wrong composables structure
Qwik CityTreats it like React, misses resumability patterns
T3 StackCreates REST routes instead of tRPC procedures, misses root router
AstroAdds hooks to .astro files, forgets island component boundaries

Mobile (5)

StackWhat prompt-mini prevents
React Native + ExpoUses DOM APIs, imports CSS, forgets platform file conventions
FlutterGenerates React patterns in Dart, forgets stateful vs stateless widget
Kotlin + Jetpack ComposeMixes View system with Compose, wrong lifecycle handling
Swift + SwiftUIMixes UIKit patterns, wrong property wrappers
CapacitorTreats it like a native app, forgets web bridge limitations

Desktop + Extensions (7)

StackWhat prompt-mini prevents
Tauri 2Mixes Rust and frontend code, forgets to register commands in main.rs
ElectronPuts Node APIs in renderer, skips IPC bridge
Chrome MV3Uses background page (MV2), accesses DOM in service worker
Firefox WebExtensionWrong manifest key names, missed permission declarations
VS Code ExtensionRegisters commands without adding to package.json contributes
Raycast ExtensionWrong API imports, misses required export structure
WailsMixes Go and frontend runtime assumptions

Backend / API (8)

StackWhat prompt-mini prevents
FastAPIForgets Pydantic v2 syntax, skips response_model
NestJSCreates services without injecting them via module providers
HonoUses Express req/res instead of Hono context
Node + ExpressNo error middleware, missing async error handling
DjangoMixes function-based and class-based view patterns
FlaskNo blueprint structure, missing error handlers
Go + chiWrong middleware chaining, missing context passing
Rust + AxumWrong error types, missing trait implementations

AI Apps + Agents (6)

StackWhat prompt-mini prevents
Vercel AI SDKMixes v3 and v4 APIs, exposes API keys client-side
LangChain.jsUses deprecated v0.1 patterns in v0.2+
LangGraphForgets to compile graph, skips state schema definition
Anthropic SDKPuts API key client-side, wrong streaming pattern
OpenAI SDKWrong tool_choice format, misses response parsing
MastraWrong agent configuration, misses tool registration

Database / ORM + Auth (12)

StackWhat prompt-mini prevents
SupabaseUses client-side auth checks, disables RLS, wrong SSR client
PrismaSchema changes without migration, forgets prisma generate
DrizzleMixes v0.28 and v0.29+ APIs
MongoDBWrong aggregation pipeline syntax
Redis / UpstashWrong command syntax for edge runtime
TursoUses Node-only libsql in edge environment
NextAuth v5Uses v4 session callbacks, wrong auth() usage
ClerkUses deprecated authMiddleware, forgets ClerkProvider
Supabase AuthClient-side session checks, skips middleware refresh
Better-AuthWrong adapter configuration
LuciaOutdated session handling pattern
ConvexWrong mutation vs query pattern

UI + Deploy (10)

StackWhat prompt-mini prevents
Tailwind CSS 4Generates tailwind.config.js (v3 pattern, removed in v4)
shadcn/uiGenerates component code instead of using CLI
Radix UIMissing required accessibility props
MUIWrong theme provider nesting
MantineMissing MantineProvider wrapper
VercelUses Node-only APIs in Edge Runtime
Cloudflare WorkersUses Node APIs not available in Workers runtime
Fly.ioWrong Dockerfile for the stack
RailwayMissing start command in package.json
DockerWrong base image for the runtime

7 Credit-Saving Rules Applied to Every Forged Prompt

RuleWhat it does
Constraints in first 30%Critical MUST NOT rules go at the top — they decay at the tail and get ignored under execution pressure
Real file paths onlyScope says src/lib/auth.ts not “in the auth module”
Specific stop conditionsNames exact destructive actions — never “be careful”
One task per promptTwo distinct deliverables = Prompt 1 + Prompt 2, never merged
MUST and NEVER over weak words”should not” → “MUST NOT”. Weak words get ignored.
No ghost featuresNothing added beyond what was asked. Scope creep burns credits.
Checkpoint on every multi-step task✅ [what was completed] after each step — catches failures before they compound

❓ FAQ

Does it slow me down? Clear prompts: no. The hook is a ~189 token Python check. Vague prompts: 5–15 seconds for the question flow. Faster than re-prompting twice.

Does it change my prompt without asking? No. It asks questions first. You answer. Then the forged prompt goes to Claude Code — you see it before anything executes.

What if I don’t answer all the questions? It uses sensible defaults and notes the assumptions in the forged prompt’s Context block.

Does it work for beginners? Yes. It detects your experience level from your prompt vocabulary. Beginners get simpler options. Senior devs get fewer questions.

Can I use it with Cursor / Windsurf? Claude Code only for now. Other tools on the roadmap.



📋 Version History

  • 0.1.0 — Initial release. Core hook + skill engine. 40+ stacks. 6 prompt templates. 35 credit killing patterns dectected.


📄 License

MIT — see LICENSE for details.