Skip to content

Invoke selected Pi-native skills through native commands - #3253

Merged
SawyerHood merged 1 commit into
get-bb:mainfrom
IlyaM:bb/diagnose-node-related-problem-thr_z62ky35nfq
Sep 8, 2026
Merged

Invoke selected Pi-native skills through native commands#3253
SawyerHood merged 1 commit into
get-bb:mainfrom
IlyaM:bb/diagnose-node-related-problem-thr_z62ky35nfq

Conversation

@IlyaM

@IlyaM IlyaM commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Human comments

What was wrong

The Pi bridge discarded structured skill-mention metadata and forwarded only the picker’s /name display text. Pi requires /skill:name to explicitly invoke native skills, so skills with disable-model-invocation: true could not be used through BB. This is tracked in #3246.

What changed

The Pi bridge now recognizes exactly one validated, picker-selected skill mention and converts it into a leading /skill:<name> command. All remaining prompt text becomes the skill arguments, regardless of where the chip appeared, while preserving argument whitespace and existing file/image input behavior.

Plain slash text, provider commands, malformed mentions, and prompts containing multiple selected skills remain unchanged. The fake Pi harness gained an opt-in prompt dump used to verify that image payloads survive the transformation.

This supersedes #3249. That PR rewrites the selected token in place, so a mid-message selection becomes text /skill:name arguments; Pi only expands /skill:name at the beginning of its input. This change instead moves the semantic invocation to the front and passes the remaining text as arguments.

This changes no wire protocol, persisted data, CLI surface, or skill-discovery behavior.

How you verified

  • Added Pi bridge regression coverage for:
    • leading and mid-message skill selections;
    • invocations with and without arguments;
    • boundary whitespace;
    • multiple text chunks, local files, and image payloads;
    • malformed mention ranges and invalid triggers;
    • multiple selected skills;
    • provider commands and unselected slash text.
  • Confirmed the regression failed before the production change.
  • Ran a live test with Pi 0.85.0, openai-codex/gpt-5.6-terra, and a disposable native skill using disable-model-invocation: true.
  • pnpm exec turbo run typecheck --filter=bb-plugin-provider-pi
  • pnpm exec turbo run test --filter=bb-plugin-provider-pi — 23 files and 133 tests passed.
  • pnpm exec oxfmt --check plugins/provider-pi/src/bridge/bridge.ts plugins/provider-pi/src/bridge/bridge.skill-command.test.ts
  • git diff --check

Fixes #3246

AGENT GENERATED

@SawyerHood
SawyerHood merged commit 0bb45e7 into get-bb:main Sep 8, 2026
14 checks passed
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.

Pi native skills with disable-model-invocation cannot be invoked from BB

2 participants