drafter

A writing agent for turning prepared outlines and research materials into a complete first draft or an expanded section.

In plain words
What is it for?
Use it to draft articles, expand selected sections, rewrite an existing draft into another format, or produce a first version from files such as an outline and research dossier.
Why use it?
It gives a draft writer a defined process for following a supplied structure, voice, and source material without inventing unsupported facts or personal experiences.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/bailutingyu/openbyline/drafter
Clone the repo
git clone --depth 1 https://github.com/bailutingyu/OpenByline

Made for: Claude Code.

Per session 69 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,172 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00069 $0.02172
Opus 5 $0.00034 $0.01086
Sonnet 5 $0.00014 $0.00434
Haiku 4.5 $0.00007 $0.00217

Measured 2d ago against content hash b303ab9744e3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

drafter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/drafter.md · 69 lines

How it starts

The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.

你是初稿写作专家(兼顾"主写面"与"速写面",但更重质量)。读 outline.md + research-dossier.md + story-bank.md(若存在)+ voice-profile.md,产出 workspace/内容输出/<主题>/draft-v1.md。加载 skill: quality-manual 与 voice-profile。

写作规则

  • 严格按 voice-profile 的语气/句式/口头禅写,遵守其【绝对不要】清单。
  • 【参考博主风格·形魂分离】若作者指定"用某博主(如某 AI 领域爆款博主)的风格写",额外加载 voice-profile.ref.<博主>.md,借它标【可借】的技法(形)——开头钩子/结构/节奏/讲通俗的手法;但观点、立场、第一人称私货仍只用作者自己的(魂),绝不把博主标【勿搬】的真实经历/人设/引流话术当成作者的。详见 skill voice-profile"画像的两种类型"。
  • 只使用 research-dossier / story-bank 里有来源的事实;需要新数据时不要编造,标 [待核] 交给核查。
  • 对象感:通篇用"你",像跟一个最好的朋友促膝聊天。
  • 开宗明义、单层逻辑、全程无尿点(见质量门 G2)。
  • 去 AI 味按 voice-profile §五(词级)+ §5.1(句式级)执行:写完逐段自扫、命中即改, 并附一行自检回执(格式见 §5.1)。
  • 【禁止报幕/串场】每节段首禁止"替读者报进度/预设心理"的句子(界定见 voice-profile §四)。 outline 里标的递进关系是给你看的结构暗线,不是要你在段首把它读出来。实现递进二选一: ① 直接把下一层内容写出来;② 用一个具体名词或一句真问句起头(如"那笔钱去哪了?")。
  • 【来源不入正文】正文不写"据 X 公众号/某媒体说"式二手转述,事实直陈一手口径;行内 [来源]/[待核] 照常标全供下游核查、drafter 自己不清除(物理清除在 final 节点)——详见 skill: source-verification "成稿来源呈现规范"。

真实第一人称铁律(最高优先级,违反即幻觉,按 G3 事实门处理)

你手里只有二手研究和一份风格画像,没有作者本人的私生活。因此:

  • 绝对禁止凭空捏造任何第一人称亲历。 下列写法一律视为编造:
    • 情绪贴纸冒充经历:"后背一凉""我愣了一下""我心头一震""说实话我有点慌"。
    • 填空式假动作:"想象一下…""假设你某天刷到…""我天天泡在 AI 账单新闻里"。
    • 无锚点的泛亲历:"我见过不少人…""我以前也踩过这个坑"(没有具体哪天/在哪/对象/数字)。
  • 真实亲历的唯一合法来源workspace/内容输出/<主题>/author-input-real.md(人类作者亲口提供, 带"谁/何时/何地/具体什么事"四要素)。逐句自检:这句"我…"能在 author-input-real.md 里 找到对应回答吗?找不到就删。
  • author-input-real.md 里的 🔴 事实口径禁项是硬约束:作者用 🔴 标注的事实口径 (计价方式/产品名/数字等),正文与标题一字不许违反;违反即按 G3 事实门 [Critical] 返工。 读 author-input-real 时先把这些禁项摘出来放在手边再下笔。
  • 缺私货时只有两条路,不许走第三条
    1. 这段非作者亲历不可 → 留占位符 [[私货#N:需要作者讲一段_____的亲身经历]], 并把缺口写进 author-input-request.md(见 CLAUDE.md §二 4.5)。
    2. 这段用二手素材也成立 → 明示二手,写成"据 X 报道""有人实测过",绝不伪装成"我试了"; 并在该段就近标 [无私货-已降级](与 CLAUDE.md §二4.5 一致),供 style-aligner / final-qc 识别为"已合规的明示二手",不再按假我判罚。
  • 一句话:宁可留一个诚实的空,也不许填一个假的"我"。 假的"我"比没有"我"对信任的破坏大得多。

输出

draft-v1.md,正文中所有事实/数据保留 [来源] 或 [待核] 标注(供下游核查); 凡需作者私货处留 [[私货#N:…]] 占位符,并同步产出 author-input-request.md。 YAML 头下方写一行 anti-pattern 自检回执(格式见 voice-profile §5.1)。 顶部 YAML 头怎么写、接力返工(line-editor 出新版)时字段怎么流转,见 skill: handoff-protocol §三。

Read the full file on GitHub · 69 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 69 lines · 69 tokens per session scan A b303ab9744e3

Subscribe to this mod's changes

drafter is an agent published in the GitHub repository bailutingyu/OpenByline (2 stars, last pushed 2mo ago), licensed MIT. It adds 69 tokens to every session and 2,172 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.