Agent Skills by ALSEL
Anthropic Claude個人生産性⭐ リポ 7品質スコア 69/100

notion-management

Node.js/JavaScriptプロジェクトでNotion APIを使用するための完全なガイドです。Notionのページ、データベース、プロパティの作成、更新、取得、管理に使用できます。リッチテキスト、データベーススキーマ、複数選択フィールド、日付、複雑なコンテンツ構造の適切な処理に対応しています。「Notionページを作成する」「データベースプロパティを更新する」「Notionにコンテンツを追加する」「Notionワークフローを管理する」といったタスクで活用できます。

description の原文を見る

Complete guide for working with Notion API in Node.js/JavaScript projects. Use when creating, updating, fetching, or managing Notion pages, databases, and properties. Includes proper handling of rich text, database schemas, multi-select fields, dates, and complex content structures. Triggers on tasks like "create a Notion page," "update database properties," "add content to Notion," or "manage Notion workflows."

SKILL.md 本文

Notion Management スキル

Node.js/JavaScript 開発向けの Notion API を使いこなすためのマスターガイドです。このスキルは、すべての一般的な Notion 操作のパターン、ツール、リファレンスを提供します。

クイックスタート

Notion リソースの取得

// ページまたはデータベースを取得
const page = await notion_notion-fetch({
  id: "page-id-or-url"
});

// ページはマークダウン コンテンツとプロパティを返す
// データベースはスキーマ、データソース、ビューを返す

ページの作成

// 単一ページの作成
const pages = await notion_notion-create-pages({
  pages: [{
    properties: {
      title: "My Page Title",
      // データベーススキーマに基づく他のプロパティ
    },
    content: "# Markdown content here\n\nSupports rich markdown."
  }],
  parent: {
    data_source_id: "collection-id" // またはpage_id、database_id
  }
});

ページの更新

// プロパティを更新
await notion_notion-update-page({
  page_id: "page-id",
  command: "update_properties",
  properties: {
    title: "Updated Title",
    status: "Done"
  }
});

// すべてのコンテンツを置き換え
await notion_notion-update-page({
  page_id: "page-id",
  command: "replace_content",
  new_str: "# New content here"
});

// 特定のセクションを置き換え
await notion_notion-update-page({
  page_id: "page-id",
  command: "replace_content_range",
  selection_with_ellipsis: "# Old heading...last paragraph.",
  new_str: "# New heading\nNew content"
});

// セクションの後にコンテンツを挿入
await notion_notion-update-page({
  page_id: "page-id",
  command: "insert_content_after",
  selection_with_ellipsis: "## Section...end of section.",
  new_str: "\n## New Section\nNew content here"
});

一般的なプロパティ型とフォーマット

シンプルなプロパティ

  • title (文字列): ページタイトル、大きな見出しとして表示
  • rich_text (文字列): テキストフィールド
  • url (文字列): URL フィールド
  • email (文字列): メールフィールド
  • phone_number (文字列): 電話番号
  • checkbox (文字列): "__YES__" または "__NO__" を使用
  • number (数値): 文字列ではなく JavaScript の数値を使用

選択プロパティ

// single_select: オプション名をそのまま使用
properties: {
  Status: "In Progress"  // 正確なオプション名と一致する必要があります
}

// multi_select: 単一文字列またはカンマ区切り
// ❌ 間違い: ["option1", "option2"]  // 配列を使用しないでください
// ❌ 間違い: "option1,option2"       // カンマを使用しないでください
// ✅ 正解: 別の API 呼び出しまたは特定のフォーマットを使用する必要があります

日付プロパティ

// 日付プロパティは3つのキーを持つ拡張フォーマットを使用
properties: {
  "date:Due Date:start": "2025-01-30",
  "date:Due Date:end": null,  // 終了日付は任意
  "date:Due Date:is_datetime": 0  // 日付は0、日時は1
}

場所プロパティ

