article-review-panel

技術記事、ブログ、LinkedIn投稿を3人の専門家(ドメイン専門家、編集者、統計家)の視点でレビューし、良い点・悪い点・説明不足な点をマークダウンファイルに出力します。

article-review-panel とは?

このスキルは、技術系の記事やブログ、LinkedIn投稿を3つの独立した専門家視点(ドメイン専門家:技術的正確性、編集者:構成・明確さ・読者層・プラットフォーム適合性、統計家:データが結論を裏付けているか)でレビューし、それぞれ1つのマークダウンファイルを生成します。各レビューファイルは「Good / Wrong / Needs more explanation」の共通フォーマットで構成され、著者がすぐにアクションを起こせるようになっています。 このスキルはClaude Code上で動作し、重要なルールとして、レビュー開始前にドラフトのフォルダ全体(ドラフト、メモ、スクリプト、生データ)を読み込み、ドラフト内のすべての数値を生データから検証します。各「Wrong」項目には具体的な修正案(代替文言、検証コマンド、削除提案)を添付し、統計分析は生データに対して実際に統計スクリプトを実行して行います。 「review my post」「act like an experienced JVM engineer and review this」「review this article as an editor」「check the statistics in this post」「is this post ready to publish」などのユーザーリクエストで起動します。コードレビューやプルリクエストのレビューには使用せず、その場合は別のスキル(diegourban:gh-pr-review、diegourban:branch-review、/code-review)を推奨します。また、コードベースの動作確認にはdiegourban:fact-checkerを、記事の新規作成には直接会話を使用します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/diegourban/claude-skills/tree/HEAD/skills/article-review-panel

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

article-review-panel は何をしますか?

バージョン: 1.0

技術記事のドラフトの隣に、最大3つのレビューファイルを生成します。各ファイルは異なる専門家ペルソナが執筆します:ドメイン専門家(技術的主張の正確性)、編集者(構成、明確さ、読者層、プラットフォーム適合性)、統計家(データが結論を裏付けているか)。各ファイルは共通の「Good / Wrong / Needs more explanation」形式を使用するため、著者はすぐに修正に取り組めます。真実の源泉は、ドラフトのフォルダ内にある生データ、スクリプト、メモであり、ドラフト自体の要約ではありません。

重要なルール(最初にお読みください)

  1. 何かを書く前にフォルダ全体を読むこと。 ドラフト、そのメモ、初稿コメント、関連記事、ベンチマークスクリプト、生の結果ファイル。ドラフトだけを読んだレビューは、ドラフトがデータを誤って引用しているのを見逃します。
  2. ドラフトに記載されているすべての数値を検証すること。 生データから再計算するか、未検証とマークします。ファイルと値を引用してください:results_gc.json: 173 → 166 MB。
  3. 「Wrong」は間違いを意味し、スタイル上の好みではありません。 フォルダ内に証拠のない主張、データと矛盾する数値、分析が裏付けていない結論、プラットフォームで正しく表示されない文章。好みの問題は「Needs more explanation」に分類します。
  4. すべての「Wrong」項目には具体的な修正案を添付すること: 代替文言、主張をテストするコマンド、削除提案。
  5. 各レンズは自分の担当範囲に留まること。 他のファイルを相互参照する(「技術的正確性についてはREVIEW-…-JVM.mdを参照」)ことで、知見の重複を避けます。
  6. 統計レンズ:目視ではなく分析すること。 生データに対してscripts/paired_stats.pyを実行します。信頼区間と最小検出効果の数値なしに「ノイズ」や「効果なし」と結論づけてはいけません。
  7. 文字数制限を尊重すること。 ドラフトの文字数をプラットフォーム制限(LinkedIn:3,000文字)と照らし合わせ、追加する各項目に何を削減する必要があるかを示します。
  8. 機密情報にフラグを立てること。 内部名、チケットID、ホスト名、顧客情報、本番データは、コマンス/法務の承認が必要であることを指摘します。制限されたデータ(メンバー情報、クレーム、健康情報、資格情報)をレビューや検索に含めてはいけません。

事前読み取りテーブル

ソースパス抽出するもの
ドラフトユーザーが指定したファイルすべての事実的主張、すべての数値、すべてのコマンド、フック(最初の約210文字)、CTA、文字数
著者メモ*.md 関連ファイル(データメモ、初稿コメント、関連記事)著者自身の注意点や修正点でドラフトが省略したもの;関連記事間で繰り返されるテキスト
ベンチマークスクリプト*.py、*.sh、フォルダ内のDockerfile実行順序(ランダム化?ブロック化?)、各メトリクスが実際に測定するものとサンプリングタイミング
生の結果*.json、*.csv、*.log再計算する数値;ペアリングのブロックサイズ
ドメインレンズガイドreferences/domain-lens.mdドメインチェックリスト;JVMセクションが実際のドメイン例
編集レンズガイドreferences/editorial-lens.mdプラットフォームルール(LinkedInマークダウン、折り返し、制限)と構造チェックリスト
統計レンズガイドreferences/statistics-lens.md分析レシピと標準的な方法論的フラグ
過去の教訓~/.claude/skill-memory/article-review-panel.md(なければ作成)以前の実行からのフィードバック;ドラフト作成前に適用する

ワークフロー

フェーズ1. 棚卸し

フォルダをリストアップします。ドラフトとすべてのメモ、スクリプト、結果ファイルを読みます。ドラフトの文字数をカウントします。主張リストを作成します:各数値と各事実的主張を、その行とともに記録します。

フェーズ2. レンズの選択

