Skip to content

Centralize skills_install_dir and load skills in the deep agent#183

Draft
danchild wants to merge 1 commit into
forge-sdlc:mainfrom
danchild:gitignore-dynamic-skills
Draft

Centralize skills_install_dir and load skills in the deep agent#183
danchild wants to merge 1 commit into
forge-sdlc:mainfrom
danchild:gitignore-dynamic-skills

Conversation

@danchild

@danchild danchild commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Closes #179

Summary

  • Centralizes skills_install_dir — the hardcoded path Path(tempfile.gettempdir()) / "forge" / "skills" was duplicated across agent.py, worker.py, and runner.py. It is now defined once as a @property on Settings and passed through to each call site.
  • Extends resolve_skill_paths with a new skills_install_dir parameter, adding a third resolution tier: committed defaults → committed project overrides → runtime-fetched project skills (highest priority).
  • Extends ensure_skills so that lock files and fetched skill packages are written to skills_install_dir instead of the source-tracked skills_dir, keeping runtime artifacts out of the source tree.
  • Adds tests for the new skills_install_dir behavior in both the resolver and orchestrator, and updates existing worker/agent tests to match the new signatures.

The path `Path(tempfile.gettempdir()) / "forge" / "skills"` was
hardcoded identically in agent.py, worker.py, and runner.py. Define it
once as a derived property on Settings and import at each call site.

Also adds a comment in runner.py noting the assumption that worker and
runner share the same host filesystem for skill mounts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Dan Childers <dchilder@redhat.com>
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.

Bug: skills orchestrator installs fetched skills into repo tree instead of temp directory and fails to load those skills in the deep agent

1 participant