// 場所/ロケーション プロパティは拡張フォーマットを使用
properties: {
  "place:Office:name": "HQ",
  "place:Office:address": "123 Main St",
  "place:Office:latitude": 37.7749,
  "place:Office:longitude": -122.4194,
  "place:Office:google_place_id": "optional-id"
}

特別なプロパティ名

「id」または「url」という名前のプロパティ(大文字小文字を問わず)には「userDefined:」プレフィックスを付ける必要があります:

properties: {
  "userDefined:id": "value",
  "userDefined:URL": "https://example.com"
}

マルチセレクトフィールド - 重要

よくある間違い: マルチセレクトフィールドは厳密な検証があります。マルチセレクトプロパティを持つデータベースでページを作成または更新する場合:

  1. 最初にデータベースを取得 して利用可能なオプションを確認してください:

    const db = await notion_notion-fetch({ id: "database-id" });
    // レスポンスは以下を示します: "Tags": {"options": [{"name": "Option1"}, {"name": "Option2"}]}
    
  2. 有効なオプション名のみを使用してください

    properties: {
      Tags: "Option1"  // 単一オプションを文字列として指定
    }
    
  3. 複数のオプションの場合: 現在、API に制限があります。ベストプラクティス:

    • 1つのタグを付けてページを作成
    • 必要に応じて、追加のタグで更新
    • または特定のフォーマットで区切られた複数のタグを渡す(データベーススキーマを確認)
  4. エラー処理: 「Invalid multi_select value」エラーが発生した場合は、以下を確認してください:

    • オプション名がデータベースに表示されているとおりに正確に綴られていますか?
    • 配列ではなく文字列を渡していますか?
    • データベーススキーマでこのオプションが許可されていますか?

データベース操作

データベーススキーマの取得

const db = await notion_notion-fetch({
  id: "database-id-or-url"
});

// 以下を返します:
// - データベースのタイトルとアイコン
// - データベース内のデータソース(コレクション)
// - 各データソースのスキーマ
// - 利用可能なビュー

データベースの作成

const db = await notion_notion-create-database({
  title: [{type: "text", text: {content: "My Database"}}],
  parent: {page_id: "parent-page-id"},
  properties: {
    "Task Name": {type: "title"},
    "Status": {
      type: "select",
      select: {
        options: [
          {name: "To Do", color: "red"},
          {name: "In Progress", color: "yellow"},
          {name: "Done", color: "green"}
        ]
      }
    },
    "Due Date": {type: "date"}
  }
});

データベーススキーマの更新

await notion_notion-update-database({
  database_id: "db-id",
  title: [{type: "text", text: {content: "New Title"}}],
  properties: {
    "New Property": {type: "rich_text"},
    "Property to Rename": {name: "Renamed Property"},
    "Property to Delete": null  // 削除するには null に設定
  }
});

コンテンツ(マークダウン)ガイドライン

サポートされているマークダウン

  • 見出し: # H1## H2 など
  • リスト: 箇条書き - item、番号付き 1. item
  • コード: インライン `code` とコードブロック
  • 太字/イタリック: **bold***italic*
  • リンク: [text](url)
  • テーブル: 完全なマークダウン テーブル対応
  • 引用: > quoted text
  • トグル/折りたたみ: ▶ Collapsed content\n\tHidden items(注:タブでインデント)

トグル/折りたたみセクション

トグルは 文字の後に非表示にするコンテンツが続いて作成されます:

▶ Click to expand
	Hidden content line 1
	Hidden content line 2
	- Nested list item

重要: の後のコンテンツはタブまたはスペースでインデントする必要があります。

リッチテキスト アノテーション

コンテンツに色とスタイルのアノテーションを含めることができます:

# Heading {color="blue"}
Some text {color="red"} and {bold="true"}

検索とナビゲーション

Notion を検索

const results = await notion_notion-search({
  query: "search term",
  query_type: "internal"  // またはユーザー検索の場合は "user"
});