デフォルトでは3つすべてを使用します。ユーザーが指定したレンズのみ実行します(「統計家として振る舞って」)。ドメインレンズでは、ユーザーから分野(「JVM」「Kubernetes」「Postgres」)を取得するか、ドラフトから推測して選択した分野を伝えます。

フェーズ3. 検証

各主張を生データから再計算します。ベンチマークの場合は、以下を実行します:

python3 ${CLAUDE_SKILL_DIR}/scripts/paired_stats.py --file <results.json> --list
python3 ${CLAUDE_SKILL_DIR}/scripts/paired_stats.py --file <results.json> \
  --block-size <variants per round> --pair <A>:<B> [--pair ...] --metrics <m1,m2>

定性的な主張(「起動しない」「無視される」)の証拠をフォルダ内で検索します。証拠がない場合は「Wrong:未検証」とし、テストコマンドを添付します。

フェーズ4. レンズごとに1ファイルを作成

ドラフトのフォルダに書き込み、ファイル名はREVIEW-<ドラフトのステム>-<レンズ>.mdとします。レンズはJVM/<ドメイン>、EDITORIAL、STATISTICSとします。以下の出力形式とreferences/内のレンズガイドに従います。

フェーズ5. 採点と報告

クリーンなコンテキストで評価サブエージェントを実行し(evals.md、ドラフト、レビューファイルのみを渡す)、evals.mdを実行します。すべての失敗を修正し、再採点します。その後、ユーザーに報告します:各レンズについて1行で最上位の「Wrong」項目とファイルパスを伝えます。ユーザーから得た新しい教訓は~/.claude/skill-memory/article-review-panel.mdに追加します(最新が先頭;なければ作成します)。

出力形式

# Review of <ドラフトファイル>: <レンズ名>

Reviewer view: <ペルソナ>. <何を何に対してチェックしたか。>

## Verdict

<2~4文:公開可能か、最も強い点、修正必須の数。>

## Good

- **<太字の主張>.** <証拠、ファイルと数値付き。>

## Wrong: <公開前に修正必須 | データから結論が導けない>

### 1. <欠陥の一文説明>

<ドラフトの記述、データが示すこと、なぜ重要か。>

Suggested fix: <代替文言、コマンド、または削除>。

## Needs more explanation

### N. <トピック>

<不足している内容と推奨される一文。>

## Smaller points

- **<ラベル>:** <1~2文>。

統計ファイルでは、ヘッダーの後にHow the analysis was doneセクションを追加し、最後にRecommended re-runsリストを追加します。

実際の例

入力:

act like an experienced JVM engineer and review POST-1-DEFAULT-CDS-EN.md in ~/aot-exploration/linkedin-cds, then an editor, then a statistician

Claudeの手順:

  1. 投稿、DADOS-POST.md、初稿コメント、投稿2、bench*.py、results*.jsonを読みます。3,000文字中2,623文字とカウント。
  2. ドメインレンズ:ZGCがclasses_nocoops.jsaをマッピングすることを確認;AOTCacheに言及したファイルがないため、「JVMが起動しない」という主張はテストコマンド付きでWrongとフラグ。
  3. 編集レンズ:87文字のフックが折り返し位置より上に収まる;4つのバッククォート付きコマンドはLinkedInでそのまま表示される(Wrong)。
  4. 統計レンズ:ラウンドループ内でrandom.shuffle(order)を確認したため、paired_stats.py --block-size 12を実行。プールされたシフトは−2.1% [−3.2%, −1.5%]であり、「それはノイズだ」はWrong。+2%はペアになっていない中央値を比較したもの。
  5. 3つのREVIEW-POST-1-*.mdファイルを作成し、evals.mdで採点し、報告します。

出力(統計ファイル、抜粋):

### 1. "Startup time: −4% to +2%. That's noise." is not what the data say

| Setup | Paired shift | 95% CI | Faster with CDS | Exact p |
|---|---|---|---|---|
| Serial | −69 ms | [−104, −49] | **10/10** | **0.002** |
| **Pooled, 50 pairs** | **−2.1%** | **[−3.2%, −1.5%]** | **39/50** | n/a |

The correct conclusion is "a real but small effect: about 2%, or 20–70 ms",
not "noise".

この実行の完全な3ファイル出力はreferences/examples.mdにまとめられています。

参考ファイル

  • references/domain-lens.md: ドメイン専門家チェックリスト;JVM/CDS/AOTの実践例。
  • references/editorial-lens.md: 編集者チェックリストとLinkedInプラットフォームルール。
  • references/statistics-lens.md: 分析レシピと標準的な方法論的フラグ。
  • references/examples.md: CDS投稿の実行結果、項目ごと。
  • evals.md: 合格/不合格チェック。配信前にクリーンコンテキストの評価エージェントで実行。
  • ~/.claude/skill-memory/article-review-panel.md: 教訓ログ、最新が先頭、このマシン専用(memory.md参照)。ドラフト作成前に読むこと。

スクリプト

  • scripts/paired_stats.py: 標準ライブラリのみを使用したペアA/B分析(正確Wilcoxon、符号反転、Hodges-Lehmann、ブートストラップ信頼区間、MDE、プールシフト、ドリフトと順序チェック)。--listでバリアントとメトリクスを表示;--self-testで8つのチェックを実行。

このスキルを使用すべきでない場合

  • コード、ブランチ、PRのレビュー。diegourban:gh-pr-review、diegourban:branch-review、または/code-reviewを使用してください。
  • コードベースの実際の動作確認。diegourban:fact-checkerを使用してください。
  • 記事自体の作成や書き直し。直接会話を行ってください;このスキルはレビューのみ行います。
  • デッキやスライド。ユーザーが明示的に依頼した場合のみこのスキルで内容をレビューし、作成にはcreate-slide-deckを使用してください。

関連スキル