From workflows
Creates detailed section outlines in a progressive writing workflow, enforcing outline-before-prose. Evaluates section structure against PRECIS claims and gates prose drafting until review is passed.
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflows:writing-outlineWrite|Edit|AgentGATE_ARTIFACT=.planning/PRECIS_REVIEWED.md GATE_STATUS=APPROVED GATE_BLOCKED_TOOLS=Write,Edit,Agent GATE_DESCRIPTION="Precis review" GATE_REMEDY="Return to writing-setup and run the precis reviewer before outlining" uv run python3 ${CLAUDE_PLUGIN_ROOT}/hooks/phase-gate-guard.pyEdit|Writeuv run python3 ${CLAUDE_PLUGIN_ROOT}/hooks/writing-suggest-verify.pyuv run python3 ${CLAUDE_PLUGIN_ROOT}/hooks/writing-claim-id-guard.pyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a detailed outline for a specific section/part before drafting prose. This is Level 3 of the progressive expansion workflow.
Create a detailed outline for a specific section/part before drafting prose. This is Level 3 of the progressive expansion workflow.
.planning/PRECIS.md # Level 1: Thesis, claims, audience
↓
.planning/OUTLINE.md # Level 2: Master structure (sections, goals)
↓
outlines/Part I.md # Level 3: THIS STEP - Detailed section outline
↓
drafts/Part I.md # Level 4: Prose expansion
Never skip to prose drafting without a detailed outline first.
Auto-load all constraints matching applies-to: writing-outline:
!uv run python3 ${CLAUDE_SKILL_DIR}/../../scripts/load-constraints.py writing-outline
You MUST have these constraints loaded before proceeding. No claiming you "remember" them.
START (PRECIS + master OUTLINE exist)
│
├─ Step 1: Load context (PRECIS, OUTLINE, ACTIVE_WORKFLOW)
│
├─ Step 2: Select section (user choice or next unoutlined)
│
├─ Step 3: Gather structure/depth preferences
│
├─ Step 4: Create detailed outline
│ └─ For each subsection: POINT + EVIDENCE + LOGIC
│ Opening → Body (subsections with transitions) → Closing
│
├─ Step 5: Cross-reference with PRECIS claims
│ └─ Verify: advances claim, within scope, thesis thread
│
├─ Step 6: Update ACTIVE_WORKFLOW.md
│
└─ More sections remaining?
├─ YES → Loop to Step 2 (NO pause, NO "should I continue?")
└─ NO → GATE: Every OUTLINE section has outlines/ file?
├─ NO → Report missing, loop back
└─ YES → Outline Review Gate
└─ Dispatch writing-outline-reviewer subagent
├─ APPROVED → IMMEDIATELY load writing-draft (no pause)
└─ ISSUES_FOUND → fix outlines → re-dispatch (max 5)
If text and flowchart disagree, the flowchart wins.
## The Iron Law of Outline Before ProseNO PROSE WITHOUT OUTLINE. Never skip to prose drafting without a detailed outline in outlines/ first. This is not negotiable.
If you find yourself writing prose without a matching outline file:
Thin outlines produce thin drafts. Each outline must have POINT, EVIDENCE, and LOGIC for every subsection.
Before starting, check for an existing handoff:
.planning/HANDOFF.md existsRead(".planning/ACTIVE_WORKFLOW.md")
Read(".planning/PRECIS.md")
Read(".planning/OUTLINE.md")
If master OUTLINE.md is missing, run writing-brainstorm first.
If not specified by user, present available sections:
AskUserQuestion(questions=[
{
"question": "Which section should I outline in detail?",
"header": "Section",
"options": [
{"label": "Part I / Introduction", "description": "Hook, thesis, roadmap"},
{"label": "Part II / Background", "description": "Context and precedents"},
{"label": "Part III / Argument", "description": "Main claims and evidence"},
{"label": "Part IV / Counterarguments", "description": "Objections and responses"}
],
"multiSelect": false
}
])
For the selected section, ask clarifying questions:
AskUserQuestion(questions=[
{
"question": "How should this section be structured?",
"header": "Structure",
"options": [
{"label": "Chronological", "description": "Events/developments in time order"},
{"label": "Thematic", "description": "Grouped by topic or concept"},
{"label": "Problem-Solution", "description": "Issue then resolution"},
{"label": "Comparative", "description": "Side-by-side analysis"}
],
"multiSelect": false
},
{
"question": "What level of detail do you want?",
"header": "Depth",
"options": [
{"label": "Paragraph-level", "description": "One bullet per paragraph"},
{"label": "Sentence-level", "description": "Key sentences mapped out"},
{"label": "Full skeleton", "description": "Nearly complete argument structure"}
],
"multiSelect": false
}
])
Create directory if needed and write the detailed outline:
mkdir -p outlines
Write to outlines/[Section Name] (Outline).md:
# [Section Name] - Detailed Outline
## Section Goal
[From master OUTLINE.md - what this section accomplishes]
## Claim Supported
[Which claim from PRECIS.md this section advances]
## Structure: [Chronological/Thematic/Problem-Solution/Comparative]
---
## Opening
**Lead sentence**: [Draft or TBD]
**Context needed**: [What reader must know]
**Transition from previous**: [How we got here]
---
## Body
### Subsection A: [Name]
**Point**: [Main argument of this subsection]
**Evidence**:
- [Source 1]: "[key quote or fact]"
- [Source 2]: "[key quote or fact]"
**Logic**: [How evidence supports point]
**Transition**: [Bridge to next subsection]
### Subsection B: [Name]
**Point**: [Main argument]
**Evidence**:
- [Source]: "[key quote or fact]"
**Logic**: [How evidence supports point]
**Anticipated objection**: [If applicable]
- Response: [How to address]
**Transition**: [Bridge to next]
### Subsection C: [Name]
[Continue pattern...]
---
## Closing
**Section summary**: [One sentence recap]
**Bridge to next section**: [How this leads to what follows]
**Thesis thread**: [How this connects to main thesis from PRECIS]
---
## Sources Used in This Section
- [Source 1] - used for [what]
- [Source 2] - used for [what]
## Open Questions
- [Anything unresolved before drafting]
## Estimated Length
[Paragraph count or word count target]
Verify the detailed outline against PRECIS.md:
Report any misalignments.
Update .planning/ACTIVE_WORKFLOW.md:
phase: outline
current_section: [section name]
outlines_complete:
- [list of completed outlines]
After completing a section outline, IMMEDIATELY start the next section. Do NOT:
Pausing between section outlines is procrastination disguised as courtesy.
When ALL sections from OUTLINE.md have detailed outlines in outlines/, proceed to the draft phase.
When outlining reveals unplanned issues, follow the deviation rules from constraints/deviation-rules.md:
Track deviations per section outline. Each section summary should include: Deviations: N auto-fixed (R1: X, R2: Y, R3: Z). R4 escalations: [list or "none"].
Before proceeding to draft phase (see constraints/gate-function-standard.md for the full 6-step gate including SUMMARY):
outlines/outlines/, compare against sections in OUTLINE.md${CLAUDE_SKILL_DIR}/../../skills/writing-outline-reviewer/SKILL.md, then Read() the output.
Follow the reviewer skill instructions: dispatch the subagent, handle APPROVED/ISSUES_FOUND, fix and re-review up to 5 times. Only proceed when APPROVED.human-verify — auto-advance to writing-draft..planning/PHASE_SUMMARY.md (see constraints/phase-summary-frontmatter.md):
Skipping the outline verification is NOT HELPFUL — the user drafts from a thin outline and rewrites every section. You must verify every outline exists and has real structure.
Proceeding to draft with a thin outline is NOT HELPFUL — every section will wander and require complete redrafting. The reviewer must confirm depth before drafting begins.
Before finalizing each outline, verify:
If 5+ iterations on the same section without meaningful progress, STOP and escalate to the user for scope adjustment.
Signs you are stuck:
When escalating, present:
Spinning without progress is anti-helpful. Recognizing when to ask for guidance is competence, not weakness.
| Problem | Fix |
|---|---|
| Outline is just topic list | Add POINT, EVIDENCE, LOGIC for each |
| No sources mapped | Go back to research or brainstorm |
| Section doesn't advance a claim | Rethink why it exists |
| Too long for one section | Split into multiple sections |
| Transitions missing | Add explicit bridges |
After all section outlines are complete:
Read ${CLAUDE_SKILL_DIR}/../../skills/writing-outline-reviewer/SKILL.md and follow its instructions.
Follow the outline reviewer's instructions:
After outline review APPROVED:
Read ${CLAUDE_SKILL_DIR}/../../skills/writing-draft/SKILL.md and follow its instructions.
Then follow its instructions immediately to expand outlines into prose.
npx claudepluginhub edwinhu/workflows --plugin workflowsExpands section outlines into prose using a parallel write-agent workflow with domain-specific style rules and source verification. Activates after outline review approval.
Constructs clear prose section by section from approved outlines or blueprints. Use for drafting articles, essays, guides, or long-form content.
Writes academic paper chapters one at a time post-brainstorming, enforcing hard gates on outline/evidence, type-specific flows (e.g., evidence-driven for intro), agent contracts, and two-stage compliance/quality reviews.