circleci/skills/circleci-watch/SKILL.md
CircleCIワークフローを目的状態(terminal / success)に到達するまで自律監視し、状態変化のティックと最終レポートを返す。/loopではなくシェルループで完結し、ポーリング過多・停止条件曖昧・トークン浪費を防ぐ。
npx skillsauth add hidetsugu-miya/claude-plugins circleci-watchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
委任メッセージまたはユーザーの指示から監視対象のワークフローを特定し、目的状態に到達するまで circleci.py watch を起動して進捗を逐次報告する。
CIRCLECI_TOKEN(Personal API Token)が Claude Code 起動前の shell に export 済みであること
~/.zshrc / ~/.bashrc 等に export CIRCLECI_TOKEN=... を記載し、その shell から claude を起動する~/.claude/settings.json や .claude/settings.local.json の env ブロック経由では MCP サーバーへ伝播しないため注意CIRCLECI_BASE_URL も shell に export する(デフォルト: https://circleci.com)Personal API Token は https://app.circleci.com/settings/user/tokens から取得。
| パラメータ | 必須 | 説明 |
|---|---|---|
| --project-url / --workflow-url | ※ | pipeline / workflow / job の URL(最も簡単) |
| --workflow-id | ※ | ワークフローUUIDを直接指定 |
| --project-slug + --branch | ※ | プロジェクトslug+ブランチで最新ワークフローを推定 |
| --target-state | 任意 | terminal(default) / success。terminalは success/failed/error/canceled/unauthorized いずれかで停止 |
| --interval | 任意 | ポーリング間隔(秒)。default 90、最小 30、最大 600 |
| --max-wait | 任意 | 全体タイムアウト(秒)。default 1800(30分)、最大 7200(120分) |
| --notify-on | 任意 | change(default) / every。change はジョブ・ワークフロー状態が変化した時のみ進捗ティック出力 |
※ 上3パターンのうちいずれかで監視対象を一意に決められること。複数指定時の優先順位: --workflow-id > URL(--workflow-url / --project-url) > --project-slug + --branch。
target-state を満たしたtarget-state=success の場合、ワークフローまたは個別ジョブが failed/canceled/error/unauthorized で確定(失敗扱いで停止)--max-wait を超過(タイムアウト報告)circleci.py watch を run_in_background=true で起動し、進捗を BashOutput で取得する。メインターンを長時間ブロックしない[circleci-watch] tick または FINAL 行が出たタイミングで要約をユーザーへ伝える[circleci-watch] FINAL status=success|failure|timeout を検出したら最終レポートを整形して報告python3 ${CLAUDE_PLUGIN_ROOT}/scripts/circleci.py watch \
--project-url "https://app.circleci.com/pipelines/github/org/repo/123/workflows/73a9e721-..." \
--target-state terminal \
--interval 90 \
--max-wait 1800 \
--notify-on change
ワークフローIDが分かっている場合:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/circleci.py watch \
--workflow-id 73a9e721-90f8-4cc9-98f2-36cb85db9e4b \
--target-state success
ブランチの最新ワークフローを監視:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/circleci.py watch \
--project-slug github/org/repo \
--branch main
ワークフロー状態を1度だけ取得(差分計算用途):
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/circleci.py workflow-status \
--workflow-id 73a9e721-90f8-4cc9-98f2-36cb85db9e4b
進捗ティック(notify_on=change 時はジョブ状態変化時のみ送信):
[circleci-watch] tick elapsed=1m30s workflow=running changed=1
~ deploy-front-web-production: queued → running
最終レポート(成功):
[circleci-watch] FINAL status=success elapsed=18m24s
pipeline=#9249 workflow=73a9e721-90f8-4cc9-98f2-36cb85db9e4b
workflow_status=success target=terminal
jobs:
checkout_code success 1m02s
build-docker-image-web-production success 7m11s
deploy-front-web-production success 8m30s
url: https://app.circleci.com/pipelines/github/org/repo/9249/workflows/73a9e721-...
最終レポート(失敗・タイムアウト)の場合は status=failure / status=timeout となる。失敗時はメインエージェントが続けて CircleCI MCP の失敗ログ取得ツールを呼び出し、失敗ジョブのログ抜粋を付加する。
| 終了コード | 意味 | |---|---| | 0 | 成功(target-state 到達 / terminal で success) | | 1 | 入力エラー / API エラー | | 2 | failure(target-state 未達で失敗扱い) | | 3 | timeout(max-wait 超過) |
--interval の最小値は 30 秒。CircleCI API レート制限に配慮するため、特別な理由がない限り default の 90 秒を使う--max-wait の上限は 7200 秒(120分)。それ以上の長時間監視はサポートしない(再起動して継続する)run_in_background=true で起動することを強く推奨。メインターンで同期実行すると Claude が他の指示に応答できなくなるtools
Slack MCP CLI の初期セットアップ skill。`~/.config/slack/bin/slack-mcp` wrapper を作成し、Codex / Claude / terminal から `CLAUDE_PLUGIN_ROOT` なしで Slack MCP を使えるようにする。「Slack MCP をセットアップ」「slack-mcp コマンドを作成」等で起動する。
tools
Slack MCP 連携の共通リファレンス。公式 MCP Python SDK、固定 Slack CLIENT_ID、ワークスペース単位の OAuth token 保存、Slack MCP CLI の実行規約を定義する。slack-connect / slack-bridge から参照する。
tools
Slack MCP 用の初回接続 skill。`~/.config/slack/bin/slack-mcp login` で公式 MCP Python SDK による OAuth 認証を実行し、ワークスペース単位で token を保存する。「Slack を接続」「Slack MCP の初回登録」等で起動する。
tools
登録済み Slack workspace を使って Slack MCP tool を実行する skill。`~/.config/slack/bin/slack-mcp call` 方式で、検索・チャンネル履歴・スレッド取得・送信を行う。「Slack を検索」「Slack の permalink を読んで」「Slack チャンネル履歴を見て」等で起動する。