Skip to content

Instantly share code, notes, and snippets.

@sheepla
Last active June 29, 2026 08:56
Show Gist options
  • Select an option

  • Save sheepla/4509b70adffba5a315521d31a551cd8a to your computer and use it in GitHub Desktop.

Select an option

Save sheepla/4509b70adffba5a315521d31a551cd8a to your computer and use it in GitHub Desktop.
自分用: 日本語の技術記事をClaudeくんと協働執筆するためのSKILL

設計フェーズ: スコープと構成を決める

記事を書き始める前に、「何を・誰に・どこまで書くか」を固めます。 曖昧なまま執筆を始めると、セクションごとにスコープがぶれて一貫性のない記事になります。


インタビューシート

ユーザーへの質問は一度に最大3問まで。回答が薄い場合は深掘りします。 抽象的な問いより、選択肢を示す具体的な問いの方がユーザーは答えやすいです。

必須質問(必ず確認する)

Q1: 何について書きますか?

技術・ライブラリ・設計手法・トラブル解決などの中から教えてください。

Q2: 読者はどのあたりのエンジニアを想定していますか?

例: 「Goは書けるが、goroutineの制御には自信がない」「Reactは使っているが、状態管理ライブラリの選定経験はない」のように、「〜の経験はあるが〜は詳しくない」という形で教えてもらえると的確な構成を作れます。

Q3: 読者に何を持ち帰ってほしいですか?(A・B・Cの中から最も近いもの)

  • A: ハンズオン形式で手を動かしながら理解してほしい(チュートリアル)
  • B: なぜそうなのかの内部コンセプトや設計判断を理解してほしい(解説)
  • C: 自分が経験した失敗・解決・知見を共有したい(体験談)

任意質問(状況に応じて聞く)

Q4: 既存の技術との比較を含めますか?

例: 「ReduxとZustandの比較」「MySQLとPostgreSQLで迷った話」など。 含める場合、どの技術と比較するかも教えてください。

Q5: 読者が「なるほど」と思う瞬間はどこですか?

記事の核心となるポイント(aha momentと呼ばれるもの)を教えてもらえると、そこを軸に構成を組めます。 例: 「型引数に型クラス制約をつけることで、呼び出し側に実装を強制できる瞬間」


アウトラインの生成

インタビューの回答をもとに、次の形式でアウトラインを生成します。

出力形式

## アウトライン案

対象読者: 〜の経験はあるが〜については詳しくないエンジニア

記事の骨格:
この記事は〜を出発点に、〜を経て、〜という理解に着地するストーリーです。

---

### セクション一覧

1. イントロ: [見出し案]
   何を扱う記事で、読むと何が得られるかを30〜50字で示す

2. 背景 or 問題提起: [見出し案]
   なぜこのテーマを取り上げるのか。読者が共感できる問題を示す

3. 本論(複数セクション): [見出し案]
   技術の核心部分。設計・コード・考察をここに集める

4. まとめ or 次のステップ: [見出し案]
   記事を通じて何が分かったのかを端的に示す

---

確認: このアウトラインで進めますか?変えたい箇所があれば教えてください。

スコープの判断基準

含めるもの

  • 対象読者が「知らない可能性が高い」情報
  • 世の中の記事に書かれていない観点・判断・失敗談
  • コードで示さないと伝わらない部分の実装例
  • 「なぜそうするのか」の設計判断の根拠

含めないもの

  • 公式ドキュメントの要約(リンクを貼れば済む)
  • 対象読者が既に知っているであろう基礎知識
  • 記事の核心と直接関係しない周辺知識の説明
  • 単なるインストール手順(独自の工夫がない場合)

記事タイプ別の構成パターンと現場感インタビュー

AIが生成できるのは「公開情報の再構成」まで。記事に一次情報としての価値を持たせるには、 ユーザー自身の経験・判断・失敗をインタビューで引き出して盛り込む必要があります。 記事タイプが決まったら、以下のインタビューをアウトライン確定前に行います。


チュートリアル型

読者が手を動かしながら理解するタイプ。

