feat: Claude Skills installation support#48
Merged
Conversation
- Install Skills directly from awesome-claude-skills - Bidirectional format support (APM ↔ Claude Skills) - Skills documentation and integration tests
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces comprehensive support for Claude Skills as first-class primitives in APM, enabling seamless installation and use of SKILL.md-based packages from repositories like awesome-claude-skills. The feature includes bidirectional format support (APM ↔ Claude Skills), extensive documentation, and integration tests.
Key Changes:
- Added SKILL.md as the fourth APM primitive type (alongside agents, instructions, and contexts)
- Implemented subdirectory package installation to support Claude Skills in monorepos
- Added automatic package type detection (APM_PACKAGE, CLAUDE_SKILL, or HYBRID)
- Created comprehensive Skills documentation and integration test suite
Reviewed changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml, uv.lock |
Version bump to 0.6.1 |
src/apm_cli/primitives/models.py |
Added Skill dataclass as fourth primitive type with validation |
src/apm_cli/primitives/parser.py |
Added parse_skill_file() function for SKILL.md parsing |
src/apm_cli/primitives/discovery.py |
Added skill discovery logic for local and dependency skills |
src/apm_cli/integration/skill_transformer.py |
New module for transforming SKILL.md to .agent.md format |
src/apm_cli/integration/agent_integrator.py |
Added skill integration with APM metadata tracking |
src/apm_cli/models/apm_package.py |
Added PackageType enum, subdirectory package support, Claude Skill validation |
src/apm_cli/deps/github_downloader.py |
Added download_subdirectory_package() for monorepo skill installation |
src/apm_cli/cli.py |
Added verbose output for package type detection |
tests/unit/integration/test_skill_transformer.py |
Unit tests for skill transformation logic |
tests/integration/test_skill_install.py |
Integration tests for skill installation flows |
tests/integration/test_skill_compile.py |
Integration tests for skill compilation |
tests/integration/test_mixed_deps.py |
Tests for projects with mixed APM and Claude Skill dependencies |
tests/unit/test_script_runner.py |
Updated comment for clarity on invalid virtual package formats |
docs/skills.md |
Comprehensive new guide for Claude Skills usage |
docs/primitives.md, docs/concepts.md |
Updated to include Skills primitive |
docs/getting-started.md |
Refactored token configuration, added Skills installation examples |
docs/cli-reference.md |
Updated with Claude Skills installation syntax |
README.md |
Added Skills installation examples |
CHANGELOG.md |
Documented 0.6.1 release with Skills support |
Comments suppressed due to low confidence (1)
src/apm_cli/models/apm_package.py:973
- This statement is unreachable.
return result
- Remove duplicate return statement in apm_package.py (line 973) - Fix incorrect variable reference: apm_data -> post.metadata (line 220) - Remove unused transformer variable in agent_integrator.py - Fix source attribution placement (move outside YAML frontmatter) - Remove unnecessary pass statement for subdirectory package validation - Remove unused platform import in test_skill_transformer.py - Remove unused has_compliance variable in test_mixed_deps.py - Remove unused shutil import in test_skill_install.py
sergio-sisternes-epam
pushed a commit
that referenced
this pull request
May 19, 2026
feat: Claude Skills installation support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for Claude Skills as a first-class primitive in APM, allowing users to install and use SKILL.md meta-guides directly as packages. It updates documentation to reflect this new capability, clarifies token and host configuration, and refines the taxonomy of APM primitives. The changes make it easier to install and work with Claude Skills, improve the explanation of authentication and package sources, and provide clearer guides for users.
Claude Skills and New Primitives:
Documentation and User Experience:
docs/skills.mdguide and expanded documentation inREADME.md,docs/cli-reference.md,docs/concepts.md, anddocs/primitives.mdto cover Claude Skills installation, usage, and conceptual role. [1] [2] [3] [4] [5] [6] [7] [8]Token and Host Configuration:
Changelog Updates:
CHANGELOG.mdfor version 0.6.1, including SKILL.md support, Claude Skills installation, bidirectional format support, and new documentation.