Curated project templates that guide feature-dev Phase 3 questions with research-backed technology choices. Provides standardized options for common project types (SaaS API, ML Service, CLI Tool, Full-Stack). Use when starting new projects or when feature-dev needs structured decision guidance. Do NOT use for existing projects with established stacks - analyze existing code instead.
/plugin marketplace add jrc1883/popkit-claude/plugin install popkit@popkit-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/cli-tool.jsontemplates/fullstack.jsontemplates/index.jsontemplates/ml-service.jsontemplates/saas-api.jsonProvides curated, research-backed project templates for /popkit:dev full Phase 3 (Questions).
Instead of dynamically generating technology options (which can miss relevant choices or suggest unfamiliar stacks), this skill provides:
| Template | Use Case | Key Decisions |
|---|---|---|
saas-api | Backend APIs for SaaS products | Runtime, Database, Auth, Billing |
ml-service | ML/AI inference APIs | Runtime, Model Serving, Inference Engine |
cli-tool | Command-line applications | Language, Distribution, Config Format |
fullstack | Full-stack web applications | Frontend, Backend, Database, Hosting |
browser-extension | Browser extensions | Manifest Version, Framework, Storage |
mobile-backend | Mobile app backends | Runtime, Push Notifications, Real-time |
Each template is a JSON file with this structure:
{
"id": "saas-api",
"name": "SaaS Backend API",
"description": "Backend API for SaaS products with auth, billing, multi-tenancy",
"icon": "cloud",
"questions": [
{
"id": "runtime",
"header": "Runtime",
"question": "Which runtime/framework should we use for the API server?",
"multiSelect": false,
"options": [
{
"value": "node-fastify",
"label": "Node.js + Fastify",
"description": "Fast, TypeScript-native, great for APIs",
"pros": ["Fastest Node framework", "First-class TypeScript", "Schema validation built-in"],
"cons": ["Smaller ecosystem than Express", "Less middleware available"],
"when": "Performance critical, TypeScript preferred, API-focused",
"popularity": { "npm_weekly": 2000000, "github_stars": 28000 }
}
],
"default": "node-fastify",
"research_sources": ["npm trends", "TechEmpower benchmarks", "State of JS 2024"]
}
],
"agents": {
"primary": ["api-designer", "code-architect"],
"supporting": ["security-auditor", "test-writer-fixer"]
},
"quality_gates": ["typescript", "lint", "test", "security-scan"],
"scaffolding": {
"directories": ["src", "src/routes", "src/services", "tests"],
"files": ["package.json", "tsconfig.json", ".env.example"]
}
}
When /popkit:dev full reaches Phase 3 (Questions):
Template Selection - First question asks project type:
What type of project is this?
- SaaS Backend API
- ML/AI Service
- CLI Tool
- Full-Stack Web App
- Custom (dynamic questions)
Load Template - Based on selection, load the corresponding template
Ask Template Questions - Use AskUserQuestion with template-defined options:
Use AskUserQuestion tool with:
- questions: template.questions (converted to AskUserQuestion format)
- Each question has curated options with descriptions
Store Decisions - Save answers for Phase 4 (Architecture)
## Phase 3: Questions
Based on your PRODUCT-SPEC.md, this looks like a **SaaS API** project.
[AskUserQuestion: Project Type confirmation]
Loading SaaS API template...
[AskUserQuestion: Runtime - Node.js+Fastify / Python+FastAPI / Go+Fiber / Bun+Hono]
[AskUserQuestion: Database - PostgreSQL / MySQL / MongoDB / SQLite]
[AskUserQuestion: Auth - Clerk / Auth0 / Supabase Auth / Custom JWT]
[AskUserQuestion: Billing - Stripe / Paddle / LemonSqueezy / None]
Decisions captured. Moving to Phase 4: Architecture...
To add a project-specific template:
templates/my-template.json following the schematemplates/index.jsonEach template option should include:
Sources:
templates/<type>.jsonThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.