1. 何を作るか(完成イメージ)
2. 事前準備・環境
3. 〜を実装する(なぜこの順番か)
4. 〜を追加する(この設計判断の理由)
5. 動作確認(想定外の挙動があれば記載)
6. 応用・次のステップ

チュートリアル型の現場感インタビュー

アウトライン確定前に次の質問をします(最大3問)。

Q1: 手順の中で「公式ドキュメント通りにやったのに詰まった」という箇所はありましたか? あれば、どのステップで何が起きたか教えてください。

Q2: 環境や前提条件で「ここを見落とすと動かない」というポイントはありましたか? 例: OSのバージョン依存、特定のライブラリとの競合、権限の問題など。

Q3: 完成したものを使ってみて「思ったより〇〇だった」という感想はありましたか? 良い方向でも悪い方向でも構いません。

回答が得られたら、詰まりポイントと感想を対応するステップの補足として組み込みます。 「インストールしました」「実行しました」の羅列ではなく、 各ステップの「なぜ」と「ここで詰まりやすい」が見える記事になります。


解説型

技術の内部コンセプトや設計思想を伝えるタイプ。

1. 問題提起(この技術が登場した背景・解決する現場の痛み)
2. コアコンセプト(一番大事な概念)
3. 仕組みの解説(内部でどう動くか)
4. 既存技術との比較(何が違うのか・どこに限界があるのか)
5. 使いどころの判断基準(効く現場・効かない現場)

解説型の現場感インタビュー

アウトライン確定前に次の質問をします(最大3問)。

Q1: この技術を使おうと思ったきっかけは何でしたか? 例: 既存のアプローチで〜が辛かった、チームで〜という問題が起きた、など。

Q2: 実際に使ってみて「これは便利だが、ここは厳しい」と感じた点はありますか? 公式ドキュメントには書かれていないような制約や落とし穴があれば教えてください。

Q3: 「こういう現場・チーム・規模には向いている/向いていない」という肌感覚はありますか? 例: 小規模プロジェクトには過剰、大人数チームでは逆に助かる、など。

回答をもとに「効く現場・効かない現場」のセクションを作ります。 「A, B, Cという機能があります」という機能列挙ではなく、 コンセプトと現実の摩擦が見える記事になります。


体験談型

自分が経験した問題解決や設計判断を共有するタイプ。

1. 状況の説明(何を作っていたか・どういうチームだったか)
2. 問題の発生(何がうまくいかなかったか・なぜ気づくのが遅れたか)
3. 試したこと(失敗した試みと、なぜそれでは駄目だったか)
4. 解決策と理由(なぜこのアプローチが効いたのか)
5. 振り返り・学び(同じ状況に置かれた読者へ)

体験談型の現場感インタビュー

アウトライン確定前に次の質問をします(最大3問)。

Q1: 問題が発生したとき、最初に試みた解決策は何でしたか? それがうまくいかなかった理由も教えてください。

Q2: 最終的にうまくいったアプローチについて、「なぜそれが効いたのか」を一言で言うとしたら? 例: 根本原因が〜だったから〜が効いた、〜という前提を捨てたから解決した、など。

Q3: 今同じ状況に置かれたとしたら、何を最初に確認しますか? あるいは「あのとき〜をしていれば防げた」という後悔はありますか?

回答が体験談の骨格になります。 「解決しました。以上です」で終わらず、失敗→学びの因果が見える記事になります。

校正フェーズ: AI臭の除去と文体チェック

執筆したテキストを点検して、AI臭を除去し自然な文体に整えます。


チェックリスト

A. 記号・表記

# パターン 対処
1 Markdown太字(**)の残存・乱用 削除。強調は文脈で伝える
2 「」の多用(引用・固有名詞以外) 削除して文に溶かす
3 ()の多用・括弧内での逃げ 補足は本文の一文として組み込む
4 :の後に半角スペース、ラベル列挙 文として書き直す
5 /での概念の並列 「と」「や」などの助詞で繋ぐ
6 emダッシュ(—)の乱用 読点や文の分割で代替する
7 絵文字の装飾 削除

B. 文のリズム

