feat(acp): expose built-in skills through sources list acp calls - #9045
Merged
Conversation
Allow the sources list endpoint to return shipped built-in skills with stable synthetic paths while keeping mutation APIs limited to writable filesystem skills. Regenerate the ACP schema and SDK types so Goose2 can request builtinSkill sources through the typed client. Signed-off-by: Kalvin Chau <kalvin@block.xyz>
matt2e
approved these changes
May 6, 2026
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
kalvinnchau
enabled auto-merge
May 6, 2026 14:42
lifeizhou-ap
added a commit
that referenced
this pull request
May 7, 2026
…-refactor * origin/main: refactor: switch to official new rust-sdk for ACP (#9062) refactor(goose2): remove attachment preamble (#9052) Align CODEOWNERS with pull request review rules in GOVERNANCE.md (#9056) bring MAINTAINERS.md up to date (#9053) feat(acp): expose built-in skills through sources list acp calls (#9045) add provider-first onboarding (#9039) feat: ACP streamable http spec compliance (#9034) Skip automatic fix which crashes (#9036) fix(openai): accept null tool_call arguments in streaming chunks (#9035) Signed-off-by: Lifei Zhou <lifei@squareup.com> # Conflicts: # ui/goose2/src/features/chat/hooks/useChat.ts
shafqatevo
pushed a commit
to shafqatevo/goose
that referenced
this pull request
Aug 7, 2026
…f-goose#9045) Signed-off-by: Kalvin Chau <kalvin@block.xyz>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
exposes the
builtinsfrom https://github.com/aaif-goose/goose/tree/main/crates/goose/src/skills/builtins, via the ACP layerCategory: new-feature
User Impact: ACP clients can list shipped built-in skills separately from editable filesystem skills.
Problem: Built-in skills are available to Goose at runtime, but ACP clients had no explicit sources-list contract for discovering them. Treating every source as filesystem-backed also made read-only built-ins awkward to represent safely.
Solution: Extend
_goose/sources/listto supporttype: "builtinSkill", return built-ins with stable synthetic paths, and keep mutation APIs limited to writable skill sources.File changes
crates/goose-sdk/src/custom_requests.rs
Updates the ACP source DTO documentation so generated clients understand that source entries may be filesystem-backed or read-only built-ins, and documents the new
builtinSkilllisting behavior.crates/goose/acp-schema.json
Regenerates the ACP schema descriptions for source entries and list requests so the published schema matches the new built-in skill contract.
crates/goose/src/skills/mod.rs
Assigns built-in skills stable
builtin://skills/<name>directories when they are discovered, giving clients a durable identifier without implying filesystem editability.crates/goose/src/sources.rs
Allows source listing for both
skillandbuiltinSkill, keeps unsupported source types rejected, and normalizes built-ins as global read-only entries without supporting files. Adds coverage for built-in listing, filesystem precedence, and rejecting built-in mutations.crates/goose/tests/acp_custom_requests_test.rs
Adds an ACP custom request test proving
_goose/sources/listreturns built-in skills when called withtype: "builtinSkill".ui/sdk/src/generated/types.gen.ts
Regenerates TypeScript ACP types so UI clients receive the updated source-entry and list-request documentation.
ui/sdk/src/generated/zod.gen.ts
Regenerates Zod schemas so runtime validation metadata stays aligned with the ACP schema.
Reproduction Steps
_goose/sources/listwith{ "type": "builtinSkill" }.goose-doc-guidewithtype: "builtinSkill",global: true, anddirectory: "builtin://skills/goose-doc-guide"._goose/sources/listwithout a type or with{ "type": "skill" }and confirm built-ins are not mixed into editable filesystem skills.type: "builtinSkill"and confirm they remain unsupported for read-only built-ins.