Posts in Category: Pairing with AI

Pairing with AI #1: brainstorming

This is the first post in a series on coding with AI. It’s inspired by the talk I gave at RubyConf last week: AI-assisted coding: practical lessons from small startups to legacy codebases. Here are the presentation slides. Video should be available in a week or two.

Typically the first step in my Claude Code assisted workflow is getting a rough idea ready for planning. Not the plan itself, but brainstorming any aspects I haven’t thought through yet, or identifying possible gaps. Popular skills for this are grilling and grill-with-docs from Matt Pocock’s AI skills and brainstorming from the Superpowers skills. I’ve worked with both and they each are suited to different needs:

grill-with-docs brainstorming
Stance Adversarial — stress-test your existing thinking Collaborative — co-design something you haven’t figured out yet
Assumes You already have a plan/idea to defend You’re starting from a rough intent
Motion Divergent then convergent; pokes holes Convergent funnel toward a spec
Prescriptiveness Minimal, flexible; no forced next step Heavy checklist, gated, opinionated
Artifacts Glossary + ADRs, written inline, lazily One dated design doc, committed
Final state “Shared understanding” — you decide what’s next Forces you into writing-plans → implementation
Domain focus Yes — ubiquitous language, code cross-checks No — architecture / components / data flow / testing

I’ve found I like to have both skills available, so I can use the one most suited to the situation. However, brainstorming has a few behaviors that are too heavy-handed for me:

  • It’s deeply coupled to the overall Superpowers workflow, which is not how I like to work (a topic for an upcoming post). The skill itself says like 4 times that it must hand off to Superpowers’ writing-plans skill, so it’s hard to override that reliably in a prompt.
  • It auto-invokes whenever you even hint at wanting to figure out something. The skill itself auto-invokes and then Superpowers itself has an additional layer of auto-invoking, so it’s easy to trigger it unintentionally.
  • It creates a spec file that it automatically commits.

So I made my own copy of brainstorming that removes the above behaviors, and I uninstalled Superpowers itself (I also made a copy of its systematic-debugging skill, which is the only other one I wanted from its suite). This makes it easier for me to choose either the grilling skill or the brainstorming skill without Claude being overly trigger happy and railroading me to brainstorming.