~ / rigs / KhazP / vibe-coding-prompt-template

KhazP/vibe-coding-prompt-template

Templates and workflow for generating PRDs, Tech Designs, and MVP and more using LLMs for AI IDEs

share on X
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
CONTEXT TAX · EVERY TURN
~2.2k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit KhazP/vibe-coding-prompt-template/.claude ./rig-vibe-coding-prompt-template  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-agents .claude/skills/vibe-agents
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-build .claude/skills/vibe-build
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-change .claude/skills/vibe-change
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-debug .claude/skills/vibe-debug
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-handoff .claude/skills/vibe-handoff
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-prd .claude/skills/vibe-prd
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-research .claude/skills/vibe-research
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-review .claude/skills/vibe-review
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-techdesign .claude/skills/vibe-techdesign
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-verify .claude/skills/vibe-verify
$ npx degit KhazP/vibe-coding-prompt-template/.agents/skills/vibe-workflow .claude/skills/vibe-workflow
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/KhazP/vibe-coding-prompt-template/main/templates/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/researcher.md https://raw.githubusercontent.com/KhazP/vibe-coding-prompt-template/main/templates/.claude/agents/researcher.md
$ curl -fsSL --create-dirs -o .claude/agents/test-runner.md https://raw.githubusercontent.com/KhazP/vibe-coding-prompt-template/main/templates/.claude/agents/test-runner.md

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "node -e \"/* Protect secrets, lockfile, and .git internals. Templates like .env.example stay editable. */ const fs=require('fs'); const d=JSON.parse(fs.readFileSync(0,'utf8')); const p=(d.tool_input?.file_path||'').replace(/\\\\\\\\/g,'/'); cons"
          }
        ]
      },
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "node -e \"/* Block catastrophic commands. A safety net, not a sandbox. */ const fs=require('fs'); const d=JSON.parse(fs.readFileSync(0,'utf8')); const c=d.tool_input?.command||''; const bad=[/rm\\s+-[a-zA-Z]*[rf][a-zA-Z]*\\s+(\\/\\*?|~\\/?\\*?|\\.\\"
          }
        ]
      }
    ]
  }
}

Skills (11)

Subagents (3)

code-reviewerReviews diffs for bugs, regressions, missing tests, and safety issues
researcherRead-only researcher for docs, source, schemas, and implementation context
test-runnerRuns project verification commands and summarizes failures

Hooks (5)

eventmatcherruns
PreToolUseEdit|Writenode -e "/* Protect secrets, lockfile, and .git internals. Templates like .env.example stay editable. */ const fs=require('fs'); const d=JSON.parse(fs.readFileSync(0,'utf8')); const p=(d.tool_input?.file_path||'').replace(/\\\\/g,'/'); cons
PreToolUseBashnode -e "/* Block catastrophic commands. A safety net, not a sandbox. */ const fs=require('fs'); const d=JSON.parse(fs.readFileSync(0,'utf8')); const c=d.tool_input?.command||''; const bad=[/rm\s+-[a-zA-Z]*[rf][a-zA-Z]*\s+(\/\*?|~\/?\*?|\.\
PostToolUseEdit|Writenode scripts/format-hook.cjs
Stop*node -e "console.log('\n--- Session Summary ---'); const {execSync}=require('child_process'); try { const status=execSync('git status --porcelain',{encoding:'utf8'}); if(status.trim()) { console.log('Modified files:'); console.log(status);
Notification*node -e "/* Static message text, so no shell-quoting surprises. */ const {exec}=require('child_process'); if(process.platform==='win32'){ exec('powershell -Command \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Message

Cursor rules (3)

00-project · always10-architecture20-testing-review

Similar rigs

copied ✓