Chatgpt App Builder
alpic-ai/skybridge
Guide developers through creating and updating ChatGPT plugins.
Design exploration using parallel agents through a 7-phase process: topic analysis, memory context, divergent ideation (10+ ideas), feasibility filtering, evaluation with devil's advocate scoring…
$ npx skills add yonatangross/orchestkit --skill brainstorm -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yonatangross/orchestkit brainstorm --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/brainstorm .claude/skills/brainstorm && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "brainstorm" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstorm into .claude/skills/brainstorm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brainstorm", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstormType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yonatangross/orchestkit --skill brainstorm -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yonatangross/orchestkit brainstorm --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/brainstorm .agents/skills/brainstorm && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "brainstorm" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstorm into .agents/skills/brainstorm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brainstorm", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yonatangross/orchestkit --skill brainstorm -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yonatangross/orchestkit brainstorm --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/brainstorm .cursor/skills/brainstorm && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "brainstorm" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstorm into .cursor/skills/brainstorm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brainstorm", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yonatangross/orchestkit.git --path src/skills/brainstorm--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yonatangross/orchestkit --skill brainstorm -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yonatangross/orchestkit brainstorm --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/brainstorm .gemini/skills/brainstorm && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "brainstorm" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstorm into .gemini/skills/brainstorm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brainstorm", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yonatangross/orchestkit brainstormInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yonatangross/orchestkit --skill brainstorm -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/brainstorm .github/skills/brainstorm && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "brainstorm" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstorm into .github/skills/brainstorm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brainstorm", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yonatangross/orchestkit --skill brainstorm -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yonatangross/orchestkit brainstorm --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/brainstorm .opencode/skills/brainstorm && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "brainstorm" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/brainstorm into .opencode/skills/brainstorm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brainstorm", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
brainstormDesign exploration using parallel agents through a 7-phase process: topic analysis, memory context, divergent ideation (10+ ideas), feasibility filtering, evaluation with devil's advocate scoring…
Brainstorm is an agent skill from yonatangross/orchestkit. Design exploration using parallel agents through a 7-phase process: topic analysis, memory context, divergent ideation (10+ ideas), feasibility filtering, evaluation with devil's advocate scoring (0-10 across 7 dimensions), synthesis of top approaches, and trade-off comparison. Supports open exploration, constrained design, comparison, quick ideation, and iterative optimization modes. Use when brainstorming ideas, exploring solutions, or comparing alternatives.
Its SKILL.md is about 7.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 34 other files, including scripts, reference files and assets (for example `assets/idea-evaluation-template.md`, `checklists/brainstorm-completion.md` and `checklists/brainstorm-session-checklist.md`). Compatibility notes: Claude Code 2.1.277+. Requires memory MCP server.
It sits in Agent Workflows, covering Brainstorming. It works with Model Context Protocol. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.
Read from SKILL.md and the folder at commit 0ef71d2. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
AskUserQuestionAgentWorkflowReadGrepGlobBashTaskCreateTaskUpdateTaskList…and 5 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Claude Code 2.1.277+. Requires memory MCP server.
From compatibility in the SKILL.md frontmatter.
Brainstorm loads about 7.6k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 2,444 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: AskUserQuestion, Agent, Workflow, Read, Grep, Glob, Bash, TaskCreate, TaskUpdate, TaskList, TaskStopAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from yonatangross/orchestkit at commit 0ef71d2, republished under its MIT licence (© yonatangross). 2,444 words, ~7,585 tokens.
.claude/skills/brainstorm/SKILL.md (or your agent's skills folder). This skill also uses 30 other files; get the full folder from GitHub.Host-neutral workflow. Invoke by skill name (brainstorm). Claude Code slash routing, YAML hook loaders, and .claude/chain live in references/claude-code.md.
Transform rough ideas into fully-formed designs through intelligent agent selection and structured exploration.
Core principle: Analyze the topic, select relevant agents dynamically, explore alternatives in parallel, present design incrementally.
TOPIC = "$ARGUMENTS" # Full argument string, e.g., "API design for payments"
# $ARGUMENTS[0] is the first token (CC 2.1.59 indexed access)Probe MCP servers once at skill start, store capabilities, and resume from any prior crashed session. Each phase emits a JSON handoff file consumed by the next.
Full procedure + handoff-file table: Read("references/mcp-probe-resume.md")
BEFORE creating tasks or selecting agents, detect the project tier. This becomes the complexity ceiling for all downstream decisions.
# PARALLEL — quick signals (launch all in ONE message)
Grep(pattern="take-home|assignment|interview|hackathon", glob="README*", output_mode="content")
Grep(pattern="take-home|assignment|interview|hackathon", glob="*.md", output_mode="content")
Glob(pattern=".github/workflows/*")
Glob(pattern="**/Dockerfile")
Glob(pattern="**/terraform/**")
Glob(pattern="**/k8s/**")
Glob(pattern="CONTRIBUTING.md")| Signal | Tier |
|---|---|
| README says "take-home", "assignment", time limit | 1. Interview |
| < 10 files, no CI, no Docker | 2. Hackathon |
.github/workflows/, 10-25 deps | 3. MVP |
| Module boundaries, Redis, background jobs | 4. Growth |
| K8s/Terraform, DDD structure, monorepo | 5. Enterprise |
| CONTRIBUTING.md, LICENSE, minimal deps | 6. Open Source |
If confidence is low, ask the user:
AskUserQuestion(questions=[{
"question": "What kind of project is this?",
"header": "Project tier",
"options": [
{"label": "Interview / take-home", "description": "8-15 files, 200-600 LOC, simple architecture"},
{"label": "Startup / MVP", "description": "MVC monolith, managed services, ship fast"},
{"label": "Growth / enterprise", "description": "Modular monolith or DDD, full observability"},
{"label": "Open source library", "description": "Minimal API surface, exhaustive tests"}
],
"multiSelect": false
}])Pass the detected tier as context to ALL downstream agents and phases. The tier constrains which patterns are appropriate — see scope-appropriate-architecture skill for the full matrix.
Override: User can always override the detected tier. Warn them of trade-offs if they choose a higher tier than detected.
Clarify brainstorming constraints:
# NOTE: AskUserQuestion caps each question at 4 options (CC schema: minItems 2,
# maxItems 4). Use plain `label` + `description` only — the schema permits a
# `preview` field, but on current CC it forces a side-by-side picker layout with
# dead up/down keyboard nav (confirmed 2026-05-28), so skills no longer use it
# (`markdown` was never valid). The 6 legacy
# modes are split across 3 valid questions: Q1 = exploration flow, Q2 folds the
# old "Constrained design" mode into constraints, Q3 carries the orthogonal
# "Plan first" preamble (it composes with any Q1 mode — it was never mutually
# exclusive). "Quick ideation" + STEP 0c /effort=low overlap; both downscale.
AskUserQuestion(
questions=[
{
"question": "What type of design exploration?",
"header": "Mode",
"options": [
{"label": "Open exploration (Recommended)", "description": "Generate 10+ ideas, evaluate all, synthesize top 3"},
{"label": "Comparison", "description": "Compare 2-3 specific approaches I have in mind"},
{"label": "Quick ideation", "description": "Generate ideas fast, skip deep evaluation"},
{"label": "Iterative optimization", "description": "Try, measure, keep/discard, repeat (autoresearch-style)"}
],
"multiSelect": false
},
{
"question": "Any preferences or constraints?",
"header": "Constraints",
"options": [
{"label": "None", "description": "Explore all possibilities"},
{"label": "Use existing patterns", "description": "Prefer patterns already in codebase"},
{"label": "Minimize complexity", "description": "Favor simpler solutions"},
{"label": "Fixed requirements (constrained)", "description": "Hard requirements to work within — skip divergent phase, focus on feasibility (old 'Constrained design' mode)"}
],
"multiSelect": false
},
{
"question": "Research before ideating?",
"header": "Plan-first",
"options": [
{"label": "No — dive straight in (Recommended)", "description": "Go directly to ideation"},
{"label": "Yes — plan first", "description": "Read-only research (EnterPlanMode): scan codebase, map the solution space, then ExitPlanMode for approval before Phase 1 (old 'Plan first' mode)"}
],
"multiSelect": false
}
]
)If Q3 = 'Yes — plan first' (composes with any Q1 mode):
# 1. Enter read-only plan mode
EnterPlanMode("Brainstorm exploration: $TOPIC")
# 2. Research phase — Read/Grep/Glob ONLY, no Write/Edit
# - Scan existing codebase for related patterns
# - Search for prior decisions on this topic (memory graph)
# - Identify constraints, dependencies, and trade-offs
# 3. Produce structured exploration plan:
# - Key questions to answer
# - Dimensions to explore
# - Agents to spawn and their focus areas
# - Evaluation criteria
# 4. Exit plan mode — returns plan for user approval
ExitPlanMode()
# 5. User reviews. If approved → continue to Phase 1 with plan as input.Based on answers, adjust workflow:
If 'Iterative optimization' selected: skip Phases 2-6 and enter the autoresearch-style metric-driven loop.
Full sub-flow (metric question, baseline, loop body): Read("references/iterative-optimization-mode.md")
Choose Agent Teams (mesh, agents debate and challenge ideas) or Agent tool (star, all report to lead):
ORCHESTKIT_FORCE_TASK_TOOL=1 → Agent tool (override)| Aspect | Agent Tool | Agent Teams |
|---|---|---|
| Idea generation | Each agent generates independently | Agents riff on each other's ideas |
| Devil's advocate | Lead challenges after all complete | Agents challenge each other in real-time |
| Cost | ~150K tokens | ~400K tokens |
| Best for | Quick ideation, constrained design | Open exploration, deep evaluation |
Fallback: If Agent Teams encounters issues, fall back to Agent tool for remaining phases.
xhigh added in 2.1.111)Read the /effort setting and scale brainstorm depth — low runs phases 0/2/5 only, high (default) runs all 7, xhigh adds extra devil's-advocate and synthesis rounds. Explicit user choice in STEP 0a always overrides downscaling.
Full level table + detection rules: Read("references/effort-scaling.md")
Phase 2 always runs at effort low, whatever the level above: in-the-loop ideation is where low effort pays, scoring is not. The skill has no effort: frontmatter on purpose (it would lower Phase 4 too); workflows/brainstorm-diverge.js passes effort: "low" to every generator instead. Details in the same reference.
Finish line. Done means: the top approaches are scored on all seven dimensions and the trade-offs are presented for the user to choose. Follow Read("../../shared/rules/long-run-protocol.md"): keep going when a step needs no input from the user, stop and ask only when you can't continue without them or before anything destructive, check each subagent's evidence before accepting it, and mark anything you couldn't confirm with where you looked.
# 1. Create main task IMMEDIATELY
TaskCreate(
subject="Brainstorm: {topic}",
description="Design exploration with parallel agent research",
activeForm="Brainstorming {topic}"
)
# 2. Create subtasks for each phase
TaskCreate(subject="Analyze topic and select agents", activeForm="Analyzing topic") # id=2
TaskCreate(subject="Search memory for past decisions", activeForm="Searching knowledge graph") # id=3
TaskCreate(subject="Generate divergent ideas (10+)", activeForm="Generating ideas") # id=4
TaskCreate(subject="Feasibility fast-check", activeForm="Checking feasibility") # id=5
TaskCreate(subject="Evaluate with devil's advocate", activeForm="Evaluating ideas") # id=6
TaskCreate(subject="Synthesize top approaches", activeForm="Synthesizing approaches") # id=7
TaskCreate(subject="Present design options", activeForm="Presenting options") # id=8
# 3. Set dependencies (sequential chain: 2→3→4→5→6→7→8)
for i in range(3, 9):
TaskUpdate(taskId=str(i), addBlockedBy=[str(i-1)])
# 4. Update status as you progress
TaskUpdate(taskId="2", status="in_progress") # When starting
TaskUpdate(taskId="2", status="completed") # When done — repeat for each subtask| Phase | Activities | Output |
|---|---|---|
| 0. Topic Analysis | Classify keywords, select 3-5 agents | Agent list |
| 1. Memory + Context | Search graph, check codebase, read experiment journal | Prior patterns |
| 2. Divergent Exploration | Generate 10+ ideas WITHOUT filtering | Idea pool |
| 3. Keep/Discard Gate | Binary viability: keep, discard, or crash (10s per idea) | Survivors only |
| 4. Evaluation & Rating | Rate 0-10 (7 dimensions incl. simplicity), devil's advocate | Ranked ideas |
| 5. Synthesis | Filter to top 2-3, trade-off table, test strategy per approach | Options |
| 6. Design Presentation | Present in 200-300 word sections, log to experiment journal | Validated design |
| 6.4. Living Plan Playground (optional, on request or multi-wave plan) | Emit an updatable LPP playground via visualize-plan's living-plan path | <slug>.html (living) |
| 6.5. Audio Podcast (signal-fired, optional) | Auto-emit brainstorm-podcast.m4a when composite≥8.0 + approaches≥4 | .m4a file |
When the user asked for a playground output, OR the synthesis produced a multi-wave plan (2+
execution waves with verifiable items), emit the design as a living plan playground instead of a
one-shot render: waves from Phase 5 synthesis, 7-dimension scores from Phase 4, discarded ideas with
reasons from Phase 3, one item per work unit with a "done when" evidence check. Route through
visualize-plan's living-plan path (exemplar living-plan.template.html, update-mode contract in its
references/format-dispatch.md §Living-plan update mode). The artifact then tracks its own execution:
later sessions flip item statuses in the embedded lpp-state JSON and append to its changelog — one
plan = one file, never fork.
After Phase 6 lands, optionally invoke scripts/post_synth_podcast.py <session-dir> to auto-emit an audio podcast summarizing the top approaches + trade-offs. Self-skips on every non-happy-path so it never breaks the brainstorm:
python3 ${CLAUDE_SKILL_DIR}/scripts/post_synth_podcast.py "$CLAUDE_JOB_DIR"Auto-skip conditions (all exit 0, all WARN-logged):
| Skip reason | Trigger |
|---|---|
signal absent | composite[recommended] < 8.0 OR len(approaches) < 4 |
design-doc.md not found | Phase 6 didn't write a design doc to the session dir |
yg-mcp-core not importable | yg-mcp-core>=0.3.0 not installed (orchestkit is public; yg-mcp-core lives on private pypi.yonyon.ai — HQ-only) |
hq-content MCP unreachable | MCP server down OR .mcp.json doesn't define hq-content |
Session dir must contain brainstorm-output.json (with recommended, composite, approaches) + design-doc.md. Handoff JSON at <session-dir>/brainstorm-podcast.json records status (fired / skipped) and m4a_path on success.
Mirrors Yonatan-HQ/hq-ext-plugin#194 (audio_podcast handler for /hq-ext:decide).
Output results incrementally after each phase — don't batch everything until the end:
| After Phase | Show User |
|---|---|
| 0. Topic Analysis | Selected agents, tier classification |
| 1. Memory + Context | Prior decisions, relevant patterns, experiment journal summary |
| 2. Divergent Exploration | Each agent's ideas as they return (don't wait for all) |
| 3. Keep/Discard Gate | Survivors and discard reasons (keep/discard/crash per idea) |
| 4. Evaluation | Top-rated ideas with 7-dimension scores |
For Phase 2 parallel agents, output each agent's ideas as soon as it returns — don't wait for all agents. This lets users see early ideas and redirect the exploration if needed. Showing ideas incrementally also helps users build a mental model of the solution space faster than a final dump.
Load the phase workflow for detailed instructions:
Read("references/phase-workflow.md")Skip brainstorming when:
| Topic Example | Agents to Spawn |
|---|---|
| "brainstorm API for users" | workflow-architect, backend-system-architect, security-auditor, test-generator |
| "brainstorm dashboard UI" | workflow-architect, frontend-ui-developer, test-generator |
| "brainstorm RAG pipeline" | workflow-architect, llm-integrator, data-pipeline-engineer, test-generator |
| "brainstorm caching strategy" | workflow-architect, backend-system-architect, frontend-performance-engineer, test-generator |
| "brainstorm design system" | workflow-architect, frontend-ui-developer, design-context-extractor, component-curator, test-generator |
| "brainstorm event sourcing" | workflow-architect, event-driven-architect, backend-system-architect, test-generator |
| "brainstorm pricing strategy" | workflow-architect, product-strategist, web-research-analyst, test-generator |
| "brainstorm deploy pipeline" | workflow-architect, infrastructure-architect, ci-cd-engineer, test-generator |
Always include: workflow-architect for system design perspective, test-generator for testability assessment.
In Agent Teams mode, form a brainstorming team where agents debate ideas in real-time. Dynamically select teammates based on topic analysis (Phase 0):
# CC 2.1.178+: one implicit team per session — no TeamCreate.
# Spawn teammates directly via Agent(name=...). Requires
# CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 (set in ork.settings.json).
# Always include the system design lead
Agent(subagent_type="ork:workflow-architect", name="system-designer",
team_name="brainstorm-{topic-slug}",
prompt="""You are the system design lead for brainstorming: {topic}
DIVERGENT MODE: Generate 3-4 architectural approaches.
When other teammates share ideas, build on them or propose alternatives.
Challenge ideas that seem over-engineered — advocate for simplicity.
After divergent phase, help synthesize the top approaches.""")
# Domain-specific teammates (select 2-3 based on topic keywords)
Agent(subagent_type="ork:backend-system-architect", name="backend-thinker",
team_name="brainstorm-{topic-slug}",
prompt="""Brainstorm backend approaches for: {topic}
DIVERGENT MODE: Generate 3-4 backend-specific ideas.
When system-designer shares architectural ideas, propose concrete API designs.
Challenge ideas from other teammates with implementation reality checks.
Play devil's advocate on complexity vs simplicity trade-offs.""")
Agent(subagent_type="ork:frontend-ui-developer", name="frontend-thinker",
team_name="brainstorm-{topic-slug}",
prompt="""Brainstorm frontend approaches for: {topic}
DIVERGENT MODE: Generate 3-4 UI/UX ideas.
When backend-thinker proposes APIs, suggest frontend patterns that match.
Challenge backend proposals that create poor user experiences.
Advocate for progressive disclosure and accessibility.""")
# Always include: testability assessor
Agent(subagent_type="ork:test-generator", name="testability-assessor",
team_name="brainstorm-{topic-slug}",
prompt="""Assess testability for each brainstormed approach: {topic}
For every idea shared by teammates, evaluate:
- Can core logic be unit tested without external services?
- What's the mock/stub surface area?
- Can it be integration-tested with docker-compose/testcontainers?
Score testability 0-10 per the evaluation rubric.
Challenge designs that score below 5 on testability.
Propose test strategies for the top approaches in synthesis phase.""")
# Optional: Add security-auditor, llm-integrator based on topicKey advantage: Agents riff on each other's ideas and play devil's advocate in real-time, rather than generating ideas in isolation.
Fork pattern (CC 2.1.89 #1227; explicit since CC 2.1.232): All brainstorm agents are fork-eligible: prompts are <500 words, no custom model, no worktree. CC shares the parent's cached API prefix across forks, reducing cost by ~60%. Do NOT add model= to agent calls. Since CC 2.1.232 forking is on by default and subagent_type: "fork" selects it explicitly, so the eligibility conditions matter only for ordinary Agent() calls. See chain-patterns/references/fork-pattern.md.
Nested delegation (CC 2.1.172+): Teammates MAY be instructed to delegate a bounded sub-question to their declared sub-agents (e.g. backend-thinker → database-engineer to sanity-check a schema idea) instead of guessing inline. Keep chains ≤ 3 levels deep; divergent ideation itself stays flat — the parallel teammates above ARE the fan-out for independent ideas. See chain-patterns Pattern 9 (CC 2.1.172+).
Team teardown after synthesis:
# After Phase 5 synthesis and design presentation
# CC 2.1.178+: no TeamDelete — teammates wind down at turn end
# (press Ctrl+F twice to stop lingering background teammates).
# Worktree cleanup (CC 2.1.72) — for Tier 3+ projects that entered a worktree
# If EnterWorktree was called during brainstorm (e.g., Plan first → worktree), exit it
ExitWorktree(action="keep") # Keep branch for follow-up implementFallback: If team formation fails, load
Read("references/phase-workflow.md")and use standard Phase 2 Task spawns.
Partial results (CC 2.1.76, extended 2.1.246): Background agents that are killed (timeout, context limit) return responses tagged with
[PARTIAL RESULT]. Since CC 2.1.246 an agent that stops at itsmaxTurnslimit is ALSO reported as partial: its summary reads "stopped at its N-turn limit (partial result; continue it with SendMessage to the task-id)" and its output is marked partial instead of appearing finished. When collecting Phase 2 divergent ideas, check each agent's output for either shape. If present, include the partial ideas but note them as incomplete in Phase 3 feasibility. For the turn-limit shape,SendMessageto that agent's id with "continue from where you stopped" reuses its context; a re-spawn starts from zero and pays the prompt again. Never treat a turn-limited agent as finished.
Cross-session replies land in the parent (CC 2.1.248): when a subagent sends
SendMessageto another session, the reply is delivered to the parent session's conversation, never to the subagent; a subagent sends and moves on, the parent reads the answer. Cross-sessionSendMessage/ListAgentsalso work on Bedrock, Vertex and Foundry and with telemetry disabled (CC 2.1.248).
PostCompact recovery: Long brainstorm sessions may trigger context compaction. The PostCompact hook re-injects branch and task state. If compaction occurs mid-brainstorm, check
.claude/chain/state.jsonfor the last completed phase and resume from the next handoff file (see Phase Handoffs table). Reactive compaction (CC 2.1.142+) now sizes the first summarize to the actual overflow, so mid-turn stalls are rare — no need to expect a second pass.
When context fills (CC 2.1.141+): Instead of ending the session, use the rewind menu's "Summarize up to here" to compress earlier turns while keeping recent context intact — a deliberate compaction point that pairs with the improved reactive compaction above.
Session recap (CC 2.1.108+): After idle periods, use
/recapto restore conversational context alongside checkpoint-resume. Enabled by default since CC 2.1.110 (even with telemetry disabled).
Push notifications (CC 2.1.110+): For long brainstorm sessions, use
PushNotificationto alert when synthesis is complete (requires Remote Control with "Push when Claude decides").Lighter alternative (CC 2.1.141+): Hooks can emit desktop notifications, window titles, and bells natively via the
terminalSequencefield in hook JSON output — no Remote Control required, no Anthropic round-trip. Ork's notification hooks (notification/desktop,notification/sound) already emit viaterminalSequence(#1847, shipped).
Manual cleanup: To stop lingering background teammates, press
Ctrl+Ftwice (foreground/Stop). Note:/clear(CC 2.1.72+) preserves background agents — only foreground tasks are cleared.
Teammate background tasks survive turn-end (CC 2.1.183): A background task started by a teammate is no longer killed when that teammate finishes its turn. Phase-2 teammates may safely kick off a long
run_in_backgroundtask (e.g. a feasibility build) and let it outlive their own turn — the result is still collectable at synthesis. Pre-2.1.183 this required the lead to own the background task.
That claim does not cover auto-backgrounded work (#3448): a foreground Bash call the harness backgrounds on timeout is a different path. Its completion notice goes to the agent that spawned it, and if that agent already ended its turn on "I'll wait", the notice lands nowhere and the output is lost with zero logged errors. Two rules follow. The lead owns any research call whose documented runtime can approach the Bash timeout (
tavily-researchadvertises 30-120s and real queries pass 180s). And no teammate ends a turn on "I'll wait for X" without either collecting X or handing ownership of X to the lead.
| Principle | Application |
|---|---|
| Dynamic agent selection | Select agents based on topic keywords |
| Parallel research | Launch 3-5 agents in ONE message |
| Memory-first | Check graph for past decisions before research |
| Divergent-first | Generate 10+ ideas BEFORE filtering |
| Task tracking | Use TaskCreate/TaskUpdate for progress visibility |
| YAGNI ruthlessly | Remove unnecessary complexity |
Set a completion condition with /goal (CC 2.1.139+, 2.1.143+ recommended for this skill) and this skill will keep working across turns until the condition is met. Works in interactive, -p, and Remote Control. The overlay panel shows live elapsed / turns / tokens.
Why 2.1.143+: Pre-2.1.143
/goalevaluator could fire while background shells or delegated subagents were still running — racing the parallel agents this skill spawns in Phase 2. Fixed in CC 2.1.143 (changelog: "/goalevaluator firing while background shells or delegated subagents are still running").
Example completion condition for this skill:
/goal until design.options_count >= 2 AND user_chose_option, or stop after 8 turnsStops when: 2+ ranked design options presented and the user selects one (or after Phase 6 if running unattended via -p). Compatible with claude.ai Remote Control runs.
Done means all of these hold:
ork:architecture-decision-record - Document key decisions made during brainstormingork:implement - Execute the implementation plan after brainstorming completesork:explore - Deep codebase exploration to understand existing patternsork:assess - Rate quality 0-10 with dimension breakdownork:design-to-code - Convert brainstormed UI designs into componentsork:component-search - Find existing components before building new onesork:competitive-analysis - Porter's Five Forces, SWOT for product brainstormsThe picker stall reported in orchestkit#1795 was a schema break, not a CC input bug: questions with >4 options or a markdown field (the markdown key is not valid — the schema field is preview) fail AskUserQuestion validation, so the picker never renders. All skill questions conform to the schema (2–4 options, no preview on multiSelect), enforced by tests/skills/structure/test-askuserquestion-schema.sh. Separately, although the schema permits a preview field, current CC renders any question that uses one in a side-by-side picker layout where ↑/↓ keyboard navigation is dead (confirmed 2026-05-28). So skills now standardize on plain label + description only and no longer set preview. If you still hit a stall on a future CC build, ORK_ASK_FALLBACK=text remains as a defensive opt-in: the lifecycle/ask-fallback-injector hook then tells the assistant to pose options inline as a numbered list. Hook propagates globally — no per-skill edit needed.
Load on demand with Read("references/<file>"):
| File | Content |
|---|---|
phase-workflow.md | Detailed 7-phase instructions |
divergent-techniques.md | SCAMPER, Mind Mapping, etc. |
evaluation-rubric.md | 0-10 scoring criteria |
devils-advocate-prompts.md | Challenge templates |
socratic-questions.md | Requirements discovery |
common-pitfalls.md | Mistakes to avoid |
example-session-dashboard.md | Complete example |
mcp-probe-resume.md | STEP -1 probe + resume + handoff-file table |
iterative-optimization-mode.md | Autoresearch-style metric loop sub-flow |
effort-scaling.md | /effort levels and phase scaling rules |
© yonatangross, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 30 other files (scripts, references, assets) in src/skills/brainstorm of yonatangross/orchestkit.
Open the folder on GitHubat commit 0ef71d2
Brainstorm next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Brainstorm this skillyonatangross/orchestkit | 289 | — | ~7.6k | Automated safety check: Notes | MIT | |
| Chatgpt App Builderalpic-ai/skybridge | 2.1k | — | ~1k | Automated safety check: Pass | MIT | |
| MCP App Builderalpic-ai/skybridge | 2.1k | — | ~906 | Automated safety check: Pass | MIT | |
| Skybridgealpic-ai/skybridge | 2.1k | — | ~923 | Automated safety check: Pass | MIT | |
| BrainstormFrkAk/piyaz | 194 | — | ~4k | Automated safety check: Pass | AGPL-3.0 | |
| PadPerpetualSoftware/pad | 186 | — | ~10k | Automated safety check: Notes | Apache-2.0 |
alpic-ai/skybridge
Guide developers through creating and updating ChatGPT plugins.
alpic-ai/skybridge
Guide developers through creating and updating MCP Apps. An agent skill from alpic-ai/skybridge.
alpic-ai/skybridge
Guide developers through creating and updating ChatGPT plugins and MCP Apps.
FrkAk/piyaz
A skill your agent uses when the user has a net-new software project idea that needs shaping into a brief before tasks can be created.
PerpetualSoftware/pad
Talk to your project. An agent skill from PerpetualSoftware/pad.
anombyte93/prd-taskmaster
Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery.
yonatangross/orchestkit
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.
yonatangross/orchestkit
ADR templates in the Nygard format with context, decision, consequences, and alternatives.
yonatangross/orchestkit
Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.
yonatangross/orchestkit
Structured review processes, conventional comments, language-specific checklists, and feedback templates.
yonatangross/orchestkit
Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.
yonatangross/orchestkit
Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.
Works with
Categories
Design exploration using parallel agents through a 7-phase process: topic analysis, memory context, divergent ideation (10+ ideas), feasibility filtering, evaluation with devil's advocate scoring…. Brainstorm is an agent skill from yonatangross/orchestkit. Design exploration using parallel agents through a 7-phase process: topic analysis, memory context, divergent ideation (10+ ideas), feasibility filtering, evaluation with devil's advocate scoring (0-10 across 7 dimensions), synthesis of top approaches, and trade-off comparison.
Brainstorm fits situations like: brainstorming ideas; exploring solutions; comparing alternatives.
Run `npx skills add yonatangross/orchestkit --skill brainstorm -a claude-code`. Or copy the skill folder (src/skills/brainstorm in yonatangross/orchestkit) into .claude/skills/brainstorm in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yonatangross/orchestkit --skill brainstorm -a codex`. Or copy the skill folder (src/skills/brainstorm in yonatangross/orchestkit) into .agents/skills/brainstorm in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yonatangross/orchestkit --skill brainstorm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/brainstorm, .gemini/skills/brainstorm, .github/skills/brainstorm and .opencode/skills/brainstorm in your project.
Going by SKILL.md and its folder, Brainstorm needs the command-line tools its instructions call (python3). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: AskUserQuestion, Agent, Workflow, Read, Grep, Glob, Bash, TaskCreate, TaskUpdate, TaskList, TaskStop, ToolSearch, ExitWorktree, PushNotification, mcp__memory__search_nodes. Compatibility (from SKILL.md): Claude Code 2.1.277+. Requires memory MCP server..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Brainstorm is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.6k tokens (SKILL.md is roughly 30k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Brainstorm: Chatgpt App Builder (alpic-ai/skybridge, 2.1k stars), MCP App Builder (alpic-ai/skybridge, 2.1k stars), Skybridge (alpic-ai/skybridge, 2.1k stars) and Brainstorm (FrkAk/piyaz, 194 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 289 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 7, 2026.
Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.