Skip to content

[Tech Debt][API][Skills] Support classpath repositories from Python and package repositories from Java #1194

Closed

Description

@wenjin272

Search before asking

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!

Activity

  1. added
    tech debt[Issue Type] User-unaware issues, such as code refactor and infrastructure maintenance.
    priority/majorDefault priority of the PR or issue.
    on Oct 3, 2026
  2. changed the title [-][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[/+] on Oct 3, 2026
  3. self-assigned this
    on Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

fixVersion/0.4.0priority/majorDefault priority of the PR or issue.tech debt[Issue Type] User-unaware issues, such as code refactor and infrastructure maintenance.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions