Skip to content

feat(install): add Antigravity skill installation support (#87) - #88

Merged
sshaaf merged 1 commit into
sshaaf:mainfrom
tanvir70:feat/antigravity-skill-installation
Sep 21, 2026
Merged

sshaaf merged 1 commit into
sshaaf:mainfrom
tanvir70:feat/antigravity-skill-installation

Conversation

@tanvir70

@tanvir70 tanvir70 commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Add Antigravity skill installation support to rgctl install --skill.

  • Include antigravity in DEFAULT_INSTALL_AGENTS alongside cursor, claude, codex, and agents
  • Support installing Antigravity adapter skills via --tools antigravity
  • Write bundled skills to .agent/skills/ adhering to Antigravity's workspace skill conventions
  • Update unit tests in src/cli/agent_pack.rs to reflect the 5 default install agents
  • Add regression coverage in tests/install_skill.rs and tests/cli_output/install.rs
  • Update CLI, JSON API, installation, agent guides, and website documentation

Description

Adds Google Antigravity skill installation support to rgctl install --skill. Antigravity discovers workspace skills under .agent/skills/. This PR wires the Antigravity adapter into DEFAULT_INSTALL_AGENTS and --tools antigravity while leaving the deprecated --host / SkillHost legacy surface frozen.

Fixes #87

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Performance improvement
  • Documentation update
  • Language support (new language plugin)
  • Refactoring (no functional changes)

Changes Made

  • Added "antigravity" to DEFAULT_INSTALL_AGENTS in src/cli/agent_pack.rs.
  • Supported --tools antigravity to install skills directly to .agent/skills/.
  • Updated unit test default_install_agents_are_v1_quad to assert all 5 default agents.
  • Added integration coverage in tests/install_skill.rs verifying --tools antigravity and default install paths.
  • Added JSON schema test in tests/cli_output/install.rs ensuring agent: "antigravity" is emitted without legacy schema v1 host.
  • Updated CLI docs, agent guides (docs/guides/agent-commands.md, docs/guides/agent-skill.md), and website install page.

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Tested with cargo test
  • Manual testing performed

Test commands run:

  • cargo test --lib default_install_agents_are_v1_quad
  • cargo test --lib agent_pack
  • cargo test --test install_skill
  • cargo test --test cli_output test_install_json_schema
  • cargo test --test subprocess_golden_path
  • cargo build --release --bin rgctl
  • ./target/release/rgctl -r "$TMPDIR" -f json install --skill --tools antigravity

Test environment:

  • OS: Linux (Ubuntu 24.04 LTS x86_64)
  • Rust version: rustc 1.98.1

Checklist

  • My code follows the style guidelines (ran cargo fmt)
  • I have performed a self-review of my code
  • I have commented my code where necessary
  • I have added tests that prove my fix/feature works
  • All new and existing tests pass (cargo test)
  • Documentation updated (if applicable)
  • CONTRIBUTING.md guidelines followed
  • All commits are signed and include DCO sign-off (Signed-off-by:)

Performance Impact

  • No measurable performance regression

Breaking Changes

None. Deprecated --host and schema v1 host fields remain frozen and unchanged.

@sshaaf sshaaf left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks for wiring Antigravity into the default --tools set and docs — that part looks right (DEFAULT_INSTALL_AGENTS, --tools antigravity, .agent/skills/…).

Please do not extend the deprecated --host / SkillHost surface. --host is already documented as deprecated in favor of --tools (registry adapter ids). New adapters should only go through --tools / DEFAULT_INSTALL_AGENTS.

Inline comments call out the --host-related hunks to drop or rewrite. Also please update the stale lib unit test default_install_agents_are_v1_quad (still asserts the old four ids while DEFAULT_INSTALL_AGENTS now includes antigravity) — that fails today with cargo test --lib default_install_agents_are_v1_quad.

Comment thread src/cli/args.rs Outdated
/// `<repo>/.cursor/skills/rgctl/`
Cursor,
/// `<repo>/.agent/skills/rgctl/`
Antigravity,

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

--host / SkillHost is deprecated (src/cli/mod.rs: "Deprecated: use --tools"). Please do not add Antigravity here. Antigravity should only be a registry/--tools id (already in agent-pack/agents/registry.toml). Leave SkillHost frozen until removal.

Comment thread src/cli/agent_pack.rs Outdated
super::args::SkillHost::Claude => vec!["claude".to_string()],
super::args::SkillHost::Codex => vec!["codex".to_string()],
super::args::SkillHost::Cursor => vec!["cursor".to_string()],
super::args::SkillHost::Antigravity => vec!["antigravity".to_string()],

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Same concern: this arm only exists to serve deprecated --host antigravity. Drop it (and the SkillHost::Antigravity variant). Default/--tools coverage is already handled by adding "antigravity" to DEFAULT_INSTALL_AGENTS above — keep that.

Comment thread tests/install_skill.rs
"install",
"--skill",
"--host",
"antigravity",

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Please rewrite this test to use the supported flag:

install --skill --tools antigravity

Do not add regression coverage that exercises --host. We do not want to grow or validate the deprecated path for new adapters.

Comment thread src/cli/install_output.rs Outdated
Claude,
Codex,
Cursor,
Antigravity,

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Note: this is not CLI --host, but it is another legacy host surface (InstallWriteHost — "Legacy host ids (schema v1); prefer agent string in v2").

Prefer leaving this enum unchanged for new adapters (JSON consumers should use writes[].agent == "antigravity"). If we must keep schema-v1 host populated for the default set, call that out explicitly; otherwise avoid expanding this deprecated field for Antigravity.

Comment thread src/cli/install_output.rs Outdated
"claude" => Some(InstallWriteHost::Claude),
"codex" | "agents" => Some(InstallWriteHost::Codex),
"cursor" => Some(InstallWriteHost::Cursor),
"antigravity" => Some(InstallWriteHost::Antigravity),

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Paired with the InstallWriteHost::Antigravity variant — same ask: avoid growing schema-v1 host mapping for a new adapter unless there is a concrete consumer still requiring it. Prefer agent only.

Comment thread tests/cli_output/install.rs Outdated
fn test_install_json_schema_hosts_serialization() {
for (agent, expected) in [
("claude", "claude"),
("antigravity", "antigravity"),

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

If we drop InstallWriteHost::Antigravity / host_compat("antigravity"), remove this case (or assert host is null/None and agent is "antigravity").

@sshaaf

sshaaf commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Commit signing & PR checklist

A couple of process nits when you have a moment — nothing blocking the Antigravity/--tools direction itself.

Commit signing. The commit message already includes a Signed-off-by: trailer (thank you — DCO looks good). GitHub still reports the commit as unsigned (verification.reason: unsigned), so the cryptographic signature half of the checklist item is what is missing. When you push the follow-up for the --host feedback, could you please GPG- or SSH-sign the commit(s) as well? See the contributor checklist §6 and the PR template line on signed commits + DCO.

PR description checklist. The description still has the blank template sections (## Description, unchecked Type of Change / Testing / Checklist boxes, “Change 1 / Change 2”, empty Fixes #). Could you please fill those in (and link Fixes #87), and tick the items you have actually done? That helps reviewers confirm fmt/clippy/tests/docs without re-asking.

Happy to re-review once those and the --tools-only adjustments are in. Thanks again for the contribution.

@tanvir70
tanvir70 force-pushed the feat/antigravity-skill-installation branch from 449d951 to 2bdc3c4 Compare September 21, 2026 08:23
Add Antigravity skill installation support to `rgctl install --skill`.
- Include `antigravity` in `DEFAULT_INSTALL_AGENTS` alongside cursor, claude, codex, and agents
- Support installing Antigravity adapter skills via `--tools antigravity`
- Update unit tests in `src/cli/agent_pack.rs` to reflect the 5 default install agents
- Add regression coverage in `tests/install_skill.rs` and `tests/cli_output/install.rs`
- Update CLI, JSON API, installation, agent guides, and website documentation

Fixes sshaaf#87

Signed-off-by: tanvir70 <tanvir.anjum@bracits.com>
@tanvir70
tanvir70 force-pushed the feat/antigravity-skill-installation branch from 2bdc3c4 to 8a8b558 Compare September 21, 2026 08:50
@tanvir70

Copy link
Copy Markdown
Contributor Author

Addressed all comments:

  • Reverted all --host and SkillHost additions (src/cli/args.rs, src/cli/agent_pack.rs). Antigravity is strictly handled via --tools and DEFAULT_INSTALL_AGENTS.
  • Dropped InstallWriteHost::Antigravity and host_compat("antigravity") in src/cli/install_output.rs, leaving schema v1 host unchanged.
  • Updated default_install_agents_are_v1_quad to assert all 5 default agents: ["cursor", "claude", "codex", "agents", "antigravity"].
  • Rewrote the integration test in tests/install_skill.rs to invoke install --skill --tools antigravity.
  • Cryptographically signed the commit with SSH key + DCO sign-off.
  • Updated the PR description checklist with the test commands and environment.
  • All unit and integration tests pass cleanly (cargo test --lib default_install_agents_are_v1_quad, cargo test --test install_skill, cargo test --test cli_output).

@sshaaf
sshaaf merged commit 87a3d2d into sshaaf:main Sep 21, 2026
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.

[FEATURE] Add Antigravity skill installation support

2 participants