Skip to content

keepdeploying/configurable-agent-skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configurable Skills

Tune any Antigravity Skill through config instead of forking it.

Antigravity Agent Skills are portable SKILL.md packages — but they're static. Want the official git-commit-formatter to allow a ci type, or use gitmoji, or require a scope? Today your only option is to fork the skill and edit its markdown. Share a skill and everyone who wants it slightly different forks it, and the ecosystem fragments.

Configurable Skills is a tiny convention plus one reusable loader that lets a skill read a project-level config file, so you adopt a shared skill and customize its behavior by editing a few lines of YAML — no fork.

# .agent/skills.config.yaml   <-- you edit THIS, never the skill
git-commit-formatter:
  style: gitmoji
  extra_types: [ci, build]
  scope_required: true

That's the whole idea. Drop the skill in, set a few keys, done.

How it works

A configurable skill ships its knobs and defaults in config.default.yaml, and its SKILL.md tells the agent to resolve config first:

python scripts/resolve_config.py git-commit-formatter --project-root .

resolve_config.py merges the skill's defaults with your .agent/skills.config.yaml overrides and prints the effective settings, which the agent then applies. Deterministic, local, no network. Full details in SPEC.md.

What's in here

Path What it is
lib/resolve_config.py The reusable loader (the one novel piece). Canonical copy.
lib/test_resolve_config.py Runnable tests for the loader.
skills/git-commit-formatter/ Commit messages: Conventional or gitmoji, configurable types/scope.
skills/changelog-generator/ Changelog from git history: format, grouping, included types.
skills/license-header-adder/ License headers: license, holder, per-language comment style.
.agent/skills.config.example.yaml Example overrides for all three skills.
index.json Community index of configurable skills.
examples/demo/ A tiny before/after you can run.

Each skill folder is self-contained (it vendors its own resolve_config.py), so you can copy just one skill anywhere.

Quickstart

  1. Install a skill. Copy a folder from skills/ into your Antigravity skills directory — either ~/.gemini/antigravity/skills/ (global) or <your-project>/.agent/skills/ (workspace).
  2. Use it as-is. Ask the agent to "commit these changes" — the git-commit-formatter skill triggers and uses its defaults.
  3. Customize. Add a .agent/skills.config.yaml to your project (copy from .agent/skills.config.example.yaml) and change only the keys you want. The next run picks them up — no fork, no edit to the skill.

Requirement: Python 3 with PyYAML (python -m pip install pyyaml).

Try the loader right now

python3 lib/test_resolve_config.py
# -> All tests passed.

python3 skills/git-commit-formatter/scripts/resolve_config.py \
  git-commit-formatter \
  --project-root examples/demo --print-sources
# prints the effective config = defaults + examples/demo overrides

Publish your own configurable skill

See CONTRIBUTING.md. In short: build your skill to the convention (add config.default.yaml, vendor resolve_config.py, tell the SKILL.md to resolve config first), then add an entry to index.json.

License

Apache-2.0. See LICENSE.

Built for the Google Developer Experts Agentic Architect Sprint (topic: Serverless Ad-hoc Skill Execution Engines).

About

Tune any Antigravity Skill through config instead of forking it.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors