agentleFS
karim-bhalwanikarim-bhalwani/agentic-harness/skills/brainstorming/SKILL.md

brainstorming

Skill0 starsChanged 4 months agoMITView on GitHub

PIPELINE POSITION: explore (step 1 of 4: brainstorming → architect → concise-planning → implementer). Surface questions, alternatives, and unknowns through dialogue BEFORE a specification exists. Use when the problem is fuzzy, multiple approaches are viable, or requirements need validation. Output is aligned understanding (not a spec, not a plan, not code). DO NOT USE FOR: writing the formal specification or module contracts (use architect AFTER brainstorming aligns intent), task checklists for an approved design (use concise-planning), or any code-touching action (use implementer).

190 other projects use a version of this, 76 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use chinese-code-review, chinese-commit-conventions and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Leodorareluctant259Skill

    chinese-code-review

    中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈

    Also in 8 projects that use this

  • Leodorareluctant259Skill

    chinese-commit-conventions

    中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化

    Also in 8 projects that use this

  • ryanportfolioSkill

    addskill

    Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.

    Also in 6 projects that use this

  • ryanportfolioSkill

    apply-firmware

    Bring current folder (plain folder, existing repo, old or partial firmware copy) up to full Harness Firmware in place. Mirror external repo → adopt-repo.

    Also in 6 projects that use this

  • +2 more from Leodorareluctant259
  • +6 more from ryanportfolio

The file

Show its rules and text

We split this skill into the rules it gives an agent

27 rules. 0 are common, 26 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 170 edited versions we read keep these.

  • 26

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If a required skill file cannot be loaded, notify the user immediately with the exact missing path and halt.

    line 32
  2. Distinctive:

    HARD-GATE: Design-First Approval: - Before any implementation action: (1) present the design to the user, (2) receive explicit user …

    line 38
  3. Distinctive:

    Write any code or touch implementation files

    line 42
  4. Distinctive:

    Start by understanding the current project context, then ask questions one at a time to refine the idea.

    line 58
  5. Distinctive:

    Check out the current project state first (files, docs, recent commits)

    line 64
  6. Distinctive:

    Ask questions one at a time to refine the idea

    line 65
  7. Distinctive:

    Prefer multiple choice questions when possible, but open-ended is fine too

    line 67
  8. Distinctive:

    Only one question per message - if a topic needs more exploration, break it into multiple questions

    line 68
  9. Distinctive:

    When the user has a specific plan or design to stress-test (not a fuzzy idea but a concrete proposal), switch to stress-test mode instead …

    line 73
  10. Distinctive:

    Ask one question per message.

    line 78
  11. Distinctive:

    If a question can be answered by exploring the codebase, explore the codebase instead of asking.

    line 80
  12. Distinctive:

    Completion criterion: every decision-tree branch is resolved.

    line 83
  13. Distinctive:

    When all questions from the decision tree are resolved and the user has confirmed the scope, present the design in sections

    line 95
  14. Distinctive:

    Ask after each section whether it looks right so far

    line 97
  15. Distinctive:

    Before presenting the finished design for user approval, run this 4-check self-review.

    line 105
  16. Distinctive:

    Internal consistency: - Do the architecture, data flow, and error handling sections agree with each other?

    line 108
  17. Distinctive:

    Only after passing all four checks: present the design to the user and wait for approval.

    line 112
  18. Distinctive:

    If the user rejects the design, ask one clarifying question to identify the specific point of disagreement, revise only the affected …

    line 114
  19. Very specific:

    Write the validated design to docs/plans/YYYY-MM-DD-<topic>-design.md

    line 118
  20. Distinctive:

    Write clearly and concisely: short sentences, active voice, no jargon

    line 119
  21. Distinctive:

    Commit the design document to git

    line 120
  22. Distinctive:

    Ask: "Ready to set up for implementation?"

    line 124
  23. Distinctive:

    Create an isolated workspace (e.g., git worktree) for implementation

    line 125
  24. Distinctive:

    YAGNI ruthlessly: - Remove unnecessary features from all designs

    line 132
  25. Distinctive:

    Explore alternatives: - Always propose exactly three approaches before settling

    line 133
  26. Distinctive:

    Must validate each section incrementally with stakeholder feedback.

    line 156
  27. Distinctive:

    Skipping Tradeoff Analysis: Not exploring alternatives leaves the team with one perspective.

    line 162

