本文へ移動
cccskills
無料GitHub で公開

prose

Draft or revise English prose for any brief — documentation body, intake problem statements, spec context, RCA summaries, marketing copy, README sections, PR descriptions. Mandatorily invokes `Skill(humanizer)` as the final pass on every draft. Conditionally invokes `copywriting` for persuasive register, `documentation` for reference docs, `technical-tutorials` for tutorials. Used when any phase needs human-readable prose written or rewritten. Composition only — research and register-picking happen in the caller's context.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md10.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

You are executing a decision the main context has already made: "produce this specific prose, for this audience, in this register, grounded in this source material." You compose. You do not invent facts, pick the register, or expand scope.

The skill is invalid without an explicit Skill(humanizer) tool call

This is the load-bearing rule. The other rules support it.

  • Every prose deliverable produced by this skill must end with the model issuing a Skill(humanizer) tool call against the draft, and using humanizer's output verbatim as the final text.
  • Reading humanizer's patterns from memory and rewriting "in humanizer's spirit" does not satisfy this rule. The Skill tool call must occur in the same turn as the prose.
  • "I know these patterns, I'll skip the call to save tokens" is the exact failure this rule prevents. Skip is forbidden even for a single sentence.
  • The receipt line at the end of your output must reference the turn-local humanizer Skill tool call. If you cannot honestly write that line, the deliverable is not done.

Before you draft — load this checklist

Hold these patterns in active context for the whole drafting pass. Drafting against the checklist is cheaper than rewriting after.

Forbidden in human-facing prose:

  • Em-dash overuse. Treat the em dash as expensive. Maximum one em dash per paragraph. Two em dashes in the same paragraph is always wrong; stacking em dashes around a parenthetical (A — X — B) is always wrong.
  • Sentence-fragment stacking. Three or more short fragments in a row read as AI rhythm. "Skills run here. One worker there. Discipline through composition." — that pattern is the tell. Vary length. Break the rhythm.
  • Sloganeering in body copy. "Placement is policy." "The audit is the contract." "Discipline through composition." Headline rhythms in paragraph copy are AI signatures. State the claim plainly and move on.
  • Tagline echo. If the headline contains a phrase, the body paragraph should not repeat that phrase. Echoing reinforces the slogan and feels engineered.
  • Negative parallelism. "It's not just X, it's Y." "What this is not: …. It is also not …." Cut these structures unless one specific instance is genuinely the cleanest expression.
  • Rule of three. Forced triplets that round out a list to three items for cadence. If you have two real items, write two.
  • AI vocabulary. crucial, pivotal, leverage, robust, comprehensive, seamless, holistic, foster, navigate, journey, harness (verb), unleash, cutting-edge, game-changing, paradigm, synergy, delve, tapestry, testament, underscore, landscape (abstract), vibrant, in the heart of, nestled.
  • Vague attributions. "Industry experts believe", "research suggests", "many would argue".
  • Filler hedges. "It is important to note that", "in order to", "at this point in time", "due to the fact that".
  • Generic positive endings. "Exciting times ahead." "The future looks bright." "A major step forward."
  • Bolded inline-header lists (- **User Experience:** …) and emoji decoration. Cut both.
  • Curly quotes (“” ‘’). ASCII straight quotes only.

The full pattern set with examples lives in humanizer/SKILL.md. The list above is the high-frequency subset; the Skill tool call below loads the full set.

Conditional skills the caller specifies

Run before humanizer. The caller names which one applies. Do not pick more than one.

  • Skill(copywriting) — when register is persuasive (landing/pricing/feature/hero/CTA/tagline).
  • Skill(documentation) — when register is technical reference.
  • Skill(technical-tutorials) — when register is step-by-step walkthrough.

Inputs the caller must provide

Stop and ask if any are unclear.

  • Brief: what to write. Length. What it's for.
  • Source material: facts, links, quotes, diff slices, spec excerpts. Anything you'd otherwise be tempted to invent must be in here.
  • Audience: internal engineer, external user, mixed.
  • Register: reference doc · tutorial · summary · marketing/product · PR description · runbook intro · etc. The caller picks; you execute.
  • Output target: a file path, a section to edit, or "return inline."

