AgentSkillsCN

note-blog

在撰写并发布于note.com的博客文章时所运用的技能。当收到诸如“写在note上”“在note上公开”“转化为博客文章”“升级为付费文章”“撰写文章”等指令时,此技能便会自动触发。从信息搜集、结构规划,到免费与付费内容的边界设计、内容创作、保存以及草稿投稿,全程无缝衔接、一气呵成。

SKILL.md
--- frontmatter
name: note-blog
description: >-
  note.comに公開するブログ記事を書くときに使用するスキル。
  「noteに書いて」「noteで公開して」「ブログ記事にして」「有料記事にして」
  「記事を書いて」等の指示があった場合に発動する。
  記事の情報収集、構成設計、無料/有料の境界設計、執筆、保存、下書き投稿までを一貫して行う。
allowed-tools: Bash(bash *), Bash(python *)

note.com ブログ記事執筆スキル

いつこのスキルを使うか

以下のいずれかに該当する場合に使用する:

  • 「noteに公開して」「noteに書いて」「ブログ記事にして」と指示された
  • 「有料記事にして」「有料部分を作って」と指示された
  • 作業の顛末や技術的な知見を記事としてまとめるよう指示された

記事タイプのデフォルト

明示的に「無料記事」と指定されない限り、有料記事として執筆する。

  • 「noteに書いて」→ 有料記事
  • 「無料記事でnoteに書いて」→ 無料記事
  • 「有料記事で」→ 有料記事

ノート作成の基本方針

通常のノート(note公開指示がない場合)

適切なタイミングで05_Resources/Claude/にノートを自由に書く。固有名詞、具体的なID、内部URL等を含めてよい。自分用の記録なのでプライバシー制限はない。

note公開用の記事(明確にnote用と指示された場合)

2つのバージョンを同時に作成する:

  1. 公開版: note公開用_YYYY-MM-DD_<タイトル>.md

    • YAML frontmatter でステータス管理(後述)
    • 固有名詞(プロジェクト名、顧客名、内部URL、サーバー名等)を一般化
    • 認証情報、APIキーを含めない
    • 技術的な固有名詞(Azure AD、Graph API等)はそのまま使用OK
  2. 詳細版: YYYY-MM-DD_<タイトル>.md

    • プロジェクト名、具体的なID、内部URL、コミットハッシュ等をすべて含む
    • 自分用の完全な記録

両方ともscheduler/obsidian/05_Resources/Claude/に保存する。

YAML frontmatter によるステータス管理

note公開用ノートは、先頭にYAML frontmatterを置いてステータスを管理する。これにより先頭数行を読むだけで状態がわかる。

yaml
---
status: pending           # pending / draft / published
note_draft_url:           # 下書き投稿後に記入
note_draft_date:          # 下書き投稿日
note_published_url:       # 公開後に記入(任意)
---
note公開用

# タイトル

statusの値:

status意味
pending記事作成済み、noteに未投稿
draftnoteに下書き投稿済み
publishednoteで公開済み

初期設定(初回のみ)

noteのAPIを使うには、ブラウザからセッションCookieを取得して ~/.note_cookies.json に保存する必要がある。

セッションCookieの有効期限は約3ヶ月なので、一度設定すれば長期間使える。

Cookie取得手順

  1. ブラウザで https://note.com にログイン
  2. DevTools を開く(F12 または 右クリック→検証)
  3. Application タブ → Cookieshttps://note.com
  4. _note_session_v5 の値をコピー(32文字の英数字)
  5. ~/.note_cookies.json に保存:
json
{
  "_note_session_v5": "ここにコピーした値"
}

認証確認

bash
python ~/.claude/skills/note-blog/scripts/note-api.py check-auth

成功すると「✅ 認証OK(セッション有効)」と表示される。

トラブルシューティング

症状対処
認証エラーCookieを再取得して ~/.note_cookies.json を更新
セッション期限切れnote.comに再ログインしてCookieを再取得

