https://github.com/0plus1/non-fiction-workbench
https://github.com/0plus1/non-fiction-workbench
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/0plus1/non-fiction-workbench
- Owner: 0plus1
- License: mit
- Created: 2026-04-18T04:46:26.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-18T05:25:11.000Z (2 months ago)
- Last Synced: 2026-04-18T07:25:45.726Z (2 months ago)
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Non-Fiction Workbench
LLM agent skills for long-form non-fiction writing and revision.
- `/non-fiction-workbench` for drafting, rewriting, and critiquing non-fiction against a brief, source set, and house style.
- `/anti-slop` for detecting and removing common LLM prose tells without changing factual meaning.
## Why This Exists
AI-assisted non-fiction usually fails in predictable ways:
- claims get stronger than the evidence
- structure drifts away from the brief
- paragraphs bloat with transitions, summary, and throat-clearing
- rewrites flatten voice and introduce generic "smart" phrasing
This repo gives agents a tighter workflow for essays, articles, reported features, newsletters, and book chapters. It does not replace authorship or reporting. It gives the model a disciplined way to read the draft, inspect the brief and source material, and revise without hallucinating or padding.
The anti-slop skill is informed by common LLM prose-tell catalogs, including the public taxonomy at [tropes.fyi](https://tropes.fyi/tropes-md), then distilled into rewrite-oriented rules for actual editorial use. It also includes a stricter parity checklist for detector-style passes, based on the rule inventory used in [Slop Cop](https://github.com/awnist/slop-cop).
## What's Included
```text
non-fiction-workbench/
├── README.md
├── LICENSE
└── skills/
├── non-fiction-workbench/
│ ├── SKILL.md
│ ├── agents/
│ │ └── openai.yaml
│ └── references/
│ └── project-shape.md
└── anti-slop/
├── SKILL.md
├── agents/
│ └── openai.yaml
└── references/
└── slop-patterns.md
```
## Install
Install the core writing skill:
```bash
npx skills add https://github.com/0plus1/non-fiction-workbench --skill non-fiction-workbench
```
Install the anti-slop skill:
```bash
npx skills add https://github.com/0plus1/non-fiction-workbench --skill anti-slop
```
## Usage
Invoke the core skill manually:
```text
/non-fiction-workbench write drafts/article.md
/non-fiction-workbench rewrite drafts/article.md
/non-fiction-workbench critique drafts/article.md
/non-fiction-workbench global-critique drafts/
/non-fiction-workbench global-rewrite drafts/
```
Invoke the anti-slop skill manually:
```text
/anti-slop scan drafts/article.md
/anti-slop revise drafts/article.md
/anti-slop global-scan drafts/
/anti-slop global-revise drafts/
```
## Modes
`non-fiction-workbench`
- `write`: draft or expand a non-fiction piece from the brief, outline, and source material
- `rewrite`: improve an existing draft while preserving thesis, facts, and structure
- `critique`: return editorial feedback on argument, evidence, structure, and prose
- `global-critique`: critique a whole draft directory as one manuscript
- `global-rewrite`: rewrite a whole draft directory while preserving argument and evidence
`anti-slop`
- `scan`: flag clear AI-style rhetoric and document-level repetition
- `revise`: rewrite to remove AI tells while preserving factual content and argument
- `global-scan`: scan a full draft directory for repeated AI-style patterns across the manuscript
- `global-revise`: remove slop across a full draft directory while preserving meaning
## Expected Project Shape
The skills are opinionated about project structure. They work best when your project looks roughly like this:
```text
your-book-or-essay/
├── brief/
│ ├── thesis.md
│ ├── audience.md
│ ├── constraints.md
│ └── outline.md
├── research/
│ ├── source-index.md
│ ├── notes/
│ └── excerpts/
├── style/
│ ├── voice.md
│ └── house-style.md
└── drafts/
├── chapter-1.md
├── essay-1.md
└── article-x.md
```
The core skill reads the target draft first, then consults the relevant brief, style, and source files. For manuscript-level work, it can read an entire `drafts/` directory in order. The anti-slop skill reads the target draft and applies a conservative rule set for common LLM prose patterns, including repeated rhetorical scaffolds that become obvious only at manuscript scale.
## How They Behave
Both skills are deliberately manual. They use `disable-model-invocation: true`.
They tell agents to:
- read the target draft first
- inspect the relevant brief, style, and source files before changing claims or structure
- preserve the author's thesis, evidence, and level of certainty
- avoid inventing facts, sources, examples, chronology, or causal claims
- cut generic LLM phrasing, padding, and rhetorical scaffolding
- keep the human in charge of judgment, reporting, and final wording
For `write` and `rewrite`, the core skill is intended to revise the target draft directly when appropriate. For `critique` and `scan`, it should usually return notes unless you explicitly ask it to write those notes into project files.
## Philosophy
This repo is not an autopilot content generator.
The author still owns:
- thesis
- reporting
- structure
- taste
- final language
The agents' role here is narrower:
- reduce factual drift
- keep the brief and source material in view
- make revision more disciplined
- remove generic AI prose habits before publication