Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Each skill is a directory under `skills/<name>/` containing a `SKILL.md` (plus a
| Skill | Description |
| --- | --- |
| `agentsmd-generator` | Generate project-level `AGENTS.md` onboarding guides covering structure, tooling, testing, task flow, and conventions. |
| `brain-storm` | Facilitate structured brainstorming sessions that generate, expand, organize, and prioritize ideas around a topic, problem, or goal. |
| `jj-case-insensitive-clone-fix` | Diagnose and fix the `jj git clone` "Failed to update refs" error on case-insensitive filesystems (e.g. macOS APFS). |
| `research_codebase` | Map how a codebase works today and save a dated, citation-backed report under `thoughts/`, using parallel sub-agents by default. |
| `sdd-linear` | Run the Spec-Driven Development (SDD) workflow with Linear issues, sub-issues, attachments, and comments as the system of record instead of `docs/specs`. |
Expand Down
4 changes: 3 additions & 1 deletion skills/agentsmd-generator/scripts/repo-inventory
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,9 @@ if command -v tree >/dev/null 2>&1; then
tree -a -I '.git|.jj' -L "$depth" 2>/dev/null || true
fi
elif git rev-parse --git-dir >/dev/null 2>&1; then
git ls-files 2>/dev/null | awk -F/ -v d="$depth" '{ n = (NF < d ? NF : d); p=$1; for(i=2;i<=n;i++) p=p"/"$i; print p }' | sort -u || true
git ls-files --cached --others --exclude-standard 2>/dev/null \
| awk -F/ -v d="$depth" '{ n = (NF < d ? NF : d); p=$1; for(i=2;i<=n;i++) p=p"/"$i; print p }' \
| sort -u || true
else
find . -maxdepth "$depth" -not -path '*/.git/*' 2>/dev/null | sort || true
fi
75 changes: 75 additions & 0 deletions skills/brain-storm/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
name: brain-storm
description: Facilitate a structured brainstorming session to generate, expand, and organize ideas around a topic, problem, or goal. Use when the user wants to brainstorm, ideate, explore options, think through possibilities, or get unstuck on an idea.
---

# brain-storm

Facilitate an interactive brainstorming session. Act as a thinking partner: draw ideas out of the user, push past the obvious, and leave them with an organized set of options plus a clear next step. Favor breadth first, then converge.

## When to use

Use when the user says things like "help me brainstorm…", "I have an idea for…", "what are some ways to…", "I'm stuck on…", or "let's think through…". Applies to product ideas, feature directions, naming, content angles, problem-solving, business strategy, and other open-ended ideation.

## Process

Run these phases in order. Keep momentum; don't interrogate the user with a long questionnaire up front.

### 1. Frame the problem briefly

Restate the topic in one sentence and confirm understanding. Ask at most 2–3 sharp questions only if the framing is genuinely ambiguous. Useful context:

- **Goal**: what does a good outcome look like?
- **Constraints**: budget, time, audience, must-haves, non-negotiables.
- **Stage**: blank slate, or refining something that already exists?

If the user is vague, pick a reasonable interpretation, state it, and start generating. Producing ideas is more useful than gathering requirements.

### 2. Diverge — generate widely

Produce a broad spread of ideas. Aim for 8–15 to start. Optimize for variety, not polish: include safe ideas, ambitious ideas, and 1–2 deliberately unconventional ideas. Use these lenses to avoid a monotone list:

- **Analogies**: how do other industries/products solve a similar problem?
- **Inversion**: what would the opposite or worst approach look like? Flip it.
- **Constraints**: what if it had to be free, 10x bigger, or built in a weekend?
- **Combination**: mash two unrelated ideas together.
- **First principles**: strip the problem to its core need and rebuild.
- **Personas**: how would a specific user, competitor, or skeptic approach it?

Present ideas as a scannable list with a short **bold label** and a one-line description each. Don't over-explain in this phase.

### 3. Expand — go deeper on what resonates

Ask the user which 2–4 ideas they want to develop, or pick the strongest yourself if they defer. For each:

- Sketch how it could work concretely.
- Note the upside, main risk/open question, and roughly what it would take.
- Suggest one variation or extension.

### 4. Converge — organize and prioritize

Pull the session into a structured summary:

- Group ideas into themes if there are many.
- Offer rough prioritization, such as a simple **impact vs. effort** read or a clearly labeled top pick with reasoning.
- Surface tradeoffs or assumptions worth testing.

### 5. Land on a next step

End with one concrete, actionable next step: a prototype to try, a question to validate, a person to talk to, or a decision to make. A brainstorm that doesn't lead to action was just a chat.

## Style

- Be generative and encouraging, but not a hype machine; name real weaknesses in ideas.
- Keep turns tight and leave room for the user to react and steer.
- Build on the user's contributions ("yes, and…") rather than replacing them.
- Use formatting — bold labels, short lists, occasional tables — to keep things scannable.
- Keep it dialogic. Check in and adjust direction; don't dump a finished report when the user wants to think out loud.

## Output

A working brainstorm in the conversation, ending with:

1. An organized summary of the strongest ideas, grouped/prioritized.
2. Key tradeoffs or open questions.
3. One concrete recommended next step.
1 change: 1 addition & 0 deletions tests/test_skill_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
# Skills expected to be present in this repository.
EXPECTED_SKILLS = {
"agentsmd-generator",
"brain-storm",
"jj-case-insensitive-clone-fix",
"research_codebase",
"sdd-linear",
Expand Down
Loading