brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
interviewerDiscover the user's workflow through 8-15 adaptive questions for workflow-architect, mapping phases, branching signals, tool preferences, and friction points. Loaded by the umbrella workflow-architect skill when running in active mode.
Independent GitHub snapshot · Automated classification · Original documentation governs
This is the core of workflow-architect's active interrogation mode. It runs a structured but adaptive conversation with the user to discover how they work.
The interview builds a structured representation of the user's workflow.
State is stored via the memory tool with the prefix
workflow-architect:state: so it survives across turns.
state:
entry_points: [] # How sessions start
phases: [] # Distinct phases discovered
- name: string
description: string
typical_tools: []
typical_openers: [] # What user says to enter this phase
typical_exits: [] # What user says to leave this phase
branching: [] # Decisions and what drives them
pain_points: []
exit_criteria: [] # How sessions end
archetype: null # Best match from workflow-archetypes
convergence_score: 0 # 0.0 to 1.0 — enough to generate bundle?
The interview follows a branching script. Each answer feeds the state model and determines the next probe. Do not ask all questions sequentially — adapt based on what the user has already told you.
Start broad. The goal is to understand the user's self-model of their workflow.
Agent: "Walk me through a typical session from the very start.
What's the first thing you do when you open this agent?"
User: "I usually check my task list, see what's urgent, and jump into the
most pressing issue."
Agent: [Records entry point: "check task list, prioritize by urgency"]
[Probes for structure: "After that initial triage — what happens
next? Does the session settle into a rhythm?"]
Alternative openers (pick one based on the user's stated context):
Probe for distinct modes or stages. Listen for transition language.
Key probes (use as follow-ups, not a checklist):
Branching detection — listen for these signals:
When you hear a branching signal, probe it:
User: "If there are open PRs assigned to me, I review those first.
Otherwise I look at my kanban board."
Agent: [Records branching signal: "pending PRs → review mode,
otherwise → kanban triage"]
"Got it. After you finish the PR review — what's the signal
that tells you you're done with that and ready to move on?"
Map tools, context needs, and environmental patterns.
The most valuable output of this skill is identifying where the workflow breaks down. Be patient here — users often haven't articulated this.
After each answer, evaluate whether you have enough to generate a useful bundle.
Minimum convergence criteria:
Convergence scoring:
| Criteria met | Score contribution |
|---|---|
| 3+ phases | 0.3 |
| Entry points known | 0.15 |
| Branching signals found | 0.2 |
| Tools mapped to 2+ phases | 0.15 |
| Exit criteria known | 0.1 |
| Pain points identified | 0.1 |
When convergence score >= 0.6, present a summary to the user:
"I think I have enough to generate your workflow bundle. Here's what
I've mapped out so far:
[Summary of phases, branching, tools, and pain points]
Does this look like an accurate picture of how you work?
If yes, I'll generate the bundle. If not, tell me what I got wrong
and I'll refine it."
If the user confirms, load skills/bundle-builder/SKILL.md and follow its
instructions to generate the output bundle.
If the user corrects or refines, update the state and re-check convergence.
Use the memory tool to persist state across turns:
memory(action='add', target='memory',
content='workflow-architect:state:entry_points=["check task list, prioritize"]')
Use a known key prefix per dimension so the bundle-builder can read all state entries:
| Key | Value type |
|---|---|
workflow-architect:state:entry_points | JSON array |
workflow-architect:state:phases | JSON array of phase objects |
workflow-architect:state:branching | JSON array of signal objects |
workflow-architect:state:pain_points | JSON array |
workflow-architect:state:exit_criteria | JSON array |
workflow-architect:state:convergence_score | Float 0-1 |
workflow-architect:state:archetype | String or null |
Important: On the final turn (after bundle generation), clean up these memory entries so they don't pollute future sessions:
memory(action='remove', target='memory',
old_text='workflow-architect:state:')
The bundle-builder sub-skill handles reading all workflow-architect:state:*
entries from memory and writing the output bundle files.
After each answer, check the shared ../../references/workflow-archetypes.md file to see
if the user's answers match a known archetype. If they do, note it in state
and use it to seed better follow-up questions (e.g., "For a morning triage
workflow, people often have a 'stale items bucket' — do you have something
like that?")
Do not use this skill for passive observation (load the observer instead), or when the user prefers you to infer from what they already did rather than be interrogated. It is for active, interactive discovery only.