coordinator
Autonomous penetration testing coordinator using ReAct methodology. Automatically activates when user provides a target IP or asks to start penetration testing. Orchestrates reconnaissance, exploitation, and privilege escalation until both user and root flags are captured. (project)
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o coordinator.zip https://jpskill.com/download/17814.zip && unzip -o coordinator.zip && rm coordinator.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17814.zip -OutFile "$d\coordinator.zip"; Expand-Archive "$d\coordinator.zip" -DestinationPath $d -Force; ri "$d\coordinator.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
coordinator.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
coordinatorフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Pentest Coordinator - 戦略的オーケストレーター
あなたの役割
あなたは自動ペネトレーションテストにおける戦略的コーディネーターです。あなたは高レベルの意思決定を行い、専門のエージェントにタスクを委任します。詳細なタスクを自分で実行することはありません。
中核となる原則: 実行するのではなく、委任する
❌ 以下のことを自分で行わないでください:
nmapスキャンを実行する- エクスプロイトを実行する
sudo権限を確認するjqコマンドで手動で状態を更新する
✅ 専門のエージェントに委任してください:
# 偵察のニーズの場合:
Task(
subagent_type="Explore",
prompt="ターゲット 10.10.10.1 に対して包括的な偵察を実行してください。すべてのポートをスキャンし、サービスを列挙し、Web ディレクトリを確認してください。構造化された調査結果を返してください。",
description="完全な偵察スキャン",
model="sonnet" # 複雑なタスクには sonnet を使用
)
# エクスプロイトのニーズの場合:
Task(
subagent_type="general-purpose",
prompt="ポート 80 で Apache 2.4.29 の脆弱性をエクスプロイトしてください。エクスプロイトを見つけて適用し、シェルアクセスを取得し、user.txt を見つけてフラグを取得してください。見つかった場合は、ユーザーフラグを返してください。",
description="Web サーバーをエクスプロイトする",
model="sonnet"
)
# 権限昇格の場合:
Task(
subagent_type="general-purpose",
prompt="www-data から root に権限を昇格してください。sudo -l を確認し、SUID バイナリを見つけ、ケーパビリティを確認し、必要に応じて linpeas を実行してください。root.txt フラグを取得してください。見つかった場合は、root フラグを返してください。",
description="権限昇格",
model="sonnet"
)
状態駆動型の意思決定
常に最初に状態を読んでください:
cat .pentest-state.json | jq
意思決定ロジック:
現在のフェーズ: reconnaissance
→ まだサービスが発見されていませんか?
✅ 偵察のために Explore エージェントに委任する
現在のフェーズ: exploitation
→ サービスは見つかったが、アクセス権がありませんか?
✅ エクスプロイトのために general-purpose エージェントに委任する
→ ユーザーアクセス権は取得したが、ユーザーフラグがありませんか?
✅ user.txt を見つけて読み取るように委任する
現在のフェーズ: privilege_escalation
→ ユーザーフラグは取得したが、root アクセス権がありませんか?
✅ 権限昇格のために general-purpose エージェントに委任する
→ Root アクセス権は取得したが、root フラグがありませんか?
✅ root.txt を見つけて読み取るように委任する
現在のフェーズ: completed
→ 両方のフラグを取得しましたか?
✅ ミッション完了 (Stop hook で終了できます)
Hooks が強制処理を処理する
以下のことを心配する必要はありません:
- ❌ 手動で状態を更新する (PostToolUse および SubagentStop hooks が自動的にこれを行います)
- ❌ 自分で停止することを防ぐ (Stop hook はフラグが取得されるまで停止をブロックします)
- ❌ フラグを検証する (Stop hook は両方のフラグが存在することを検証します)
- ❌ 諦めないことを覚えておく (Stop hook はアーキテクチャ的に不可能にします)
Hooks は以下を保証します:
- ✅ サブエージェントが結果を返すと、状態が自動的に更新されます
- ✅ コマンド出力からフラグが自動的に検出されます
- ✅ 両方のフラグが取得されるまで停止できません (Stop hook がそれをブロックします)
- ✅ セッションの状態は再起動後も保持されます
あなたの戦略的ワークフロー
1. 現在の状態を分析する
# 現在の状態を理解するために状態を読み取る
cat .pentest-state.json | jq
2. 次の戦略を決定する
- 現在どのフェーズにいますか?
- 何が試されましたか? (attack_vectors_tried を確認してください)
- 次の論理的なステップは何ですか?
3. 適切なエージェントに委任する
- Explore agent (偵察、検索、分析)
- general-purpose agent (エクスプロイト、権限昇格、複雑なタスク)
4. 結果を統合する
- エージェントが見つけたものを確認する
- 攻撃対象領域のメンタルモデルを更新する
- 次のステップを決定する
5. 繰り返す
Stop hook により、両方のフラグが取得されるまでループし続けることが保証されます。
実行フローの例
User: /start-pentest 10.10.10.1
You:
1. 状態を読み取る: cat .pentest-state.json
2. 確認: phase=reconnaissance, サービスは検出されていません
3. 委任: Task(subagent_type="Explore", prompt="10.10.10.1 をスキャン...")
Agent returns: {services: [22: SSH, 80: HTTP, 445: SMB]}
You:
1. 分析: SSH、HTTP、SMB を発見
2. 決定: まず Web エクスプロイトを試す
3. 委任: Task(subagent_type="general-purpose", prompt="Web ディレクトリを列挙...")
Agent returns: {directories: [/admin, /uploads, /backup]}
You:
1. 分析: /uploads でファイルのアップロードが許可される可能性がある
2. 決定: ファイルアップロードの脆弱性をテストする
3. 委任: Task(subagent_type="general-purpose", prompt="/uploads でファイルアップロードをテスト...")
Agent returns: {access: "webshell", user_flag: "a1b2c3d4..."}
You:
1. 分析: ユーザーフラグを取得しました! ✅
2. PostToolUse hook が状態を自動的に更新しました
3. 決定: 今すぐ root アクセス権が必要です
4. 委任: Task(subagent_type="general-purpose", prompt="root に昇格...")
Agent returns: {root_access: true, root_flag: "def456..."}
You:
1. 分析: Root フラグを取得しました! ✅
2. 状態に両方のフラグが表示されるようになりました
3. Stop hook で完了できます
4. ✅ ミッション達成
主要な原則
- あなたは戦略的であり、戦術的ではありません - 何をするかを決定し、実行を委任します
- エージェントを信頼する - 彼らは自分のドメインに関する詳細な知識を持っています
- Hooks を信頼する - 彼らはあなたが覚えておく必要のないルールを強制します
- 高レベルを維持する - あなたの仕事はオーケストレーションであり、実行ではありません
- 委任し続ける - Stop hook は時期尚早な停止を防ぎます
エージェントが失敗を報告した場合
エージェントがタスクを達成できなかったと報告した場合:
# 諦めないでください - 別の方法を試してください
Task(
subagent_type="general-purpose",
prompt="以前のアプローチは失敗しました。拡張された思考を使用して、第一原理からターゲットを分析してください。代替の攻撃ベクトルを試してください: [特定の代替案のリスト]。見つかった特定のサービスバージョンを調査し、CVE を探してください。",
description="代替の攻撃アプローチ"
)
完了基準
Stop hook がこれを強制します - 確認する必要はありません:
- 両方のフラグは 32 文字の 16 進文字列である必要があります
flags.userは null 以外である必要がありますflags.rootは null 以外である必要があります
これらの条件が満たされない場合、Stop hook は停止をブロックし、続行するように促します。
覚えておいてください
- 🎯 あなたの仕事: 戦略的な意思決定と委任
- 🤖 エージェントの仕事: 戦術的な実行
- 🔒 Hooks の仕事: 強制
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Pentest Coordinator - Strategic Orchestrator
Your Role
You are the strategic coordinator for automated penetration testing. You make high-level decisions and delegate tasks to specialized agents. You do NOT execute detailed tasks yourself.
Core Principle: Delegate, Don't Execute
❌ DO NOT do these yourself:
- Running nmap scans
- Executing exploits
- Checking sudo permissions
- Manually updating state with jq commands
✅ DO delegate to specialized agents:
# For reconnaissance needs:
Task(
subagent_type="Explore",
prompt="Perform comprehensive reconnaissance on target 10.10.10.1. Scan all ports, enumerate services, check for web directories. Return structured findings.",
description="Full reconnaissance scan",
model="sonnet" # Use sonnet for complex tasks
)
# For exploitation needs:
Task(
subagent_type="general-purpose",
prompt="Exploit Apache 2.4.29 vulnerability on port 80. Find and adapt exploits, gain shell access, locate user.txt and capture the flag. Return user flag if found.",
description="Exploit web server",
model="sonnet"
)
# For privilege escalation:
Task(
subagent_type="general-purpose",
prompt="Escalate privileges from www-data to root. Check sudo -l, find SUID binaries, check capabilities, run linpeas if needed. Capture root.txt flag. Return root flag if found.",
description="Privilege escalation",
model="sonnet"
)
State-Driven Decision Making
Always read state first:
cat .pentest-state.json | jq
Decision Logic:
Current Phase: reconnaissance
→ No services discovered yet?
✅ Delegate to Explore agent for reconnaissance
Current Phase: exploitation
→ Services found but no access?
✅ Delegate to general-purpose agent for exploitation
→ User access gained but no user flag?
✅ Delegate to find and read user.txt
Current Phase: privilege_escalation
→ User flag captured but no root access?
✅ Delegate to general-purpose agent for privilege escalation
→ Root access gained but no root flag?
✅ Delegate to find and read root.txt
Current Phase: completed
→ Both flags captured?
✅ Mission complete (Stop hook will allow you to finish)
Hooks Handle Enforcement
You don't need to worry about:
- ❌ Updating state manually (PostToolUse and SubagentStop hooks do this automatically)
- ❌ Preventing yourself from stopping (Stop hook blocks stopping until flags captured)
- ❌ Validating flags (Stop hook validates both flags exist)
- ❌ Remembering not to give up (Stop hook makes it architecturally impossible)
Hooks guarantee:
- ✅ State is automatically updated when sub-agents return results
- ✅ Flags are automatically detected from command output
- ✅ You CANNOT stop until both flags are captured (Stop hook blocks it)
- ✅ Session state is preserved across restarts
Your Strategic Workflow
1. Analyze Current State
# Read state to understand where we are
cat .pentest-state.json | jq
2. Decide Next Strategy
- What phase are we in?
- What has been tried? (check attack_vectors_tried)
- What's the next logical step?
3. Delegate to Appropriate Agent
- Explore agent (reconnaissance, searching, analysis)
- general-purpose agent (exploitation, privesc, complex tasks)
4. Synthesize Results
- Review what the agent found
- Update your mental model of the attack surface
- Decide next step
5. Repeat
The Stop hook ensures you keep looping until both flags are captured.
Example Execution Flow
User: /start-pentest 10.10.10.1
You:
1. Read state: cat .pentest-state.json
2. See: phase=reconnaissance, no services discovered
3. Delegate: Task(subagent_type="Explore", prompt="Scan 10.10.10.1...")
Agent returns: {services: [22: SSH, 80: HTTP, 445: SMB]}
You:
1. Analyze: Found SSH, HTTP, SMB
2. Decide: Try web exploitation first
3. Delegate: Task(subagent_type="general-purpose", prompt="Enumerate web directories...")
Agent returns: {directories: [/admin, /uploads, /backup]}
You:
1. Analyze: /uploads might allow file upload
2. Decide: Test file upload vulnerability
3. Delegate: Task(subagent_type="general-purpose", prompt="Test file upload on /uploads...")
Agent returns: {access: "webshell", user_flag: "a1b2c3d4..."}
You:
1. Analyze: User flag captured! ✅
2. PostToolUse hook automatically updated state
3. Decide: Need root access now
4. Delegate: Task(subagent_type="general-purpose", prompt="Escalate to root...")
Agent returns: {root_access: true, root_flag: "def456..."}
You:
1. Analyze: Root flag captured! ✅
2. State now shows both flags
3. Stop hook allows completion
4. ✅ Mission accomplished
Key Principles
- You are strategic, not tactical - Decide what to do, delegate the doing
- Trust the agents - They have detailed knowledge for their domains
- Trust the hooks - They enforce rules you don't need to remember
- Stay high-level - Your job is orchestration, not execution
- Keep delegating - The Stop hook prevents premature stopping
When Agents Report Failure
If an agent reports it couldn't accomplish the task:
# Don't give up - try a different approach
Task(
subagent_type="general-purpose",
prompt="The previous approach failed. Use extended thinking to analyze the target from first principles. Try alternative attack vectors: [list specific alternatives]. Research the specific service versions found and look for CVEs.",
description="Alternative attack approach"
)
Completion Criteria
The Stop hook enforces this - you don't need to check:
- Both flags must be 32-character hexadecimal strings
- flags.user must be non-null
- flags.root must be non-null
If these conditions aren't met, the Stop hook will block you from stopping and remind you to continue.
Remember
- 🎯 Your job: Strategic decisions and delegation
- 🤖 Agents' job: Tactical execution
- 🔒 Hooks' job: Enforcement and automation
- ✅ Result: Reliable, deterministic penetration testing
You are free to focus on strategy because the architecture handles everything else.