autowriter

Automated writing system. Extracts the "modify-evaluate-loop" paradigm from autoresearch's agent loop, fuses it with humanizer de-AI mechanisms into a closed loop: draft -> de-AI -> self-evaluate -> rewrite -> iterate. Built-in de-AI capability, no post-processing needed. For tech blogs, articles, paper explainers, AI/ML content. Trigger words: autowriter, auto-write, iterative writing, karpathy-style, de-AI writing.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "autowriter" with this command: npx skills add lifei68801/autowriter

autowriter — Automated Writing System

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.


Design Philosophy

Three core principles from autoresearch, mapped to writing:

autoresearch PrincipleWriting MappingMechanism
Automated loopwrite → humanize → evaluate → rewrite loopAgent Loop
Quantified evaluation6-dimension scoring function (with "human feel" dimension)Phase 2
Failure 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.


Agent Loop (Core Flow)

┌─────────────────────────────────────────────────┐
│  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  │
                                 └────────────────┘

--depth Knob

One parameter controls everything. No other knobs exposed.

depthWordsTechnical DetailIterationsUse Case
11500-2000Intuition-focused, minimal formulas2Quick takes, social posts
22500-3500Code + data, moderate formulas3Standard blog articles
34500-6000Deep technical + experimental data4Deep dives, paper explainers
48000+Full tech stack, includes derivations5Tutorials, surveys

Phase 0: Research

Facts first, then write. autoresearch reads train.py first — same principle.

Actions (user supplies all source material — this skill does not make network requests):

  1. Paper → Read the user-provided PDF/URL/clipboard text, extract core contribution, method, experimental data, limitations
  2. Tech topic → Read the user-provided references, notes, or local files, extract key facts
  3. Project → Read user-provided source/docs within the workspace, extract architecture, design decisions, key code

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.


Phase 1: Write / Rewrite

First round: Initial draft

  • Write directly based on research_facts.md, don't overthink structure
  • Write backwards: core discovery/code first, background later
  • Allow bad writing — a draft is raw material for evaluation
  • Built-in human feel constraints (see "Iron Rules"), but don't spend time polishing

Subsequent rounds: Targeted rewrite

  • Carry self-evaluation annotations from previous round
  • Only fix lowest-scoring dimensions, don't rewrite everything
  • Each round must show substantial change

Phase 1.5: De-AI (Humanize Pass)

This is the key step where humanizer mechanism is embedded into the loop. Not post-processing, but a mandatory checkpoint in every iteration.

Execution

Run AI pattern scan on Phase 1 output, check and rewrite each item:

Scan checklist (fast scan, not line-by-line):

  1. Filler phrases — Remove opening bromides and emphasis crutches

    • Kill: "It's worth noting," "As we all know," "Obviously," "Undoubtedly," "In this era of X"
    • Kill: "To achieve this goal" → "To do this"
    • Kill: Rhetorical questions ("So the question becomes...")
  2. Overemphasis — Check for exaggerated significance

    • Kill: "marks," "witnesses," "crucial," "indelible"
    • Kill: "Not only... but also...," "This isn't just... it's..."
  3. AI vocabulary blacklist — Replace with direct expression

    • "Furthermore" → delete or use direct connection
    • "Delve into" → "analyze" / "look at"
    • "Demonstrates" → "shows" / delete
    • "Dynamic," "rich," "profound" → specific description or delete
    • "Ever-evolving landscape" → specific context
  4. Structural patterns — Break formulas

    • Rule of three → use two or four items instead
    • Bold heading + colon list → blend into paragraphs
    • Dash reveal → use direct statement
    • Generic positive ending → specific next step or limitation
  5. Voice injection — Add human touch

    • Have opinions, don't just report facts
    • Admit uncertainty ("I'm not sure," "Honestly")
    • Mix sentence lengths (Short. Then a longer one that unfolds.)
    • Allow tangents and half-formed thoughts

Speed control

De-AI scan must be fast. Not line-by-line proofreading, 5 minutes for a pass:

  • Run blacklist keyword grep first (10 seconds)
  • Then fix structural issues (2 minutes)
  • Finally inject voice (2 minutes)

Don't pursue perfection. Phase 2's evaluation function catches residual AI traces — if it doesn't pass, next round will handle it.


Phase 2: Self-Evaluation

6-dimension quantitative evaluation function. Each dimension 0-100.

