/rubber-duck is offered in the composer but its agent is unavailable
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 157
- PR merge metrics
- No merged PRs in 30d
Description
Summary
/rubber-duck is available in the composer, but invoking it produces an “agent unavailable” message. Copilot then uses a General Purpose agent instead. This has happened across multiple GPT-6 Astra sessions.
Steps to reproduce
- Open a session with GPT-6 Astra selected and Rubber Duck enabled.
- Ask Copilot to draft something.
- Run
/rubber-duck this draft. - Observe the unavailable-agent message and General Purpose fallback.
Actual behavior
Copilot responds:
The named rubber-duck agent isn’t available in this session. I’ll use an independent reviewer to critique the draft’s credibility, point of view, and reason to meet.
The resulting task is labeled General Purpose. The requested Rubber Duck review does not run.
Expected behavior
The command should invoke Rubber Duck. If the session, model, or account is ineligible, the app should explain the restriction before accepting the command.
Environment
- GitHub App:
1.1.19 - Bundled Copilot runtime:
1.0.84-4 - Platform: macOS, Apple Silicon
- Model: GPT-6 Astra
- Reasoning effort: High
Investigation findings
A read-only investigation found:
- The app’s Rubber Duck toggle is enabled.
- Running Copilot processes receive
RUBBER_DUCK_AGENT=true. rubber-duckis absent from the session’s callable agent list.- The app’s slash-command handler checks the feature toggle, then injects a request to invoke the agent without checking runtime availability.
The runtime has additional model-eligibility checks, but the exact reason for exclusion was not established. Please investigate both the missing agent and the command’s failure to surface the eligibility restriction.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the app’s slash-command handler and trace how the Rubber Duck toggle becomes an invocation request. Compare that request with the session’s callable agent list and the runtime’s model-eligibility checks, using the GPT-6 Astra reproduction steps. Done means the command invokes Rubber Duck when eligible and surfaces the restriction before accepting it when unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github
- Domain
- ai, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100