* feat(#1928): remove sunset gemini cli runtime, redirect to antigravity Google sunset Gemini CLI on 2026-06-18; Antigravity CLI is its official successor (already a first-class GSD runtime). Remove the gemini runtime from the enum (16->15), aliases, labels, config-home fragment, install path, converters (convertClaudeToGemini{Markdown,Toml,Agent}, convertSlashCommandsToGeminiMentions), capability descriptor, gemini-extension.json, RULESET.GEMINI.*, and the interactive menu (renumbered, no gap). --gemini now prints an explicit deprecation notice citing the 2026-06-18 sunset and redirects to --antigravity (no silent alias, per the issue's Hyrum's-Law rejection). Antigravity is preserved throughout: its GEMINI.md contextFileName, .gemini/antigravity config home, the shared convertGeminiToolName/claudeToGeminiTools tool vocabulary, and the 'gemini' hookEvents dialect it declares. GEMINI.md retargeted as Antigravity's context file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(#1928): backfill changeset PR number (#1996) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(#1928): drop Gemini CLI from issue templates (review nit) Removes the sunset Gemini CLI runtime from the two GitHub issue-template runtime lists that the removal PR missed, per @davesienkowski's review nit: - feature_request.yml: 'Applicable runtimes' checkbox (a user could otherwise request a feature for a runtime GSD no longer supports) - bug_report.yml: 'Runtime' dropdown + the stale ~/.gemini/settings.json retrieval-help line Leaves the post-removal templates fully consistent with the Antigravity redirect. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
99 lines
4.0 KiB
Markdown
99 lines
4.0 KiB
Markdown
# How to attach a plugin-provided skill to a GSD agent
|
|
|
|
Use this guide when you have a Claude Code plugin that ships a skill and you want GSD agents to load it automatically at spawn time. The `global:<plugin>:<skill>` entry form makes GSD emit a Skill-tool load directive so the agent picks up the plugin skill alongside any project-local or personal global skills.
|
|
|
|
**This feature works on the Claude runtime only.** On other runtimes (Codex, Antigravity, Cursor, etc.) the entry is skipped with a warning. Plan accordingly if your team uses multiple runtimes.
|
|
|
|
---
|
|
|
|
## 1. Install the plugin in Claude Code
|
|
|
|
GSD does not install or manage Claude Code plugins. Install the plugin first:
|
|
|
|
```
|
|
/plugin install <plugin-source>
|
|
```
|
|
|
|
Verify the plugin is active and note the skill names it exposes. The plugin's documentation or `README` will list available skill names in the format `plugin:skill` — for example, `coderabbit:code-review`.
|
|
|
|
---
|
|
|
|
## 2. Find the namespaced skill name
|
|
|
|
The name you need has two colon-separated segments after `global:`:
|
|
|
|
```
|
|
global:<plugin>:<skill>
|
|
```
|
|
|
|
For example, if the plugin slug is `coderabbit` and it provides a skill called `code-review`, the entry is:
|
|
|
|
```
|
|
global:coderabbit:code-review
|
|
```
|
|
|
|
Each segment must consist of alphanumeric characters, underscores, or hyphens only. No spaces, no slashes, no dots.
|
|
|
|
---
|
|
|
|
## 3. Add the entry to `agent_skills`
|
|
|
|
Open `.planning/config.json` and add the namespaced skill to the array for the agent type that should receive it:
|
|
|
|
```json
|
|
{
|
|
"agent_skills": {
|
|
"gsd-executor": [
|
|
"skills/project-conventions",
|
|
"global:coderabbit:code-review"
|
|
],
|
|
"gsd-verifier": [
|
|
"global:coderabbit:code-review"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
You can mix all three entry forms freely within the same array — project-relative paths, `global:<name>` personal skills, and `global:<plugin>:<skill>` plugin skills.
|
|
|
|
Or set it from the CLI:
|
|
|
|
```bash
|
|
gsd-tools query config-set agent_skills.gsd-executor '["skills/project-conventions","global:coderabbit:code-review"]'
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Verify the injection
|
|
|
|
Start a phase on the Claude runtime. When the target agent is spawned, its Task() prompt will contain an `<agent_skills>` block that includes a Skill-tool load directive for the plugin skill:
|
|
|
|
```xml
|
|
<agent_skills>
|
|
Read these user-configured skills:
|
|
- @skills/project-conventions/SKILL.md
|
|
- Load the `coderabbit:code-review` skill via the Skill tool before proceeding (plugin-provided).
|
|
</agent_skills>
|
|
```
|
|
|
|
Both entry types appear in the same `Read these user-configured skills:` section, interleaved in config order. There is no separate header for plugin-provided skills.
|
|
|
|
If you see `[agent-skills] WARNING: Plugin-namespaced skill "global:coderabbit:code-review" requires a Skill-tool-capable runtime (claude) — skipping on runtime "<runtime>"` in the logs, the entry is being skipped because the active runtime is not Claude. The configuration is still valid; no change is needed.
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- **Plugin must be pre-installed.** GSD only references the skill by namespaced name. If the plugin is not installed in Claude Code, the Skill tool call will fail at agent runtime — GSD cannot validate plugin presence at configuration time.
|
|
- **Which agents support it.** All 22 GSD agent types that consume `agent_skills` carry the `Skill` tool, so any of them can load plugin-provided skills. See [Agent Skills Injection — Supported Agent Types](../CONFIGURATION.md#supported-agent-types) for the full list.
|
|
- **Non-Claude runtimes.** The `global:<plugin>:<skill>` entry is silently skipped with a warning on non-Claude runtimes. Project-relative and `global:<name>` entries work on all runtimes.
|
|
- **Security boundary.** Plugin skill content is resolved entirely by Claude Code at agent runtime. GSD does not read, cache, or validate the plugin's files.
|
|
|
|
---
|
|
|
|
## Related
|
|
|
|
- [Configuration — Agent Skills Injection](../CONFIGURATION.md#agent-skills-injection)
|
|
- [Install a minimal GSD and add skills later](install-minimal-and-add-skills.md)
|
|
- [Import a capability from a URL](import-a-capability-from-a-url.md)
|