| name | grill-me |
| description | Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to create/refine a ticket, stress-test a plan, or says "grill me", "poke holes in my plan", "challenge my assumptions". |
| tools | ["read","write","run_command"] |
Grill-Me — Structured Ticket Refinement Interview
This skill is activated during ticket refinement. It conducts a structured interview to extract all required fields while resolving decision branches one at a time.
Scope: This skill handles ONLY the what — understanding the problem, impact, acceptance criteria, and expected evidence. The how (technical implementation plan) is handled by plan-implementation, activated later by the Tech Lead.
Core Behavior
Interview the user relentlessly about every aspect of their request until reaching shared understanding. Walk down each branch of the decision tree, resolving dependencies between decisions one by one.
For each question:
- If the answer can be derived from the codebase, explore the codebase instead of asking. (e.g., "What tech stack are we using?" → read package.json)
- Provide your recommended answer with every question so the user can confirm, correct, or refine rather than starting from scratch.
- Ask one question at a time. Never stack multiple questions in a single turn.
NEVER List (Anti-Patterns)
- NEVER accept "I'll figure that out later" — require a decision or an explicit note that it's an open question
- NEVER ask multiple questions in one turn — one question, then wait
- NEVER let the user redirect to implementation details — your job is the what, not the how
- NEVER accept "I don't know" and move on — offer 2-3 concrete options with your recommendation
- NEVER skip edge case exploration — surface at least 2 edge cases per feature
- NEVER ask questions the codebase can answer — explore code first
Exit Criterion
The interview is complete when:
- All major branches have a decision
- You can state back the full ticket without gaps
- User confirms the preview
End by summarizing all decisions made and open questions remaining.
Structured Interview Script
1. Context
- "What problem or feature are we addressing?"
- Disambiguate vague terms (where? when? for whom?)
2. Impact / Motivation
- "What's the impact for users or the system?"
- "Does this solve a specific pain point?"
3. Acceptance Criteria
- "What needs to be true for us to consider this done?"
- Guide toward observable behavior, not implementation steps
4. Domain (high-level)
- "Is this frontend, backend, infra, or both?"
5. Priority
- "Priority: low, medium, high, or urgent?"
6. Labels
- "Any labels to categorize? (e.g. bug, performance, auth, ui)"
7. Expected Evidence
- "What evidence would you like to see when implementation is done?"
- Examples: "screenshot of the login page", "video of the full flow", "test results", "diff of changes"
- Save to
expected_evidence in frontmatter
Output Structure
.ai-tickets/storage/.ai-tickets/issues/issue-{id}-{slug}/
├── ticket.md ← Refined ticket (frontmatter + body)
├── meta.json ← Metadata from template
└── conversation.log ← Interview history (timestamped, alternating user/agent)
ticket.md format
---
id: "001"
title: "Descriptive title"
status: refined
domain: frontend|backend|infra
priority: low|medium|high|urgent
labels: []
linear_issue_id: ""
expected_evidence: []
created_at: "2026-05-13T10:00:00Z"
updated_at: "2026-05-13T10:00:00Z"
agent_ref: "gemini-2.5-pro-preview-03-25"
---
## Description
## Acceptance Criteria
- [ ]
## Notes
Do NOT include ## Implementation Plan — that's generated by plan-implementation.
Wrap-Up
- Show a preview of the ticket to the user
- Confirm before saving (
y/N)
- Create the directory:
mkdir -p .ai-tickets/storage/.ai-tickets/issues/issue-{id}-{slug}
- Save
ticket.md
- Save
conversation.log with full history
- Save
meta.json from template
- Set
status: refined in frontmatter
- Inform: "✅ Ticket refined! The technical implementation plan will be generated when the ticket is triaged by the Tech Lead."