fabro/lib
Mika Andrianarijaona fa6aca9a1b feat(config): add [run.agent] skill_dirs for workflow runs
Skill discovery for workflow and automation runs was fixed to the three
convention directories. `SessionOptions.skill_dirs` existed in the agent
SDK but was only settable by constructing a `Session` in Rust, so a
repository keeping its skills elsewhere (`.agents/skills`, the Open Agent
Skills convention) had no configuration-driven way to surface them.

Add `[run.agent] skill_dirs`, resolved like every other run setting and
carried through the run spec into each agent session. Configured
directories are *added to* the conventions and searched last, so a skill
defined there overrides a same-named convention skill; relative entries
resolve against the repository root. Subagents inherit the directories.

The additive semantics land in a new `SessionOptions.extra_skill_dirs`
rather than reusing `skill_dirs`, which keeps its replace-the-defaults
meaning for SDK callers and `fabro exec --skills-dir`.

Also document that skill discovery follows a symlinked search root but
does not recurse through symlinks below it, which is why symlinking
`.fabro/skills/<name>` at a directory elsewhere in the repo never
registered.

Closes #746

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:43:32 +02:00
..
apps feat(config): add [run.agent] skill_dirs for workflow runs 2026-08-17 10:43:32 +02:00
components feat(config): add [run.agent] skill_dirs for workflow runs 2026-08-17 10:43:32 +02:00
foundation feat(config): add [run.agent] skill_dirs for workflow runs 2026-08-17 10:43:32 +02:00
packages/fabro-api-client feat(config): add [run.agent] skill_dirs for workflow runs 2026-08-17 10:43:32 +02:00