Goblin-mode roadmap-interviewer
{{ ๐๐๐ }} Run a structured interview to discover new features and produce a batch roadmap proposal. Use this skill when the user wants to explore what to build next, brainstorm features, expand the roadmap, plan a new phase, or says things like 'what should we add', 'help me think through features', 'let's plan the next milestone', or 'interview me about what to build'. Produces a structured proposal for review โ nothing is written to the roadmap until the user approves.
git clone https://github.com/JasonWarrenUK/goblin-mode
T=$(mktemp -d) && git clone --depth=1 https://github.com/JasonWarrenUK/goblin-mode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/roadmap-interviewer" ~/.claude/skills/jasonwarrenuk-goblin-mode-roadmap-interviewer && rm -rf "$T"
skills/roadmap-interviewer/SKILL.mdRoadmap Interviewer
A structured interview that turns half-formed ideas into a coherent batch of roadmap-ready tasks. The goal is to make the user think clearly about what they want to build, then produce a proposal they can review before anything touches the roadmap.
Philosophy
Good features don't usually arrive fully formed. They start as vague intentions ("we need better search", "users keep asking for X") and need interrogation to become tasks. This skill does that interrogation: it asks focused questions in small batches, listens for dependencies and scope, and organises the output into something the roadmap can absorb cleanly.
The interview is a thinking tool as much as a discovery one. Sometimes the most valuable outcome is realising a "feature" is actually three separate concerns, or that what feels new is actually an extension of something already tracked.
Step 1 โ Orient to the roadmap
Locate and read the roadmap using the same resolution order as the roadmap-task-adder skill:
- User-specified path
.claude/roadmaps.json
directory scandocs/roadmaps/- Grep fallback for
classDef.*mile
Extract:
- All existing milestones (names, goals, completion status)
- Current In Progress and To Do tasks (to understand active direction)
- Blocked tasks (potential unlock targets)
- Existing category prefixes per milestone
This context informs the interview โ you can connect what the user describes to what's already tracked, and avoid proposing duplicates.
Step 2 โ Set the interview scope
Before asking anything about features, clarify:
- Which milestone or area does the user want to focus on? Or are they open to anything?
- Is there a theme? (e.g. "we want to improve onboarding", "tightening the auth flow", "M2 planning")
- Rough quantity โ a handful of tasks, or a full milestone's worth?
Keep this brief โ one or two questions at most. If the user's opening message already answers these, skip straight to Step 3.
Step 3 โ The interview loop
Ask 2โ4 questions per round. Never dump a long list of questions at once โ it reads as homework. The questions should feel like a conversation, not a form.
Question types
Discovery questions โ what does the user want to build?
- "What's been frustrating you or your users about the current state of X?"
- "What would make Y feel complete?"
- "Is there anything you keep meaning to add but haven't prioritised yet?"
Clarification questions โ sharpen something vague
- "When you say 'better X', what would that look like in practice?"
- "Is this a new screen/flow, or a change to something that already exists?"
- "Who triggers this โ the user, a system event, an admin?"
Dependency questions โ surface connections
- "Does this require anything that isn't built yet?"
- "Would this unlock anything else on the roadmap?"
- "Is this blocked by any of the current In Progress tasks?"
Scope questions โ keep things honest
- "Is this one task, or does it break into distinct pieces?"
- "Is this MVP, or nice-to-have?"
- "Could a simpler version of this ship sooner?"
Round discipline
After each round of answers:
- Acknowledge what you've captured (briefly โ don't repeat it back verbatim)
- Ask the next 2โ4 questions, either deepening existing threads or opening new ones
- End each round with: "Anything else you want to explore, or shall I write up what we have?"
Continue until the user says they're done or stops introducing new ideas.
Step 4 โ Synthesise
Once the interview is complete, synthesise everything into a structured proposal. Do not write to the roadmap yet.
For each proposed task:
Assign:
- Proposed ID โ follow the existing
convention. Use{Milestone}{Category}.{Seq}
for the seq number if the milestone/category is new and you can't determine the next number without the user confirming placement (e.g.?
)2TI.? - Description โ clear, imperative, task-like (not "we need to..." โ just "Build X" or "Add Y")
- Proposed milestone โ which milestone this belongs to, and why
- Proposed section โ Blocked, To Do, or In Progress
- Incoming dependencies โ existing task IDs that must complete first
- Outgoing dependencies โ existing tasks this would unblock, or new tasks in this batch that depend on it
Cross-task dependencies within the batch
If proposed tasks depend on each other, make that explicit. Show the internal dependency chain.
Orphan and childless flags
Apply the same checks as the roadmap-task-adder skill:
- Flag any proposed task with no connections as a potential orphan
- For childless tasks that clearly enable further work, propose a placeholder child
Step 5 โ Present the proposal
Format the proposal clearly. Group tasks by milestone. For each task:
{ID}. {Description} Milestone: {N} โ {Name} Section: {Blocked / To Do} Depends on: {IDs or "nothing"} Enables: {IDs โ existing or new โ or "nothing yet"} [โ Orphan โ no connections found] (if applicable) [+ Placeholder child proposed: {ID}. {Description}] (if applicable)
After the full list, include a Dependency map โ a compact text representation of how the batch connects internally and to existing tasks:
Existing task A โ New task B โ New task C โ Existing task D (now unblocked) New task E (standalone โ orphan warning)
Then ask: "Does this look right? Any tasks to cut, rename, or move? Once you're happy I'll hand this to the task adder."
Step 6 โ Hand off
Once the user approves (or approves with amendments), this skill's job is done. The output is a clean batch specification ready for the roadmap-task-adder skill to process โ either one task at a time or as a batch if supported.
Tell the user: "Approved. Use
(or roadmap-task-adder
) to write these to the roadmap, passing the proposal above as context."/doc:add:roadmap:task
What to avoid
- Asking too many questions at once โ 2โ4 per round, no more
- Proposing things already tracked โ check the roadmap first; if something close exists, flag it rather than duplicating
- Over-engineering the proposal โ tasks should be concrete enough to action, not design documents
- Writing to the roadmap during the interview โ the proposal is the output; the user approves before anything is written
- Scope creep in the interview itself โ if the user's ideas balloon into a full new milestone, note it and suggest a separate planning session rather than trying to capture everything at once