vc-predict
vc:predict runs a proposed code change through five independent expert personas (architect, security, performance, UX, and devil's advocate) who debate and reach consensus before implementation begins. Use this skill before major features, risky changes, significant refactors, or when evaluating competing technical approaches to catch architectural, security, performance, and user experience issues early.
git clone --depth 1 https://github.com/withkynam/vibecode-pro-max-kit /tmp/vc-predict && cp -r /tmp/vc-predict/.claude/skills/vc-predict ~/.claude/skills/vc-predictSKILL.md
# vc-predict — Multi-Persona Pre-Analysis
> **Output style:** Follow `process/development-protocols/communication-standards.md` — answer-first, plain language, no unexplained jargon, TL;DR on long responses.
Five expert personas independently analyze a proposed change, then debate conflicts to produce a consensus verdict before a single line of code is written.
## When to Use
- Before implementing a major or high-risk feature
- Before a significant refactor or architecture change
- Evaluating competing technical approaches
- Stress-testing assumptions in a proposed design
## When NOT to Use
- Trivial or low-risk changes (use `debugger` for bugs, `generate-plan` / `plan-agent` for already-decided tasks)
- Already-approved work with no open design questions
- Pure dependency upgrades with no API changes
---
## Mode Selection
`vc-predict` runs in **Simple** or **Deep** mode. Choose based on the conditions below.
| | Simple | Deep |
|---|---|---|
| Context source | Approach description already in context | Approach description + historical research subagent |
| Subagent spawned | No | Yes — reads git log, prior reports, test failure history |
| Persona debate quality | Reasons from first principles | "We tried this 3 months ago and hit X" |
| When to use | Contained feature, clear scope, no prior attempts | See trigger conditions below |
### Deep Mode — Trigger Conditions (any one is sufficient)
- The approach involves a pattern previously attempted in this codebase (git history may show prior attempts)
- The approach touches a surface with known failure history: auth, billing, container lifecycle, streaming, or WebSocket reconnect
- Caller explicitly requests deep mode (`--deep` flag or "use deep predict")
- The plan is **COMPLEX** shape and this is the pre-checklist predict call
### Simple Mode — Trigger Conditions (default)
- Approach is a contained feature with clear scope
- No prior attempts at this surface area are likely
- Plan is SIMPLE shape and the design is not controversial
---
## Deep Mode — Research Subagent Protocol
Before the 5-persona debate, spawn a research subagent that performs the following steps in order:
1. **Git history scan** — run `git log --oneline --all -- [relevant files]` for each file or directory the approach touches. Flag any commits within the last 6 months that suggest a prior attempt, revert, or known fix.
2. **Prior phase reports** — search task folders under `process/features/{feature}/active/` and `process/features/{feature}/completed/` for `_REPORT_` files mentioning this surface (pattern: `active/{slug}_{date}/{slug}_REPORT_{date}.md`). Read any that contain keywords from the approach (e.g. "streaming", "SSE", "auth", "billing", "container lifecycle"). Legacy sibling `reports/` dir may also exist — scan it too if present.
3. **Test failure history** — grep test output files and CI logs for `FAIL` or `Error` patterns on relevant module names. Note recurring failures.
4. **Return a Historical Context block** containing:
- What was tried before (commit refs, dates, brief description)
- What failed and why
- Current state of the surface (is it stable, under active churn, recently refactored?)
- Known landmines (specific lines, patterns, or edge cases that broke before)
The 5 personas then receive this Historical Context block before their independent analysis phase. Each persona incorporates it when relevant.
### Output Quality Difference
**Simple predict** (no research):
> "Senior dev: this streaming approach could cause a memory leak in the SSE proxy."
**Deep predict** (with historical research):
> "Senior dev: we tried this exact streaming approach in commit `a3f921` (2026-03-15) — it caused a memory leak in the SSE proxy because the Bun response body was never released on client disconnect. The current proposal has the same pattern in `packages/api/src/routes/gateway-proxy.ts` line 84. The fix at the time was adding an `AbortController` listener; verify that is still present or re-apply."
---
## The 5 Personas
| Persona | Focus | Core Questions |
|---------|-------|----------------|
| **Architect** | System design, scalability, coupling | Does this fit the architecture? Will it scale? What new coupling does it introduce? |
| **Security** | Attack surface, data protection, auth | What can be abused? Where is data exposed? Are auth boundaries respected? |
| **Performance** | Latency, memory, queries, bundle size | What is the latency impact? N+1 queries? Memory leaks? Bundle bloat? |
| **UX** | User experience, accessibility, error states | Is this intuitive? What does the error state look like? Accessible on mobile? |
| **Devil's Advocate** | Hidden assumptions, simpler alternatives | Why not do nothing? What is the simplest alternative? Which assumption could be wrong? |
---
## Debate Protocol
1. **Read** the proposed change/feature description from the argument
2. **Read relevant code** if file paths are provided (grep for affected areas)
3. **Each persona analyzes independently** — do not let personas influence each other during this phase
4. **Identify agreements** — points where all (or 4+) personas align
5. **Identify conflicts** — points where personas meaningfully disagree
6. **Weigh tradeoffs** — for each conflict, evaluate which concern has higher impact
7. **Produce verdict** — GO / CAUTION / STOP with actionable recommendations
---
## Output Format
```
## Prediction Report: [proposal title]
## Verdict: GO | CAUTION | STOP
### Agreements (all personas align)
- [Point 1 — what they all agree on]
- [Point 2]
### Conflicts & Resolutions
| Topic | Architect | Security | Performance | UX | Devil's Advocate | Resolution |
|-------|-----------|----------|-------------|-----|-----------------|------------|
| [Issue] | [View] | [View] | [View] | [View] | [View] | [Recommendation] |
### Risk Summary
| Risk | Severity | Mitigation |
|------|----------|------------|
| [Risk description] | Critical/High/Comprehensive code review with scout-based edge case detection. Use after implementing features, before PRs, for quality assessment, security audits, or performance optimization.
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
Use this agent when you need to investigate issues, analyze system behavior, diagnose performance problems, examine database structures, collect and analyze logs from servers or CI/CD pipelines, run tests for debugging purposes, or optimize system performance. This includes troubleshooting errors, identifying bottlenecks, analyzing failed deployments, investigating test failures, and creating diagnostic reports. Examples:\n\n<example>\nContext: The user needs to investigate why an API endpoint is returning 500 errors.\nuser: "The /api/users endpoint is throwing 500 errors"\nassistant: "I''ll use the debugger agent to investigate this issue"\n<commentary>\nSince this involves investigating an issue, use the Task tool to launch the debugger agent.\n</commentary>\n</example>\n\n<example>\nContext: The user wants to analyze why the CI/CD pipeline is failing.\nuser: "The GitHub Actions workflow keeps failing on the test step"\nassistant: "Let me use the debugger agent to analyze the CI/CD pipeline logs and identify the issue"\n<commentary>\nThis requires analyzing CI/CD logs and test failures, so use the debugger agent.\n</commentary>\n</example>\n\n<example>\nContext: The user notices performance degradation in the application.\nuser: "The application response times have increased by 300% since yesterday"\nassistant: "I''ll launch the debugger agent to analyze system behavior and identify performance bottlenecks"\n<commentary>\nPerformance analysis and bottleneck identification requires the debugger agent.\n</commentary>\n</example>
EXECUTE MODE - Implementing EXACTLY what was planned. Full tool access. Can only be invoked after explicit user confirmation. Use after plan is approved.
FAST MODE - Execute compressed RIPER-5 workflow (RESEARCH + INNOVATE + PLAN) in one session, then pause for EXECUTE confirmation. Use when you want quick end-to-end solution.
Stage, commit, and push code changes with conventional commits. Use when user says "commit", "push", or finishes a feature/fix.
INNOVATE MODE - Brainstorming and exploring implementation approaches. Discusses possibilities without making decisions. Use after research is complete.
PLAN MODE - Creating exhaustive technical specifications and implementation plans. Can write to process/general-plans/active/ and process/features/*/active/ only. Use after approach is decided.