Skip to content

Centralize skills_install_dir and load skills in the deep agent - #183

Merged
eshulman2 merged 3 commits into
forge-sdlc:mainfrom
danchild:gitignore-dynamic-skills
Aug 16, 2026
Merged

Centralize skills_install_dir and load skills in the deep agent#183
eshulman2 merged 3 commits into
forge-sdlc:mainfrom
danchild:gitignore-dynamic-skills

Conversation

@danchild

@danchild danchild commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Fixes #179

Summary

  • Centralizes skills_install_dir — installation now consistently follows the existing configured skills_dir (default: the local skills/ directory) instead of using duplicated call-site paths.
  • Extends resolve_skill_paths with a skills_install_dir parameter so runtime-fetched project skills are available to Deep Agents without duplicating a source path when the install and source roots are the same.
  • Extends ensure_skills so callers use the centralized installation path for fetched skill packages and skills.lock.
  • Adds tests for install-directory behavior, resolver precedence and deduplication, and updates worker/agent tests for the new signatures.

@danchild
danchild marked this pull request as ready for review July 23, 2026 17:37
@danchild
danchild marked this pull request as draft July 24, 2026 19:53
@eshulman2

Copy link
Copy Markdown
Collaborator

@danchild any specific reason this is still a draft?

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>
@eshulman2
eshulman2 force-pushed the gitignore-dynamic-skills branch from abadf6c to d23ab95 Compare August 16, 2026 13:36
@eshulman2
eshulman2 marked this pull request as ready for review August 16, 2026 13:36
eshulman2 and others added 2 commits August 16, 2026 16:41
Update the _get_skill_mounts docstring to describe all three resolution
tiers (committed defaults, committed project overrides, runtime-fetched
skills) and correct the ensure_skills docstring, which overclaimed that
skills_install_dir always keeps runtime artifacts out of the source tree
even though it coincides with skills_dir by default.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@eshulman2
eshulman2 merged commit 19f9ab0 into forge-sdlc:main Aug 16, 2026
6 checks passed
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

2 participants