Uh oh!
There was an error while loading. Please reload this page.
Add GEAP Skill Registry integration for local harnesses - #300
Conversation
48f7b5c to
50451c2Compare
wjjclaud
left a comment
There was a problem hiding this comment.
For the package name, is it better to use something like skills/geap or skills/geminienterprise to call out it is specific to skills from GEAP?
50451c2 to
c5bbba4Comparezbl94
commented
Jul 14, 2026
I moved these to internal/skills/gemini/client.go, and called the package gemini since go prefers short package names |
5c818b0 to
4f8e7f9CompareUh oh!
There was an error while loading. Please reload this page.
4f8e7f9 to
8c93e91CompareUh oh!
There was an error while loading. Please reload this page.
8c93e91 to
477f552CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
477f552 to
119b6dfCompare| for _, ref := range refs { | ||
| // First-wins: skip (with a warning) any id already materialized into this | ||
| // dir, rather than overwriting it. | ||
| if won, byRegistry := claimed.claim(targetDir, ref.SkillID, regIdx); !won { |
There was a problem hiding this comment.
should claim happen at the end
There was a problem hiding this comment.
Why it should happen at the end? We are trying to claim a skill before fetching and writing to file to avoid conflicts (and save API calls if there are)
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
119b6df to
7a18608CompareMaterialize agentskills.io skills from the Gemini Enterprise Skill Registry (Vertex AI v1beta1) into on-disk folders before the harness starts, so the built-in harnesses can use registry-hosted skills on the local `ax exec` / `ax serve` path. - internal/skills/geminienterprise: harness-agnostic package that reads config.SkillsConfig, drives the registry client (ListSkills / GetSkill / GetSkillRevision / skills:retrieve), safe-unzips payloads to <target_dir>/<skill-id>/, and reports what it wrote. First-wins on duplicate ids with a warning; fail-safe (a registry error never blocks harness startup). - config: top-level `skills.registries[]` (harness-agnostic -- each actor runs a single harness that consumes the materialized folder). Per-registry selection (skills / query / all), required target_dir, and a validated "exactly one selection mode" rule. Also wires the interactions harness's system_instruction from ax.yaml. - cliutil: materializes skills once, up front, at controller construction; for the interactions harness (no SKILLS_DIR concept) it appends a discovery pointer to the system instruction. Scope: local path only; the substrate/pod path does not yet read ax.yaml. Verified end-to-end against a live registry (by-id and by-query).
7a18608 to
bed026aCompareUh oh!
There was an error while loading. Please reload this page.
Previously, ax serve called cfg.Validate() before constructing the controller, but ax exec did not. A misconfigured ax.yaml could pass through runExec and only surface as an obscure error later. Mirror the validation call so both entry points have parity in startup checks. Addresses A8 in TODO.md.
…300) Materialize agentskills.io skills from the Gemini Enterprise Skill Registry (Vertex AI v1beta1) into on-disk folders before the harness starts, so the built-in harnesses can use registry-hosted skills on the local `ax exec` / `ax serve` path. - internal/skills/geminienterprise: harness-agnostic package that reads config.SkillsConfig, drives the registry client (ListSkills / GetSkill / GetSkillRevision / skills:retrieve), safe-unzips payloads to <target_dir>/<skill-id>/, and reports what it wrote. First-wins on duplicate ids with a warning; fail-safe (a registry error never blocks harness startup). - config: top-level `skills.registries[]` (harness-agnostic -- each actor runs a single harness that consumes the materialized folder). Per-registry selection (skills / query / all), required target_dir, and a validated "exactly one selection mode" rule. Also wires the interactions harness's system_instruction from ax.yaml. - cliutil: materializes skills once, up front, at controller construction; for the interactions harness (no SKILLS_DIR concept) it appends a discovery pointer to the system instruction. Scope: local path only; the substrate/pod path does not yet read ax.yaml. Verified end-to-end against a live registry (by-id and by-query).
Materialize agentskills.io skills from the GEAP Skill Registry (Vertex AI v1beta1) into an on-disk skills directory before a harness starts, so the Antigravity and Antigravity Interactions harnesses can use registry-hosted skills on the local
ax exec/ax servepath.Scope: local path only; the substrate/pod path does not yet read ax.yaml. Verified end-to-end against a live registry (by-id and by-query).