From confluence-plugin
セルフホスト型Confluenceのページ取得・検索・探索スキル。以下の場合に必ず使用すること:(1) ConfluenceのURLが含まれるプロンプト、(2) Confluenceのページ内容を参照・確認したい場合、(3) ドキュメントやナレッジベースの検索が必要な場合、(4) 作業中に追加の技術情報や仕様を確認したくなった場合。confluence、Wiki、ナレッジベースへの言及があれば常にトリガーすること。
How this skill is triggered — by the user, by Claude, or both
Slash command
/confluence-plugin:confluence-readerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
セルフホスト型Confluenceからページの取得・検索・探索を行うスキル。
セルフホスト型Confluenceからページの取得・検索・探索を行うスキル。
依存: curl と jq(jqが無い場合はJSONを直接読み取る)
環境変数 CONFLUENCE_PAT と CONFLUENCE_BASE_URL が設定されていること。
export CONFLUENCE_BASE_URL="https://confluence.example.com"
export CONFLUENCE_PAT="your-personal-access-token"
ベースURL: 環境変数 CONFLUENCE_BASE_URL で指定する(例: https://confluence.example.com)
すべてのAPIリクエストに以下のヘッダーとオプションを付与する:
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"<API_URL>"
-s: サイレントモード-k: 自己署名証明書を許可ユーザーが以下のようなプロンプトを送った場合:
URL https://confluence.example.com/spaces/DEV/pages/12345/ページタイトル を参照してください
Step 1 — URLからページIDを抽出する:
| URLパターン | 抽出方法 |
|---|---|
/spaces/{spaceKey}/pages/{pageId}/{title} | /pages/ 直後の数字 |
/pages/viewpage.action?pageId={pageId} | pageId= の値 |
Step 2 — ページコンテンツを取得する:
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/content/{pageId}?expand=body.storage,version,space,ancestors"
Step 3 — レスポンスの主要フィールドを読み取る:
title — ページタイトルbody.storage.value — 本文(HTML形式、Confluenceマクロ含む)version.number — バージョン番号space.key / space.name — スペース情報ancestors[].title — 親ページのパンくずリスト以下のような状況で使用する:
Step 1 — CQL(Confluence Query Language)でページを検索する:
# タイトルで検索(あいまい検索)
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/content/search?cql=type=page+AND+title~\"検索ワード\"&limit=10&expand=version,space"
# タイトル+本文のフルテキスト検索
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/content/search?cql=type=page+AND+text~\"検索ワード\"&limit=10&expand=version,space"
# 特定スペース内に絞って検索
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/content/search?cql=space=SPACEKEY+AND+type=page+AND+title~\"検索ワード\"&limit=10&expand=version,space"
Step 2 — 検索結果から関連ページを選択する:
レスポンスの results[] 配列から以下を確認:
results[].id — ページID(詳細取得に使用)results[].title — ページタイトルresults[].space.key — スペースキーresults[].version.when — 最終更新日時results[]._links.webui — ブラウザ表示用URLStep 3 — 関連性の高いページの詳細を取得する:
検索結果から目的に合うページのIDを使い、パターン1のStep 2と同じ方法で本文を取得する。
| オペレータ | 意味 | 例 |
|---|---|---|
= | 完全一致 | space=DEV |
~ | 部分一致(あいまい) | title~"設計" |
AND | AND条件 | space=DEV AND title~"API" |
OR | OR条件 | title~"設計" OR title~"仕様" |
> / < | 日付比較 | lastModified>"2025-01-01" |
--data-urlencode を使うか、事前にエンコードするtitle~ を text~ に変えてフルテキスト検索を試す以下のような状況で使用する:
Step 1 — 子ページ一覧を取得する:
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/content/{pageId}/child/page?limit=100&expand=version"
Step 2 — 必要なページの詳細を取得する:
子ページ一覧の results[].id と results[].title を確認し、関連性の高いページをパターン1の方法で取得する。
どのスペースがあるか分からない場合:
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/space?limit=50&expand=description.plain"
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/space/SPACEKEY/content/page?depth=root&limit=50&expand=version"
Claude Codeが作業中にConfluence検索を行うべき状況:
| HTTPステータス | 原因 | 対処 |
|---|---|---|
| 401 | 認証失敗 | CONFLUENCE_PAT の有効期限・正誤を確認 |
| 403 | 権限不足 | 該当ページ/スペースへのアクセス権を確認 |
| 404 | ページ未発見 | ページID・スペースキーの正誤を確認 |
| 400 | CQL構文エラー | CQLの構文・エスケープを見直す |
ページの添付ファイル一覧が必要な場合:
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-H "Accept: application/json" \
"${CONFLUENCE_BASE_URL}/rest/api/content/{pageId}/child/attachment"
添付ファイルのダウンロード:
curl -s -k \
-H "Authorization: Bearer ${CONFLUENCE_PAT}" \
-O -J \
"${CONFLUENCE_BASE_URL}{download_link}"
download_link は添付ファイル一覧の results[]._links.download から取得する。
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub sinoa/claudecode-foxtamp-plugins --plugin confluence-plugin