Repository navigation
Closed
Labels
fixVersion/0.4.0priority/majorDefault priority of the PR or issue.Default priority of the PR or issue.tech debt[Issue Type] User-unaware issues, such as code refactor and infrastructure maintenance.[Issue Type] User-unaware issues, such as code refactor and infrastructure maintenance.
Description
Search before asking
- I searched existing issues for duplicates. Related source support is tracked in [Feature] Support loading agent skills form jar resource. #593 and [Feature] Support loading agent skills form python package. #594.
Description
This is a child issue of #1055.
Problem
Skills repositories should be usable independently of the language in which an Agent is declared. Currently, classpath repositories are supported by the Java runtime and package repositories by the Python runtime, but the corresponding cross-language paths are incomplete:
- A Python Agent should be able to declare and use a classpath repository containing Skills bundled in a JAR.
- A Java Agent should be able to declare and use a package repository containing Skills bundled in an installed Python package.
The shared YAML schema already accepts these source declarations, but Python has no built-in classpath source handler and Java has no built-in package source handler. Accepting the declaration therefore does not ensure that the Agent can discover and load the repository's Skills.
Required support
- Expose classpath repository declarations through the Python Skills API, with semantics aligned with the existing Java classpath source.
- Expose Python package repository declarations through the Java Skills API, with semantics aligned with the existing Python package source.
- Complete the cross-language loading/materialization path so these declarations work during Agent execution. The implementation may reuse the owning language's repository implementation through the bridge or materialize its resources through an equivalent mechanism; the specific mechanism remains a design decision.
- Preserve repository semantics across the boundary, including Skill discovery, SKILL.md loading, access to accompanying resources, and repository lifecycle/cleanup.
- Support the same combinations through YAML. The language used to declare the Agent must not by itself prevent access to a repository provided by the other language.
Acceptance criteria
- A Python Agent can declare a classpath repository, discover a Skill from a packaged JAR, and load its SKILL.md and accompanying resources.
- A Java Agent can declare a package repository, discover a Skill from an installed Python package, and load its SKILL.md and accompanying resources.
- Programmatic APIs and YAML declarations provide consistent source configuration and behavior.
- End-to-end tests exercise both cross-language directions with actual packaged resources, rather than only checking schema acceptance or descriptor serialization.
- Missing JAR resources, missing Python packages/resources, and unavailable required bridge/runtime dependencies produce actionable errors.
- Existing Java classpath and Python package support continues to work; documentation includes the new cross-language usage and its runtime/packaging requirements.
Related: #593 introduced JAR/classpath sources; #594 introduced Python package sources. This issue completes their use from the other language.
Are you willing to submit a PR?
- I'm willing to submit a PR!
Metadata
Metadata
Assignees
Labels
fixVersion/0.4.0priority/majorDefault priority of the PR or issue.Default priority of the PR or issue.tech debt[Issue Type] User-unaware issues, such as code refactor and infrastructure maintenance.[Issue Type] User-unaware issues, such as code refactor and infrastructure maintenance.
Activity
[-][Tech Debt][API][Skills] Validate source schemes against the target runtime before execution[/-][+][Tech Debt][API][Skills] Support classpath repositories from Python and package repositories from Java[/+]