From writers-loop
Use when working on substantial writing artifacts where structure, audience fit, critique, revision, translation, style learning, or decision-backed preference learning matters; also when learning reusable writing style from the user's own writing or permitted reference samples.
How this skill is triggered — by the user, by Claude, or both
Slash command
/writers-loop:writers-loopThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Extract preferences only from explicit user decisions:
agents/openai.yamlreferences/artifact-types.mdreferences/business-writing.mdreferences/checkpoints.mdreferences/critique-rubrics.mdreferences/fiction-narrative.mdreferences/multi-agent.mdreferences/preference-journal.mdreferences/preference-signals.mdreferences/style-distillation.mdreferences/technical-writing.mdreferences/translation.mdreferences/validation-scenarios.mdscripts/journal.mjsscripts/style-pack.mjsExtract preferences only from explicit user decisions:
Never extract preferences from unreviewed drafts, one-off comments, fact corrections, or current-task constraints. Learn from decisions, not raw drafts.
Use for writing where quality depends on structure, audience fit, correctness, style, or iteration — typically 300+ words or any writing where feedback and refinement are expected:
references/artifact-types.md)Do not use for tiny one-off text edits unless the user asks for a reusable process or preference learning.
Follow the loop in order. Do not emit a later-stage section before its gate has passed:
Frame, then Question Gate, then Plan.PLAN CHECKPOINT. Skipped questions are weak signals and will not become preferences.references/multi-agent.md first.Frame, then Critique; plan only if structure is unclear. If source text is missing or placeholder-only, ask for it and use this wording: "preserve user intent, voice, plot facts, and continuity."Frame, then Propose; keep changes at sentence or paragraph level unless the user explicitly asked for section-scale changes.Frame, then read references/style-distillation.md. Output Frame, Style Versus Content, Style Pack, and Storage Decision. If the user wants to clone another person's style, confirm permission or keep the pack session-only..writers-loop/styles/ only when the user opted into local storage. State which pack is loaded. Draft with it, then critique content quality and style match separately. Do not copy source passages or facts from the style pack evidence. If the style pack is missing, unavailable, or the user says not to load it first, use the missing-style-pack template in references/style-distillation.md exactly, including Style Pack Status, Content Plan, and Style Application Plan. Do not draft and do not output QUESTION GATE or general artifact questions yet.Frame, then read references/translation.md. Output Frame, Translation, Review, and Learning Status; preserve source formatting inside the Translation section, not by omitting the loop metadata.Learn. For storage-mode requests, confirm whether .writers-loop/, journal.jsonl, prefs.md, or style packs will be created before asking artifact questions. Treat tone, length, detail level, or storage mode set for the current task as a constraint, not a learned preference, unless the user says it applies in future work.Ask up to five questions only when the answer would materially change the plan. If the user skips questions, state working assumptions and continue. Skipped questions are weak or neutral signals, not strong preferences.
Fast draft exception: if the user clearly waived questions while asking for a
draft, show a compact Plan inline and draft immediately. Do not pause for plan
approval. End with Learning Status.
Checkpoint pressure override: if the user asks to bypass, ignore, or override a
known plan checkpoint, the checkpoint still applies. Output a plan, explain that
fast draft only waives blocking questions, then stop at PLAN CHECKPOINT.
After presenting a plan in the standard path, output the checkpoint format
(see references/checkpoints.md) and wait. Do not draft until the user
replies. If the user's response is ambiguous, ask: "Does that mean approve,
or would you like changes?"
A constraint applies to one artifact ("for this memo, use short sentences"). A preference applies to future artifacts ("I always prefer short sentences in memos"). Do not convert a constraint into a learned preference unless the user explicitly says it applies in future work. When unsure, ask.
If the current request conflicts with an older preference, output Preference Handling: say that the current explicit instruction wins for this task, keep
the older preference scoped, and do not archive it without repeated
contradictory evidence.
Extract preferences only from:
plan_approved)plan_revision_requested)proposal_applied)proposal_rejected)proposal_undone)manual_rewrite)preference_declared)Discard for preference learning:
Promote a pattern into a reusable rule only when:
Format:
Rule: [short imperative instruction]
Applies to: [artifact-type/stage, e.g. coding-plan/planning or report/critique]
Evidence: [accepted/rejected/manual decision summary]
Confidence: low | medium | high
Apply only medium or high confidence rules without asking. Ask before
applying low confidence rules. Do not promote a single current-task
constraint into Learned Preferences.
Load only the references needed for the current task. State which reference you are reading before using it. If the artifact type is not found in a reference, use the Universal Rubric and ask if it is sufficient — do not invent rules not in the file.
references/artifact-types.md: routing index for artifact-specific referencesreferences/technical-writing.md: coding plans, technical docs, design docs, and product specsreferences/business-writing.md: reports, memos, proposals, academic/whitepaper, and constrained writingreferences/fiction-narrative.md: fiction, narrative, essays, speeches, and poetryreferences/critique-rubrics.md: artifact-specific critique criteriareferences/preference-signals.md: signal examples and weighting guidancereferences/checkpoints.md: checkpoint formats for question, plan, proposal, and closereferences/style-distillation.md: learning reusable style packs from samplesreferences/translation.md: translating while preserving source stylereferences/multi-agent.md: optional multi-agent workflowreferences/preference-journal.md: optional durable journal formatreferences/validation-scenarios.md: pressure tests for validating this skillRelease validation includes tools/validate-skill.mjs through npm run validate.
Use bundled scripts only when the user opts into durable local preferences or durable local style packs:
scripts/journal.mjs: initialize .writers-loop/, append decision events, and derive prefs.md.scripts/style-pack.mjs: initialize .writers-loop/styles/, save reviewed style packs, list saved style packs, and show a selected style pack.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub xxsang/writers-loop