Communitygithub.com

sociilabs/claude-content-writer

ブログ記事、LinkedInの投稿、メールニュースレターを、AI生成ではなく人間らしい文章で執筆するためのClaude Codeスキル。

claude-content-writer とは?

sociilabs/claude-content-writer は、Claude Code 向けに設計された専門スキルで、高品質で自然な口調のテキストコンテンツを生成することに特化しています。このスキルを使用すると、ブログ記事、LinkedInの投稿、メールニュースレターを作成でき、主な利点はAI生成の機械的な印象を避け、人間が書いたかのような結果を生み出すことです。Claude Code をサポートするすべてのプラットフォームで利用可能で、プロンプトと出力スタイルを最適化し、トーン、語彙、リズムを人間の作家の表現に近づけます。コンテンツクリエイター、マーケティング担当者、または本物らしいコンテンツを大量に生産する必要がある人にとって、このスキルはブランドの声の一貫性と親しみやすさを維持しながら、執筆効率を大幅に向上させます。動作原理はClaudeの基盤となる言語モデルに基づいていますが、特別な命令セットによって調整され、定型化されていない個性的な文章を強制的に生成します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add sociilabs/claude-content-writer

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

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

ドキュメント

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.mdSEO要件があるコンテンツ
references/web-content-conventions.mdランディングページ、商品ページ、ウェブページ
references/email-content-conventions.mdニュースレター、キャンペーン、シーケンス
references/twitter-conventions.mdTwitter/Xのツイートとスレッド
references/facebook-conventions.mdFacebookの投稿とページ
references/instagram-conventions.mdInstagramのキャプション
references/sales-content-conventions.mdセールスページ、ファネル、ケーススタディ、お客様の声、提案書

現在のタスクに必要なものだけをロードしてください。一度にすべてのファイルをロードしないでください。


プロフィール第一の強制

重要:ライタープロフィールなしではコンテンツは生成されません。

ユーザーがコンテンツをリクエストし、メモリにプロフィールが存在しない場合:

"ライタープロフィールが見つかりません。まずはプロフィールを作成しましょう — 約5分で完了し、すべてのコンテンツがAIではなくあなたらしく聞こえるようになります。"

→ プロフィール作成フローを実行(以下の「プロフィール作成」セクションを参照)
→ 完了後、元のコンテンツリクエストに戻る

プロフィールが存在する場合は、どのフェーズを開始する前にもメモリからロードします。


5つのフェーズ

すべてのコンテンツリクエストはこのシーケンスに従います。自動的に進めるには/writer:nextを使用します。

議論 → 計画 → 実行 → 検証 → 出荷

フェーズ1:議論(/writer:discuss [トピック])

目標: キーボードに触れる前に、何をなぜ書くのかを理解する。

堅苦しいフォームではなく、会話形式で情報を収集します。

  1. トピックとアングル — 要点は何ですか? どのような特定の視点ですか?
  2. プラットフォーム / コンテンツタイプ — ブログ、LinkedIn、メール、セールスページなど
  3. オーディエンス — 具体的に誰ですか? 彼らはこのトピックについてすでに何を信じていますか?
  4. 認知段階 — 無自覚 / 問題認識 / 解決策認識 / 製品認識
  5. 目標 — 読者は読んだ後、何を異なるように行動したり考えたりするべきですか?
  6. フレームワーク — タイプと目標に基づいて提案し、ユーザーと確認する
  7. 長さと形式 — またはプロフィールのデフォルトを使用
  8. リサーチインプット — 組み込むURL、データ、ソースはありますか?
  9. 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戦略を作成する。

  1. 議論の状態をメモリからロード
  2. references/content-frameworks.mdをロード
  3. このコンテンツタイプのプラットフォーム固有の慣習ファイルをロード
  4. URLが提供された場合、フェッチして主要な洞察を抽出
  5. 詳細なアウトラインを作成:セクション見出し、セクションごとの要点、例、データ、社会的証明、CTAの配置
  6. 該当する場合、SEO戦略を定義:プライマリキーワード、セカンダリキーワード、メタタイトル、メタディスクリプション、URLスラッグ
  7. アウトラインを提示し、先に進む前に確認

状態を[Content Writer] Current Project - Planとしてメモリに保存します。


フェーズ3:実行(/writer:execute)

目標: 計画とブランドボイスに従ってコンテンツを執筆する。

  1. 計画とライタープロフィールをメモリからロード
  2. 関連するプラットフォーム慣習リファレンスファイルをロード
  3. プロフィールにブログURLが含まれている場合、最近の投稿を1〜2件フェッチしてボイスを調整
  4. 計画のアウトラインに従ってセクションごとに執筆

文章形成は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. ブランドアイデンティティ — 名前/肩書、会社、ドメイン、会社の事業内容(1〜2文)
  2. 業界と市場 — 業界/ニッチ、2〜3社の競合他社、独自のポジショニング
  3. ターゲットオーディエンス — 主要なオーディエンス(具体的に)、彼らのペインポイント、目標、反論
  4. ボイスとトーン — 3〜5の形容詞、彼らが尊敬するライター/ブログ、避けるべきこと
  5. コンテンツ戦略 — コンテンツの種類、3〜5のコンテンツピラー、主要な目標(認知/リード/コンバージョン/ソートリーダーシップ)
  6. 製品とサービス — それぞれについて:名前、1文の説明、ターゲット顧客、主要な利点、価格帯(オプション)
  7. ケーススタディ — それぞれについて:クライアント/プロジェクト、課題、解決策、指標による結果、公に言及可能か?
  8. CTA — それぞれについて:プラットフォーム、CTAテキスト、URL
  9. 公開ワークフロー — 公開場所、承認プロセス、望ましい出力形式
  10. 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回のみ):

  1. ~/.claude/skills/content-writer/.versionを読み取る
  2. npm view claude-content-writer versionを確認
  3. 新しいバージョンが存在し、このセッションでまだ表示されていない場合、以下を表示:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  📦 Content Writer Update Available
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  現在: v{current}  →  最新: v{latest}
  アップグレードするには /writer:update を実行してください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

セッションメモリに「表示済み」とマークします。その後、ユーザーのコマンドを続行します。


グレースフルデグラデーション

claude-seoまたはhumanizerが利用できない場合:

⚠ 注意:[依存関係]が利用できません。[チェック]をスキップします。
コンテンツは引き続き生成されます。完全な品質保証のために依存関係をインストールしてください。

humanizerチェックの手動フォールバックとしてreferences/anti-ai-checklist.mdを使用します。 claude-seoのフォールバックとして基本的なSEOチェックリスト(タイトルにキーワードがある、メタディスクリプションが存在する、H1がある)を使用します。


ストレージパターン

メモリ — ランタイム高速アクセス。保存内容:ライタープロフィール、現在のプロジェクト状態(...

[翻訳のために省略]

関連スキル