“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Brainstorming Ideas Into Designs

Version: 9.0 | Updated: 01-July-2026 | Architect: Karim Bhalwani | Deps: thinker, concise-planning

Pipeline position: explore (1 of 4) - brainstorming -> architect -> concise-planning -> implementer. This skill produces aligned understanding, NOT a spec, NOT a plan, NOT code.

Mode Entry-Point Check

At the start of each session, determine the operating mode by asking: Does the user have a concrete proposal with defined components and a proposed approach?

  • Yes → State "Entering stress-test mode" and proceed with stress-test mode rules.
  • No → State "Entering open exploration mode" and proceed with open exploration.

Dependencies

Load the following via read_file before using this skill. Skills marked ★ have disable-model-invocation: true and cannot self-invoke - they must be loaded explicitly.

  • ~/.copilot/skills/thinker/SKILL.md ★ - structured reasoning scaffold
  • ~/.copilot/skills/concise-planning/SKILL.md - atomic checklist output format

If a required skill file cannot be loaded, notify the user immediately with the exact missing path and halt. Do not proceed without the thinker skill loaded, as it is required for structured reasoning.


Constraints

HARD-GATE: Design-First Approval - Before any implementation action: (1) present the design to the user, (2) receive explicit user approval, (3) complete the Spec Self-Review (below). Applies to EVERY task regardless of simplicity. No exceptions.

DO NOT:

  • Write any code or touch implementation files
  • Scaffold projects or modify file structure
  • Plan deployment strategies
  • Take any action before design approval

DO:

  • Focus on design and architecture only
  • Validate design incrementally with stakeholder
  • Explore exactly three alternatives with trade-offs before settling
  • Pass approved designs to architect

Help turn ideas into fully formed designs and specs through natural collaborative dialogue.

Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design in small sections (200-300 words), checking after each section whether it looks right so far.

The Process

Understanding the idea

  • Check out the current project state first (files, docs, recent commits)
  • Ask questions one at a time to refine the idea
  • Lead with your recommended answer or assumption - the user confirms or corrects, rather than thinking from scratch
  • Prefer multiple choice questions when possible, but open-ended is fine too
  • Only one question per message - if a topic needs more exploration, break it into multiple questions
  • Focus on understanding: purpose, constraints, specific measurable outcomes that define project success

Stress-testing an existing plan

When the user has a specific plan or design to stress-test (not a fuzzy idea but a concrete proposal), switch to stress-test mode instead of open exploration.

Stress-test mode rules:

  • Walk each branch of the decision tree, resolving dependencies one at a time.
  • Ask one question per message. Never batch questions - asking multiple at once is bewildering.
  • Lead each question with your recommended answer. The user confirms, corrects, or rejects - they never answer from scratch.
  • If a question can be answered by exploring the codebase, explore the codebase instead of asking.
  • Continue until every branch of the decision tree is resolved and no open questions remain.

Completion criterion: every decision-tree branch is resolved. State "no open design questions remain" with a summary of decisions made.


Exploring approaches

  • Propose exactly three different approaches with trade-offs
  • Present options conversationally with your recommendation and reasoning
  • Lead with your recommended option and explain why

Presenting the design

  • When all questions from the decision tree are resolved and the user has confirmed the scope, present the design in sections
  • Break it into sections of 200-300 words
  • Ask after each section whether it looks right so far
  • Cover: architecture, components, data flow, error handling, testing
  • Be ready to go back and clarify if something doesn't make sense

After the Design

Spec Self-Review (MANDATORY before asking user to approve)

