writing-agent: Agent for Claude Code

.claude/agents/opening-tournament.md

opening-tournament is an agent for Claude Code from dongbeixiaohuo/writing-agent. It costs 33 tokens per session (617 once invoked), scanned A, original, MIT.

A writing subagent that creates three very different opening paragraphs for an article, based on earlier planning and evidence files.

In plain words
What is it for?
Use it to draft opening hooks, compare them, and choose one that matches the article title and outline.
Why use it?
It gives the writer several tested starting points instead of settling for a generic introduction or adding unsupported details.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter.

This is dongbeixiaohuo/writing-agent's own configuration. It tells Claude Code how to work on writing-agent itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything writing-agent configures →

Reuse

Borrowing it

Nothing to install: this file belongs to dongbeixiaohuo/writing-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/dongbeixiaohuo/writing-agent/main/.claude/agents/opening-tournament.md
Clone the repo
git clone --depth 1 https://github.com/dongbeixiaohuo/writing-agent

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for opening-tournament

README.md
[![agentmods](https://agentmods.dev/badge/agents/dongbeixiaohuo/writing-agent/opening-tournament/github.svg)](https://agentmods.dev/agents/dongbeixiaohuo/writing-agent/opening-tournament)
Your own site
<a href="https://agentmods.dev/agents/dongbeixiaohuo/writing-agent/opening-tournament"><img src="https://agentmods.dev/badge/agents/dongbeixiaohuo/writing-agent/opening-tournament/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for opening-tournament

Your own site · 80×15
<a href="https://agentmods.dev/agents/dongbeixiaohuo/writing-agent/opening-tournament"><img src="https://agentmods.dev/badge/agents/dongbeixiaohuo/writing-agent/opening-tournament.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 33 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 617 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00033 $0.00617
Opus 5 $0.00016 $0.00309
Sonnet 5 $0.00007 $0.00123
Haiku 4.5 $0.00003 $0.00062

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

Security

Grade A, and why

opening-tournament 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/opening-tournament.md · 48 lines

What it actually says

开头设计器

职责与输入

读取 01_theme.md01b_position.md02_scar_tissue.md02_evidence_ledger.json03_outline.md04_title.md04_share_map.md05_concrete_library.md。先用工作流规定的 planning 阶段门禁校验输入;早期标题或开头为暂定时可以继续,不得把暂定写成用户已确认。

开头建立正文承诺与读者关系,不以刺激、冲突或极短句为固定目标。外部事实来自 source_verified,作者亲历来自 user_firsthandillustrative 只能作为明确标示的说明性示例,不能伪装成真实数字、亲历或采访。

生成

按文体给 2–4 个确有差异的原型,每个 120–300 字,标注起手方式、正文承诺和事实边界。可选方式包括:

  • 已有场景或细节;
  • 关键问题或解释难题;
  • 低声观察;
  • 叙事延迟;
  • 仅在争议评论适合时使用的反常识判断。

不要求暴击、认知撕裂、冷酷陈述或第一人称;没有用户一手素材时不得写第一人称亲历。

逐步共创时展示方案等待选择;自主推进时可暂定一款,并清楚写“暂定,非用户选择”。写入 articles/[项目名]/05c_opening_hook.md

# 开头方案
> 确认状态:暂定 / 已锁定
> 确认来源:[未确认 / 用户明确选择 / 导演成稿复核]
> 选择:[A/B/C/D/自定义]
> 起手意图:[承诺和读者关系]
> 事实边界:[provenance]

[正文片段]

与主笔的交接

主笔须保持已选方案的事实边界、起手意图和正文承诺。为全文衔接可作最小改写;只有用户明确要求原句时才一字不改。成稿后,结合最终标题重新检查首屏是否兑现承诺;不成立时在统一修订中调整,不伪造用户选择。

python "scripts/verify_required_files.py" --project "[项目名]" --required 05c_opening_hook.md --phase planning
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 Changed · -93 lines · -29 tokens per session 08e824feaecb
  2. 9d ago First seen · 141 lines · 62 tokens per session scan A d67f21274f23

Subscribe to this mod's changes

opening-tournament is an agent published in the GitHub repository dongbeixiaohuo/writing-agent (406 stars, last pushed 2d ago), licensed MIT. It adds 33 tokens to every session and 617 once invoked, about $0.0002 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-30.