// 作成日で絞り込み
const filtered = await notion_notion-search({
  query: "recent docs",
  filters: {
    created_date_range: {
      start_date: "2025-01-01",
      end_date: "2025-01-31"
    }
  }
});

チームとユーザーの取得

// チームを一覧表示
const teams = await notion_notion-get-teams({
  query: "engineering"  // オプションの検索
});

// ユーザーを一覧表示
const users = await notion_notion-get-users({
  query: "john",  // オプションの検索
  page_size: 100
});

// 特定のユーザーを取得
const user = await notion_notion-get-users({
  user_id: "user-id-or-self"
});

エラーハンドリング

一般的なエラーと解決策

「Invalid multi_select value」

原因: オプション名が存在しないか、フォーマットが間違っている 解決策:

  1. データベースを取得して有効なオプションを確認
  2. 正確なオプション名を使用
  3. 配列ではなく文字列として渡す

「Invalid input」/ 検証エラー

原因: 不正なプロパティフォーマットまたは型 解決策:

  1. データベーススキーマでプロパティ型を確認
  2. 正しいフォーマットを使用(例:日付プロパティは date:Property:start フォーマットが必要)
  3. 特別な名前が userDefined: プレフィックスを使用していることを確認

「Page not found」

原因: ID が間違っているか、権限不足 解決策:

  1. ページ/データベース ID が正しいことを確認
  2. リソースへのアクセス権があることを確認
  3. ID が機能しない場合はフルURL を使用

「Unauthorized」

原因: Notion インテグレーションに権限がない 解決策:

  1. インテグレーションがデータベース/ページと共有されていることを確認
  2. Notion の設定でインテグレーション スコープを確認
  3. 必要に応じて再認証

ベストプラクティス

  1. 常に最初に取得: データベースにコンテンツを作成する前に、データベースを取得してスキーマを理解
  2. オプション名を検証: マルチセレクト オプションは厳密に検証されるため、正確なスペルをチェック
  3. データベースに data_source_id を使用: データベースに複数のデータソースがある場合は、親として database_id の代わりに data_source_id を使用
  4. ID を柔軟に処理: ほとんどのツールはダッシュの有無にかかわらずページ ID を受け入れます
  5. コンテンツのインデント: トグル/折りたたみコンテンツはタブまたはスペースでインデントする必要があります
  6. 複雑な更新を分割: 大きなコンテンツ更新は、小さな操作に分割した方がより安全
  7. シンプルなケースで最初にテスト: 複雑な自動化の前に、単一のページ/フィールドでテスト
  8. 環境を文書化: Notion インテグレーション トークンは安全に保存し、git には含めない

高度なパターン

詳細については references/advanced-patterns.md を参照してください:

  • バッチ操作とパフォーマンス最適化
  • 外部データを Notion に同期
  • 動的データベースとビューの作成
  • リレーションシップとロールアップの処理
  • 複雑なフィルタリングとソート

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
majiayu000
リポジトリ
majiayu000/claude-skill-registry-data
ライセンス
MIT
最終更新
2026/5/9

Source: https://github.com/majiayu000/claude-skill-registry-data / ライセンス: MIT

関連スキル

汎用個人生産性⭐ リポ 7,456

newsblur-cli

ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。

by samuelclay
汎用個人生産性⭐ リポ 58,643

caveman-compress

自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」

by JuliusBrussee
ALSEL独自Anthropic Claude個人生産性

find-skills

日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。

by 株式会社ALSEL
汎用個人生産性⭐ リポ 39,967

planning-and-task-breakdown

仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。

by addyosmani
Anthropic Claude個人生産性⭐ リポ 132,723

docx

このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。

by anthropics
汎用個人生産性⭐ リポ 39,967

idea-refine

アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: majiayu000 · majiayu000/claude-skill-registry-data · ライセンス: MIT