Skip to content

Comments

feat(plan): allow skills to be enabled in plan mode#18817

Merged
Adib234 merged 6 commits intomainfrom
adibakm/add-skills-to-plan-mode
Feb 11, 2026
Merged

feat(plan): allow skills to be enabled in plan mode#18817
Adib234 merged 6 commits intomainfrom
adibakm/add-skills-to-plan-mode

Conversation

@Adib234
Copy link
Contributor

@Adib234 Adib234 commented Feb 11, 2026

Summary

This change enables the activate_skill tool in Plan Mode, allowing the agent to research specialized expert guidance while still maintaining strict read-only constraints. Although skills can now be activated to provide procedural instructions, any scripts or executable tools bundled with them remain blocked by policy to ensure a safe planning environment.

Details

  • Tool Availability: Added activate_skill to the PLAN_MODE_TOOLS registry, making it accessible to the agent when the session is transitioned into Plan Mode.
  • Policy Update: Updated plan.toml to grant ALLOW permission for activate_skill with a priority of 70, ensuring it overrides the catch-all Plan Mode DENY rule.
  • Safety Messaging: Refined the Plan Mode deny_message in the policy to explicitly state that script execution is prohibited. This provides clear feedback to the agent and the user if a skill attempts to run an unauthorized command (e.g., via run_shell_command).

Related Issues

Fixes #18157

How to Validate

The tool for skill should be activated if the prompt relates to a skill in plan mode, however the skill should never be able to run scripts in plan mode

Screen.Recording.2026-02-06.at.11.03.52.AM.mov

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@Adib234 Adib234 requested a review from a team as a code owner February 11, 2026 15:20
@Adib234 Adib234 self-assigned this Feb 11, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Adib234, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the agent's capabilities in Plan Mode by allowing the "activate_skill" tool, enabling access to expert guidance for research and planning. Crucially, it maintains a secure environment by strictly preventing any script or executable tool bundled with skills from running, ensuring read-only constraints are upheld.

Highlights

  • Skill Activation in Plan Mode: The "activate_skill" tool is now enabled in Plan Mode, allowing agents to access specialized guidance without executing scripts.
  • Policy Enforcement: Policy rules were updated to explicitly allow "activate_skill" with a higher priority while maintaining a strict denial of script execution.
  • User Feedback: The "deny_message" in Plan Mode was refined to clearly inform users that script execution, including those from skills, is prohibited.
Changelog
  • packages/core/src/policy/policies/plan.toml
    • Modified the "deny_message" to explicitly state that script execution is blocked in Plan Mode.
    • Added "activate_skill" to the list of tools explicitly allowed in Plan Mode with a higher priority.
  • packages/core/src/policy/policy-engine.test.ts
    • Introduced a new test suite for Plan Mode to verify that "activate_skill" is allowed while "run_shell_command" is denied, and the correct deny message is returned.
  • packages/core/src/tools/tool-names.ts
    • Added "ACTIVATE_SKILL_TOOL_NAME" to the "PLAN_MODE_TOOLS" array, making it available for use in Plan Mode.
Activity
  • No human activity has occurred on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enables the activate_skill tool in Plan Mode, which is a valuable feature. The changes are well-implemented across the policy configuration, tool definitions, and tests. The new test in policy-engine.test.ts correctly validates that activate_skill is permitted while other potentially unsafe tools like run_shell_command remain blocked, ensuring the read-only constraints of Plan Mode are respected. The updated deny_message also provides clearer feedback. The implementation is solid and I have no major concerns.

@github-actions
Copy link

github-actions bot commented Feb 11, 2026

Size Change: +30 B (0%)

Total Size: 24.3 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 24.3 MB +30 B (0%)
./bundle/sandbox-macos-permissive-closed.sb 1.03 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-closed.sb 3.29 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B

compressed-size-action

