x-writing について
メモや業務の進捗、気づきを X の投稿に整えるライティングスキルです。Markdown ファイルや macOS Notes、入力された文章をもとに、ガイドに沿った下書き作成と保存を支援します。
主な機能
- 01Markdown と macOS Notes の読み込み
- 02戦略ガイドに沿った共有価値の選定
- 03スタイルガイドと禁止パターンの適用
- 04単独投稿やスレッドの下書き
- 05承認済み投稿を草稿ファイルへ保存
活用シーン
- 01プロジェクトの進捗を X 投稿にする
- 02メモから共有したい着想を抽出する
- 03個人の文体で投稿を作成して保存する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ richtabor/ agent-skills --skill x-writingインストール後、Claude Code で/x-writingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/anti-patterns.mdx-strategy.mdscripts/fetch-notes.sh詳細
X 投稿スキル
概要
メモ、業務の進捗、気づきを、魅力的な X(Twitter)投稿に仕上げます。このスキルはメモを分析して、最も共有されやすい知見を特定し、あなたらしい自然な投稿を作成してエンゲージメントを高めます。
アイデアソースは 2 種類に対応しています — Markdown ファイル(X_SOURCE_FILE)および/または macOS のメモ(X_NOTES_APP_SOURCE)。両方が設定されている場合は、どちらを使うか尋ねます。
プロセス
フェーズ 1:準備と分析
1.1 執筆ガイドを読み込む(必須 — 最初に読み込む)
他の作業を始める前に、以下を読み込みます。
-
成長の原則(
references/x-strategy.md)— コンテンツの選定基準、投稿が共有されやすくなる要素、エンゲージメントの傾向、メモから何を優先するかを説明します。何を共有するかを決める指針になります。 -
執筆スタイルガイド(
WRITING_STYLE_GUIDE_PATH環境変数で指定)— 声のトーン、文体、構成、禁止表現、特徴的なパターンを説明します。どのように共有するかを決める指針になります。環境変数が設定されていない場合はスキップします。 -
アンチパターン —
echo "$WRITING_ANTI_PATTERNS_PATH"を実行して環境変数を確認します。設定されている場合は、そのファイルを読み込みます。設定されていない場合は、references/anti-patterns.mdを使用します。避けるべき AI らしい文章のパターンです。投稿が AI 生成ではなく、人間らしく自然に聞こえるようにするために重要です。「X ではなく Y です」のような表現、堅苦しい接続表現、曖昧な言い回し、AI 特有の語彙などのパターンを避けます。
優先ルール:ガイドの内容が食い違う場合は、references/x-strategy.md を優先します。文体の好みよりも、コンテンツの価値と共有されやすさを重視します。スタイルガイドとアンチパターンが食い違う場合は、アンチパターンを優先します。
1.2 ソース資料を把握する
どのメモをもとに作業するかを確認します。
- 投稿に仕上げたいメモ、アイデア、進捗について尋ねます
- アイデアソースを確認します。
echo "$X_SOURCE_FILE"を実行します — 設定されている場合は、Markdown 形式のアイデアファイルを利用できますecho "$X_NOTES_APP_SOURCE"を実行します — 設定されている場合は、macOS のメモを利用できます(取得にはscripts/fetch-notes.sh getを使用します)- 両方が設定されていて、ユーザーが「アイデアを確認して」などと、どちらを使うか指定せずに依頼した場合は、使用するソースを尋ねます
- 一方のみが設定されている場合は、それをそのまま使用します
- どちらも設定されていない場合は、ユーザーが提供する内容(貼り付けられたテキスト、Markdown ファイルなど)をもとに作業します
- ソース資料を読み、中心となる知見、学び、進捗を特定します
- 言及されている具体的なツール、プロジェクト、数値、詳細を記録します
複数のアイデア/メモを扱う場合:
- ユーザーが異なる複数のアイデアやメモを提供した場合は、1 つずつ順番に進めます
- 最初のアイデアについて投稿案を作成します
- 次のアイデアに進む前に、ユーザーの承認やフィードバックを待ちます
- これにより、ユーザーに一度に多くを提示せず、作業を進めながら投稿を調整できます
1.3 選定基準を適用する
references/x-strategy.md のコンテンツ選定フレームワークを使ってメモを評価します。学びを伴う公開済みの成果、意外性のある知見、具体的なツールの推奨を優先します。エンゲージメント狙いの釣り、曖昧な誇張、解決策のない不満は除外します。
フェーズ 2:コンテンツの作成
2.1 最適な切り口を選ぶ
明確なアイデアを 1 つ、それを裏付ける具体的な詳細、そしてフック(最初の一文)を特定します。
2.2 形式を選ぶ
基本は単独のツイートにします。ストーリーに手順、関連する複数のインサイト、またはビフォー/アフターの文脈が必要な場合に限り、スレッド(2~5 件のツイート)にします。references/x-strategy.md の「Thread Strategy」を参照してください。
2.3 コンテンツを下書きする
フェーズ 1 で読み込んだ 3 つのガイドを、下書き中からすべて適用します。投稿後のチェックだけでは不十分です。
- x-strategy.md — 書式ルール、コンテンツ戦略、エンゲージメントの高いパターン、定番パターン。書式は重要です:1 行に 1 文、行間に空行を入れる、1 行目をフックにする、180~250 文字、イタリック体は使わない。
- ライティングスタイルガイド(
WRITING_STYLE_GUIDE_PATH)— 声のトーン、文体、禁止表現、言葉の簡素化。X_CASE_STYLE 環境変数の大文字・小文字の設定を適用します(デフォルトは標準)。"lowercase"に設定されている場合は、代名詞の "i" を含め、すべて小文字を使います。人名、WordPress、製品名のみ大文字で始めます。 - アンチパターン — 下書き中に積極的に避けます。下書きにアンチパターンが含まれていたら、提示する前に書き直します。絶対ルール:「It's not X, it's Y」という言い換えパターンは、どのような形でも絶対に使わないでください。 これには「isn't X, it's Y」「not because X, because Y」「isn't about X, it's about Y」「less about X, more about Y」も含まれます。代わりに、肯定的な主張を直接述べてください。また、em ダッシュ、具体性のない一般論、強調語も避けます。
2.4 エンゲージメントの最適化
投稿の約 70%は、エンゲージメントを促す具体的な質問、予告、または呼びかけで締めくくります。残りは、きっぱりと締めくくります。references/x-strategy.md の「What Makes Content Shareable」を参照してください。
2.5 品質チェック
下書き後、すべての投稿をアンチパターンガイドに照らして読み直し、違反があれば提示する前に修正します。次に、以下を確認します。
- 1 行目で要点を伝えていますか?
- 具体的ですか?(名前、数字、例)
- 実際に声に出して言うような内容ですか?
- ChatGPT ではなく、自分らしい表現になっていますか?
- ライティングスタイルガイドの禁止表現を使っていませんか?
- すべてのアンチパターンを避けていますか?(言い換え、em ダッシュ、強調語、一般論)
- リアクション投稿の場合、自分ならではの切り口を加えていますか?
フェーズ 3:出力
3.1 コンテンツを提示する
作成した投稿ごとに、以下を示します。
- 投稿 - そのままコピー&ペーストできるツイートを提示する
- 形式 - 単独のツイートかスレッドかを示す
- 文字数 - 長さを示す(目標:180~250 文字)
- 使用したパターン - x-strategy.md のどのパターンを適用したか
- 主な要素 - 取り上げた具体的な内容、ツール、プロジェクト
3.2 選択肢を提示する
適切な場合は、2~3 種類のバリエーションを提示します。
- 同じインサイトに対する異なる切り口
- 単独のツイート形式とスレッド形式
- エンゲージメントを促す締めくくりの違い
3.3 選定理由を説明する
優先した内容とその理由を簡潔に説明します。
- メモからどのインサイトを選んだか
- 特定の詳細を強調した理由
- 意図的に省いた内容
3.4 承認された投稿を保存する
ユーザーが投稿を承認したら、下書きファイルに保存します(存在しない場合は作成します)。
ファイルの場所(保存前に確認):
echo "$X_DRAFTS_FILE"を実行して環境変数を確認します- 設定されていれば、そのファイルパスに追記します
- 設定されていなければ、デフォルトの
.x/posts.mdを使用します(トップレベルに作成し、存在しない場合は新規作成します)
Markdown 形式:
---
**Category:** Learning
**Date:** 2026-01-01
WordPress.com AI adds conversation alongside block editing.
People who couldn't navigate the UI before are shipping sites now. Others still use blocks for fine-tuning.
Both work. The conversation path just removes the skill barrier.
---
スレッドの場合は、[Tweet N] マーカーを使います。
---
**Category:** Learning
**Date:** 2026-01-01
[Tweet 1]
WordPress.com AI changes how people build sites.
[Tweet 2]
People who couldn't navigate block editing are shipping now.
[Tweet 3]
The UI is still there for fine-tuning. But conversation removes the skill barrier.
[Tweet 4]
Ask or click. Both paths work.
---
カテゴリ:
- 学び - インサイト、学びを含むリリース済みアップデート
- アップデート - プロジェクトの進捗
- ツール - おすすめ
- 所感 - 業界に関する見解
ワークフロー:
- 投稿をユーザーに提示します
- 承認されたら、
X_DRAFTS_FILEまたは.x/posts.mdに追記します - ユーザーはそのまま X にコピー&ペーストできます(テキストは適切な改行を含み、そのまま使えます)
- 投稿後にユーザーが該当セクションを削除するか、削除を依頼します
出力形式
ソーシャルコンテンツを作成した後、以下を提示します。
📱 Post 1 (Single Tweet, 210 chars)
─────────────────────────────────
[Actual tweet text ready to copy/paste]
Pattern: "Shipped X, learned Y"
Specifics: agents.foo, conversational context matching
Engagement: Specific question
─────────────────────────────────
From your notes, I prioritized:
✓ The discovery insight (most shareable)
✓ Why traditional search failed (specific learning)
✗ Timeline details (not core value)
Alternative angles:
• Focus on the technical implementation
• Thread breaking down the 3 attempts
やり取りの例
ユーザー:「キュレーション機能の構築に関するメモから、投稿を作るのを手伝ってください」
応答:
Let me analyze your notes and create X content.
[Phase 1: Loads references/x-strategy.md and writing style guide]
[Reads the notes, identifies key insights and specific details]
─────────────────────────────────
📱 Post (Single Tweet, 218 chars)
─────────────────────────────────
Shipped curation v1 for agents.foo today.
Discovery is way harder than app stores. Agents are conversations, not static features.
Had to rebuild around context matching instead of keyword search.
Pattern: "Shipped X, learned Y"
Key specifics: agents.foo, context matching vs keyword search
Engagement: Implicit (landing the insight)
─────────────────────────────────
From your notes, I selected:
✓ Core insight: agent discovery is different
✓ Specific solution: context matching
✓ Concrete detail: agents.foo
✗ Number of rebuild attempts (not essential to the insight)
Would you like me to:
• Save this approved post for tracking
• Create a thread version breaking down why search patterns failed
• Add a question ending for more engagement
• Draft additional posts from other insights in your notes
最良の結果を得るためのヒント
- コンテキストを提供する:「キュレーション機能の開発メモ」のように、メモを貼り付けるだけでなく、背景を伝えます
- 具体的な箇所を指定する:「コンテキストのマッチングについての学びに焦点を当てて」と伝えると、優先順位を付けやすくなります
- 数を指定する:「このメモから投稿を3件作成して」のように、「投稿を作成して」だけでなく、数を伝えます
- 希望する形式を指定する:「単独のツイートのみ」や「スレッドも可」のように指定します
- バリエーションを依頼する:「いくつかの切り口を見せて」と伝えると、選択肢が得られます
- 繰り返し調整する:下書きの後、「もっと具体的にして」や「質問で締めくくって」のように修正を依頼します
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
WRITING_STYLE_GUIDE_PATH | いいえ | 共有の文体ガイドへのパスです。フェーズ1.1で読み込まれます |
WRITING_ANTI_PATTERNS_PATH | いいえ | 共有のアンチパターンへのパスです。references/anti-patterns.md を上書きします |
X_DRAFTS_FILE | いいえ | 承認済みの投稿を保存するファイルパスです。デフォルト:.x/posts.md |
X_SOURCE_FILE | いいえ | 投稿のアイデアを含むMarkdownファイルへのパスです。ユーザーがアイデアの確認を依頼したときに読み込まれます。 |
X_NOTES_APP_SOURCE | いいえ | アイデアを取得するmacOS Notesのノート名です(例:"Tweets")。scripts/fetch-notes.sh を使用します。 |
X_CASE_STYLE | いいえ | "standard"(デフォルト)または "lowercase" |