Skip to content

Support runtime skill sources through harness skills - #2556

Open
xeophon wants to merge 3 commits into
mainfrom
runtime-skill-sources
Open

Support runtime skill sources through harness skills#2556
xeophon wants to merge 3 commits into
mainfrom
runtime-skill-sources

Conversation

@xeophon

@xeophon xeophon commented Sep 7, 2026

Copy link
Copy Markdown
Member

Allow tasks and harnesses to use skills already present in the runtime alongside existing local skill uploads. Harbor's environment.skills_dir reaches native harness discovery through the shared skills installer.

HarnessConfig.skills and TaskData.skills accept local skill folders and runtime directories containing skill folders:

[env.agent.harness]
skills = [{runtime = "/opt/skills"}, "path/to/my-skill"]

Task sources install before harness sources, so configured harness files take precedence when paths overlap. Missing or invalid source directories fail the run.

Each run installs skills in its own native configuration directory or explicit discovery path. RLM installs editable skill packages into a separate uv tool environment for the run and removes that environment during cleanup. Skill-bearing runs use separate harness instances to keep installation state local to the run.

Harbor translates the solver's skills declaration into TaskData.skills, clears it from verifier task data, and accepts the redundant agent-skills field in deterministic verifier environments.


Note

Medium Risk
Touches skill installation across many harnesses and rollout harness cloning; behavior changes for shared vs per-run skill paths (OpenClaw, RLM) could affect concurrent or cached runtime reuse.

Overview
Adds RuntimeSkills and a shared SkillSource type so harness and task config can reference host skill folders or directories already inside the agent runtime, with Harbor wiring environment.skills_dir into TaskData.skills.

Agent._rollout_params merges task skills before harness skills and clones the harness per run when any skills are configured, so installation state (notably RLM’s uv environment) stays run-local. install_skills copies runtime roots in place and still uploads host folders; skill_destination keeps Pi/Prime Agent --skill paths aligned with what was installed.

Skill-bearing ACP harnesses defer installation from shared setup paths to trace-scoped discovery dirs at session prep (Claude, Codex, Kimi, OpenClaw, Pi, Pool, Prime Agent, RLM). OpenClaw drops its shared staged-skills cache; RLM uses a run-specific install tree when skills are set and cleans it up. Several harnesses add cleanup for per-trace state dirs. Docs describe TOML {runtime = "..."} entries and TaskData.skills precedence.

Reviewed by Cursor Bugbot for commit 8450325. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add RuntimeSkills support and move skill installation to per-run harness setup

  • Adds the RuntimeSkills Pydantic model to represent skill directories already inside the agent runtime, and changes HarnessConfig.skills to accept both host Path and RuntimeSkills sources
  • Adds a skills field to TaskData; Agent._rollout_params combines task-level and harness-level skill sources in task-then-harness order before validation and execution
  • The new skill_destination helper resolves runtime sources to the destination root and host sources to a named child directory, so all harnesses install skills consistently
  • Every harness (Claude Code, Codex, Kimi Code, OpenClaw, Pi, Pool, PrimeAgent, RLM) moves skill installation out of the shared setup phase into per-trace prepare_acp or build_env, giving each run its own skills directory
  • Harbor's parse_task now maps the environment skills_dir to a RuntimeSkills source, and parse_verifier_environment no longer rejects skills_dir
  • Behavioral Change: harness setup no longer installs skills; all skill installation now happens per-run in trace-specific directories and is cleaned up after each run. Reviewers should check Harness.install_skills in harness.py and each harness's prepare_acp/build_env to verify destination resolution matches expectations

Macroscope summarized 8450325.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T12:45:08.272744Z 8450325 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread verifiers/v1/harness.py Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 541356a373

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread verifiers/v1/agent.py Outdated
Comment thread verifiers/v1/agent.py
Comment thread verifiers/v1/harness.py Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 541356a. Configure here.

Comment thread verifiers/v1/harness.py
@macroscopeapp

macroscopeapp Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR adds runtime- and task-provided skills and changes installation, isolation, cleanup, and caching behavior across eight production harnesses and Harbor task loading. The cross-cutting runtime impact and unresolved concerns around validation, reuse, cleanup, and permissions require human review.

Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more.

Comment thread docs/v1/evaluation.md
Comment thread verifiers/v1/harnesses/kimi_code/harness.py

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b74c5ae728

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread verifiers/v1/harnesses/prime_agent/harness.py Outdated
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