goose-acp-integration
Integrate {{AGENT_NAME}} with ACP (Agent Client Protocol) agents.
Skill by humanerd-drew
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/humanerd-drew-goose-acp-integration
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/goose-acp-integration
What's inside
- Skill name
goose-acp-integration- Description
- Integrate {{AGENT_NAME}} with ACP (Agent Client Protocol) agents. Reverse-engineered from goose's Rust ACP provider implementation.
- License
- MIT
- Instructions
- 97 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Goose ACP Integration for {{AGENT_NAME}}
## What is ACP
**Agent Client Protocol (ACP)** is a JSON-RPC-based standard for communicating with coding agents (GitHub: agentclientprotocol).
goose uses ACP to connect to agents like Claude Code as **provider** (subprocess communication over stdio):
```
goose → claude-agent-acp (NPM) → Claude Code CLI → Anthropic API
```
Key ACP providers in goose:
- `claude_acp.rs` — Claude Code via `@agentclientprotocol/claude-agent-acp`
- `codex_acp.rs` — OpenAI Codex
- `copilot_acp.rs` — GitHub Copilot
## Key Protocol Types (agent_client_protocol schema)
```rust
InitializeRequest/Response // handshake
NewSessionRequest/Response // create session
PromptRequest/Response // send messages
SessionNotification // async events (tool calls, permissions, completion)
- ToolCallStart { id, name, kind, raw_input }
- ToolCallComplete { id, raw_output, content[], is_error }
- PermissionRequest { request: RequestPermissionRequest }
- Complete(StopReason, Option<Usage>)
ToolCallContent / ToolCallStatus
RequestPermissionResponse
```
## How goose connects to Claude Code
```rust
// crates/goose/src/providers/claude_acp.rs
let config = AcpProviderConfig {
command: resolved_command, // path to claude-agent-acp
args: vec![],
env: vec![],
work_dir: current_dir,
mcp_servers: extension_configs_to_mcp_servers(&extensions), // {{AGENT_NAME}} tools as MCP
session_mode_id: Some(mode_mapping[&goose_mode].clone()),
// mode_mapping:
// Auto → bypassPermissions (fully autonomous)
// Approve → default (ask before risky)
// SmartApprove → acceptEdits (auto-accept edits)
// Chat → plan (plan only)
};
AcpProvider::connect(name, model, goose_mode, config).await
```
AcpProvider (crates/goose/src/acp/provider.rs):
- Spawns subprocess (stdio JSON-RPC)
- Sends `initialize` then `newSession`
- Streams `SessionNotification` back (tool calls, permissions)
- Sends tool results via `CallToolResult`
## {{AGENT_NAME}} Implementation Points
### 1. ACP Provider Tool
Spawn any ACP agent as subprocess, communicate via newline-delimited JSON-RPC over stdio.
### 2. MCP Extension Bridge
Convert {{AGENT_NAME}} tools → MCP server definitions → pass to ACP agent via `mcp_servers` config.
### 3. Permission Tiers
Map {{AGENT_NAME}} P0-P6 brain rules to ACP permission decisions (AllowAlways/AllowOnce/RejectOnce/RejectAlways/Cancel).
## Implementation Plan
**Phase 1:** `tools/acp_provider.py` — subprocess spawn + JSON-RPC over stdio + session lifecycle
**Phase 2:** Delegate to Claude Code via `claude-agent-acp`, pass {{AGENT_NAME}} tools as MCP servers
**Phase 3:** Permission callback system bridging {{AGENT_NAME}} P0 rules to ACP permission requests
## References
- goose ACP provider impl: `crates/goose/src/providers/{claude_acp,codex_acp,copilot_acp}.rs`
- ACP core: `crates/goose/src/acp/provider.rs`
- ACP macros: `crates/goose-acp-macros/src/lib.rs`
- Protocol schema: `agent_client_protocol` Rust crate (github.com/agentclientprotocol)
- ACP npm adapter: `@agentclientprotocol/claude-agent-acp`
- Docs: https://goose-docs.ai/docs/guides/acp-providers
## Gotchas
1. **STDIO transport** — newline-delimited JSON-RPC, no HTTP
2. **Mode mapping** — each ACP agent has different mode strings; configured per-provider
3. **MCP servers** — must follow Model Context Protocol schema
4. **Permission suspension** — ACP agent waits for async permission response; cannot block main loop
5. **Nested sessions** — set `env_remove` to prevent infinite nesting (e.g., CLAUDECODE env var)
## Related
- [[@action/skills/SKILL-INDEX]]
- [[@action/skills/agent-protocol/DESCRIPTION]]From humanerd-drew/opencode-drewgent, MIT.
More from humanerd-drew/opencode-drewgent
- 0.515score
content-management
humanerd-drew
CMO-style autonomous content agent.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
acp-thinking-spinner
humanerd-drew
Add a "Thinking..." spinner card to an ACP server's tool-call stack so ACP clients (Zed Agent Panel, openCode TUI, JetBrains/VS Code ACP UI) show a working…
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
trend-harvester
humanerd-drew
AI Trend Collection & Filtering — collect GitHub trending repos, score via 5-axis philosophy filter, evaluate, apply, and retire.
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
self-replicating-agent-tdd
humanerd-drew
TDD-PDCA plan for building a self-replicating branching agent in {{AGENT_NAME}}.
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
vault-health
humanerd-drew
Maintain .{{AGENT_NAME_LOWER}} as an Obsidian vault — graph connectivity overhaul (P-layer mesh, skill clusters, SEO article web), broken link detection…
SkillCFreshness: C★ 3Claude Code +9 - 0.507score
qa-cycle
humanerd-drew
Contract-First QA pipeline - implements 3-phase QA (contract → micro-QA → full-QA) using P2-hippocampus qa-evidence system
SkillCFreshness: C★ 3Claude Code +9 - 0.504score
qa-scenario-gen
humanerd-drew
Generate test scenarios and acceptance criteria from user requirements
SkillCFreshness: C★ 3Claude Code +9 - 0.277score
brain-signal-system
humanerd-drew
No description from the publisher yet.
SkillCFreshness: C★ 3Claude Code +9 - 0.277score
skill-gym
humanerd-drew
No description from the publisher yet.
SkillCFreshness: C★ 3Claude Code +9 - 0.277score
session-pattern-archiver
humanerd-drew
No description from the publisher yet.
SkillCFreshness: C★ 3Claude Code +9 - 0.277score
tool-integration-protocol
humanerd-drew
No description from the publisher yet.
SkillCFreshness: C★ 3Claude Code +9 - 0.277score
harsh-critic
humanerd-drew
No description from the publisher yet.
SkillCFreshness: C★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 8
- Open issues
- 0
- Last commit (this folder)
- Jul 15, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from humanerd-drew
- 0.515score
content-management
humanerd-drew
CMO-style autonomous content agent.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
acp-thinking-spinner
humanerd-drew
Add a "Thinking..." spinner card to an ACP server's tool-call stack so ACP clients (Zed Agent Panel, openCode TUI, JetBrains/VS Code ACP UI) show a working…
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
vault-health
humanerd-drew
Maintain .{{AGENT_NAME_LOWER}} as an Obsidian vault — graph connectivity overhaul (P-layer mesh, skill clusters, SEO article web), broken link detection…
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
self-replicating-agent-tdd
humanerd-drew
TDD-PDCA plan for building a self-replicating branching agent in {{AGENT_NAME}}.
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
trend-harvester
humanerd-drew
AI Trend Collection & Filtering — collect GitHub trending repos, score via 5-axis philosophy filter, evaluate, apply, and retire.
SkillCFreshness: C★ 3Claude Code +9 - 0.507score
qa-cycle
humanerd-drew
Contract-First QA pipeline - implements 3-phase QA (contract → micro-QA → full-QA) using P2-hippocampus qa-evidence system
SkillCFreshness: C★ 3Claude Code +9
Cite this page
goose-acp-integration skill. Agent Mart. https://agentmart.dev/skills/humanerd-drew-goose-acp-integration (last updated 2026-10-24)