Skip to content

Add tiger skills install command - #258

Open
nathanjcochran wants to merge 19 commits into
mainfrom
nathan/skills-install
Open

nathanjcochran wants to merge 19 commits into
mainfrom
nathan/skills-install

Conversation

@nathanjcochran

@nathanjcochran nathanjcochran commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Adds tiger skills install, which installs the skills that Tiger MCP currently proxies from the docs MCP server (pg-aiguide) as local agent skills. Coding agents that support skills can then use them natively, without going through the MCP. In the future, this can be updated to support additional skills beyond those pulled from pg-aiguide (for example, custom skills embedded in the Tiger CLI binary itself).

Skills are installed in global/user scope, not project scope, matching the behavior of tiger mcp install. We can add support for project-scoped MCP and skill installations in the future.

Most coding agents read user-level skills from ~/.agents/skills these days, so that's the default universal install location. Claude Code, Kiro CLI, and Google Antigravity are the three clients we currently support that don't read it, and therefore get their own install locations.

When run with no arguments, the command shows an interactive checkbox picker. Locations that the skills are already installed to start out prechecked (on first install, universal is prechecked). Locations named as arguments (tiger skills install universal claude-code) are installed to exactly, with no interactive menu.

The command supports all of the same client names supported by tiger mcp install. However, clients that read ~/.agents/skills, such as cursor, don't actually have their own install locations, and those client names are therefore essentially just aliases for universal. The --skills-dir flag allows users to install to any directory of their choice, without specifying a client.

Skills are downloaded as a tarball of the pg-aiguide repo through the GitHub REST API, rather than shelling out to npx skills. That avoids needing Node and git, keeps the UX consistent with the rest of Tiger CLI, avoids inheriting the many open issues against npx skills (some of which involve clients we support, like Antigravity), and leaves room for supporting skills from other sources in the future. It's worth noting that the installation is still compatible with npx skills though - skills installed via tiger skills install are discovered by npx skills and can be managed or removed by it.

Symlinks within the repo are resolved, so each installed skill is a self-contained copy. Skills are copied into each location rather than symlinked, because 1) Claude Code, Kiro, and Antigravity all have documented problems loading symlinked skills, and 2) I didn't want to force the user to install to ~/.agents/skills if they didn't want to. It's worth noting that this differs from the default behavior of npx skills (which always installs to ~/.agent/skills and symlinks other directories to it), but avoids lots of issues caused by it. Also, npx skills add does have a --copy option, which does what we're doing - namely, copies the skills into each agent's skills dir, rather than symlinking to ~/.agents/skills.

Every installed skill gets a small .tiger-cli marker file, so later runs know which skills Tiger CLI owns:

  • Re-running updates them in place, each one swapped in from a temporary directory.
  • Skills no longer available upstream are removed.
  • Anything at a skill's path that Tiger CLI didn't install is never replaced unless --force is given. The check runs across all locations before anything is written.

Other changes:

  • The client table shared by mcp install and skills install moved into its own helper file (client_helper.go). Its MCP-specific fields were renamed to say so (MCPConfigPaths, buildMCPInstallCommand).
  • Google Antigravity now uses ~/.gemini/config/, the shared location read by Antigravity 2.0, the IDE, and the CLI. This affects both the new skills location and tiger mcp install, which previously wrote to the older IDE-only path ~/.gemini/antigravity/mcp_config.json. That also changes the behavior of pkg/mcpinstall for Antigravity.

In the future, I'd like to add a tiger skills uninstall command (as well as a tiger mcp uninstall command). I'd also like to update tiger mcp install so its interactive menu works more like the new one added in this PR. But I think those are best left as follow-ups (this PR is already decently large).

Demo

skills

@nathanjcochran nathanjcochran self-assigned this Oct 7, 2026
@nathanjcochran nathanjcochran changed the title Add tiger skills install command Add tiger skills install command Oct 7, 2026
@nathanjcochran
nathanjcochran marked this pull request as ready for review October 8, 2026 21:00
@nathanjcochran
nathanjcochran requested a review from a team as a code owner October 8, 2026 21:00
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.

1 participant