Skip to content
cccskills
FreePublished on GitHub

editorial-swarm

技術記事の並列レビュー Council。anti-ai-slop / fact-checker / narrative-critic / reader-advocate を並列 spawn、severity 付き findings を最大3ラウンドで収束。Zenn などのドラフト完成後に使う。

「記事レビュー」「editorial swarm」「編集会議」「記事推敲」「記事添削」で発動。

The English summary is being prepared. Showing the original description.

Works withZenn
See how to install

Files included (1)

  • SKILL.md9.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Editorial Swarm - 並列編集レビュー Council

4 人のレビュアー(anti-ai-slop, fact-checker, narrative-critic, reader-advocate)が peer-to-peer でドラフトをレビューし、severity 付きの提案を集約する。discovery-council の「文章版」。

共通プロトコル: ハンドオフの 4 原則(path 渡し優先 / 長文上・指示下 / coverage-first / quote-first)は facets/policies/plan-handoff.md を参照。各 reviewer prompt は閾値カットなしで全件返し、自動 apply は集約側 (Step 4) のみが判断する。

対象記事

$ARGUMENTS

いつ使う / いつ使わない

使う使わない
ドラフトが概ね完成(v0.9 以上)、最終推敲したい構成から考える → まず手で書く
Zenn / note / ブログ用の技術記事社内メモ・議事録(レビューコスト過剰)
対象読者が明確読者不明 → まず /deep-interview 等で固める
3 ラウンド程度で収束を期待できる品質大規模書き直し → 手で構造から見直す

Step 1: 前提確認

AskUserQuestion で以下を一括確認:

  1. 対象読者プロファイル(未指定なら必須): 「Claude Code 経験者」「Web エンジニア一般」「非エンジニア」等
  2. 最大ラウンド数: デフォルト 3。2 にしたいか
  3. 自動 apply 範囲: デフォルト「low + 非競合のみ」。widen したいか、手動のみか

対象記事が存在しない場合は AskUserQuestion で path を再確認する。

作業ディレクトリ準備

mkdir -p .editorial

Step 2: Team 作成 + 4 エージェント並列 spawn

TeamDelete:
  team_name: "editorial"  # エラーが出なければスキップ

TeamCreate:
  team_name: "editorial"
  description: "Editorial Swarm: 記事の並列レビュー"

4 つのレビュアーを同時 spawn。各エージェントは facets/policies/council-output-schema.md の 共通 Council JSON schema に従う JSON オブジェクト 1 つを返す:

{
  "reviewer": "anti-ai-slop",
  "schema_version": "1",
  "summary": "1-2 文の総評",
  "findings": [
    {
      "id": "F001",
      "category": "ai-slop",
      "line_range": "12-15",
      "issue": "問題の要約",
      "fix": "具体的な修正案(diff 風でなくテキスト置換可能な形)",
      "confidence": 85,
      "severity": "high",
      "quotes": ["問題箇所の引用 30 文字程度"]
    }
  ],
  "memo": "free-form notes(任意)"
}

reviewer 別の category 値: ai-slop / fact / narrative / reader-fit。 file フィールド: 記事ファイルが 1 つなので各 finding では省略可(reviewer ごとに memo で記事 path を記録)。

レビュアー別の prompt テンプレート

4 reviewer(anti-ai-slop / fact-checker / narrative-critic / reader-advocate)の prompt テンプレートは facets/references/editorial-swarm-prompts.md に集約(段階的開示)。 Read してそのまま各 agent に渡す($ARTICLE_PATH / $READER_PROFILE を実値に置換)。各 prompt は 30 行以内・出力は上記 Council JSON schema 準拠。

並列 spawn

4 エージェントを 1 メッセージ内で同時 spawn。Agent tool の subagent_type: general-purpose でよい。各 agent の output (Council JSON schema 準拠の 1 オブジェクト) は .editorial/round-N/reviewer-X.json に保存する。

Step 3: Findings 集約(Council JSON schema 入力)

各 reviewer の JSON を読み込み、schema_version == "1" を確認した上で findings[] 配列を flatten し、統合テーブル を作成:

#reviewercategorylineseverityconfidenceissuefixquotes
1anti-ai-slopai-slop12-15high88.........

衝突検出: 同じ line_range を複数 reviewer が指摘している場合は「conflict」フラグを立てる(自動 apply しない)。

集約結果を .editorial/round-N/findings.md に保存する(good_points と memo も併記)。

schema 違反時のフォールバック

reviewer が schema 違反の出力を返した場合は、JSON パースを再実行依頼(最大 1 回)。それでも失敗なら その reviewer のラウンドはスキップ し、.editorial/round-N/skipped.md に [NOTE] schema 違反: <reviewer> を記録。他 reviewer 分の findings はそのまま処理する(1 reviewer 失敗で全体停止しない)。

Step 4: Low severity を自動 apply(confidence 重み付け)

Step 1 で「自動 apply: low + 非競合のみ」が選ばれた場合:

  1. severity == "low" かつ conflict フラグなしの findings を抽出
  2. confidence >= 70 のもののみ自動 apply 対象(confidence 低い low はノイズの可能性が高いので保留)
  3. Edit ツールで順次 apply(line_range の大きいほうから apply して位置ずれを回避)
  4. apply できなかったもの・confidence 不足で保留したものは .editorial/round-N/skipped.md に記録

Step 5: Medium/High + 保留 low を AskUserQuestion で一括承認

以下を AskUserQuestion で提示:

  • severity in ("medium", "high") の findings
  • conflict ありの findings
  • Step 4 で保留された low (confidence < 70)

