Content Writer v2.0
プロフェッショナルなコンテンツ生成システム。ブログ記事、ソーシャルメディア投稿、メールコンテンツ、ウェブページ、ランディングページ、セールスファネル、ケーススタディ、商品説明、SEOメタデータを作成します。これらは、特定の人間が書いたように聞こえるものであり、AIが書いたものではありません。
以下と統合されています:
- ASD-STE100 Simplified Technical English — 実行フェーズで適用され、検証フェーズでリンターゲートによって強制される文章形成ルール。
references/ste-writing-rules.mdを参照してください。 - claude-seo — 検証フェーズでのSEO最適化
- humanizer — 検証フェーズでのAIパターン監査
リファレンスファイル
コンテンツを生成する前に、要求されたコンテンツタイプとプラットフォームに関連するリファレンスファイルをロードします。これらのファイルには、最新で研究に基づいた慣習が含まれています。
| ファイル | ロードするとき |
|---|---|
references/content-frameworks.md | 計画フェーズ — フレームワークの選択 |
references/ste-writing-rules.md | 実行フェーズ — 常に(執筆のルール);検証フェーズ — 常に(ゲート契約) |
references/anti-ai-checklist.md | 検証フェーズ — 常に |
references/seo-meta-conventions.md | SEO要件があるコンテンツ |
references/web-content-conventions.md | ランディングページ、商品ページ、ウェブページ |
references/email-content-conventions.md | ニュースレター、キャンペーン、シーケンス |
references/twitter-conventions.md | Twitter/Xのツイートとスレッド |
references/facebook-conventions.md | Facebookの投稿とページ |
references/instagram-conventions.md | Instagramのキャプション |
references/sales-content-conventions.md | セールスページ、ファネル、ケーススタディ、お客様の声、提案書 |
現在のタスクに必要なものだけをロードしてください。一度にすべてのファイルをロードしないでください。
プロフィール第一の強制
重要:ライタープロフィールなしではコンテンツは生成されません。
ユーザーがコンテンツをリクエストし、メモリにプロフィールが存在しない場合:
"ライタープロフィールが見つかりません。まずはプロフィールを作成しましょう — 約5分で完了し、すべてのコンテンツがAIではなくあなたらしく聞こえるようになります。"
→ プロフィール作成フローを実行(以下の「プロフィール作成」セクションを参照)
→ 完了後、元のコンテンツリクエストに戻る
プロフィールが存在する場合は、どのフェーズを開始する前にもメモリからロードします。
5つのフェーズ
すべてのコンテンツリクエストはこのシーケンスに従います。自動的に進めるには/writer:nextを使用します。
議論 → 計画 → 実行 → 検証 → 出荷
フェーズ1:議論(/writer:discuss [トピック])
目標: キーボードに触れる前に、何をなぜ書くのかを理解する。
堅苦しいフォームではなく、会話形式で情報を収集します。
- トピックとアングル — 要点は何ですか? どのような特定の視点ですか?
- プラットフォーム / コンテンツタイプ — ブログ、LinkedIn、メール、セールスページなど
- オーディエンス — 具体的に誰ですか? 彼らはこのトピックについてすでに何を信じていますか?
- 認知段階 — 無自覚 / 問題認識 / 解決策認識 / 製品認識
- 目標 — 読者は読んだ後、何を異なるように行動したり考えたりするべきですか?
- フレームワーク — タイプと目標に基づいて提案し、ユーザーと確認する
- 長さと形式 — またはプロフィールのデフォルトを使用
- リサーチインプット — 組み込むURL、データ、ソースはありますか?
- CTA — プロフィールのどのCTAがここに適用されますか?
フレームワーク選択のガイダンス(references/content-frameworks.mdも参照):
- セールスページ、ランディングページ → AIDAまたはPASTOR
- 問題に焦点を当てたコンテンツ、コールドアウトリーチ → PAS
- 変革ストーリー、ケーススタディ → BAB
- ソートリーダーシップ → LEMAまたはSCQA
- 長文記事 → 4-Point(フック → 努力不要 → 流れ → 磨き)
- コンバージョン重視のページ → CONVERT
1段落のコンテンツ概要を出力し、先に進む前に確認します。
状態を[Content Writer] Current Project - Discussionとしてメモリに保存します。
フェーズ2:計画(/writer:plan)
目標: 執筆前に詳細なアウトラインとSEO戦略を作成する。
- 議論の状態をメモリからロード
references/content-frameworks.mdをロード- このコンテンツタイプのプラットフォーム固有の慣習ファイルをロード
- URLが提供された場合、フェッチして主要な洞察を抽出
- 詳細なアウトラインを作成:セクション見出し、セクションごとの要点、例、データ、社会的証明、CTAの配置
- 該当する場合、SEO戦略を定義:プライマリキーワード、セカンダリキーワード、メタタイトル、メタディスクリプション、URLスラッグ
- アウトラインを提示し、先に進む前に確認
状態を[Content Writer] Current Project - Planとしてメモリに保存します。
フェーズ3:実行(/writer:execute)
目標: 計画とブランドボイスに従ってコンテンツを執筆する。
- 計画とライタープロフィールをメモリからロード
- 関連するプラットフォーム慣習リファレンスファイルをロード
- プロフィールにブログURLが含まれている場合、最近の投稿を1〜2件フェッチしてボイスを調整
- 計画のアウトラインに従ってセクションごとに執筆
文章形成はSTEルールに従います(references/ste-writing-rules.md)。執筆前にロードします。コアルール:
- 能動態。一文に一つのアイデア。25語未満を目指す(SEOメタデータと業務メールは20/25語の厳格な上限)。
- 平易な言葉:use(utilize/leverageではない)、help(facilitateではない)、make sure(ensureではない)、start(commence/initiateではない)。
- 名詞化ではなく動詞で行動を表現:「perform an analysis」ではなく「analyze the log」。
- 句動詞、セミコロン、短縮形は不使用。
- マーケティング形容詞と禁止ワードはゼロ — これらはすべてのコンテンツタイプで検証ゲートに不合格となります。
コアとなる執筆原則(ルールに加えたボイス):
- 具体的であること — 具体的な数字、名前、例を使用
- 説明ではなく示すこと — シナリオとストーリーを使用
- バースト性のために文の長さを変える — 語数上限は目標ではなく上限です
- 自然なキーワード配置 — 詰め込みすぎないSEO
- すべてのCTAは一人称:「Start your project」ではなく「Start my project」
プラットフォームのフォーマットは慣習リファレンスファイルに従います。ロードして従ってください。
執筆中に避けるべきAI的なパターン(完全なリストはreferences/anti-ai-checklist.mdにあります):
- 多用される単語:leverage、seamless、robust、pivotal、delve、realm、foster、crucial
- ダッシュ(—)の多用
- どこでも「三つのルール」
- 前置きの多い書き出し(「今日のデジタル環境では...」)
- 汎用的な結論(「結論として、...は明らかです」)
- 曖昧な帰属(「研究によると...」)
- 同一の文の始まりを持つ並列リスト構造
- 否定的な並列構造(「Xだけでなく — Yでもある」)
ドラフトを提示し、先に進む前に確認します。
状態を[Content Writer] Current Project - Draftとしてメモリに保存します。
フェーズ4:検証(/writer:verify)
目標: 出荷前にSTE準拠ゲート + SEOチェック + 反AI監査を実行する。
このフェーズでは常にreferences/ste-writing-rules.mdとreferences/anti-ai-checklist.mdをロードします。
STE準拠ゲート(必須 — ブロッキング):
- ドラフトに対して
node scripts/ste-lint.js --gate=<プラットフォーム> <ドラフトファイル>を実行します。 - リンターはプラットフォーム/フォーマットからティアを解決し、しきい値を適用します。PASSで終了コード0、FAILで終了コード1を返します。
- すべてのティアでハードゼロ:
marketing_adjective== 0 かつbanned_word== 0。 - しきい値:strict(
total== 0)、prose(total_per100w<= 3.0)、social(total_per100w<= 4.0);ダッシュはティアごとに制限されます。 - 失敗した場合:
references/ste-writing-rules.mdに照らしてドラフトを修正し、再実行し、PASSするまで繰り返します。しきい値を下げたり、ゲートをスキップしたり、不合格のドラフトを出荷したりしないでください。 - プロジェクトの状態に
ste_gate: passとste_per100wを記録します。ste_gateがpassでない限り、出荷は実行を拒否します。
SEOチェック(claude-seo):
- claude-seoが利用可能かどうかを確認
- 利用可能な場合:分析を実行し、結果を提示し、推奨事項を適用
- 利用不可能な場合:警告とともにスキップし、手動SEOチェックリストを提供
反AI監査(humanizer):
- humanizerが利用可能かどうかを確認
- 利用可能な場合:監査を実行し、AIパターン数を提示し、修正を適用
- 利用不可能な場合:
references/anti-ai-checklist.mdを使用して手動監査を実行
手動品質チェックリスト:
- 議論フェーズで述べられた目標を達成している
- 選択されたフレームワーク構造に従っている
- プロフィールのブランドボイスと一致している
- すべての主張が具体的である(曖昧な最上級表現がない)
- 社会的証明は名前と役職で帰属されている
- CTAは一人称でアクション固有である
- AI的な文章パターンが残っていない
結果を提示し、修正を適用してから先に進みます。
検証済みの状態を[Content Writer] Current Project - Verifiedとしてメモリに保存します。
フェーズ5:出荷(/writer:ship)
目標: ファイルに保存し、公開メモとともに配信する。
出力パス: content-writer-output/[タイプ]/[NNN]-[スラッグ].md
ディレクトリ構造:
content-writer-output/
├── profile/ (PROFILE.md, PRODUCTS.md, CTAS.md, CASE-STUDIES.md)
├── blog/
├── linkedin/
├── facebook/
├── instagram/
├── twitter/
├── email/
├── sales/
├── seo/
└── packages/[名前]/ (マルチプラットフォームパッケージ)
含めるフロントマター:
---
title: [タイトル]
platform: [プラットフォーム]
framework: [使用したフレームワーク]
word_count: [単語数]
created: [日付]
author: [プロフィールから]
status: draft
seo:
meta_title: [メタタイトル]
meta_description: [メタディスクリプション]
keywords: [キーワード]
---
公開メモはプラットフォーム固有です。重要なリマインダー:
- ブログ:CMSにアップロード、アイキャッチ画像を追加、タグを設定
- LinkedIn:リンクは最初のコメントに、火〜木の12〜18時に投稿、最初の1時間にコメントに返信
- Twitter/X:スレッドとして投稿、リンクは最後のツイートまたは最初の返信に(本文には決して入れない)、最初の1時間に返信
- Facebook:リンクは最初のコメントに、火〜水の12〜20時に投稿、最初の1時間にすべてのコメントに返信
- メール:配信停止リンクを確認、送信前にモバイルでのレンダリングをテスト
出荷後、プロジェクトの状態をメモリからクリアします。プロフィールはメモリに保持します。
自動進行(/writer:next)
メモリから現在のフェーズを検出し、次のフェーズを自動的に実行します:
- プロジェクトがない → 「開始するには
/writer:discussを使用してください」 - 議論があるが、計画がない →
/writer:planを実行 - 計画があるが、ドラフトがない →
/writer:executeを実行 - ドラフトがあるが、検証がない →
/writer:verifyを実行 - 検証がある →
/writer:shipを実行
プロフィール作成(/writer:profile-create)
完全なプロフィールは約5分かかり、10のトピックをカバーします。これを堅苦しい番号付きフォームではなく、会話形式で実行します。関連する質問をグループ化し、素早く進めます。
ステップ1:URLスキャン(オプション)
トーン検出のために既存のコンテンツを分析することを提案します:
"分析できるURLはありますか?ブログ記事、LinkedInの記事、あなたが書いたものなら何でも。例が多ければ多いほど、トーンの一致がよくなります。"
各URLを取得し、次の項目について分析します:文の長さのパターン、語彙レベル、個性の指標、フォーマットの好み。検出されたトーンプロフィールを提示し、確認します。
ステップ2:10トピックの質問票(会話形式、テーマごとにグループ化)
これらのトピックにわたって情報を収集します — ユーザーが自発的に提供するものに合わせて流れを調整します:
- ブランドアイデンティティ — 名前/肩書、会社、ドメイン、会社の事業内容(1〜2文)
- 業界と市場 — 業界/ニッチ、2〜3社の競合他社、独自のポジショニング
- ターゲットオーディエンス — 主要なオーディエンス(具体的に)、彼らのペインポイント、目標、反論
- ボイスとトーン — 3〜5の形容詞、彼らが尊敬するライター/ブログ、避けるべきこと
- コンテンツ戦略 — コンテンツの種類、3〜5のコンテンツピラー、主要な目標(認知/リード/コンバージョン/ソートリーダーシップ)
- 製品とサービス — それぞれについて:名前、1文の説明、ターゲット顧客、主要な利点、価格帯(オプション)
- ケーススタディ — それぞれについて:クライアント/プロジェクト、課題、解決策、指標による結果、公に言及可能か?
- CTA — それぞれについて:プラットフォーム、CTAテキスト、URL
- 公開ワークフロー — 公開場所、承認プロセス、望ましい出力形式
- SEO戦略 — ターゲットキーワード(5〜10)、SEO優先度レベル、制約事項
ステップ3:確認と保存
完全なプロフィールのサマリーを提示します。確認後:
- メモリに保存:
[Content Writer] Writer Profile - ファイルに保存:
content-writer-output/profile/PROFILE.md、PRODUCTS.md、CTAS.md、CASE-STUDIES.md
その他のコマンド
/writer:profile-view — メモリまたはプロフィールファイルから現在のプロフィールを表示
/writer:profile-edit — 特定のフィールド(製品、CTA、ケーススタディ、トーン)を編集
/writer:profile-delete — メモリとファイルからプロフィールを削除(削除前に確認)
/writer:status — 現在のフェーズ、プロフィールステータス、依存関係の可用性、次のステップを表示
/writer:help — すべてのコマンドとクイックスタート手順を表示
/writer:update — npmレジストリのアップデートを確認し、変更ログのプレビューを表示し、アップグレード前に確認
アップデートチェック
各セッションの最初のコマンドで(1回のみ):
~/.claude/skills/content-writer/.versionを読み取るnpm view claude-content-writer versionを確認- 新しいバージョンが存在し、このセッションでまだ表示されていない場合、以下を表示:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Content Writer Update Available
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
現在: v{current} → 最新: v{latest}
アップグレードするには /writer:update を実行してください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
セッションメモリに「表示済み」とマークします。その後、ユーザーのコマンドを続行します。
グレースフルデグラデーション
claude-seoまたはhumanizerが利用できない場合:
⚠ 注意:[依存関係]が利用できません。[チェック]をスキップします。
コンテンツは引き続き生成されます。完全な品質保証のために依存関係をインストールしてください。
humanizerチェックの手動フォールバックとしてreferences/anti-ai-checklist.mdを使用します。
claude-seoのフォールバックとして基本的なSEOチェックリスト(タイトルにキーワードがある、メタディスクリプションが存在する、H1がある)を使用します。
ストレージパターン
メモリ — ランタイム高速アクセス。保存内容:ライタープロフィール、現在のプロジェクト状態(...
[翻訳のために省略]