Skip to content

Allow custom ACP agents to declare provider-native skill roots - #1175

Draft
smsunarto wants to merge 3 commits into
get-bb:mainfrom
smsunarto:feat/custom-acp-native-skill-roots
Draft

Allow custom ACP agents to declare provider-native skill roots#1175
smsunarto wants to merge 3 commits into
get-bb:mainfrom
smsunarto:feat/custom-acp-native-skill-roots

Conversation

@smsunarto

Copy link
Copy Markdown

Problem

customAcpAgents can launch and configure ACP agents, but they cannot tell BB where those agents discover provider-native skills. As a result, composer command discovery is empty for custom ACP providers such as acp-amp, even when the underlying agent has its own native skill directories.

Proposal

Add optional nativeSkillRoots config to each customAcpAgents registration:

{
  "nativeSkillRoots": {
    "user": [".amp/skills"],
    "project": [".amp/skills"]
  }
}

User roots resolve relative to the target execution host home directory. Project roots resolve relative to the selected workspace and are skipped when command discovery has no workspace. The daemon scans each configured root as a provider-native skill directory containing <name>/SKILL.md.

This threads the config through the ACP launch spec used by host command discovery, so the existing provider-native root resolver can discover configured ACP skill roots without an acp-amp special case.

Why

Custom ACP providers should get the same composer command discovery path that built-in provider-native skills use. Keeping the roots declarative in customAcpAgents lets each custom provider describe its own native skill layout while preserving BB-owned policy for merging, de-duplication, and display.

Verification

  • pnpm exec vitest run --config vitest.config.ts test/bb-app-managed-config.test.ts in packages/config
  • pnpm exec vitest run --config vitest.config.ts test/contract.test.ts in packages/host-daemon-contract
  • pnpm exec vitest run --config vitest.config.ts src/command-discovery.test.ts in apps/host-daemon
  • pnpm exec vitest run --config vitest.config.ts test/public/public-project-commands.test.ts in apps/server
  • pnpm exec vitest run --config vitest.config.ts test/templates.test.ts in packages/templates
  • pnpm exec turbo run typecheck --filter=@bb/config --filter=@bb/host-daemon-contract --filter=@bb/host-daemon --filter=@bb/server --filter=@bb/templates
  • pnpm exec turbo run test --filter=@bb/config --filter=@bb/host-daemon-contract --filter=@bb/host-daemon --filter=@bb/server --filter=@bb/templates
  • pnpm exec prettier --check <changed non-ignored files>
  • git diff --check

@smsunarto
smsunarto marked this pull request as draft August 8, 2026 01:38
@smsunarto
smsunarto force-pushed the feat/custom-acp-native-skill-roots branch from dcc7940 to f8c68ad Compare August 8, 2026 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant