self-optimize
Self-Optimize Skill
Goal
Continuously tune how the system works to the current project and task — which skills/guides/templates/personas/model-tiers to use, how much to clarify, how much to spend — optimizing for best engineering principles, quality, and cost simultaneously. It reads the per-project policy (project/gabbe.config.json), applies the configured autonomy level, honors a 3-layer alignment hierarchy, and records every material decision so the optimization is auditable and reversible. This complements coordination/meta-optimize.skill (which improves the skills themselves); self-optimize improves the selection and posture for the project at hand.
Project policy: project/gabbe.config.json
A runtime-agnostic file any agent reads (the optional gabbe CLI reads it too). All keys optional; sensible defaults apply. See docs/SCHEMA.md.
{
"autonomy": "hybrid",
"budgets": { "max_cost_usd": 5.0, "max_tokens_per_run": 100000 },
"model_tiers": { "cheap": "gpt-4o-mini", "default": "gpt-4o", "sota": "claude-opus-4-8" },
"enabled_mcps": ["context7", "filesystem"],
"registries": ["https://skills.sh", "google/skills"],
"protected_files": ["pyproject.toml", "package.json", "*.lock", "Dockerfile", ".github/**"]
}
Autonomy levels (explicit)
The GABBE_AUTONOMY knob maps to concrete levels so behavior is predictable: