Brings 47 local-only files from backup-local-main into the merge-upstream
branch at their pre-rename paths. Subsequent steps will rename these to
the ce-* convention and port shared-file merges.
Includes:
- Custom skills: john-voice, jira-ticket-writer, hugo-blog-publisher,
weekly-shipped, proof-push, ship-it, story-lens, sync-confluence,
excalidraw-png-export, python-package-writer, fastapi-style,
upstream-merge
- Custom agents: design-conformance-reviewer, tiangolo-fastapi-reviewer,
zip-agent-validator, python-package-readme-writer, lint
- Custom commands: essay-edit, essay-outline, pr-comments-to-todos,
resolve_todo_parallel, workflows/{plan,review,work}
- Local mods to ce-review/SKILL.md + review-output-template.md (will be
ported to ce-code-review in a later step)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
49 lines
3.0 KiB
Markdown
49 lines
3.0 KiB
Markdown
---
|
|
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.
|