@gemini-cli gemini-cli bot added area/core Issues related to User Interface, OS Support, Core Functionality area/agent Issues related to Core Agent, Tools, Memory, Sub-Agents, Hooks, Agent Quality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item. labels Feb 11, 2026
Adib234 and others added 3 commits February 11, 2026 11:00
@Adib234 Adib234 requested a review from a team as a code owner February 11, 2026 16:23
@Adib234 Adib234 enabled auto-merge February 11, 2026 17:56
@Adib234 Adib234 added this pull request to the merge queue Feb 11, 2026
Merged via the queue into main with commit 84ce53a Feb 11, 2026
26 of 27 checks passed
@Adib234 Adib234 deleted the adibakm/add-skills-to-plan-mode branch February 11, 2026 18:15
krsjenmt added a commit to krsjenmt/gemini-cli that referenced this pull request Feb 12, 2026
…ini/gemini-cli (#37)

* fix(cli): resolve double rendering in shpool and address vscode lint warnings (google-gemini#18704)

* feat(plan): document and validate Plan Mode policy overrides (google-gemini#18825)

* Fix pressing any key to exit select mode. (google-gemini#18421)

* fix(cli): update F12 behavior to only open drawer if browser fails (google-gemini#18829)

* feat(plan): allow skills to be enabled in plan mode (google-gemini#18817)

Co-authored-by: Jerop Kipruto <jerop@google.com>

* docs(plan): add documentation for plan mode tools (google-gemini#18827)

* Remove experimental note in extension settings docs (google-gemini#18822)

* Update prompt and grep tool definition to limit context size (google-gemini#18780)

* docs(plan): add `ask_user` tool documentation (google-gemini#18830)

* Revert unintended credentials exposure (google-gemini#18840)

* feat(core): update internal utility models to Gemini 3 (google-gemini#18773)

* feat(a2a): add value-resolver for auth credential resolution (google-gemini#18653)

* Removed getPlainTextLength (google-gemini#18848)

* More grep prompt tweaks (google-gemini#18846)

* refactor(cli): Reactive useSettingsStore hook (google-gemini#14915)

* fix(mcp): Ensure that stdio MCP server execution has the `GEMINI_CLI=1` env variable populated. (google-gemini#18832)

* fix(core): improve headless mode detection for flags and query args (google-gemini#18855)

* refactor(cli): simplify UI and remove legacy inline tool confirmation logic (google-gemini#18566)

* feat(cli): deprecate --allowed-tools and excludeTools in favor of policy engine (google-gemini#18508)

* fix(workflows): improve maintainer detection for automated PR actions (google-gemini#18869)

* refactor(cli): consolidate useToolScheduler and delete legacy implementation (google-gemini#18567)

* Update changelog for v0.28.0 and v0.29.0-preview0 (google-gemini#18819)

* fix(core): ensure sub-agents are registered regardless of tools.allowed (google-gemini#18870)

---------

Co-authored-by: Brad Dux <959674+braddux@users.noreply.github.com>
Co-authored-by: Jerop Kipruto <jerop@google.com>
Co-authored-by: Jacob Richman <jacob314@gmail.com>
Co-authored-by: Sandy Tao <sandytao520@icloud.com>
Co-authored-by: Adib234 <30782825+Adib234@users.noreply.github.com>
Co-authored-by: christine betts <chrstn@uw.edu>
Co-authored-by: Christian Gunderman <gundermanc@gmail.com>
Co-authored-by: Adam Weidman <65992621+adamfweidman@users.noreply.github.com>
Co-authored-by: Dev Randalpura <devrandalpura@google.com>
Co-authored-by: Pyush Sinha <pyushsinha20@gmail.com>
Co-authored-by: Richie Foreman <richie.foreman@gmail.com>
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>
Co-authored-by: Abhi <43648792+abhipatel12@users.noreply.github.com>
Co-authored-by: Abhijit Balaji <abhijitbalaji@google.com>
Co-authored-by: Bryan Morgan <bryanmorgan@google.com>
Co-authored-by: g-samroberts <158088236+g-samroberts@users.noreply.github.com>
Co-authored-by: matt korwel <matt.korwel@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/agent Issues related to Core Agent, Tools, Memory, Sub-Agents, Hooks, Agent Quality area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Tools] Enable skills in plan mode

2 participants