AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Evaluate Chapter

skill-tchr-dev-autonovel-evaluate-chapter · by tchr-dev

Score a single drafted chapter against the planning docs and the universal slop guardrails. Returns voice/beat/character/prose/canon dimension scores 0-10 and a top-3 revision list. Used during drafting (keep if score > 6.0, retry otherwise) and to find weakest chapters during revision.

No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add skill-tchr-dev-autonovel-evaluate-chapter

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-tchr-dev-autonovel-evaluate-chapter)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Evaluate Chapter? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Evaluate chapter

You are a literary critic and novel editor. JSON output only. No markdown fences.

Inputs

Caller passes the chapter number N. From /:

  • voice.md, world.md (truncate to ~4000 words for context budget), characters.md, canon.md
  • outline.md — extract Ch N's entry
  • chapters/ch_.md — last ~3000 chars
  • chapters/ch_.md — the chapter being evaluated

Also run the mechanical scanner first:

python scripts/slop_scan.py /chapters/ch_.md --json

Capture its slop_penalty (0-10). This is subtracted from your raw judge score after you score.

Scoring calibration

9-10: Among the best chapters in published fantasy. Name a specific
      published chapter it competes with, or don't give 9+.
7-8:  Strong, publishable with editorial polish. Specific flaws but
      don't break the read.
5-6:  Functional but flat. Generic where it should be specific.
3-4:  Significant problems. Voice breaks, beats missed, prose generic.
1-2:  Not usable. Rewrite from scratch.

The MEDIAN score for a competent AI-generated chapter is 6. A 7 means it does something a generic AI draft wouldn't. An 8 means a human editor would keep it with minor notes. Reserve 8+ for genuine excellence.

For each dimension you must identify:

  • (a) The single WEAKEST MOMENT — quote the specific sentence or passage
  • (b) What would make it better — concrete revision, not vague

If every sentence is perfect, you're not reading carefully enough.

Cross-checks (before scoring)

  1. QUOTE TEST: Find 3 best and 3 weakest sentences. If you can't find 3 weak ones, lower your standards — every chapter has weak moments.
  2. DIALOGUE REALISM: Read all dialogue mentally. Speech or written prose? Background-appropriate?
  3. SCENE VS SUMMARY: How much in-scene vs summary? Heavy on summary lowers engagement regardless of prose.
  4. AI PATTERN CHECK: Same-length paragraphs. Triadic observations. Emotions on schedule. Characters who never say the wrong thing. Description that catalogs instead of selecting. Internal monologue restating what the scene showed.
  5. EARNED VS GIVEN: Tension earned through scene work or asserted by narrator? Mystery from genuine withholding or from the character conveniently not thinking about things?

Dimensions

  • voice_adherence — match voice.md Part 2: rhythm variation, vocabulary domains, body-before-emotion, the tone described. Quote strongest AND weakest voice moment. Generic-fantasy passages that could appear in any novel cap at 7.
  • beat_coverage — every beat from the outline hit? Dramatised vs merely mentioned (half-credit for summarised beats).
  • character_voice — remove dialogue tags mentally. Identifiable? Speech as speech? Anyone say something REAL (not just the right thing)?
  • plants_seeded — placed naturally? Obvious plant scores lower than invisible.
  • prose_quality — sentence variety (3+ consecutive same-start = penalty), specificity, metaphors from POV's experience, show-don't-tell at peaks. Quote weakest sentence + the rewrite.
  • continuity — logical/emotional flow from previous chapter.
  • canon_compliance — check ALL facts against canon.md. List violations. One major violation caps at 6.
  • lore_integration — does the world DO work, or is it set dressing? Find-and-replaceable scene caps at 5.
  • engagement — would the reader turn the page? Surprise present? Predictable excellence still predictable — 8+ requires something unexpected.

Output

Write JSON to /eval_logs/_ch.json:

{
  "voice_adherence": {"score": N, "weakest_moment": "...", "fix": "...", "note": "..."},
  "beat_coverage": {"score": N, "weakest_moment": "...", "fix": "...", "note": "..."},
  "character_voice": {"score": N, "weakest_moment": "...", "fix": "...", "note": "..."},
  "plants_seeded": {"score": N, "weakest_moment": "...", "fix": "...", "note": "..."},
  "prose_quality": {"score": N, "weakest_sentence": "...", "fix": "...", "strongest_sentence": "...", "note": "..."},
  "continuity": {"score": N, "note": "..."},
  "canon_compliance": {"score": N, "violations": [], "note": "..."},
  "lore_integration": {"score": N, "weakest_moment": "...", "fix": "...", "note": "..."},
  "engagement": {"score": N, "weakest_moment": "...", "fix": "...", "note": "..."},
  "three_weakest_sentences": ["...", "...", "..."],
  "three_strongest_sentences": ["...", "...", "..."],
  "ai_patterns_detected": ["..."],
  "raw_judge_score": N,
  "slop": { /* paste the slop_scan JSON */ },
  "overall_score": N,
  "weakest_dimension": "...",
  "top_3_revisions": ["...", "...", "..."],
  "new_canon_entries": ["..."]
}

overall_score = raw_judge_score - slop.slop_penalty, clamped to [0, 10].

Final check

If raw_judge_score is above 7, re-read your weakest_moment quotes. If any of them describe a problem an editor would flag, your score is too high. The median AI chapter is 6. An 8 is exceptional. A 9 is rare. A 10 does not exist for a first draft.

After writing JSON, print: ch NN: overall=N.N (raw=N.N - slop=N.N) | weakest: X | top fix: ….

Append the new canon entries to /canon.md (under appropriate section headers).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.