feat: add dual-target installer for Gemini CLI and Claude Code - #1
Conversation
- Add install_skill.py with --target, --scope, --source, --uninstall flags - Add YAML frontmatter to SKILL.md for agentskills.io skill discovery - Update build_skill.py with artifact integrity verification (verify_artifact) - Update Makefile with install-gemini/install-claude/install-all/uninstall targets - Add install-skill console entry point to pyproject.toml - Rewrite README.md with dual-target installation docs, migration note - Update CONTRIBUTING.md with installer testing instructions - Add 25 installer tests (tests/test_installer.py) — all passing - Extend CI to run installer tests and artifact integrity check - Extend release workflow with artifact integrity verification step
There was a problem hiding this comment.
Pull request overview
Adds a dual-target installation story for the Code Intelligence skill, enabling automated installs into both Gemini CLI skill directories and Claude Code plugin directories, with supporting documentation, packaging, and CI verification.
Changes:
- Introduces
install_skill.pyto install/uninstall and verify the skill for Gemini CLI and Claude Code, from either a source directory or a.skillarchive. - Adds installer-focused test coverage and wires installer tests + artifact integrity checks into CI/release workflows.
- Updates docs and developer tooling (README/CONTRIBUTING/Makefile/pyproject) to expose and document the new installation paths and entrypoints.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_installer.py | Adds coverage for installer path resolution, install/uninstall behavior, archive installs, and verification. |
| SKILL.md | Adds YAML frontmatter and runtime requirements table for skill discovery and host compatibility. |
| README.md | Documents dual-target install flows, install locations, and migration/verification guidance. |
| pyproject.toml | Adds install-skill console script and includes installer module in packaging. |
| Makefile | Adds convenience targets for install/uninstall/verify across both CLIs. |
| install_skill.py | Implements the installer/uninstaller, archive extraction, and post-install verification for both targets. |
| CONTRIBUTING.md | Documents how to run installer tests and manually test installer workflows. |
| build_skill.py | Adds artifact integrity verification and a verify subcommand; build fails on missing required files. |
| .github/workflows/release.yml | Runs artifact integrity verification before publishing releases. |
| .github/workflows/ci.yml | Runs installer tests and verifies build artifact integrity in CI. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
Description
Adds a first-class automated installer (
install_skill.py) that deploys the skill into the correct directory layout for both Gemini CLI (~/.gemini/skills/code-intelligence/) and Claude Code (~/.claude/plugins/code-intelligence/), installable from either a source checkout or a.skillZIP archive.New:
install_skill.pyAlso exposed as
install-skillconsole entry point afterpip install -e ..File layout per target
SKILL.md,safe_edit.py,distiller.py,requirements.txtat skill root.claude-plugin/plugin.json,skills/code-intelligence/SKILL.md, runtime scripts at plugin rootOther changes
SKILL.md— adds agentskills.io-standard YAML frontmatter (name,description,license) required for Gemini CLI skill discovery; adds runtime requirements table for both hostsbuild_skill.py— addsverify_artifact()integrity check; build exits non-zero if required files are absent from the ZIP; addspython3 build_skill.py verifysubcommandMakefile— addsinstall-gemini,install-claude,install-all,uninstall-*,verifytargetspyproject.toml— addsinstall-skillconsole script; includesinstall_skillin package discoveryREADME.md— rewrites Installation section with dual-target docs, per-scope install location table, upgrade/uninstall instructions, migration note for existing Gemini users; manual copy fallback preservedtests/test_installer.pyand artifact integrity verification on every push/PRType of change
How Has This Been Tested?
pytest tests/test_python.pypython3 safe_edit.py check-env25 new tests in
tests/test_installer.pycover: path resolution per CLI and scope, file layout correctness, install from.skillarchive, idempotent reinstall, post-install verification, and uninstall. All 28 tests (3 existing + 25 new) pass.Checklist: