/goals — Fitness Goal Maintenance Maintain GOALS.yaml and GOALS.md fitness specifications. Use CLI for all operations. YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it. Quick Start Format Support | Format | File | Version | Features | |--------|------|---------|----------| | YAML | GOALS.yaml | 1-3 | Goals with checks, weights, pillars | | Markdown | GOALS.md | 4 | Goals + mission + north/anti stars + directives | When both files exist, GOALS.md takes precedence. Mode Selection Parse the user's input: | Input | Mode | CLI Command | |-------|------|-------------| | , , "goal status" | m…

\"\ncheck \"SKILL.md has name: goals\" \"grep -q '^name: goals' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md has tier: product when metadata is present\" \"! grep -q '^metadata:' '$SKILL_DIR/SKILL.md' || grep -q '^[[:space:]]*tier:[[:space:]]*product' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md documents measure mode\" \"grep -q '## Measure Mode' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md documents steer mode\" \"grep -q '## Steer Mode' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md documents prune mode\" \"grep -q '## Prune Mode' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md references GOALS.yaml\" \"grep -q 'GOALS.yaml' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md references evolve skill\" \"grep -Eq '(/|\\\\$)evolve' '$SKILL_DIR/SKILL.md'\"\ncheck \"references/generation-heuristics.md exists\" \"[ -f '$SKILL_DIR/references/generation-heuristics.md' ]\"\ncheck \"generation-heuristics has quality criteria\" \"grep -q 'Quality Criteria' '$SKILL_DIR/references/generation-heuristics.md'\"\ncheck \"generation-heuristics has scan sources\" \"grep -q 'Scan Sources' '$SKILL_DIR/references/generation-heuristics.md'\"\n\necho \"\"; echo \"Results: $PASS passed, $FAIL failed\"\n[ $FAIL -eq 0 ] && exit 0 || exit 1\n","content_type":"application/x-sh; charset=utf-8","language":"bash","size":1505,"content_sha256":"cca07a67d986d96c41d27d95ed9d70c90730d530239b0ef9b453669a3188e499"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"/goals — Fitness Goal Maintenance","type":"text"}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"Maintain GOALS.yaml and GOALS.md fitness specifications. Use ","type":"text"},{"text":"ao goals","type":"text","marks":[{"type":"code_inline"}]},{"text":" CLI for all operations.","type":"text"}]}]},{"type":"paragraph","content":[{"text":"YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.","type":"text","marks":[{"type":"strong"}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Quick Start","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"/goals # Measure fitness (default)\n/goals init # Bootstrap GOALS.md interactively\n/goals steer # Manage directives\n/goals add # Add a new goal\n/goals drift # Compare snapshots for regressions\n/goals history # Show measurement history\n/goals export # Export snapshot as JSON for CI\n/goals meta # Run meta-goals only\n/goals validate # Validate structure\n/goals prune # Remove stale gates\n/goals migrate # Migrate YAML to Markdown\n/goals trace # Render/audit the executable-spec chain\n/goals render # Export directive scenarios as Gherkin","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Format Support","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Format","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"File","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Version","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Features","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"YAML","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"GOALS.yaml","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"1-3","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Goals with checks, weights, pillars","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Markdown","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"GOALS.md","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"4","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Goals + mission + north/anti stars + directives","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"When both files exist, GOALS.md takes precedence.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Mode Selection","type":"text"}]},{"type":"paragraph","content":[{"text":"Parse the user's input:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Input","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Mode","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"CLI Command","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"/goals measure","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"goal status\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"measure","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals measure","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals init","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"bootstrap goals\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"init","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals init","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals steer","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"manage directives\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"steer","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals steer","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals add","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"add goal\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"add","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals add","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals drift","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"goal drift\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"drift","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals drift","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals history","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"goal history\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"history","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals history","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals export","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"export goals\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"export","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals export","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals meta","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"meta goals\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"meta","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals meta","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals validate","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"validate goals\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"validate","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals validate","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals prune","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"prune goals\", \"clean goals\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"prune","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals prune","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals migrate","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"migrate goals\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"migrate","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals migrate","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals scenarios","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"directive scenarios\", \"link a scenario\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"scenarios","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals scenarios","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals trace","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"trace lineage\", \"orphan audit\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"trace","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals trace","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/goals render","type":"text","marks":[{"type":"code_inline"}]},{"text":", \"export gherkin\", \"feature file\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"render","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao goals render","type":"text","marks":[{"type":"code_inline"}]}]}]}]}]},{"type":"paragraph","content":[{"text":"ao goals scenarios","type":"text","marks":[{"type":"code_inline"}]},{"text":" links each directive to behavioral scenarios (the ","type":"text"},{"text":"ao scenario","type":"text","marks":[{"type":"code_inline"}]},{"text":" family) so GOALS.md is an executable BDD spec: bare lists every directive's linked scenarios with link health; ","type":"text"},{"text":"--create \"\u003cgoal>\" --directive N","type":"text","marks":[{"type":"code_inline"}]},{"text":" scaffolds and bidirectionally links a scenario; ","type":"text"},{"text":"--lint","type":"text","marks":[{"type":"code_inline"}]},{"text":" checks the link graph. See ","type":"text"},{"text":"docs/adr/ADR-0003","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"paragraph","content":[{"text":"ao goals trace","type":"text","marks":[{"type":"code_inline"}]},{"text":" and ","type":"text"},{"text":"ao goals render","type":"text","marks":[{"type":"code_inline"}]},{"text":" render and audit the executable-spec chain; ","type":"text"},{"text":"ao goals steer recommend","type":"text","marks":[{"type":"code_inline"}]},{"text":"/","type":"text"},{"text":"apply","type":"text","marks":[{"type":"code_inline"}]},{"text":" drive the auto re-steer loop. Their contracts are documented in ","type":"text"},{"text":"references/executable-spec-chain.md","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Measure Mode (default) — Observe","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 1: Run Measurement","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals measure --json","type":"text"}]},{"type":"paragraph","content":[{"text":"Parse the JSON output. Extract per-goal pass/fail, overall fitness score.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2: Directive Gap Assessment (GOALS.md only)","type":"text"}]},{"type":"paragraph","content":[{"text":"If the goals file is GOALS.md format:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals measure --directives","type":"text"}]},{"type":"paragraph","content":[{"text":"For each directive, assess whether recent work has addressed it:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Check git log for commits mentioning the directive title","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Check beads/issues related to the directive topic","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Rate each directive: addressed / partially-addressed / gap","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2b: Scenario Satisfaction (executable-spec fitness)","type":"text"}]},{"type":"paragraph","content":[{"text":"ao goals measure","type":"text","marks":[{"type":"code_inline"}]},{"text":" also gates on ","type":"text"},{"text":"scenario satisfaction","type":"text","marks":[{"type":"strong"}]},{"text":" — the fraction of a directive's linked behavioral scenarios that currently pass. Each directive in the ","type":"text"},{"text":"--json","type":"text","marks":[{"type":"code_inline"}]},{"text":" / ","type":"text"},{"text":"--directives","type":"text","marks":[{"type":"code_inline"}]},{"text":" output carries a ","type":"text"},{"text":"scenario_satisfaction","type":"text","marks":[{"type":"code_inline"}]},{"text":" block:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"jsonc"},"content":[{"text":"\"scenario_satisfaction\": {\n \"linked\": 4, // scenarios linked to this directive\n \"satisfied\": 3, // scenarios whose latest result is PASS\n \"ratio\": 0.75, // satisfied / linked\n \"threshold\": 0.8, // directive's required ratio\n \"status\": \"RED\" // GREEN | YELLOW | RED — RED when ratio \u003c threshold\n}","type":"text"}]},{"type":"paragraph","content":[{"text":"A directive below its threshold is ","type":"text"},{"text":"RED","type":"text","marks":[{"type":"code_inline"}]},{"text":" and drags overall fitness down.","type":"text"}]},{"type":"paragraph","content":[{"text":"Use ","type":"text"},{"text":"--scenarios-only","type":"text","marks":[{"type":"code_inline"}]},{"text":" to evaluate just the executable-spec layer and skip the shell gate-command execution — fast feedback while iterating on scenarios:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals measure --scenarios-only -o json","type":"text"}]},{"type":"paragraph","content":[{"text":"Scenario results are read from the scenario result artifacts (see ","type":"text"},{"text":"ao scenario","type":"text","marks":[{"type":"code_inline"}]},{"text":" family); the exact aggregation path and exit-code semantics are in ","type":"text"},{"text":"references/executable-spec-chain.md","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 3: Report","type":"text"}]},{"type":"paragraph","content":[{"text":"Present fitness dashboard:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Fitness: 5/7 passing (71%)\n\nGates:\n [PASS] build-passing (weight 8)\n [FAIL] test-passing (weight 7)\n └─ 3 test failures in pool_test.go\n\nDirectives:\n 1. Expand Test Coverage — gap (no recent test additions)\n 2. Reduce Complexity — partially-addressed (2 refactors this week)","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Init Mode","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals init","type":"text"}]},{"type":"paragraph","content":[{"text":"Or with defaults:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals init --non-interactive","type":"text"}]},{"type":"paragraph","content":[{"text":"Creates a new GOALS.md with mission, north/anti stars, first directive, and auto-detected gates. Error if file already exists.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Post-Init Enrichment","type":"text"}]},{"type":"paragraph","content":[{"text":"After ","type":"text"},{"text":"ao goals init","type":"text","marks":[{"type":"code_inline"}]},{"text":" creates the scaffold, enrich it with product-aware content that the CLI cannot auto-detect:","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Enrich North Stars with Outcomes","type":"text"}]},{"type":"paragraph","content":[{"text":"Review the generated north stars. If they are all feature-focused (e.g., \"skills work across 4 runtimes\"), nudge toward outcome-focused stars:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Feature-focused (weaker):","type":"text","marks":[{"type":"strong"}]},{"text":" \"Skills work across 4 runtimes\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Outcome-focused (stronger):","type":"text","marks":[{"type":"strong"}]},{"text":" \"A new user goes from install to first validated workflow in under 5 minutes\"","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Ask the user: \"Your north stars describe features. What user outcome would tell you the product is actually working?\" Add at least one outcome-focused star.","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Enrich Anti-Stars from Failure Modes","type":"text"}]},{"type":"paragraph","content":[{"text":"Scan for proven failure patterns:","type":"text"}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Check ","type":"text"},{"text":".agents/retro/","type":"text","marks":[{"type":"code_inline"}]},{"text":" — extract failure themes from retrospectives","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Check ","type":"text"},{"text":".agents/council/","type":"text","marks":[{"type":"code_inline"}]},{"text":" or council index — look for FAIL verdicts and their root causes","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Check ","type":"text"},{"text":".agents/learnings/","type":"text","marks":[{"type":"code_inline"}]},{"text":" — look for learnings tagged as anti-patterns","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Convert the top 3 most common failure modes into anti-stars. Examples from real data:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Product promises with no automated verification\" (from council FAILs where claims had no gates)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Goals that measure code metrics instead of user outcomes\" (from retros where passing gates didn't improve product)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Capture without compounding\" (from flywheel analysis where knowledge was stored but never retrieved)","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"If no ","type":"text"},{"text":".agents/","type":"text","marks":[{"type":"code_inline"}]},{"text":" data exists, use the defaults from ","type":"text"},{"text":"ao goals init","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Add Product Directives","type":"text"}]},{"type":"paragraph","content":[{"text":"The CLI generates engineering-flavored directives (test coverage, complexity, lint). After init, also suggest product/growth directives by asking:","type":"text"}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What's your biggest product gap right now?\" → directive with ","type":"text"},{"text":"steer: decrease","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What user behavior do you want to increase?\" → directive with ","type":"text"},{"text":"steer: increase","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What metric would tell you the product is working?\" → directive with measurable target","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Product directives sit alongside engineering ones in the same ","type":"text"},{"text":"## Directives","type":"text","marks":[{"type":"code_inline"}]},{"text":" section. See ","type":"text"},{"text":"references/generation-heuristics.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" for product directive patterns.","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Add Product Gates","type":"text"}]},{"type":"paragraph","content":[{"text":"Check what product infrastructure exists and suggest appropriate gates:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Infrastructure","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Suggested Gate","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":".agents/learnings/","type":"text","marks":[{"type":"code_inline"}]},{"text":" exists","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"flywheel-compounding","type":"text","marks":[{"type":"code_inline"}]},{"text":" — knowledge above escape velocity","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"skills/quickstart/","type":"text","marks":[{"type":"code_inline"}]},{"text":" exists","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"quickstart-under-5min","type":"text","marks":[{"type":"code_inline"}]},{"text":" — onboarding time gate","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"docs/comparisons/","type":"text","marks":[{"type":"code_inline"}]},{"text":" exists","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"competitive-freshness","type":"text","marks":[{"type":"code_inline"}]},{"text":" — comparison docs updated within 45 days","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"PRODUCT.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" exists","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"product-gaps-tracked","type":"text","marks":[{"type":"code_inline"}]},{"text":" — Known Gaps section has entries","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"ao flywheel status","type":"text","marks":[{"type":"code_inline"}]},{"text":" works","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"flywheel-promotion-rate","type":"text","marks":[{"type":"code_inline"}]},{"text":" — learnings promoted above threshold","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"Only suggest gates for infrastructure that actually exists. Don't create gates for aspirational features.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Steer Mode — Orient/Decide","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 1: Show Current State","type":"text"}]},{"type":"paragraph","content":[{"text":"Run measure mode first to show current fitness and directive status.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2: Propose Adjustments","type":"text"}]},{"type":"paragraph","content":[{"text":"Based on measurement:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If a directive is fully addressed → suggest removing or replacing","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If fitness is declining → suggest new gates","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If idle rate is high → suggest new directives","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Product-aware steering:","type":"text","marks":[{"type":"strong"}]},{"text":" Also check for product dimension gaps:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If all directives are engineering-flavored (test, lint, build, refactor) → suggest at least one product/growth directive","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If no directive cites a specific metric → flag: \"Vague directives are a smell. Can any of these reference a specific number?\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":".agents/retro/","type":"text","marks":[{"type":"code_inline"}]},{"text":" has new failure patterns not represented in anti-stars → suggest adding them","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If PRODUCT.md has Known Gaps not covered by any directive → suggest a directive to close the gap","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 3: Execute Changes","type":"text"}]},{"type":"paragraph","content":[{"text":"Use CLI commands:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals steer add \"Title\" --description=\"...\" --steer=increase\nao goals steer remove 3\nao goals steer prioritize 2 1","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 4: Auto Re-Steer (F5) — chronic failure mutates the directive","type":"text"}]},{"type":"paragraph","content":[{"text":"When a directive's scenarios fail chronically, the re-steer engine recommends a directive mutation from the verdict ledger:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals steer recommend # show recommendations; GOALS.md untouched\nao goals steer apply # apply the top recommendation (human-gated)\nao goals steer apply --auto --yes # non-interactive consent for scripts\nao goals steer apply --policy docs/re-steer-policy.json","type":"text"}]},{"type":"paragraph","content":[{"text":"recommend","type":"text","marks":[{"type":"code_inline"}]},{"text":" is read-only — it runs the policy engine over the verdict ledger and prints recommended mutations plus skip reasons. ","type":"text"},{"text":"apply","type":"text","marks":[{"type":"code_inline"}]},{"text":" mutates GOALS.md only when the policy's ","type":"text"},{"text":"auto_apply","type":"text","marks":[{"type":"code_inline"}]},{"text":" is true ","type":"text"},{"text":"and","type":"text","marks":[{"type":"strong"}]},{"text":" the operator confirms (interactive prompt, or ","type":"text"},{"text":"--auto","type":"text","marks":[{"type":"code_inline"}]},{"text":"/","type":"text"},{"text":"--yes","type":"text","marks":[{"type":"code_inline"}]},{"text":" for scripts). Every mutation routes through the non-lossy directive-block patcher — never a full re-render. Policy, ledger, and human-gate semantics: ","type":"text"},{"text":"references/executable-spec-chain.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" and ","type":"text"},{"text":"docs/adr/ADR-0006","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Add Mode","type":"text"}]},{"type":"paragraph","content":[{"text":"Add a single goal to the goals file. Format-aware — writes to GOALS.yaml or GOALS.md depending on which format is detected.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals add \u003cid> \u003ccheck-command> --weight=5 --description=\"...\" --type=health","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Flag","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Default","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Description","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--weight","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"5","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Goal weight (1-10)","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--description","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"—","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Human-readable description","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--type","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"—","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Goal type (health, architecture, quality, meta)","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"Example:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals add go-coverage-floor \"bash scripts/check-coverage.sh\" --weight=3 --description=\"Go test coverage above 60%\"","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Drift Mode","type":"text"}]},{"type":"paragraph","content":[{"text":"Compare the latest measurement snapshot against a previous one to detect regressions.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals drift # Compare latest vs previous snapshot","type":"text"}]},{"type":"paragraph","content":[{"text":"Reports which goals improved, regressed, or stayed unchanged.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"History Mode","type":"text"}]},{"type":"paragraph","content":[{"text":"Show measurement history over time for all goals or a specific goal.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals history # All goals, all time\nao goals history --goal go-coverage # Single goal\nao goals history --since 2026-02-01 # Since a specific date\nao goals history --goal go-coverage --since 2026-02-01 # Combined","type":"text"}]},{"type":"paragraph","content":[{"text":"Useful for spotting trends and identifying oscillating goals.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Export Mode","type":"text"}]},{"type":"paragraph","content":[{"text":"Export the latest fitness snapshot as JSON for CI consumption or external tooling.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals export","type":"text"}]},{"type":"paragraph","content":[{"text":"Outputs the snapshot to stdout in the fitness snapshot schema (see ","type":"text"},{"text":"references/goals-schema.md","type":"text","marks":[{"type":"code_inline"}]},{"text":").","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Meta Mode","type":"text"}]},{"type":"paragraph","content":[{"text":"Run only meta-goals (goals that validate the validation system itself). Useful for checking allowlist hygiene, skip-list freshness, and other self-referential checks.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals meta --json","type":"text"}]},{"type":"paragraph","content":[{"text":"See ","type":"text"},{"text":"references/goals-schema.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" for the meta-goal pattern.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Validate Mode","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals validate --json","type":"text"}]},{"type":"paragraph","content":[{"text":"Reports: goal count, version, format, directive count, any structural errors or warnings.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Prune Mode","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals prune --dry-run # List stale gates\nao goals prune # Remove stale gates","type":"text"}]},{"type":"paragraph","content":[{"text":"Identifies gates whose check commands reference nonexistent paths. Removes them and re-renders the file.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Migrate Mode","type":"text"}]},{"type":"paragraph","content":[{"text":"Convert between goal file formats.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals migrate --to-md # Convert GOALS.yaml → GOALS.md\nao goals migrate # Migrate GOALS.yaml to latest YAML version","type":"text"}]},{"type":"paragraph","content":[{"text":"The ","type":"text"},{"text":"--to-md","type":"text","marks":[{"type":"code_inline"}]},{"text":" flag creates a GOALS.md with mission, north/anti stars sections, and converts existing goals into the Gates table format. The original YAML file is backed up.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Trace Mode (F4) — render and audit the executable-spec chain","type":"text"}]},{"type":"paragraph","content":[{"text":"ao goals trace","type":"text","marks":[{"type":"code_inline"}]},{"text":" renders the directive → scenario → bead → verdict → learning lineage and audits it for defects:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals trace --from d-fitness-gate-bdd # lineage tree from a directive\nao goals trace --from s-2026-05-17-001 -o json # line-delimited JSON graph\nao goals trace --orphans # whole-chain gap audit\nao goals trace --orphans --strict # warnings also fail (exit 1)","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"--from \u003cid>","type":"text","marks":[{"type":"code_inline"}]},{"text":" roots the trace at any directive, scenario, or bead ID.","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"--orphans","type":"text","marks":[{"type":"code_inline"}]},{"text":" audits the whole chain: broken references are ","type":"text"},{"text":"errors","type":"text","marks":[{"type":"strong"}]},{"text":" (always non-zero exit), missing yields are ","type":"text"},{"text":"warnings","type":"text","marks":[{"type":"strong"}]},{"text":".","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"--strict","type":"text","marks":[{"type":"code_inline"}]},{"text":" escalates warning-class defects to a non-zero exit (ADR-0005 §4.2).","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Stable directive IDs (","type":"text"},{"text":"d-...","type":"text","marks":[{"type":"code_inline"}]},{"text":") are the link anchors — never display numbers. The link grammar is ","type":"text"},{"text":"docs/adr/ADR-0005","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Render Mode (F4) — export Gherkin feature files","type":"text"}]},{"type":"paragraph","content":[{"text":"ao goals render","type":"text","marks":[{"type":"code_inline"}]},{"text":" exports the directive-linked scenarios as a Gherkin feature file so the executable spec can be consumed by external BDD tooling:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ao goals render # print Gherkin to stdout\nao goals render --out spec.feature # write Gherkin to a file","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Examples","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Checking fitness and directive gaps","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/goals","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Runs ","type":"text"},{"text":"ao goals measure --json","type":"text","marks":[{"type":"code_inline"}]},{"text":" to get gate results","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"If GOALS.md format, runs ","type":"text"},{"text":"ao goals measure --directives","type":"text","marks":[{"type":"code_inline"}]},{"text":" to get directive list","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Assesses each directive against recent work","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Reports combined fitness + directive gap dashboard","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Result:","type":"text","marks":[{"type":"strong"}]},{"text":" Dashboard showing gate pass rates and directive progress.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Bootstrapping goals for a new project","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/goals init","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Runs ","type":"text"},{"text":"ao goals init","type":"text","marks":[{"type":"code_inline"}]},{"text":" which prompts for mission, stars, directives, and auto-detects gates","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Creates GOALS.md in the project root","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Result:","type":"text","marks":[{"type":"strong"}]},{"text":" New GOALS.md ready for ","type":"text"},{"text":"/evolve","type":"text","marks":[{"type":"code_inline"}]},{"text":" consumption.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Adding a new goal after a post-mortem","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/goals add go-parser-fuzz \"cd cli && go test -fuzz=. ./internal/goals/ -fuzztime=10s\" --weight=3 --description=\"Markdown parser survives fuzz testing\"","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Runs ","type":"text"},{"text":"ao goals add","type":"text","marks":[{"type":"code_inline"}]},{"text":" with the provided arguments","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Writes the new goal in the correct format (YAML or Markdown)","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Result:","type":"text","marks":[{"type":"strong"}]},{"text":" New goal added, measurable on next ","type":"text"},{"text":"/goals","type":"text","marks":[{"type":"code_inline"}]},{"text":" run.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Troubleshooting","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Problem","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Cause","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Solution","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"\"goals file already exists\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Init called on existing project","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Use ","type":"text"},{"text":"/goals","type":"text","marks":[{"type":"code_inline"}]},{"text":" to measure, or delete file to re-init","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"\"directives require GOALS.md format\"","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Tried steer on YAML file","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"ao goals migrate --to-md","type":"text","marks":[{"type":"code_inline"}]},{"text":" first","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No directives in measure output","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"GOALS.yaml doesn't support directives","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Migrate to GOALS.md with ","type":"text"},{"text":"ao goals migrate --to-md","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Gates referencing deleted scripts","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Scripts were renamed or removed","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"/goals prune","type":"text","marks":[{"type":"code_inline"}]},{"text":" to clean up","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Drift shows no history","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No prior snapshots saved","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"ao goals measure","type":"text","marks":[{"type":"code_inline"}]},{"text":" at least twice first","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Export returns empty","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No snapshot file exists","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"ao goals measure","type":"text","marks":[{"type":"code_inline"}]},{"text":" to create initial snapshot","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"See Also","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"/evolve","type":"text","marks":[{"type":"code_inline"}]},{"text":" — consumes goals for fitness-scored improvement loops","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/goals-schema.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" — schema definition for both formats","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/generation-heuristics.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" — goal quality criteria","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Reference Documents","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/goals.feature","type":"text","marks":[{"type":"link","attrs":{"href":"references/goals.feature","title":null}}]},{"text":" — Executable spec: measure gates → verdict, directives steering, GOALS.md source-of-truth, measurement-root (soc-qk4b)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/generation-heuristics.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/generation-heuristics.md","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/goals-schema.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/goals-schema.md","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/executable-spec-chain.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/executable-spec-chain.md","title":null}}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}}]},"metadata":{"date":"2026-06-05","name":"goals","author":"@skillopedia","source":{"stars":375,"repo_name":"agentops","origin_url":"https://github.com/boshu2/agentops/blob/HEAD/skills/goals/SKILL.md","repo_owner":"boshu2","body_sha256":"598cefa6c7f213c2b33124095fce5f6e728b026bf668eff2419fe4368f56ad24","cluster_key":"a1fc75aed0d44920eff007335f708d34400723547c798d9ce4fbbe752f3b6aec","clean_bundle":{"format":"clean-skill-bundle-v1","source":"boshu2/agentops/skills/goals/SKILL.md","attachments":[{"id":"17610f37-a987-5f86-82ed-b4694986c7fd","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/17610f37-a987-5f86-82ed-b4694986c7fd/attachment.md","path":"references/executable-spec-chain.md","size":4039,"sha256":"4fd4dd35d25d26421bb52cc1f1d94c195ed755c5d4a60725ed27d64bac266b67","contentType":"text/markdown; charset=utf-8"},{"id":"fbfb1116-3ed5-5e7e-a952-7eac8a1417eb","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/fbfb1116-3ed5-5e7e-a952-7eac8a1417eb/attachment.md","path":"references/generation-heuristics.md","size":10217,"sha256":"0085a6e981e44e70b5c607d62cfd2f4e698beabdc719d4173b1283ac65008070","contentType":"text/markdown; charset=utf-8"},{"id":"43bd835e-4b10-549d-8541-1da1ae5a6bd7","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/43bd835e-4b10-549d-8541-1da1ae5a6bd7/attachment.md","path":"references/goals-schema.md","size":6967,"sha256":"113939d1f2f7316463b9ae9753240366abe226849224c55415dd082e804ae875","contentType":"text/markdown; charset=utf-8"},{"id":"c8d8db64-4cd3-5aac-8767-743aed799b9b","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/c8d8db64-4cd3-5aac-8767-743aed799b9b/attachment.feature","path":"references/goals.feature","size":1607,"sha256":"651862f5406fa43adb3ccbfbcbb9bfa267d70398c8299166b16ac832173d425c","contentType":"text/plain; charset=utf-8"},{"id":"b5f5067a-6003-58e0-b425-015a3f78bdd3","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/b5f5067a-6003-58e0-b425-015a3f78bdd3/attachment.sh","path":"scripts/validate.sh","size":1505,"sha256":"cca07a67d986d96c41d27d95ed9d70c90730d530239b0ef9b453669a3188e499","contentType":"application/x-sh; charset=utf-8"}],"bundle_sha256":"a587b8951f89cb7103feef8f40995fd6960d510484f636e1538dc7ab0b39af3c","attachment_count":5,"text_attachments":4,"attachment_storage":"skillopedia-attachments-v1","binary_attachments":1,"excluded_attachments":[]},"cluster_size":2,"skill_md_path":"skills/goals/SKILL.md","import_metadata":{"date":"2026-06-05","author":"@skillopedia","version":"v1","category":"software-engineering","category_label":"Engineering"},"exact_dupes_collapsed_into_this":1},"context":{"intent":{"mode":"task"},"window":"fork","sections":{"exclude":["HISTORY"]},"intel_scope":"topic"},"version":"v1","category":"software-engineering","consumes":[],"metadata":{"tier":"product","dependencies":[]},"produces":["result.json"],"practices":["dora-metrics","lean-startup","agile-manifesto"],"import_tag":"clean-skills-v1","context_rel":[{"kind":"shared-kernel","with":"standards"}],"description":"Maintain AgentOps goals.","hexagonal_role":"domain","output_contract":"GOALS.md","skill_api_version":1}},"renderedAt":1782980340230}

/goals — Fitness Goal Maintenance Maintain GOALS.yaml and GOALS.md fitness specifications. Use CLI for all operations. YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it. Quick Start Format Support | Format | File | Version | Features | |--------|------|---------|----------| | YAML | GOALS.yaml | 1-3 | Goals with checks, weights, pillars | | Markdown | GOALS.md | 4 | Goals + mission + north/anti stars + directives | When both files exist, GOALS.md takes precedence. Mode Selection Parse the user's input: | Input | Mode | CLI Command | |-------|------|-------------| | , , "goal status" | m…