# パターン 対処
8 同じ語尾が3回以上続く 文の長さや構造を変えてリズムをつける
9 接続詞の過多(さらに・また・したがって) 削除するか文を結合する
10 文章の温度が一定(重要箇所と補足が同じトーン) 重要箇所は言い切る。補足はさらっと流す
11 段落の締めが毎回きれいに閉じる 余韻を残す。閉じ方を変える
12 アイデアを無理やり3つにまとめる 自然な数に直す
13 同義語の言い換え連打(重要・大切・欠かせない) 1回で言い切る

C. 導入・進行

# パターン 対処
14 長い前置き・丁寧な受け止め 削除して本文から始める
15 「結論から言うと」で始まるが結論が薄い 具体的な結論に書き換えるか前置きを削る
16 構造の二重宣言(見出しと本文で同じことを言う) 本文側を削る
17 「ステップN:」表記 番号・見出しで十分。「ステップ」という語は削る
18 定型の締め(参考になれば・ぜひ試して) 削除するか内容に即した一文に置き換える

D. スタンス・内容

# パターン 対処
19 事なかれ主義・ケースバイケース逃げ 条件を具体的に分岐させるかスタンスを示す
20 中立を装いすぎ(どちらも一長一短) どちらが有力かを示す
21 否定が弱い(あまり推奨されません) 言い切る。やめたほうがいいなら「やめたほうがいい」と書く
22 過剰なヘッジング(〜の可能性があると考えられています) 根拠があれば断定。不確かなら1回だけヘッジする
23 抽象語だけで押し切る(本質・最適化・価値を最大化) 何がどうなるかを動詞中心の具体的表現に置き換える
24 根拠なき強い評価語(非常に有効・大きなメリット) 根拠を添えるか評価語を下げる
25 意義の過剰強調(重要な転換点・パラダイムシフト) 根拠となる具体的な事実で示す
26 曖昧な帰属(専門家によると・多くの研究が示す) 具体的な出典を示すか削除する
27 変な比喩(羅針盤・土台・エンジン・車の両輪) 削除して直接的に説明する

E. コミュニケーション痕跡

# パターン 対処
28 チャットボットの痕跡(ご質問ありがとう・お気軽にどうぞ) 削除
29 媚びへつらいトーン(素晴らしいご質問・鋭いご指摘) 削除
30 知識カットオフの免責(最新情報ではない可能性があります) 削除
31 定型的な締め(まずは小さく始めましょう) 削除

F. 日本語の構造

# パターン 対処
32 主語と述語が離れすぎている 修飾語を整理して主述を近づける
33 修飾節が長すぎて係り受けが不明瞭 文を分割するか、修飾する語句を述語の直前に移す
34 読点が少なく一文が長すぎる 意味のまとまりごとに読点を入れるか文を分割する
35 「〜が〜が〜が」とガ格の連続 文を分割するか、片方を「の」や「は」に変える
36 受動態の過剰使用(〜されています・〜と考えられています) 能動態に直す。行為者が明確になるよう主語を立てる
37 助詞の省略による意味の曖昧さ 「てにをは」を補って意味を確定させる

G. Markdownのセマンティクス

Markdownの記法にはそれぞれ意味があります。見た目を整えるために記法を流用すると、 文書の意味構造が壊れて読みづらくなります。

