Skip to content
Productivity
Skill

/jev-prose

Check prose with Jev for narrow AI-writing patterns and revise from its feedback. Use when asked for Jev prose checks, AI-pattern cleanup, or an ongoing check-and-rewrite loop while writing sentences or paragraphs.

BOOST
From plugin
claude-code-tools
2k19 skills2 agents4 commands
Install
$ npx -y skills add pchalasani/claude-code-tools --skill jev-prose --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/jev-prose

Context preview

The summary Claude sees to decide when to auto-load this skill.

Check prose with Jev for narrow AI-writing patterns and revise from its feedback. Use when asked for Jev prose checks, AI-pattern cleanup, or an ongoing check-and-rewrite loop while writing sentences or paragraphs.

SKILL.md

jev-prose.SKILL.md
name: jev-prose
description: >-
  Check prose with Jev for narrow AI-writing patterns and revise from its
  feedback. Use when asked for Jev prose checks, AI-pattern cleanup, or an
  ongoing check-and-rewrite loop while writing sentences or paragraphs.

Jev prose check and revision

Use the `jev-prose` CLI to get independent, probabilistic editorial feedback. It checks patterns, not authorship. The writer makes the editorial decisions.

Setup

Run `jev-prose --help` to check availability. From a claude-code-tools checkout, install with `uv tool install ./packages/jev-prose`. The package carries the persistent question bank; no global skill source paths are needed at runtime. If no checkout or installed CLI is available, report that prerequisite rather than substituting self-review for a Jev result.

Default authentication is `CLOUDFLARE_ACCOUNT_ID` and `CLOUDFLARE_API_TOKEN`, or an existing sysone account configuration and Wrangler login. The backend is hosted Jev; the text and optional context are sent there. A configured alternative can be selected with `--backend typesafe` or `--url` and `--model`. Do not print secrets. An authentication or billing failure stops the loop.

Bounded loop

For each requested sentence, paragraph, or short section:

1. Save the exact draft in a temporary UTF-8 file. Keep the original and track the revision count (initial draft is attempt 0). Preserve the user's intended facts, names, numbers, citations, caveats, voice, and literal quotations. 2. Run `jev-prose check draft.txt --profile general > report.json`. For papers, specifications, and formal technical prose use `--profile formal`. Use `strict` only when requested; it adds personal editorial preferences. Optional `--audience`, `--voice`, and `--context context.txt` help avoid false positives. Keep these settings and the threshold fixed throughout the loop. 3. Read the report even when the command exits 1: that means findings, not a failed call. Require `ran: true`, `ok: true`, and `answered == expected`. Exit 2, missing output, malformed JSON, or an incomplete check stops the loop as an error; never label the draft clean in those cases. 4. If `status` is `clean`, stop. Otherwise inspect the flagged questions and guidance against the actual draft. A high probability is not a command to edit: dismiss an inapplicable flag with a brief reason. Jev provides no evidence spans; locate the passage yourself without pretending it supplied an exact quote. Combine overlapping findings into one targeted revision. 5. If no useful revision follows, stop and disclose the unresolved or dismissed flags. Otherwise revise only the affected prose, increment the attempt count, and return to step 2. Allow at most **three revisions and four checks total**. Stop earlier if text repeats or feedback cycles without useful improvement. Always check the last revision; never end on an unchecked rewrite.

Preserve substantive claims as well as individual facts. If addressing a finding would weaken, strengthen, remove, or otherwise change a conclusion, leave the claim intact and report the finding unresolved unless the user has authorized factual or argument changes. An unsupported claim is not permission to silently replace the author's intended claim with a different one.

Do not change thresholds to obtain a clean result. Do not add invented examples, anecdotes, feelings, measurements, sources, or stronger claims. Do not remove necessary qualifications or factual content to lower the number of flags. Check meaning against the original after each revision; undo any harmful edit.

A sentence check cannot establish document-level structure. If asked to use this while writing a document, check each completed paragraph and then the finished short section for repetition. Respect the 24,000-character input limit; do not silently truncate. This workflow runs when invoked; it installs no automatic hook.

Return the revised prose in the requested form. Briefly report the number of revisions, check outcome, and any unresolved/dismissed findings. If every finding was dismissed, say that explicitly instead of reporting a model-clean result. Keep detector reports out of published prose unless requested.

Read more
Ships withclaude-code-tools

Practical productivity tools for Claude Code, Codex-CLI, and similar CLI coding agents.

Get the whole plugin

Other skills on claude-code-tools.