記事執筆の手順

ステップ1: 情報収集(最重要)

記事のクオリティは情報収集の深さで決まる。以下のソースを必ず参照する:

  1. デイリーノートscheduler/obsidian/01_Daily Notes/

    • 該当日とその前後のデイリーノートを読む
    • 「Claude作業ログ」セクションに作業の時系列が記録されている
    • 感情・苦労・試行錯誤のリアルな記録がここにある
  2. プロジェクトノートscheduler/obsidian/02_Projects/

    • 該当プロジェクトのフォルダ内ノートを確認
  3. エリアノートscheduler/obsidian/04_Areas/

    • 関連するエリアノートを検索
  4. ナレッジノートscheduler/obsidian/05_Resources/Claude/

    • 既存の関連ノートがあれば参照(重複しないように注意)
  5. gitログ

    • git log --oneline -20 で関連コミットの時系列を把握
    • 必要に応じてgit showで具体的な変更内容を確認
  6. トラブルシュート履歴

    • プロジェクトにTroubleshootHistory.md等があれば参照

情報収集を省略しない。 記事の具体性と説得力は、一次情報の量で決まる。

ステップ2: 構成設計

有料記事の場合

note.comの有料記事は「途中まで無料、途中から有料」という構造。この境界の設計が最も重要。

無料部分に含めるもの:

  • 読者を引き込む導入(問題の提示、状況描写)
  • 「自分にも起きうる」と思わせる共感ポイント
  • 問題の深刻さを伝える描写
  • 有料部分への「引き」(答えを示唆するが明かさない)

無料部分に含めないもの:

  • 結論や解決策
  • 原因の特定
  • 具体的なコマンドやコード(解決に直結するもの)
  • 教訓のまとめ

有料部分に含めるもの:

  • 原因の特定と解決策
  • 詳細な技術解説
  • 再現手順・検証コマンド
  • 教訓と再発防止策
  • 読者が実務で使える具体的な情報

境界のポイント:

  • 無料部分の最後は「続きが気になる」状態で終わる
  • 問いかけや伏線を残す
  • 「ここから先は有料です」の直前が最も引きの強い文にする

有料境界の書き方(必須):

有料部分の直前に、以下のメンバーシップ案内を必ず入れる:

markdown
---

> 💰 **ここから先は有料です** ── もしよければ、月額300円のメンバーシップで応援いただけると嬉しいです。200件以上の有料記事がすべて読み放題になるので、単体購入よりも断然お得です。

---

ポイント:

  • 引用ブロック+絵文字で目を引く
  • 単体購入より月額メンバーシップがお得であることを明記(単体で買う人が意外といるため)
  • 記事数「200件以上」は増えたら適宜更新

無料記事の場合

  • 冒頭で結論を述べてもよい
  • 技術的な正確さと実用性を重視

ステップ3: 執筆スタイル

AI共同執筆の表記(必須):

記事の一番上(タイトル直後)に、以下の表記を必ず入れる:

markdown
> 🤖✍️ **この記事はAIとの共同執筆です** ── AIエージェント(Claude Code)が胡田との実際の共同作業の経験をもとに下書きを自動生成し、胡田が内容を確認・修正したうえで公開しています。

配置のポイント:

  • タイトルの直後、本文の前に置く(最初に目に入る位置)
  • 引用ブロック(>)を使って本文と視覚的に区別する
  • アイコン(🤖✍️)で目を引く

文体:

  • 一人称は「私」
  • ですます調とである調の混在OK(noteの記事では一般的)
  • 技術用語は初出時に簡潔に説明
  • コードブロックは適切に使用

note.comのMarkdown制限事項:

以下のMarkdown記法はnote.comで正しく表示されないため、使用を避けること:

記法制限内容代替案
*斜体*斜体は表示されない使用しない、または「」で囲む
***太字斜体***太字のみ表示(斜体は無視)**太字**を使う
`インラインコード`表示されない「」で囲むか、コードブロックを使う

