Skip to content

skills: add local directory source alongside the registry#316

Open
zbl94 wants to merge 1 commit into
mainfrom
local-skills-mode
Open

skills: add local directory source alongside the registry#316
zbl94 wants to merge 1 commit into
mainfrom
local-skills-mode

Conversation

@zbl94

@zbl94 zbl94 commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Introduce a local skills source parallel to the Gemini Enterprise Skill Registry integration. A local source points at a directory already on disk (a parent dir holding /SKILL.md subfolders, the same layout as examples/skills and a registry's target_dir); nothing is fetched and the directory is used as-is.

  • New mode-agnostic result shape (internal/skills: Available/Group/Skill) so both sources feed the same consumers without either depending on the other.
  • internal/skills/local.Discover enumerates enabled local paths, treating immediate subfolders with a SKILL.md as skills (subfolder name = id). It is fail-safe like registry materialization: a missing/unreadable/empty path is logged and skipped, never blocking harness creation.
  • config.SkillsConfig gains Local []LocalSkillsConfig (enabled + path) with validation; geminienterprise.Materialize now returns skills.Available.
  • cliutil combines registry and local groups into one system-instruction pointer for the Antigravity Interactions harness. The Antigravity SDK harness (SKILLS_DIR-based) is left as a TODO.

Only the interactions harness is wired; tests cover discovery, fail-safe degradation, config validation, and the examples/skills fixture.

Introduce a local skills source parallel to the Gemini Enterprise Skill
Registry integration. A local source points at a directory already on disk
(a parent dir holding <skill-id>/SKILL.md subfolders, the same layout as
examples/skills and a registry's target_dir); nothing is fetched and the
directory is used as-is.

- New mode-agnostic result shape (internal/skills: Available/Group/Skill) so
  both sources feed the same consumers without either depending on the other.
- internal/skills/local.Discover enumerates enabled local paths, treating
  immediate subfolders with a SKILL.md as skills (subfolder name = id). It is
  fail-safe like registry materialization: a missing/unreadable/empty path is
  logged and skipped, never blocking harness creation.
- config.SkillsConfig gains Local []LocalSkillsConfig (enabled + path) with
  validation; geminienterprise.Materialize now returns skills.Available.
- cliutil combines registry and local groups into one system-instruction
  pointer for the Antigravity Interactions harness. The Antigravity SDK
  harness (SKILLS_DIR-based) is left as a TODO.

Only the interactions harness is wired; tests cover discovery, fail-safe
degradation, config validation, and the examples/skills fixture.
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