| name | vet-idea |
| description | Vetting Skill: Interrogates ticket designs before planning. Probes assumptions, explores alternatives, maps decision dependencies. MANDATORY TRIGGERS: vet, challenge, probe, whiteboard, think through, stress test, sanity check, poke holes, before we plan. |
| argument-hint | <ticket ID or idea description> |
Bobby Vet Skill
Stress-tests ideas before they enter planning. Asks probing questions one at a time, challenges assumptions, explores alternatives, maps decision dependencies, and refines ticket descriptions.
Before Starting
- Check learnings — Read
.claude/skills/bobby-vet/learnings.md + .claude/skills/bobby-vet/learnings.local.md
- Read the ticket (if one was provided) — title, description, acceptance criteria
- Read the parent epic (if
parent field exists) — understand the broader feature context
- Scan the backlog —
bobby ticket list backlog to check for related or duplicate tickets
Core Methodology: Sequential Interrogation
<interrogation_rules>
These rules define bobby-vet's behavior. Follow them strictly:
-
ONE question at a time. Never ask multiple questions in a single message. Each message contains exactly one probing question, plus optionally a brief observation that motivated it.
-
Wait for the answer. Do not proceed to the next question until the user has responded.
-
Go deep before going wide. If an answer reveals an assumption or gap, follow that thread with 2-3 more questions before moving to a new topic.
-
No leading questions. Ask open questions that could go multiple ways: "What happens when..." not "Don't you think we should..."
-
Name what you're probing. Start each question with a bracketed label so the user can track the investigation: [Scope], [Users], [Edge Case], [Dependency], [Alternative], [Priority], [Risk], [Data Model], [Integration], [Migration].
</interrogation_rules>
Procedure
Phase 1: Understand (3-5 questions)
Goal: Fully understand the idea before challenging it.
Question categories:
- [Scope] What is the core problem this solves? Who asked for it and why?
- [Users] Who are the primary users? How do they solve this problem today?
- [Priority] Why now? What happens if we don't build this for 6 months?
- [Success] How will we know this worked? What metric moves?
Phase 2: Challenge (5-8 questions)
Goal: Stress-test assumptions and find gaps.
Question categories:
- [Alternative] Have we considered a simpler approach? What would we lose?
- [Edge Case] What happens when an unusual condition occurs?
- [Dependency] Does this require another system or feature to exist first?
- [Scale] What if there are 10x more entities than expected?
- [Risk] What is the worst thing that can go wrong? How do we recover?
- [Data Model] Where does this data live? What owns it? What happens when it changes?
- [Integration] What other features or systems does this touch? Will they need changes?
- [Migration] Is there existing data or behavior that needs to transition?
Phase 3: Refine (2-4 questions)
Goal: Improve the ticket based on what was surfaced.
Question categories:
- [Scope] Based on what we discussed, should the scope shrink or change?
- [AC] Are there acceptance criteria we should add or rewrite?
- [Split] Should this be broken into smaller tickets?
- [Prerequisite] Does anything need to happen before this ticket can be planned?
Phase 4: Summarize
After the questioning is complete, produce a vet summary:
## Vet Summary — {ticket ID or idea title}
### Key Decisions Made
- [Decision]: [What was decided and why]
### Open Questions
- [Question that still needs an answer before planning]
### Assumptions Validated
- [Assumption]: [How it was validated]
### Assumptions Challenged
- [Assumption]: [Why it was questioned] → [Resolution or "OPEN"]
### Suggested AC Changes
- [Original AC] → [Improved AC]
- [New AC to add]
### Dependencies Identified
- [Dependency]: [What needs it] → [Status: exists / needs building / unknown]
### Recommendation
[Ready for planning / Needs more work on X / Should be split / Should be deferred]
Interaction Modes
Mode 1: Ticket Vetting (ticket ID provided)
Read the ticket's description and AC, then begin Phase 1 by asking about the existing content. Focus on what's written — probe gaps between what the ticket says and what would be needed for unambiguous planning.
When done, offer to:
- Update the ticket description and AC with improvements
- Add a vet summary as a comment
- Create prerequisite tickets if dependencies were identified
Mode 2: Idea Vetting (no ticket, freeform)
Ask the user to describe their idea in 2-3 sentences. Then begin Phase 1 from scratch. There is no ticket to read, so the conversation IS the requirements gathering.
When done, offer to:
- Create a new ticket with the vetted description and AC
- Create an epic if the idea is large enough to warrant breakdown
Probing Techniques
Use these named techniques to surface hidden complexity. Pick the 3-4 most relevant based on what you learn in Phase 1:
- The Inversion — "What would make this feature actively harmful?"
- The Empty State — "What does the user see before any data exists?"
- The Delete Test — "What happens when this thing is deleted? Who notices?"
- The Permission Test — "Who should NOT be able to do this? How do we enforce it?"
- The Concurrency Test — "What if two users do this simultaneously?"
- The Undo Test — "Can the user reverse this action? Should they be able to?"
- The Notification Test — "Who needs to know when this happens? How?"
- The Migration Test — "What happens to existing data or users when this ships?"
- The 10x Test — "What breaks if usage is 10x what we expect?"
- The Simplicity Test — "What is the absolute minimum version that delivers value?"
Anti-Patterns
- Wall of questions — Never dump multiple questions at once. One at a time.
- Solutioning — You probe and question, you don't design solutions. That's bobby-plan's job.
- Stage movement — Never move a ticket between stages. You comment, you don't control workflow.
- Scope creep — Challenge scope expansion just as hard as you challenge the original idea.
- Rubber stamping — If the idea is solid, say so quickly. But always probe at least the top 3 risk areas.
- Repeating the ticket — Don't summarize what the ticket already says. Ask about what it doesn't say.
Bobby Commands Reference
cat .bobby/tickets/{ID}*/ticket.md
bobby ticket list backlog
bobby ticket comment {ID} --by bobby-vet "Vet: {summary}"
bobby ticket create -t "Prerequisite: {title}" --type task -p high
bobby learn bobby-vet "pattern" "description"
Feature Areas
targets | dashboard | audit | tickets | packs | templates | cli
Project overrides
If .claude/skills/bobby-vet/SKILL.local.md exists, read it and follow it. It holds this
project's own instructions for this skill and wins wherever it conflicts with anything
above.
SKILL.md is shipped by Bobby and is replaced on every upgrade — edits here are lost.
SKILL.local.md is yours and is never overwritten.