He brainstorm
Governed skill foundry and Skills SDK for Codex/AI coding agents: author, validate, evaluate, and sync runtime projections through ask.
npx -y skills add jscraik/Agent-Skills --skill he-brainstormAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Define problem scope, requirements, and decision options before spec or plan stages. Use when the user has ambiguity in what to build, why it matters, or which direction to choose.
SKILL.md
10.8 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it
Progressive Disclosure Entry
This entrypoint stays concise and keeps the full operational workflow in archived references. Use it to decide whether a structured Harness Engineering brainstorm is needed, run a right-sized clarification loop, and hand off with durable requirements when the idea is clear enough.
Use
- Use this skill as normal for the Harness Engineering brainstorm stage.
- Use it before
he-specorhe-planwhen the work is still ambiguous. - Use it when QA feedback reports confusing or "broken" behavior but the expected behavior is not yet clear enough for a Linear issue.
- If the request is already concrete enough for specification, planning, or direct execution, keep the interaction brief and recommend the next stage instead of forcing a brainstorm.
- Default a completed non-trivial brainstorm to
he-spec; usehe-planonly when the brainstorm output is already contract-grade, and use direct execution only for tiny, low-risk work. - For full stage policy, workflow details, and examples, load the archived full guide.
Philosophy
- Discover the right problem before proposing implementation.
- Keep options explicit, assumptions testable, and next-stage handoff safe.
- Resolve WHAT and WHY here; leave detailed HOW for later stages unless the brainstorm itself is architectural.
When to use
- Use when scope is unclear, goals conflict, or candidate approaches need comparison.
- Use before
he-specorhe-planwhen requirements are not yet stable. - Use when the user asks to brainstorm, compare directions, sharpen requirements, or decide whether the idea needs a spec.
- Use when QA intake exposes product ambiguity that must be resolved before filing or implementing a bug.
Inputs
- User intent, constraints, and current context artifacts.
- Relevant system boundaries, risks, and non-goals.
- If the core idea is missing, ask one direct question and do not proceed until the user supplies a feature, problem, or improvement to explore.
Outputs
- Clarified requirements with ranked options and tradeoffs.
- A task-domain classification: software/system, UI/product, operations/process, content/docs, or mixed.
- A pressure-test result that names whether the problem should be solved now, simplified, deferred, or rejected.
- Domain-language notes when project-specific terms, aliases, relationships, or ambiguities affect the decision.
- Expected-behavior clarification for ambiguous QA reports, with a route to
he-fix-bugs,he-spec, orhe-plan. - A recommendation on whether the next stage should be
he-spec,he-plan, or direct execution; default tohe-specfor non-trivial clarified work that still needs a WHAT/contract artifact. - A right-sized requirements artifact when durable decisions exist, defaulting to
docs/brainstorms/YYYY-MM-DD-<topic>-requirements.mdfor new substantial work. - Requirements with stable
R1,R2, ... identifiers, success criteria, scope boundaries, key decisions, dependencies or assumptions, and outstanding questions split intoResolve Before PlanningandDeferred to Planning. - Explicit
spec_required,risk_level, andcomplexityvalues for non-trivial work. - Recommended next Harness Engineering stage.
- Include
schema_version: 1,spec_required,risk_level, andcomplexityin requirements artifact frontmatter.
Procedure
- Assess whether brainstorming is actually needed or whether the request is already clear enough for the next stage.
- Classify the task domain and choose a lightweight, standard, or deep brainstorm scope before gathering detail.
- Clarify objective, constraints, users, non-goals, and unknowns one question at a time.
- Run a light repo/context scan before making claims about existing behavior or missing capabilities.
- If domain language is fuzzy, read
CONTEXT-MAP.mdorCONTEXT.mdwhen present, then resolve terms one focused question at a time before options harden. - Pressure-test whether the work should be solved now, simplified, deferred, or rejected; include the rationale when the answer changes scope.
- For QA ambiguity, clarify expected behavior first, then route clear defects to
he-fix-bugsfor Linear intake or route missing contracts tohe-spec. - Generate 2-3 concrete approaches when multiple plausible directions remain, then evaluate tradeoffs and recommend one. If only one path is credible, say why.
- Derive
spec_required: none|lite|full,risk_level: low|medium|high, andcomplexity: small|medium|largebefore handoff. - Capture durable requirements and
CONTEXT.mdupdates only when the discussion produced decisions worth preserving. - When writing a requirements artifact, use stable requirement IDs, success criteria, scope boundaries, key decisions, dependencies or assumptions, and outstanding questions split into
Resolve Before PlanningandDeferred to Planning. - If any
Resolve Before Planningitem remains, ask the blocking question or stop with that blocker instead of handing off tohe-spec,he-plan, orhe-work. - Recommend the next Harness Engineering stage and stop instead of drifting into implementation planning. Use
he-specas the default next stage once requirements are clarified, unless the output is already contract-grade enough forhe-planor tiny enough for direct execution.
Interaction Rules
- Ask one focused question at a time.
- Ask what the user is already thinking before steering the conversation.
- Start broad, then narrow: problem, users, value, constraints, exclusions, edge cases.
- Present options before the recommendation when alternatives are meaningful.
- Keep outputs concise and use repo-relative paths for any generated artifact references.
Validation
- Ensure task-domain classification, pressure test,
spec_required,risk_level, andcomplexityare present for non-trivial work. - Ensure requirements and non-goals are explicit and testable.
- Ensure durable requirements use stable
RIDs and identify success criteria, scope boundaries, key decisions, and material assumptions. - Ensure
Resolve Before Planningblockers are either resolved or explicitly block next-stage handoff. - Ensure recommendation has rationale tied to constraints.
- Ensure any concrete claim about existing code, routes, tables, configs, or dependencies was verified against the repo or clearly labeled as an assumption.
- Ensure the brainstorm output is strong enough that the next stage does not need to invent user-facing behavior.
- Ensure canonical domain terms, avoided aliases, and unresolved ambiguities are captured or explicitly deferred before handoff.
- Ensure next-stage labels use current Harness Engineering names such as
he-spec,he-plan, andhe-work, not legacyce-*labels. - Fail fast: stop at first failed gate and do not proceed.
Constraints
- Redact secrets, credentials, tokens, and sensitive data by default.
- Do not proceed to implementation planning when requirement ambiguity remains blocking.
- Do not force a brainstorm when the request is already well specified.
- Keep implementation details such as libraries, schemas, endpoints, and file layouts out of the requirements artifact unless the brainstorm is inherently technical.
- Use Linear issues or comments for durable decision capture; do not create ADRs.
- Apply the context-disposition policy: move important still-valid context to references and index it when meaningful; intentionally discard stale, duplicated, unsafe, superseded, or low-signal text.
Anti-patterns
- Jumping to solution design before clarifying the actual problem.
- Asking a batch of unrelated questions in one turn.
- Returning unranked options without decision criteria.
- Skipping the pressure test and turning every idea into implementation work.
- Creating a new
*-brainstorm.mdartifact for substantial work instead of the default*-requirements.mdartifact. - Writing a requirements artifact that still leaves core behavior or scope boundaries undefined.
- Recommending
he-planwhilespec_requiredisliteorfull, or whileResolve Before Planningcontains blockers. - Emitting stale
ce-spec,ce-plan, orce-worknext-stage labels. - Treating multiple names for the same project concept as harmless instead of choosing a canonical term.
Examples
- "When the user asks for help thinking through a new approval flow before deciding whether it needs a spec."
- "User says,
Inspect the current admin onboarding and compare a few grounded directions before we commit." - "Help me brainstorm this reporting feature and validate the best next Harness Engineering stage."
- "Can you help clarify what this QA feedback should mean before we file Linear bugs?"
Full Context
- Full brainstorm guide: ./SKILL.full.md
- Requirements artifact contract: ./references/requirements-artifact-guide.md
- Brainstorm workflow details: ./references/brainstorm-workflow-details.md
- Discovery interview: ./references/discovery-interview.md
- Document review pass: ./references/document-review-pass.md
- Canonical contract: ./Infrastructure/references/contract.yaml
- Canonical eval cases: ./Infrastructure/references/evals.yaml
- Canonical task profile: ./Infrastructure/references/task-profile.json
- Compatibility mirror (non-canonical): ./references
- Assets: ./assets
- Assets directory marker:
assets/ - Subagent routing: ../../../references/subagent-routing.md
- Domain model routing: ../../../references/domain-model-routing.md
- QA intake routing: ../../../references/qa-intake-routing.md
Read when: project terminology,
CONTEXT.md, or Linear issue wording affects the brainstorm. Read when: QA feedback is real but expected behavior is ambiguous enough that filing a bug would encode guesswork.
Subagent Routing
- Canonical stage map: ../../../references/subagent-routing.md
- Machine-readable policy: ../../../references/routing-map.json
- Resolve available roles from
~/.codex/agents/manifest.jsonbefore spawning helpers. - Apply the mapped stage policy (
always,conditional, ormanual-only) before delegation. - If auto-spawn is unavailable, continue inline and explicitly list the roles the user can launch manually.
What ships with it: 1 file
347 B alongside SKILL.md