DimensionWeight90+ StandardBelow 50
Information density20%Nearly every sentence carries new infoHeavy padding, transitions, repetition
Code/data ratio20%Every core claim backed by code or dataPure prose, no verifiable evidence
Failure showcase15%Includes "what didn't work" and specific reasonsOnly shows success paths
Conciseness15%No paragraph removable without losing information30%+ content can be deleted
Actionability15%Reader can immediately verify after readingReader knows but can't act
Human feel15%Sounds like a real person, has opinions and emotionAI-scented, formulaic structure

Human feel dimension scoring

ScoreStandard
90+Unique voice and personal opinions; varied sentence length; zero AI blacklist hits; no rule-of-three / negative parallelism
70-89Mostly natural, occasional AI traces acceptable; has opinions but not sharp enough
50-69Formulaic structure, visible AI patterns; flat tone, no personality
Below 50Heavy AI vocabulary, rule-of-three, dash reveals, promotional language

Composite score formula

score = info_density*0.20 + code_data_ratio*0.20 + failure_showcase*0.15
      + conciseness*0.15 + actionability*0.15 + human_feel*0.15

Self-evaluation output format

## 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+)

Phase 3: Decision

score >= 80  →  KEEP, proceed to output
score < 80   →  DISCARD, enter next round with annotations

Early termination

  • Two consecutive rounds with score difference < 5 → stop, take the higher-scoring version
  • Max iterations reached → stop, take the highest-scoring version

Draft Log

Append after each evaluation, equivalent to autoresearch's results.tsv:

| 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.


Iron Rules

Enforced on every write/rewrite. These rules fuse Karpathy style with humanizer principles:

Five Iron Rules

  1. Show Don't Tell — Put code/data, not prose descriptions of effects
  2. One thing per paragraph — Delete any paragraph and information is lost
  3. Experiments first — No claims without code/data/search results backing them
  4. Record failures — Every article must include at least one "what didn't work"
  5. Zero filler — Kill all filler phrases, rhetorical questions, universal summary sentences

Language rules (built-in de-AI)

Use: First person, specific numbers, code snippets, colloquial tech language, admitting ignorance, mixed sentence lengths, opinionated reactions Don't use:

  • "This article will introduce," "As we all know," "It's worth noting," "In this era of X"
  • "Furthermore," "Delve into," "Demonstrates," "Dynamic," "Ever-evolving landscape"
  • Rhetorical questions ("Why does this matter?" → just say why)
  • Negative parallelism ("Not only... but also...")
  • Rule-of-three lists (use two or four items)
  • Bold heading + colon lists (blend into paragraphs)
  • Generic positive endings ("What's exciting is..." → specific next step)

Voice injection

  • Have opinions. "Honestly I think this direction is flawed" > "This direction has certain limitations"
  • Admit complexity. "I tried three approaches, first two bombed" > "After multiple experimental validations"
  • Allow tangents. Real thinking isn't linear.
  • Mixed rhythm. Short sentences. Then a longer one that unfolds slowly, with a turn, and lands.

Article Structure Selection

Automatically chosen based on --depth and content type, not forced into templates:

depth 1-2 (concise output)

  • Opening: one-sentence conclusion (result first)
  • Core: code/data + the single most important finding
  • Closing: limitation + one-sentence summary

depth 3-4 (deep output)

  • Opening: one-sentence conclusion
  • Background: why this matters (<=3 sentences)
  • Body: minimal runnable example → expand step by step → experimental data
  • Failure: what didn't work + why
  • Closing: code links + limitations

Structure is a result, not a constraint.


Skill Integration

  • agent-browser: If the user has already gathered research material via agent-browser, autowriter reads those results (workspace files only)
  • WeChat article style guide: For WeChat publishing format requirements

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.


Further Reading

  • autoresearch design philosophy → references/autoresearch-philosophy.md
  • Karpathy code style → writing style mapping → references/karpathy-code-style.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

Philosophical Three Questions

A structured decision framework for embodied navigation using Goal Tree, Current State Tree, and Future Tree analysis. Use when: making navigation decisions...

Registry SourceRecently Updated
Research

FN Portrait Toolkit

Financial report footnote extraction and analysis tool for Chinese A-share listed companies. Use when: (1) User wants to extract financial note data from ann...

Registry SourceRecently Updated
Research

SEO AGI (Multi-Agent SEO: Research → Gap Analysis → Write → Validate → Ship)

Write SEO pages that rank in Google AND get cited by LLMs (ChatGPT, Perplexity, Claude). Use when creating airport parking pages, local service pages, listic...

Registry SourceRecently Updated
Research

Knowledge Gaps

Track questions Hans failed to answer and flag missing knowledge

Registry SourceRecently Updated