# パターン 対処
38 文の途中に箇条書きを挟む(「例えば〜が挙げられます」の直後に - リスト) 箇条書きの前で文を終わらせる。または箇条書きを文に溶かす
39 文の途中に引用ブロック(>)を挟む 引用の前後で文を切る。引用は独立したブロックとして扱う
40 強調(**)を装飾目的で多用する 強調は段落に1〜2箇所まで。読者が「ここが核心だ」と感じる語句だけに使う
41 見出し(#)を文中の強調に使う 見出しはセクションの区切りにだけ使う
42 コードブロック(`)をコード以外に使う(固有名詞・UI要素への乱用) コードブロックはコードとコマンドだけに使う
43 箇条書きと文章を混在させた段落(一部だけ - になっている) 箇条書きにするなら全体を箇条書きにするか、全体を文章にする

特に注意が必要なパターンの例

意味構造が壊れた例:

この問題には複数の原因が考えられます。例えば、

- 設定ファイルのパスが誤っている
- 環境変数が設定されていない

といった原因が挙げられます。なお、ログを確認することで特定できます。

この書き方の問題は「例えば〜といった原因が挙げられます」という文の途中に 箇条書きが割り込んでいる点です。箇条書きの後に「といった原因が挙げられます」と 続けることで、文の構造と箇条書きの構造が衝突します。

修正後:

この問題には複数の原因が考えられます。

- 設定ファイルのパスが誤っている
- 環境変数が設定されていない

ログを確認すると、どちらが原因かを特定できます。

H. 技術記事特有のチェック

# パターン 対処
44 コードの前後に文脈がない(突然コードブロックが始まる) コードが何を解決しているかの文脈を1〜2文で補う
45 「何をする」コメントが大量についている 「なぜこう書くか」のコメントだけ残す。自明なものは削除

文体の基準

  • ですます調を基本とします
  • 断定調・体言止め・倒置法は使いません
  • 強い口語表現(「正直よくわからない」など)も使いません
  • 重要な主張はですます調のまま言い切ります(「〜です」「〜ます」「〜しません」)

出力形式

## リライト結果

(リライトした本文)

---

## 変更点のサマリー

削除・修正したパターンの一覧

ユーザーが --report または「詳細も教えて」と指定した場合、変更点のサマリーにパターン番号と該当箇所の原文を加えます。


校正例

修正前

🚀 OpenTelemetryで変わる!可観測性の新常識

昨今、分散トレーシングは非常に注目を集めている革新的な技術です! マイクロサービスアーキテクチャにおいては不可欠な役割を果たしており、 可観測性の向上という観点から、多くの企業が積極的に導入を検討しています。 本記事では、OpenTelemetryについて分かりやすく丁寧に解説します!

OpenTelemetryには多くの特徴があります。例えば、

  • ベンダー中立である
  • トレース・メトリクス・ログをサポートしている

といった点が挙げられます。さらに、既存の監視ツールとの統合も容易です。 また、導入コストも比較的低いと言われています。 ぜひ活用してみてください!

修正後

マイクロサービスが増えると、「どのサービスで遅延が起きているか」が分かりにくくなります。 リクエストが複数のサービスをまたいで処理される以上、ログを個別に見るだけでは全体像が見えません。 OpenTelemetryはそこに応えるための仕様とSDKのセットです。

OpenTelemetryはベンダー中立を設計の軸に置いています。 トレース・メトリクス・ログをひとつの仕様で扱えるため、 DatadogからJaegerへ乗り換えるような場面でも、計装コードを書き直す必要がありません。

変更点のサマリー

  • 絵文字の装飾を削除(パターン7)
  • Markdown太字の乱用を削除(パターン1)
  • 「昨今〜注目されています」「本記事では〜解説します」の空虚な出だしを削除(パターン14)
  • 「非常に」「革新的な」「不可欠な」の根拠なき強調語を削除(パターン24・25)
  • 文の途中に箇条書きを挟む構造を修正(パターン38)
  • 「さらに」「また」の連続する接続詞を削除(パターン9)
  • 「ぜひ活用してみてください」の定型句を削除(パターン31)
  • 「〜と言われています」の曖昧な帰属を削除(パターン26)
name tech-article-ja
description 日本語の技術記事をZenn等のカジュアルな技術ブログ向けに執筆支援するスキル。 設計(スコープ・構成の決定)→ 執筆(セクション単位の本文生成)→ 校正(AI smellの除去と文体チェック)の3段階を会話の中で順番に進める。 「記事を書きたい」「技術ブログのネタがある」「この記事の構成を考えて」「このセクションを書いて」「AI smellを消して」「校正して」のような依頼が来たときに使う。 設計だけ・執筆だけ・校正だけの部分的な依頼にも対応する。

Tech Article JA: 日本語技術記事の執筆支援スキル

Zennやnoteに投稿するような日本語技術ブログの執筆を、設計・執筆・校正の3段階でサポートします。 各段階は独立して呼び出せます。「設計して」「このセクション書いて」「校正して」のように個別に依頼してください。

参照ファイル:

  • references/design.md — 設計フェーズの詳細ガイド
  • references/writing.md — 執筆フェーズの詳細ガイド
  • references/proofreading.md — 校正フェーズの詳細ガイド(humanizer-ja準拠)

ワークフロー概要

フェーズ1: 設計

トリガー: 「記事を書きたい」「構成を考えて」「ネタがある」

  1. references/design.md を読む
  2. インタビューシートに沿ってユーザーに質問する(最大5問、一度に2問まで)
  3. 回答をもとにアウトラインを生成してユーザーに確認する
  4. 承認後、フェーズ2へ進む

フェーズ2: 執筆

トリガー: 「〜のセクションを書いて」「イントロを書いて」「本文を書いて」

  1. references/writing.md を読む
  2. 設計フェーズのアウトラインを参照する(ない場合はユーザーに確認する)
  3. 指定されたセクションを執筆してユーザーに確認する
  4. 修正依頼があれば対応し、次のセクションに進む

フェーズ3: 校正

トリガー: 「校正して」「AI臭を消して」「humanizeして」「文体を直して」

  1. references/proofreading.md を読む
  2. 33パターンのAI臭チェックリストでスキャンする
  3. リライト結果と変更点のサマリーを出力する

共通ルール

これらのルールは全フェーズで常に適用します。

対象読者

「〜の経験はあるが〜については詳しく知らない」という中級者〜上級者エンジニアを想定します。 初心者向けの基礎解説や、公式ドキュメントに書いてある当たり前の情報の列挙は避けます。

文体

  • 基本はですます調で統一します
  • 重要な場面や感情を込めたい場面では口語的な表現を交えます
  • 「〜と思います」「〜かもしれません」の重ねがけはしません
  • 比喩表現は、その分野のエキスパートが使用している一次ソースを引用する形でのみ許可します

見出し

  • 体言止めの羅列(「〜のインストール」「〜エラー」)を避けます
  • 動機や文脈が伝わる表現にします(「〜のために〜を導入する」「〜に対処する」)
  • 見出しをなぞるだけでストーリーが把握できる状態を目指します

断定とスタンス

  • 事実は事実として婉曲しません
  • 推測・意見はその旨を明示します
  • 「一概には言えませんが」「ケースバイケースです」で逃げません
  • 比較検討の場面では、どちらが有力かについて自分のスタンスを示します

執筆フェーズ: セクション単位で本文を書く

設計フェーズで決めたアウトラインに沿って、セクションごとに本文を書いていきます。 一度に全体を書き切るより、セクション単位でユーザーに確認しながら進める方が修正コストが低くなります。


執筆前の確認

セクションを書き始める前に、次の点を確認します。

  • 対象セクションの目的(読者に何を伝えるか)
  • 前後のセクションとの流れ(唐突な話題転換がないか)
  • コードを含めるか否か
  • ユーザーの一次体験・意見を反映すべき箇所か(ある場合はユーザーに確認する)

セクション別の書き方

イントロ

読者が「自分に関係ある話だ」と感じて読み続けるかどうかを決める場所です。

含めるもの

  • この記事が何について書かれているかの一文
  • 読者が共感できる問題や状況の提示
  • 読むと何が得られるかの予告(ただし「〜について解説します」のような宣言形式は避ける)

避けるもの

  • 「昨今〜が注目されています」「〜は重要な技術です」のような空虚な出だし
  • 対象読者に向けた「初心者でも分かるように」などの枕詞(SKLLとプロンプトで制御するが、本文には書かない)
  • 記事の構造の宣言(「第1章では〜、第2章では〜」)

例: 避けるべきイントロ

昨今、Rustは注目を集めているプログラミング言語です。メモリ安全性と高パフォーマンスを両立できる点が高く評価されており、多くの企業が採用を検討しています。本記事では、Rustの所有権システムについて初心者にも分かりやすく解説します。

例: 良いイントロ

Rustを書き始めてしばらく経つのに、借用チェッカーに怒られる理由がいまいち腑に落ちない。そういう場面があります。コンパイルが通るコードが書けても、なぜ通るのかを説明できない。この記事はその「なんとなく動く」から「なぜ動くのか分かる」への橋渡しを目的にしています。


問題提起・背景

なぜこのテーマを取り上げるのかを示す場所です。読者が「そうそう、それが困ってた」と感じる問題を提示します。

含めるもの

  • 既存のアプローチの限界や不満(具体的に)
  • この記事で取り上げる技術・手法が登場した背景
  • 読者が経験していると想定される具体的な状況

避けるもの

  • 「〜には様々な課題があります」のような抽象的な問題提起
  • 公式ドキュメントに書いてある動機の要約

本論(技術の核心部分)

記事の価値の大半はここにあります。「なぜそうするのか」を抜いた実装の羅列にならないよう注意します。

コードを含む場合のルール

  • コードの前後に必ず文脈を書く(「次のコードは〜をするものです」という説明は不要。コードが何を解決しているのかの文脈を書く)
  • コードブロック内のコメントは「何をする」ではなく「なぜこう書く」に絞る
  • エラーケースや考慮点を「実際にはこうなる」という形で示す

コード例の前に書くこと(例)

不要な書き方:

以下のコードでユーザーを取得します。

良い書き方:

IDによるユーザー取得は単純に見えますが、存在しないIDと取得エラーを区別して扱う必要があります。Option<User>Result<Option<User>, DbError> のどちらを返すべきかは、呼び出し元が「存在しない」と「エラー」を区別したいかどうかで決まります。

既存技術との比較を含む場合

  • 機能の有無をテーブルで並べるだけでなく、「どういう状況でどちらが有利か」の判断基準を示す
  • 自分のスタンスを示す(「私はこちらを選ぶ理由は〜」)

まとめ・振り返り

「以上が〜のポイントでした」のような単純な要約はしません。

含めるもの

  • 記事を通じて得られた(であろう)視点の変化
  • 残っている課題・今後試したいこと(ある場合)
  • 次のステップへのヒント(詳細に踏み込まなくてよい)

避けるもの

  • 記事内容の箇条書き要約
  • 「ぜひ試してみてください」「参考になれば幸いです」などの定型句

文体ルール

基本スタイル

  • ですます調を基本にしつつ、体言止めや短い断定を交えてリズムをつける
  • 重要な主張・感情を込めたい箇所では口語的な表現も許容する
  • 同じ語尾を3回以上続けない

良い例と避けるべき例

語尾の単調な連続(避ける)

この機能は便利です。操作も簡単です。導入コストも低いです。

語尾に変化をつけた例

この機能は便利で、操作も簡単。導入コストが低いこともあり、小規模なプロジェクトから試しやすいです。


接続詞の過多(避ける)

さらに、このツールは多言語対応です。また、APIも提供されています。したがって、既存システムとの連携も容易です。

接続詞を整理した例

多言語対応で、APIも提供されています。既存システムへの組み込みもそれほど手間ではありません。


事なかれ主義のスタンス(避ける)

メリットもあればデメリットもあります。状況によって最適な選択は異なります。

スタンスを示した例

設定の柔軟性という点ではAが優れていますが、チームで使うならBの方が迷いが少ない。私はBを選びます。


ユーザーへの確認タイミング

次の場合はユーザーに確認してから書き進めます。

  • 記事に著者の一次体験・意見を反映すべき場所(失敗談、採用の決め手、設計判断など)
  • 記事に掲載するコードをユーザー自身が持っている場合
  • セクションの方向性が複数考えられる場合

確認の例:

このセクションでは〜を解説しようと思いますが、ご自身の経験で「ここがハマりポイントだった」というエピソードがあれば教えてください。記事に盛り込むことで、一次情報としての価値が上がります。

たとえば、次のどれかに近いものはありますか?

  • 既存のアプローチでは〜が困っていた
  • 〜という設計に変えてから〇〇が改善された
  • 〜を試したがうまくいかなかった経験がある
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment