Skip to content

feat(genomic): add SkillInstaller for fast skill installation via shallow clone#88

Merged
pyramation merged 1 commit into
mainfrom
feat/skill-installer
Jun 6, 2026
Merged

feat(genomic): add SkillInstaller for fast skill installation via shallow clone#88
pyramation merged 1 commit into
mainfrom
feat/skill-installer

Conversation

@pyramation
Copy link
Copy Markdown
Contributor

Summary

Adds SkillInstaller class to genomic that copies .agents/skills/<name>/ directories from git repositories using shallow clones with caching — replacing the slow npx skills add path.

Why: npx skills add downloads the skills npm package on every run, then clones the entire source repo. Two network round-trips per skill. SkillInstaller does a single --depth 1 clone (cached via CacheManager for 7 days), then copies skill directories directly. Subsequent installs from the same source repo are instant.

const installer = new SkillInstaller({ toolName: 'pgpm' });
const result = installer.install(
  [{ source: 'constructive-io/constructive', skills: ['pgpm'] }],
  '/path/to/workspace'
);
// result.installed: ['pgpm']
// result.failed: [] (non-fatal — failures collected, never thrown)

Reuses existing GitCloner (shallow clone + URL normalization) and CacheManager (TTL-based expiration). Groups skills by source repo to avoid duplicate clones.

New exports: SkillInstaller, SkillInstallOptions, SkillInstallResult, SkillInstallFailure.

Companion PR in constructive will wire this into pgpm init as the default skill installer, with --use-skills flag to opt into the slower npx path.

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

…llow clone

Adds a SkillInstaller class that copies skill directories from git repos
using shallow clones with caching. Much faster than npx skills add because:
- Clones with --depth 1 (shallow)
- Caches source repos via CacheManager (subsequent installs are instant)
- Copies skill directories directly (no npm download overhead)

Exports SkillInstaller, SkillInstallOptions, SkillInstallResult, and
SkillInstallFailure from genomic.
@devin-ai-integration
Copy link
Copy Markdown

🤖 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

@pyramation pyramation merged commit 4ff303f into main Jun 6, 2026
44 checks passed
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