Skip to content

README


Most AI writing tools mix brainstorming, structuring, and editing into a single prompt. The result is flat, mediocre output that sounds like everything else. Betty Flowers identified in 1981 that writing requires four distinct cognitive modes, each demanding a different kind of thinking. Mixing them produces internal conflict: your inner critic shuts down your inner generator before it can produce anything worth editing.

This plugin gives each mode its own skill, workflow, and quality gates. The AI and human trade leadership at every phase: AI generates raw volume when quantity matters, human decides structure when judgment matters.


A Claude Code plugin that separates the writing process into five phases, each with a defined lead and support role:

PhaseLeadSupportDeliverable
MadmanAI generatesHuman seeds with experienceRaw material dump
WhirlybirdAI generates optionsHuman selects and combinesChosen mindmap diagram
ArchitectHuman decidesAI formulatesStructured blueprint
CarpenterAI buildsHuman spot-checksComplete draft
JudgeAI detectsHuman decidesPolished final piece

This is the collaborative oscillation model: not AI-only automation, not human-only writing. Each phase leverages what each party does best.


Option 1: Claude Code plugin marketplace (native)

Section titled “Option 1: Claude Code plugin marketplace (native)”

Inside Claude Code, add this repo as a plugin marketplace and install the plugin:

/plugin marketplace add Jeffallan/writing-with-agents
/plugin install writing-with-agents@Jeffallan/writing-with-agents

If you’re already in a session, run /reload-plugins to activate.

Terminal window
npx skills add Jeffallan/writing-with-agents

Add -g to install globally across all projects.

Full documentation: jeffallan.github.io/writing-with-agents


/writing-with-agents:flowers-cycle "API-first identity verification for fintech"

This runs the full Flowers cycle: Madman, Whirlybird, Architect, Carpenter, Judge, Quality Rubric.

/writing-with-agents:flowers-cycle "API-first identity verification" --seo
/writing-with-agents:content-strategy /path/to/research/notes
/writing-with-agents:capture /path/to/note.md https://example.com/article
/writing-with-agents:writing-setup

SkillDomainWhat It Does
madmangenerationGenerates 3-5x raw material from human-seeded topics across 8 dimensions. Quantity over quality.
whirlybirdstructureProduces nonlinear Mermaid mindmaps. Human selects and combines branches into a working outline.
architectstructureBuilds a throughline and section blueprint from the chosen outline. Human leads structural decisions.
carpentercraftConstructs full prose from the blueprint. Human spot-checks voice, tone, and accuracy.
judgequalityRuns 5 editing passes (AI voice, Strunk & White, readability, consistency, SEO). Human approves changes before any edits.
quality-rubricqualityScores across 10 dimensions (1-5 scale). Routes any dimension below 4 back to the responsible phase for targeted rework.
SkillDomainWhat It Does
seo-writerseoIntegrates during Architect (keyword mapping), Carpenter (natural placement), and Judge (validation). Not a post-draft bolt-on.
SkillDomainWhat It Does
research-intakeresearchIngests sources into structured research notes and identifies gaps in coverage.
content-strategiststrategyMaps a domain into a multi-article content plan with prioritized topics and linking strategy.
knowledge-harvesterresearchCaptures insights from completed articles back into the research vault for future use.

CommandDescription
/writing-with-agents:flowers-cycleSingle-article inner loop (6 phases)
/writing-with-agents:content-strategyMulti-article outer loop (6 phases)
/writing-with-agents:captureCapture source into structured research note
/writing-with-agents:writing-setupConfigure session defaults

Outer Loop (runs once per domain):
Intake --> Gap Analysis --> Domain Mapping --> Content Plan --> [Inner Loop per article] --> Knowledge Harvest
Inner Loop (runs once per article):
Madman --> Whirlybird --> Architect --> Carpenter --> Judge --> Quality Rubric

Each skill loads in two tiers:

  • Tier 1 (SKILL.md): ~80-100 lines with role, triggers, workflow, constraints, routing table
  • Tier 2 (references/): Detailed procedural content loaded only when context requires

This reduces initial token usage by ~50%. In practice, each skill conversation starts with ~80-100 lines instead of 400+, preserving your context window for actual content.


writing-with-agents/
.claude-plugin/
plugin.json
marketplace.json
skills/
madman/ (SKILL.md + 3 references)
whirlybird/ (SKILL.md + 3 references)
architect/ (SKILL.md + 3 references)
carpenter/ (SKILL.md + 3 references)
judge/ (SKILL.md + 5 references)
quality-rubric/ (SKILL.md + 2 references)
seo-writer/ (SKILL.md + 5 references)
content-strategist/ (SKILL.md + 3 references)
research-intake/ (SKILL.md + 2 references)
knowledge-harvester/ (SKILL.md + 2 references)
commands/
writing/
flowers-cycle/ (COMMAND.md + yaml)
content-strategy/ (COMMAND.md + yaml)
capture/ (COMMAND.md + yaml + references/)
utilities/
writing-setup/ (COMMAND.md + yaml)
workflow-manifest.yaml
scripts/
validate-skills.py
validate-markdown.py
update-docs.py
docs/workflow/
CLAUDE.md
version.json

Based on Betty S. Flowers’ “Madman, Architect, Carpenter, Judge: Roles and the Writing Process” (Language Arts, Vol. 58, No. 7, October 1981). Extended with Bryan Garner’s whirlybird technique from The Winning Brief.

Collaborative oscillation model developed through dialectic conversation between Jeff (Synergetic Solutions) and Claude (Anthropic).

Plugin structure adapted from fullstack-dev-skills by Jeff Allan (@jeffallan).


MIT