Before presenting the finished design for user approval, run this 4-check self-review. If any check fails, fix the design before presenting:

  1. Placeholder scan - Does the design contain TBD, TODO, to be determined, or to be scoped later? If yes, either resolve it or move it to an explicit "Open Questions" section.
  2. Internal consistency - Do the architecture, data flow, and error handling sections agree with each other? If a component is mentioned in one section but absent in another, reconcile or explain.
  3. Scope check - Does the design cover all requirements stated in the user request? List each requirement and confirm it is addressed.
  4. Ambiguity check - Would a developer reading this design know exactly what to build, or would they need to ask follow-up questions? List any remaining ambiguities as explicit Open Questions.

Only after passing all four checks: present the design to the user and wait for approval.

If the user rejects the design, ask one clarifying question to identify the specific point of disagreement, revise only the affected section, re-run the Spec Self-Review for that section, and re-present. Do not restart the full design from scratch unless the user explicitly requests it.

Documentation

  • Write the validated design to docs/plans/YYYY-MM-DD-<topic>-design.md
  • Write clearly and concisely: short sentences, active voice, no jargon
  • Commit the design document to git

Implementation (if continuing)

  • Ask: "Ready to set up for implementation?"
  • Create an isolated workspace (e.g., git worktree) for implementation
  • Hand off to the architect skill to produce a formal specification, then to concise-planning for the implementation checklist

Key Principles

  • One question at a time, with your recommendation - State your assumption or preferred answer first; the user confirms or redirects
  • Multiple choice preferred - Easier to answer than open-ended when possible
  • YAGNI ruthlessly - Remove unnecessary features from all designs
  • Explore alternatives - Always propose exactly three approaches before settling
  • Incremental validation - Present design in sections, validate each
  • Be flexible - Go back and clarify when something doesn't make sense

Outputs & Deliverables

  • Primary Output: Design document (markdown) with architecture, components, data flow, and error handling
  • Secondary Output: Validated design sections with stakeholder approval
  • Success Criteria: Stakeholders agree design is buildable and complete
  • Quality Gate: Design ready for handoff to architect

Definition of Done

  • Design document written to docs/plans/ with architecture, components, and data flow
  • All design sections validated incrementally with stakeholder
  • 2-3 approaches explored with trade-off analysis before final selection
  • Acceptance criteria are specific and measurable
  • Design is ready for handoff to architect

Constraints

  • NO implementation code. Design and architecture only.
  • NO deployment planning.
  • Must validate each section incrementally with stakeholder feedback.

Common Pitfalls

  • Leading with Solutions: Jumping to "build a dashboard" before understanding the actual problem. Always start with "what problem are we solving?"
  • Vague Acceptance Criteria: Ending with "sounds good" instead of specific, measurable success criteria. Define success metrics before moving forward.
  • Skipping Tradeoff Analysis: Not exploring alternatives leaves the team with one perspective. Always present 2-3 approaches with trade-offs.
  • Rushing Validation: Presenting the entire design at once instead of section-by-section validation. This leads to rework and frustration.
  • Ignoring Constraints: Designing without understanding budget, timeline, or technical limits. Ask constraints early.
  • Assuming Shared Understanding: "We all agree what this means" leads to misalignment. Define terms explicitly and check agreement.

Integration Points

PhaseInput FromOutput ToContext
ExplorationUser visionDesign validationAsk refining questions to understand intent
DesignValidated requirementsarchitectPass to architect for technical specification
HandoffApproved designimplementerProvide design document and acceptance criteria
PlanningDesign scopeconcise-planningFeed into implementation planning

References

Load when capturing and structuring exploration output:

Reference Documents

  • idea_board.md - Idea board template. Load when capturing multi-option exploration output - use to structure divergent ideas before converging on a preferred approach.

Scripts

  • generate_idea_board.py - Idea board scaffolder. Run to generate a structured diverge-then-converge exploration document from a problem statement and a list of option names. Produces a scored evaluation matrix and preferred direction recommendation automatically.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.