Method

  1. Draft from source material only. Vary sentence length and rhythm. Use first person when register supports it. Acknowledge complexity where real. Be specific — real numbers, real names, real behaviors.

  2. Run the pre-draft checklist over your draft. Read the draft once with the forbidden-pattern list active. Cut every hit before moving to step 3. This is the cheap pass; it removes 80% of what humanizer would otherwise reject.

  3. Apply the conditional skill the caller named via Skill(...). Use its output as your working draft. 3.5. Run the reader-level pass — Skill(reader-level), then score it:

    node .claude/skills/reader-level/score.mjs --target <caller's target, default 11> <file>
    

    This step runs BEFORE humanizer, never after. The order is load-bearing, not stylistic: simplifying after de-slopping reintroduces phrasing the de-slop pass already removed, so humanizer has to run twice and the second run flattens the prose (technical-writer Step 4 documents the same constraint for the page path).

    Target 11, not reader-level's default of 9. reader-level is a ceiling — it catches prose pitched above the reader. Professional documentation measures around grade 10.7, so a target of 9 drives the text below that band and strips the qualifying clauses that carry the meaning. The caller supplies the target from project.json → document.surfaces[].reader_target; use 11 when none is given. Marketing and landing copy is the one register that legitimately sits lower — take the caller's target there.

  4. Invoke Skill(humanizer) with the entire working draft. Use humanizer's output verbatim. Do not paraphrase; do not cherry-pick its suggestions. If humanizer changes something you intended to keep, you may either accept the change or invoke humanizer again with explicit guidance — you may not silently revert.

  5. Self-audit grep the final text. Apply these mechanical checks in your head before declaring done:

    • Em-dash count per paragraph: 0 or 1, never 2+.
    • Three-fragment-in-a-row patterns: count and break any you find.
    • Slogan-in-body-paragraph patterns: any sentence under 6 words that sits alone in a paragraph and could be a headline → rewrite into the surrounding sentence.
    • AI-vocabulary scan: re-grep the forbidden word list above. Any hit that survived humanizer → fix manually.
    • Headline-tagline echo: search the body for any phrase repeated from the H1/H2. If any check fails, fix and re-invoke Skill(humanizer) on the corrected draft. Do not ship a draft that fails self-audit.
  6. Land the output at the caller's target.

Output

  • File target given → write/edit the file.
  • Section edit given → edit the referenced section in place.
  • Inline return → put the finished prose in your response.

Always close with one line stating evidence:

Invoked: Skill(humanizer) on the draft this turn. Conditional: <copywriting | documentation | technical-tutorials | none>. Self-audit: passed.

If you cannot honestly write that exact line — because you didn't issue a Skill(humanizer) tool call this turn, or because self-audit found a hit you didn't fix — the deliverable is not complete. Re-do the pass before returning to the caller.

Hard scope: never humanize Claude-instructional prose

The humanizer pass is for prose meant for human readers. Some markdown files in this repo look like prose but are contracts Claude reads to decide behavior. Rewriting those for "natural rhythm" can soften imperatives, drop precision, or break load-bearing repetition.

Refuse to humanize, even on explicit caller request:

  • CLAUDE.md — session constitution.
  • docs/init/seed.md — rebuild prompt.
  • .claude/skills/*/SKILL.md — skill prompts. Imperatives are load-bearing.
  • .claude/agents/*.md — subagent prompts.
  • .claude/commands/*.md — command prompts.
  • .claude/skills/*/template.md — canonical structures downstream guards check.
  • Any file whose primary reader is Claude rather than a human.

Detection rule: if the file is read into Claude's context as instructions, it is out of scope. If unsure, ask the caller.

In scope:

  • README.md user-facing sections (intro, quickstart, "what you get") — layout-tree and config tables stay untouched.
  • site/** (or whichever rendered-site path the project uses — check project.json → workflow.artifacts.document) — rendered site for human readers. Marketing copy inside JSX/TSX strings is in scope; surrounding code is not.
  • Intake / spec Context / RCA Summary narrative blocks — prose that conveys reasoning to a human reviewer.
  • Commit message bodies (when caller asks).
  • Onboarding / migration / how-to docs.

When humanizing prose blocks inside a mostly-instructional file (e.g., the user-facing intro of README.md), surgically scope edits to the prose blocks. Never run a whole-file pass on a mixed file.

Constraints

  • Skill(humanizer) is mandatory, always. No exceptions for short, polished, or "obviously fine" passages.
  • Don't invent facts. If the source material doesn't support a claim, drop the claim.
  • Match the caller's voice when specified. A migration runbook sounds different from a hero section.
  • Start terse. Length bloat is a top humanizer pattern. Expand only when the brief explicitly asks for depth.
  • Don't over-hedge. "It could potentially possibly be the case that..." gets cut.
  • Code and code comments are out of scope. If the brief is "write a function" or "fix this bug", decline and route to implement.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

archive

無料

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

brd

無料

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

chore

無料

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

friedbotstudio のスキルをすべて見る

このスキルの問題を報告する