autoresearch's core is an agent loop: modify code → run → evaluate → keep/discard → loop.
autowriter maps this paradigm to writing, embedding "de-AI" into the loop itself — not post-processing after writing, but writing, purifying, evaluating, rewriting in every single iteration.
Three core principles from autoresearch, mapped to writing:
autoresearch PrincipleWriting MappingMechanismAutomated loopwrite → humanize → evaluate → rewrite loopAgent LoopQuantified evaluation6-dimension scoring function (with "human feel" dimension)Phase 2Failure transparencydraft log records every discarded versionDraft Log
Plus humanizer's core insight: De-AI is not post-processing polish, it's part of writing quality. The evaluation function detects AI patterns directly — rewrite if not passing, rewrite again, until clean.
text
┌─────────────────────────────────────────────────┐
│ INPUT: topic/paper/project + --depth N │
│ (N=1 quick, N=2 standard, N=3 deep, N=4 survey) │
└──────────────────────┬──────────────────────────┘
▼
┌────────────────┐
│ Phase 0: Research│ Read user-provided sources
└───────┬────────┘
▼
┌──── Loop start (max N rounds) ───┐
│ │
│ ┌────────────────────┐ │
│ │ Phase 1: Write │ │
│ │ Generate full draft│ │
│ │ (built-in human │ │
│ │ feel constraints) │ │
│ └────────┬───────────┘ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ Phase 1.5: De-AI │ │
│ │ Scan + rewrite │ │
│ │ AI patterns │ │
│ └────────┬───────────┘ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ Phase 2: Evaluate │ │
│ │ 6-dim quantitative │ │
│ │ scoring │ │
│ └────────┬───────────┘ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ Phase 3: Decide │ │
│ │ score>=80 → keep │──────┐ │
│ │ score<80 → rewrite │ │ │
│ │ with annotations │ │ │
│ └────────────────────┘ │ │
│ │ │
└───────────────────────────────┼───┘
▼
┌────────────────┐
│ Output final │
│ article + log │
└────────────────┘
One parameter controls everything. No other knobs exposed.
depthWordsTechnical DetailIterationsUse Case11500-2000Intuition-focused, minimal formulas2Quick takes, social posts22500-3500Code + data, moderate formulas3Standard blog articles34500-6000Deep technical + experimental data4Deep dives, paper explainers48000+Full tech stack, includes derivations5Tutorials, surveys
Facts first, then write. autoresearch reads train.py first — same principle.
Actions (user supplies all source material — this skill does not make network requests):
Output: research_facts.md in the current workspace directory — structured fact checklist (not an outline, not "what goes in paragraph 1")
Important: If the user has not provided source material, ask them to supply it. Do not search the web or access files outside the workspace.
research_facts.md, don't overthink structureThis is the key step where humanizer mechanism is embedded into the loop. Not post-processing, but a mandatory checkpoint in every iteration.
Run AI pattern scan on Phase 1 output, check and rewrite each item:
Scan checklist (fast scan, not line-by-line):
De-AI scan must be fast. Not line-by-line proofreading, 5 minutes for a pass:
Don't pursue perfection. Phase 2's evaluation function catches residual AI traces — if it doesn't pass, next round will handle it.
6-dimension quantitative evaluation function. Each dimension 0-100.
DimensionWeight90+ StandardBelow 50Information density20%Nearly every sentence carries new infoHeavy padding, transitions, repetitionCode/data ratio20%Every core claim backed by code or dataPure prose, no verifiable evidenceFailure showcase15%Includes "what didn't work" and specific reasonsOnly shows success pathsConciseness15%No paragraph removable without losing information30%+ content can be deletedActionability15%Reader can immediately verify after readingReader knows but can't actHuman feel15%Sounds like a real person, has opinions and emotionAI-scented, formulaic structure
ScoreStandard90+Unique voice and personal opinions; varied sentence length; zero AI blacklist hits; no rule-of-three / negative parallelism70-89Mostly natural, occasional AI traces acceptable; has opinions but not sharp enough50-69Formulaic structure, visible AI patterns; flat tone, no personalityBelow 50Heavy AI vocabulary, rule-of-three, dash reveals, promotional language
text
score = info_density*0.20 + code_data_ratio*0.20 + failure_showcase*0.15
+ conciseness*0.15 + actionability*0.15 + human_feel*0.15
markdown
## Self-Eval - Round N
| Dimension | Score | Notes |
|-----------|-------|-------|
| Information density | 75 | Paragraphs 3-4 too much setup |
| Code/data ratio | 60 | "Significant improvement" has no data |
| Failure showcase | 40 | Missing failed experiments |
| Conciseness | 70 | First two paragraphs removable |
| Actionability | 85 | Code examples clear |
| Human feel | 55 | "Furthermore" x3, rule-of-three x2, cliched ending |
**Composite: 64/100**
**Decision: REWRITE**
**Focus areas:**
1. Add failed experiments (failure 40 -> 70+)
2. Replace "significantly improved" with data (code/data 60 -> 75+)
3. Rewrite lowest human-feel paragraphs: kill "furthermore", change rule-of-three, new ending (human 55 -> 75+)
text
score >= 80 → KEEP, proceed to output
score < 80 → DISCARD, enter next round with annotations
Append after each evaluation, equivalent to autoresearch's results.tsv:
text
| Round | Score | Human | Decision | Main Issues | Fix Actions |
|-------|-------|-------|----------|-------------|-------------|
| 1 | 52 | 40 | DISCARD | Heavy AI, no data | De-AI, add experiments |
| 2 | 71 | 68 | DISCARD | Rule-of-three remnant, no failures | Restructure, add detours |
| 3 | 83 | 80 | KEEP | - | - |
Draft log stays at the end of the article or as an attachment. Fully transparent, no secret recipe.
Storage limit: Only retain the current draft and the final draft_log summary. Discarded intermediate drafts are NOT saved to disk — only their scores and fix actions are recorded in the log table. This prevents accumulation of potentially sensitive content.
Enforced on every write/rewrite. These rules fuse Karpathy style with humanizer principles:
Use: First person, specific numbers, code snippets, colloquial tech language, admitting ignorance, mixed sentence lengths, opinionated reactions Don't use:
Automatically chosen based on --depth and content type, not forced into templates:
Structure is a result, not a constraint.
No humanizer-zh post-processing needed. De-AI is built-in. This skill does not initiate network requests. All source material must be user-provided.
references/autoresearch-philosophy.mdreferences/karpathy-code-style.md