Transforms a brain dump into a story-structured essay outline. Pressure tests for a real thesis, applies the Saunders framework via story-lens skill to validate hook, escalation, and conclusion, then writes a tight outline to file. Also fixes stale skill count in README (22 → 24). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
"plugins": [
|
||||
{
|
||||
"name": "compound-engineering",
|
||||
"description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 25 specialized agents, 23 commands, and 22 skills.",
|
||||
"version": "2.36.0",
|
||||
"description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 25 specialized agents, 24 commands, and 24 skills.",
|
||||
"version": "2.38.0",
|
||||
"author": {
|
||||
"name": "Kieran Klaassen",
|
||||
"url": "https://github.com/kieranklaassen",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "compound-engineering",
|
||||
"version": "2.36.0",
|
||||
"description": "AI-powered development tools. 25 agents, 23 commands, 22 skills, 1 MCP server for code review, research, design, and workflow automation.",
|
||||
"version": "2.38.0",
|
||||
"description": "AI-powered development tools. 25 agents, 24 commands, 24 skills, 1 MCP server for code review, research, design, and workflow automation.",
|
||||
"author": {
|
||||
"name": "Kieran Klaassen",
|
||||
"email": "kieran@every.to",
|
||||
|
||||
@@ -5,6 +5,18 @@ All notable changes to the compound-engineering plugin will be documented in thi
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [2.38.0] - 2026-03-08
|
||||
|
||||
### Added
|
||||
|
||||
- **`/essay-outline` command** - Transform a brain dump into a story-structured essay outline. Pressure tests ideas for a real thesis and payoff, applies the Saunders storytelling framework (via `story-lens` skill) to validate hook, escalation, and conclusion, then produces a tight outline written to file.
|
||||
|
||||
## [2.37.0] - 2026-03-08
|
||||
|
||||
### Added
|
||||
|
||||
- **`story-lens` skill** - Evaluate prose quality using George Saunders's storytelling framework (beat causality, escalation, three E's, character accumulation, moral/technical unity)
|
||||
|
||||
## [2.36.0] - 2026-02-27
|
||||
|
||||
### Added
|
||||
|
||||
@@ -7,8 +7,8 @@ AI-powered development tools that get smarter with every use. Make each unit of
|
||||
| Component | Count |
|
||||
|-----------|-------|
|
||||
| Agents | 25 |
|
||||
| Commands | 23 |
|
||||
| Skills | 22 |
|
||||
| Commands | 24 |
|
||||
| Skills | 24 |
|
||||
| MCP Servers | 1 |
|
||||
|
||||
## Agents
|
||||
@@ -96,6 +96,7 @@ Core workflow commands use `workflows:` prefix to avoid collisions with built-in
|
||||
| `/agent-native-audit` | Run comprehensive agent-native architecture review |
|
||||
| `/deploy-docs` | Validate and prepare documentation for GitHub Pages |
|
||||
| `/pr-comments-to-todos` | Fetch PR comments and convert to todo files |
|
||||
| `/essay-outline` | Transform a brain dump into a story-structured essay outline |
|
||||
|
||||
## Skills
|
||||
|
||||
@@ -129,6 +130,7 @@ Core workflow commands use `workflows:` prefix to avoid collisions with built-in
|
||||
| `john-voice` | Write content in John Lamb's authentic voice across all venues |
|
||||
| `resolve-pr-parallel` | Resolve PR review comments in parallel |
|
||||
| `setup` | Configure which review agents run for your project |
|
||||
| `story-lens` | Evaluate prose quality using George Saunders's storytelling framework |
|
||||
| `upstream-merge` | Incorporate upstream git changes while preserving local fork intent |
|
||||
|
||||
### Multi-Agent Orchestration
|
||||
|
||||
96
plugins/compound-engineering/commands/essay-outline.md
Normal file
96
plugins/compound-engineering/commands/essay-outline.md
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
name: essay-outline
|
||||
description: Transform a brain dump into a story-structured essay outline. Pressure tests the idea, validates story structure using the Saunders framework, and produces a tight outline written to file.
|
||||
argument-hint: "[brain dump — your raw ideas, however loose]"
|
||||
---
|
||||
|
||||
# Essay Outline
|
||||
|
||||
Turn a brain dump into a story-structured essay outline.
|
||||
|
||||
## Brain Dump
|
||||
|
||||
<brain_dump> #$ARGUMENTS </brain_dump>
|
||||
|
||||
**If the brain dump above is empty, ask the user:** "What's the idea? Paste your brain dump — however raw or loose."
|
||||
|
||||
Do not proceed until you have a brain dump.
|
||||
|
||||
## Execution
|
||||
|
||||
### Phase 1: Idea Triage
|
||||
|
||||
Read the brain dump and locate the potential thesis — the single thing worth saying. Ask: would a smart, skeptical reader finish this essay and think "I needed that"?
|
||||
|
||||
Play devil's advocate. This is the primary job. Look for:
|
||||
|
||||
- **Weak thesis** — Is this a real insight, or just a topic? A topic is not a thesis. "Remote work is complicated" is a topic. "Remote work didn't fail the office — the office failed remote work" is a thesis.
|
||||
- **Missing payoff** — What does the reader walk away with that they didn't have before? If there's no answer, say so.
|
||||
- **Broken connective tissue** — Do the ideas connect causally ("and therefore") or just sequentially ("and another thing")? Sequential ideas are a list, not an essay.
|
||||
- **Unsupported claims** — Use outside research to pressure-test assertions. If a claim doesn't hold up, flag it and explore whether it can be rescued.
|
||||
|
||||
**If nothing survives triage:** Say directly — "There's nothing here yet." Then ask one question aimed at finding a salvageable core. Do not produce an outline for an idea that hasn't earned one.
|
||||
|
||||
**If the idea survives but has weaknesses:** Identify the weakest link and collaboratively generate a fix before moving to Phase 2.
|
||||
|
||||
### Phase 2: Story Structure Check
|
||||
|
||||
Load the `story-lens` skill. Apply the Saunders framework to the *idea* — not prose. The essay may not involve characters. That's fine. Translate the framework as follows:
|
||||
|
||||
| Saunders diagnostic | Applied to essay ideas |
|
||||
|---|---|
|
||||
| Beat causality | Does each supporting point *cause* the reader to need the next one, or do they merely follow it? |
|
||||
| Escalation | Does each beat raise the stakes of the thesis — moving the reader further from where they started? |
|
||||
| Story-yet test | If the essay ended after the hook, would anything have changed for the reader? After the first supporting point? Each beat must earn its place. |
|
||||
| Efficiency | Is every idea doing work? Cut anything that elaborates without advancing. |
|
||||
| Expectation | Does each beat land at the right level — surprising but not absurd, inevitable in hindsight? |
|
||||
| Moral/technical unity | If something feels off — a point that doesn't land, a conclusion that feels unearned — find the structural failure underneath. |
|
||||
|
||||
**The non-negotiables:**
|
||||
- The hook must create a specific expectation that the essay then fulfills or subverts
|
||||
- Supporting beats must escalate — each one should make the thesis harder to dismiss, not just add to it
|
||||
- The conclusion must deliver irreversible change in the reader's understanding — they cannot un-think what the essay showed them
|
||||
|
||||
Flag any diagnostic failures. For each failure, propose a fix. If the structure cannot be made to escalate, say so.
|
||||
|
||||
### Phase 3: Outline Construction
|
||||
|
||||
Produce the outline only after the idea has survived Phases 1 and 2.
|
||||
|
||||
**Structure:**
|
||||
- Hook — the opening move that sets an expectation
|
||||
- Supporting beats — each one causal, each one escalating
|
||||
- Conclusion — the irreversible change delivered to the reader
|
||||
|
||||
**Format rules:**
|
||||
- Bullets and sub-bullets only
|
||||
- Max 3 sub-bullets per bullet
|
||||
- No sub-sub-bullets
|
||||
- Each bullet is a *beat*, not a topic — it should imply forward motion
|
||||
- Keep it short. A good outline is a skeleton, not a draft.
|
||||
|
||||
**Write the outline to file:**
|
||||
|
||||
```
|
||||
docs/outlines/YYYY-MM-DD-[slug].md
|
||||
```
|
||||
|
||||
Ensure `docs/outlines/` exists before writing. The slug should be 3-5 words derived from the thesis, hyphenated.
|
||||
|
||||
## Output Summary
|
||||
|
||||
When complete, display:
|
||||
|
||||
```
|
||||
Outline complete.
|
||||
|
||||
File: docs/outlines/YYYY-MM-DD-[slug].md
|
||||
|
||||
Thesis: [one sentence]
|
||||
Story verdict: [passes / passes with fixes / nothing here]
|
||||
|
||||
Key structural moves:
|
||||
- [Hook strategy]
|
||||
- [How the beats escalate]
|
||||
- [What the conclusion delivers]
|
||||
```
|
||||
48
plugins/compound-engineering/skills/story-lens/SKILL.md
Normal file
48
plugins/compound-engineering/skills/story-lens/SKILL.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
name: story-lens
|
||||
description: This skill should be used when evaluating whether a piece of prose constitutes a high-quality story. It applies George Saunders's craft framework — causality, escalation, efficiency, expectation, and character accumulation — as a structured diagnostic lens. Triggers on requests like "is this a good story?", "review this prose", "does this feel like a story or just an anecdote?", "critique this narrative", or any request to assess the craft quality of fiction or narrative nonfiction.
|
||||
---
|
||||
|
||||
# Story Lens
|
||||
|
||||
A diagnostic skill for evaluating prose quality using George Saunders's storytelling framework. The framework operates on a single core insight: the difference between a story and an anecdote is causality plus irreversible change.
|
||||
|
||||
Load [saunders-framework.md](./references/saunders-framework.md) for the full framework, including all diagnostic questions and definitions.
|
||||
|
||||
## How to Apply the Skill
|
||||
|
||||
### 1. Read the Prose
|
||||
|
||||
Read the full piece before forming any judgments. Resist diagnosing on first pass.
|
||||
|
||||
### 2. Apply the Six Diagnostic Questions in Order
|
||||
|
||||
Each question builds on the previous.
|
||||
|
||||
**Beat Causality**
|
||||
Map the beats. Does each beat cause the next? Or are they sequential — "and then... and then..."? Sequential beats = anecdote. Causal beats = story.
|
||||
|
||||
**Escalation**
|
||||
Is the story moving up a staircase or running on a treadmill? Each step must be irrevocable. Once a character's condition has fundamentally changed, the story cannot re-enact that change or linger in elaboration. Look for sections that feel like they're holding still.
|
||||
|
||||
**The Story-Yet Test**
|
||||
Stop at the end of each major section and ask: *if it ended here, would it be complete?* Something must have changed irreversibly. If nothing has changed, everything so far is setup — not story.
|
||||
|
||||
**Character Accumulation**
|
||||
Track what the reader learns about the character, beat by beat. Is that knowledge growing? Does each beat confirm, complicate, or overturn prior understanding? Flat accumulation = underdeveloped character. Specificity accrues into care.
|
||||
|
||||
**The Three E's**
|
||||
Check against the triad: Escalation (moving forward), Efficiency (nothing extraneous), Expectation (next beat is surprising but not absurd). Failure in any one of these is diagnosable.
|
||||
|
||||
**Moral/Technical Unity**
|
||||
If something feels off emotionally or ethically — a character's choice that doesn't ring true, a resolution that feels unearned — look for the technical failure underneath. Saunders's claim: it is always there. Find the craft problem, and the moral problem dissolves.
|
||||
|
||||
### 3. Render a Verdict
|
||||
|
||||
After applying all six diagnostics, deliver a clear assessment:
|
||||
|
||||
- Is this a story, or still an anecdote?
|
||||
- Which diagnostic reveals the primary weakness?
|
||||
- What is the single most important structural fix?
|
||||
|
||||
Be direct. The framework produces precise, actionable diagnoses — not impressionistic feedback. Imprecise praise or vague encouragement is not useful here. The goal is to help the writer see exactly where the story is working and where it isn't.
|
||||
@@ -0,0 +1,75 @@
|
||||
# The Saunders Storytelling Framework
|
||||
|
||||
A distillation of George Saunders's craft principles for evaluating whether prose constitutes a high-quality story.
|
||||
|
||||
---
|
||||
|
||||
## The Fundamental Unit: The Beat
|
||||
|
||||
Every moment in a story is a beat. Each beat must *cause* the next beat. Saunders calls causality "what melody is to a songwriter" — it's the invisible connective tissue the audience feels as the story's logic.
|
||||
|
||||
The test: are beats **causal** or merely **sequential**?
|
||||
|
||||
- Sequential (anecdote): "this happened, then this happened"
|
||||
- Causal (story): "this happened, *therefore* this happened"
|
||||
|
||||
If beats are merely sequential, the work reads as anecdote, not story.
|
||||
|
||||
---
|
||||
|
||||
## What Transforms Anecdote into Story: Escalation
|
||||
|
||||
> "Always be escalating. That's all a story is, really: a continual system of escalation. A swath of prose earns its place in the story to the extent that it contributes to our sense that the story is still escalating."
|
||||
|
||||
Escalation isn't just raising stakes — it's **irrevocable change**. Once a story has moved forward through some fundamental change in a character's condition, you don't get to enact that change again, and you don't get to stay there elaborating on that state.
|
||||
|
||||
**The story is a staircase, not a treadmill.**
|
||||
|
||||
---
|
||||
|
||||
## The "Is This a Story Yet?" Diagnostic
|
||||
|
||||
Stop at any point and ask: *if it ended here, would it be complete?*
|
||||
|
||||
Early on, the answer is almost always no — because nothing has changed yet. The story only becomes a story at the moment something changes irreversibly.
|
||||
|
||||
**Precise test: change = story. No change = still just setup.**
|
||||
|
||||
---
|
||||
|
||||
## The "What Do We Know About This Character So Far?" Tool
|
||||
|
||||
Take inventory constantly. A reader's understanding of a character is always a running accumulation — and every beat should either **confirm**, **complicate**, or **overturn** that understanding.
|
||||
|
||||
The more we know about a person — their hopes, dreams, fears, and failures — the more compassionate we become toward them. This is how the empathy machine operates mechanically: **specificity accrues, and accrued specificity generates care.**
|
||||
|
||||
---
|
||||
|
||||
## The Three E's
|
||||
|
||||
Three words that capture the full framework:
|
||||
|
||||
1. **Escalation** — the story must continuously move forward through irrevocable change
|
||||
2. **Efficiency** — ruthlessly exclude anything extraneous to the story's purposes
|
||||
3. **Expectation** — what comes next must hit a Goldilocks level: not too obvious, not too absurd
|
||||
|
||||
---
|
||||
|
||||
## The Moral/Technical Unity
|
||||
|
||||
Any story that suffers from what seems like a **moral failing** will, with sufficient analytical attention, be found to be suffering from a **technical failing** — and if that failing is addressed, it will always become a better story.
|
||||
|
||||
This means: when a story feels wrong emotionally or ethically, look for the craft problem first. The fix is almost always structural.
|
||||
|
||||
---
|
||||
|
||||
## Summary: The Diagnostic Questions
|
||||
|
||||
Apply these in order to any piece of prose:
|
||||
|
||||
1. **Beat causality** — Does each beat cause the next, or are they merely sequential?
|
||||
2. **Escalation** — Is the story continuously moving up the staircase, or running on a treadmill?
|
||||
3. **Story-yet test** — If it ended here, would something have irreversibly changed?
|
||||
4. **Character accumulation** — Is our understanding of the character growing richer with each beat?
|
||||
5. **Three E's check** — Is it escalating, efficient, and pitched at the right level of expectation?
|
||||
6. **Moral/technical unity** — If something feels off morally or emotionally, where is the technical failure?
|
||||
Reference in New Issue
Block a user