Skip to content

Preserve tools after skill activation - #1184

Open
supercobra wants to merge 1 commit into
SamSaffron:mainfrom
supercobra:fix/preserve-tools-after-skill-activation
Open

supercobra wants to merge 1 commit into
SamSaffron:mainfrom
supercobra:fix/preserve-tools-after-skill-activation

Conversation

@supercobra

Copy link
Copy Markdown
Contributor

Summary

  • preserve the parent conversation's local tool surface when the model calls activate_skill
  • continue registering tools declared by an activated skill without applying its allowed-tools as a persistent engine-wide filter
  • retain scoped allowed-tools enforcement for direct and isolated skill invocations
  • document the distinction between model-driven and direct skill activation

Reproduction

Added a regression test that activates a restricted skill with a large instruction payload, then verifies read_file, shell, and the skill-declared tool remain visible:

  • on the immediate agentic follow-up after activation
  • on a subsequent user turn (continue)

Before the fix, both post-activation requests exposed only the skill-declared tool.

Verification

  • go test ./cmd -run 'Skill' -count=1
  • go test ./internal/tools -run 'Skill' -count=1
  • make build
  • go vet ./...
  • make complexity
  • git diff --check

go test ./... was also run. It reached unrelated existing failures in internal/jobs when inheriting Fish as $SHELL (those tests pass with SHELL=/bin/sh) and a timestamp-ordering failure in internal/session/TestSQLiteStoreUpdateMessageMovesSessionByLatestResponseActivity.

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