1 件ずつではなく 一度に最大 20 件を checkboxes で 提示(API 制約に応じて分割)。各選択肢には [severity/confidence] reviewer: issue の形で表示し、ユーザーが優先度判断しやすくする。

ユーザーが承認したものだけ Edit で apply。却下したものは .editorial/round-N/rejected.md に理由ごと記録(次ラウンドで重複提案を回避する材料)。

Step 6: diff 保存 + 収束判定

# 現在の記事と originals の diff を保存
jj diff "$ARTICLE_PATH" > .editorial/round-N/applied.diff 2>/dev/null || \
  git diff "$ARTICLE_PATH" > .editorial/round-N/applied.diff 2>/dev/null

収束判定:

  • 全 high finding が apply または却下されている → クローズ
  • high が残っている かつ round < MAX_ROUNDS → Step 2 に戻る(再レビュー)
  • MAX_ROUNDS に到達 → クローズ(残 issue をサマリで明示)

再ラウンド時は rejected.md を各 reviewer の prompt に「これは既に却下された提案なので重複して出さない」として渡す。

Step 7: 最終サマリ

## Editorial Swarm 結果(N ラウンド)

### 確定 apply
- [R1] anti-ai-slop: 〜 (line 12-15)
- [R1] fact-checker: 〜 (line 80)

### ユーザー却下
- [R1] narrative-critic: 〜 (理由: 意図的な構成)

### 未解決(MAX_ROUNDS 到達)
- [R3] fact-checker: 〜(要手動検証)

### 成果物
- 記事: $ARTICLE_PATH
- 各ラウンドの diff: .editorial/round-*/applied.diff
- findings 履歴: .editorial/round-*/findings.md

.editorial/summary.md としても書き出す。

Gotchas

  • 個別 reviewer prompt を肥大化させない: 4 並列で context を食い合うので、各 prompt は 30 行以内に抑える。詳しい基準は facets/references/editorial-swarm-prompts.md に集約
  • 自動 apply を widen しない: severity=low 以外を自動適用すると意図しない書き換えが起きる。ユーザーが明示的に widen 指示したときのみ
  • WebFetch の並列度: fact-checker が多数 URL を触ると遅くなる。prompt で「確信できない 5 件以内に絞って検証」と制限する
  • Zenn の front matter(title / emoji / tags)は触らない: line 1-10 あたりは reviewer から除外対象と明記する
  • 記事全体書き換えが必要な指摘が出たら収束させない: editorial-swarm は「推敲」が責務。構造書き換えは手で戻して再度呼ぶ
  • conflict 処理: 同一行に複数 reviewer の異なる fix が来たら AskUserQuestion で必ず人間判断。自動マージ禁止
  • schema 違反 reviewer のスキップ: Council JSON schema 違反 (旧形式の配列直返し / 前置き混入) は再実行 1 回 → それでも違反ならその reviewer をラウンドからスキップ。1 reviewer 失敗で全体停止しない

Step 1 の前提確認から開始してください。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

backlog(atoms/pipeline/outputs)と skill ヘルス(usage/duration/unused)を統合分析し 1 レポートで提示する。kawai 氏型 analytics ループの起点。「次に何やる?」「atom 整理」「放置案件」「stale」「振り返り」「retro」「skill 使用統計」「unused skill」「atom-suggest」で発動。

The English summary is being prepared. Showing the original description.

kok1eee/o-m-cc6Updated Jun 9, 2026

要件が曖昧なとき、ソクラテス式に1問ずつ質問して要件を掘り下げる。十分に明確になったら discovery-council にハンドオフ。「要件が曖昧」「何を作ればいいか」「掘り下げて」「インタビューして」で発動。※ 完成した plan/design を詰問するなら grill、非対話で一括批判するなら critic。

The English summary is being prepared. Showing the original description.

kok1eee/o-m-cc6Updated Jun 9, 2026

design

Free

designer エージェントによるアーキテクチャ設計。requirements.md を基に design.md を作成。「設計して」「アーキテクチャ設計して」「アーキテクチャを考えて」「設計書を作って」で発動。

The English summary is being prepared. Showing the original description.

kok1eee/o-m-cc6Updated Jun 9, 2026

3エージェント(researcher, analyst, scout)による並列要件分析 Council。peer-to-peer で相互検証し requirements.md を確定。「要件を整理して」「要件定義して」「現状分析して」「要件をまとめて」で発動。

The English summary is being prepared. Showing the original description.

kok1eee/o-m-cc6Updated Jun 9, 2026

evolve

Free

スキルの自己進化。auto-memory と実行履歴から学びを抽出し、各スキルの Gotchas セクションに自動追記する。セッション終了前、定期的な改善サイクル、問題に遭遇した後に使う。「スキルを進化させて」「学びを反映して」「Gotchas を更新」「evolve」で発動。

The English summary is being prepared. Showing the original description.

kok1eee/o-m-cc6Updated Jun 9, 2026

実験駆動の反復改善ループ(autoresearch 方式)。毎回フレッシュなサブエージェントで 1変更→測定→保持 or revert。progress.md がイテレーション間の記憶。パフォーマンス最適化、リファクタリング、UI改善、バグ修正の試行錯誤に使う。「最適化して」「パフォーマンス改善」「リファクタリング」「試行錯誤して」「実験的に改善」で発動。

The English summary is being prepared. Showing the original description.

kok1eee/o-m-cc6Updated Jun 9, 2026

See all skills by kok1eee

Report a problem with this skill