使用可能な記法:

  • 見出し(#, ##, ###
  • 箇条書き(- または *
  • 番号付きリスト(1. 2. 3.
  • ネストしたリスト(インデント2スペースで階層化)
  • 太字(**text**
  • コードブロック( ```)
  • 引用(>
  • リンク([text](url)
  • 水平線(---

引用+絵文字で視覚的に区別するテクニック:

note.comは装飾機能が限られているため、引用ブロック(>)と絵文字を組み合わせて特別な内容を視覚的に区別する。本来の引用の使い方とは異なるが、読みやすさのための妥協として採用する。

用途絵文字
AI共同執筆表記🤖✍️> 🤖✍️ **この記事はAIとの共同執筆です** ── ...
注意事項⚠️> ⚠️ **注意** ── この操作は元に戻せません。
ヒント・コツ💡> 💡 **ヒント** ── ショートカットキーを使うと便利です。
重要ポイント📌> 📌 **ポイント** ── ここが最も重要な部分です。
補足説明📝> 📝 **補足** ── 詳細は公式ドキュメントを参照。
成功・完了> ✅ **完了** ── 設定が正常に保存されました。
エラー・失敗> ❌ **エラー** ── 認証に失敗しました。

書き方のルール:

  • 絵文字 + 太字のラベル + 「──」 + 内容 を1行で書く
  • 引用ブロックは本文と視覚的に区別されるため、注目を集めやすい

事実と考察の明確な分離(重要):

記事内で「実際に確認した事実」と「筆者の感想・考察」を明確に区別する。

  • 事実:実際に動作確認した結果、エラーメッセージ、コマンド出力、ログの内容など
    • 「〜を実行すると、〜というエラーが出た」
    • 「〜の設定を変更したところ、正常に動作した」
  • 考察:推測、仮説、感想、教訓など
    • 「おそらく〜が原因だと思われる」
    • 「この経験から学んだのは〜」
    • 「個人的には〜と感じた」

混同を避ける書き方の例:

markdown
## 調査結果(事実)

実際にログを確認したところ、以下のエラーが記録されていた:

ERROR: Connection timeout after 30s

code
## 考察

このエラーから推測すると、ネットワーク設定に問題がある可能性が高い。
ただし、これは仮説であり、さらなる検証が必要だ。

ストーリーテリング:

  • 時系列に沿って書く(読者が追体験できるように)
  • 試行錯誤のプロセスを省略しない(苦労が共感を生む)
  • 感情を抑制しつつも、焦りや驚きを文体で表現する
  • 短い文で緊張感を出す(「動きません。」「何も起きない。」)

技術的な正確さ:

  • コマンドやコードは実際に動くものを記載
  • エラーメッセージは正確に引用
  • 推測と事実を明確に区別する(上記「事実と考察の分離」参照)

ステップ4: 保存

保存先: scheduler/obsidian/05_Resources/Claude/

ファイル名:

  • 公開版: note公開用_YYYY-MM-DD_<タイトル>.md

  • 詳細版: YYYY-MM-DD_<タイトル>.md

  • Obsidianの[[WikiLink]]を適切に付与する

  • 末尾に「## 関連リンク」セクションを付ける

  • scratchpadや/tmpには保存しない(成果物はObsidianに保存する)

ステップ5: noteに下書き投稿(自動)

記事をObsidianに保存したら、noteに下書きとして自動投稿する。

bash
python ~/.claude/skills/note-blog/scripts/note-api.py post-draft \
  --title "<記事タイトル>" \
  --file "scheduler/obsidian/05_Resources/Claude/note公開用_YYYY-MM-DD_<タイトル>.md"

アイキャッチ画像がある場合:

bash
python ~/.claude/skills/note-blog/scripts/note-api.py post-draft \
  --title "<記事タイトル>" \
  --file "scheduler/obsidian/05_Resources/Claude/note公開用_YYYY-MM-DD_<タイトル>.md" \
  --image "/path/to/thumbnail.png"

成功すると:

  • 下書きURLが表示される(例: https://note.com/notes/xxxxx/edit
  • ユーザーはそのURLを開いて、最終確認・公開ができる

下書きURLをObsidianノートのfrontmatterに記録する(必須):

下書き投稿が成功したら、元のObsidianノートのYAML frontmatterを更新する:

yaml
---
status: draft
note_draft_url: https://note.com/notes/xxxxx/edit
note_draft_date: 2026-02-05
---

これにより、先頭数行を読むだけで「下書き済み」「URLはここ」がわかる。

エラー時の対処:

  • 認証エラー → Cookieを再取得して ~/.note_cookies.json を更新
  • 接続エラー → しばらく待って再試行

ステップ6: Todoistに確認タスクを追加

下書き投稿が成功したら、Todoistに「確認して公開」タスクを追加する。

bash
bash ~/.claude/skills/todoist/scripts/todoist.sh task-create \
  --content "noteの下書きを確認して公開: <タイトル>" \
  --due "today" \
  --priority 2

ポイント:

  • 下書き投稿済みなので「確認して公開」という文言にする
  • 期限は当日(today)に設定
  • 優先度はP3(priority 2)

このステップを省略しない。 下書きのまま放置されないようにする。

よくある間違い

間違い正しい対応
冒頭で結論を書く(有料記事なのに)結論は有料部分に置く。無料部分は引きで終わる
情報収集を省略して書くデイリーノート・プロジェクトノート・gitログを必ず参照
scratchpadに保存する05_Resources/Claude/に保存する
公開版しか作らないnote用と指示されたら公開版+詳細版の2つを作る
通常ノートで固有名詞を一般化してしまう通常ノートは自分用。制限なくそのまま書く
技術詳細だけ書いてストーリーがない時系列の試行錯誤を描写し、読者が追体験できるようにする
noteに下書き投稿しない記事を書いたら必ず note-api.py post-draft で下書き投稿する
frontmatterを更新しない下書き投稿後、YAML frontmatterの status: draftnote_draft_url を更新
Todoistにタスクを追加しない下書き投稿したら必ず確認タスクをTodoistに追加する
AI共同執筆の表記を入れない導入の直後に「📝 この記事について」の表記を必ず入れる
事実と考察を混同して書く「実際に確認した事実」と「推測・感想」を明確に分けて記述する

記事テンプレート(有料記事・公開版)

markdown
---
status: pending
note_draft_url:
note_draft_date:
---
note公開用

# タイトル(引きのある、具体的なタイトル)

> 🤖✍️ **この記事はAIとの共同執筆です** ── AIエージェント(Claude Code)が胡田との実際の共同作業の経験をもとに下書きを自動生成し、胡田が内容を確認・修正したうえで公開しています。

---

## 導入(無料部分)

[状況描写 - 読者を引き込む]

---

## 背景説明(無料部分)

[技術的な前提を簡潔に]

---

## 問題発生と試行錯誤(無料部分)

[何を試して、何がダメだったか]

---

## 核心への示唆(無料部分 - ここが引き)

[答えに近づくが、明かさない]
[問いかけや伏線を残す]

---

> 💰 **ここから先は有料です** ── もしよければ、月額300円のメンバーシップで応援いただけると嬉しいです。200件以上の有料記事がすべて読み放題になるので、単体購入よりも断然お得です。

---

## 原因と解決(有料部分)

[詳細な原因分析と解決策]

## 深掘り分析(有料部分)

[なぜ発見が遅れたか等の構造分析]

## 教訓(有料部分)

[実務で使える具体的な教訓]

## 再発防止策(有料部分)

[仕組み化した対策]

## おわりに

[簡潔なまとめと読者へのメッセージ]

---

## 関連リンク

- [[関連ノート1]]
- [[関連ノート2]]