Skip to content

feat(pgpm): use built-in SkillInstaller for fast skill installation#1276

Merged
pyramation merged 4 commits into
mainfrom
feat/builtin-skill-installer
Jun 7, 2026
Merged

feat(pgpm): use built-in SkillInstaller for fast skill installation#1276
pyramation merged 4 commits into
mainfrom
feat/builtin-skill-installer

Conversation

@pyramation
Copy link
Copy Markdown
Contributor

@pyramation pyramation commented Jun 6, 2026

Summary

Replaces npx skills add with genomic's SkillInstaller as the default skill installer in pgpm init. The old npx path is available via --use-skills flag.

Why: npx skills add was slow (~30s+) — it downloads the skills npm package, clones the entire source repo, then copies files. SkillInstaller does a single shallow clone (cached for 7 days) and copies .agents/skills/<name>/ directly. Subsequent installs from the same source are instant.

Changes:

installSkills() now dispatches to installSkillsBuiltin() (default) or installSkillsViaNpx() (with --use-skills):

- function installSkills(skills, cwd)
+ function installSkills(skills, cwd, useNpxSkills)
+   if (PGPM_SKIP_SKILL_INSTALL) → return (test mode)
+   if (useNpxSkills) → installSkillsViaNpx()  // old npx path
+   else              → installSkillsBuiltin()  // new SkillInstaller

--use-skills flag threaded through all init paths: handleInithandleWorkspaceInit / handleModuleInit / handleBoilerplateInit.

Re-exports SkillInstaller, SkillInstallOptions, SkillInstallResult, SkillInstallFailure from @pgpmjs/core for downstream consumers.

PGPM_SKIP_SKILL_INSTALL env var added for deterministic testing (same pattern as PGPM_SKIP_UPDATE_CHECK).

Depends on: dev-utils#88 (merged) — adds SkillInstaller to genomic. Requires genomic@5.6.0.

Link to Devin session: https://app.devin.ai/sessions/8a70e4bc95b947faa41db21e02ed818e
Requested by: @pyramation

Replace npx skills add with genomic's SkillInstaller as the default
skill installation method. Uses shallow git clone + direct file copy
with caching — much faster than the npx path.

- Default: SkillInstaller (shallow clone, cached, ~2s)
- --use-skills flag: opt into npx skills add (slower, writes skills-lock.json)
- Re-exports SkillInstaller from @pgpmjs/core for downstream consumers
- Threads --use-skills through all init paths (workspace, module, boilerplate)
@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@blacksmith-sh

This comment has been minimized.

@pyramation pyramation merged commit a805aea into main Jun 7, 2026
35 checks passed
@pyramation pyramation deleted the feat/builtin-skill-installer branch June 7, 2026 00:13
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