UNPKG

@blundergoat/goat-flow

Version:

AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.

69 lines (55 loc) 3.77 kB
--- name: goat description: "Use when you describe an outcome and need the right goat-* workflow chosen for you." goat-flow-skill-version: "1.12.1" --- # /goat ## Shared Conventions Read `.goat-flow/skill-docs/skill-preamble.md` for shared conventions. Use when the user gives an outcome and needs the right goat-* route. **If the user names a skill explicitly (`/goat-debug`, `/goat-review`, etc.), route immediately - no classification, no GATHER.** **If a symptom tempts code reading, STOP.** The dispatcher routes; the routed skill investigates. | Excuse | Reality | |--------|---------| | "I can see it - routing is overhead" | You are dispatcher, not investigator. Route first. | | "The user said 'just fix it'" | Pressure is not an override. Route to /goat-debug. | | "Time pressure means investigate now" | Routing takes seconds; wrong routing wastes more. | | "Multiple symptoms mean read files" | Split numbered intents; route each separately. | ## How It Works 1. **UNDERSTAND** - classify intent and target. If multiple intents, number each and route independently. Ask only if ordering matters. 2. **GATHER** - before routing, check: - Footgun matches: grep `.goat-flow/learning-loop/footguns/INDEX.md` for the target area; open entries only on hits - Ask-first boundaries: scan the active instruction file's Ask First boundaries for named files; if none are named, record `target-files=unknown` - If any check fails or is unavailable, note `gather-degraded` and route anyway - Do not emit the preamble's `Relevant prior learnings` line - that belongs to the routed skill's Step 0 3. **ROUTE** - dispatch using the route map. Emit a Route Snapshot (`Intent` / `Route` / `Rationale`), e.g.: ``` Intent: Diagnose a slow endpoint Route: /goat-debug Rationale: "slow" is a symptom to investigate; no file named -> target-files=unknown ``` ## Route Map | Intent | Route | |--------|-------| | Bug, failure, unexpected behaviour | `/goat-debug` | | Verify a fix worked | `/goat-debug` (post-fix verification) | | Browser-visible issue | Browser evidence first; `/goat-debug` Investigate if diagnosis needed | | Understand, explain, explore unfamiliar code | `/goat-debug` (Investigate mode) | | Quality review, audit, diff check | `/goat-review` | | Verify a diff/PR before merge | `/goat-review` | | Multi-perspective critique | `/goat-critique` | | Security, compliance, dependency audit | `/goat-security` | | Testing gaps, coverage, verification planning | `/goat-qa` | | Verify test coverage | `/goat-qa` | | Feature planning, milestones | `/goat-plan` | | Bare task path (no action verb) | Bare or ambiguous task paths are read-only context. Do not update `.active`, milestone status, or code from a path alone | | Build/plan verb + scope | `/goat-plan` (Step 0 handles complexity and mode) | | Simple implementation (single-file, obvious) | No skill; use execution loop directly | | Simple question | Answer directly | **More examples:** `/goat-review this diff` -> `/goat-review` (explicit; no GATHER). `Look at auth` -> `/goat-security` (assume security audit; offer `/goat-review` re-route). `Debug login test then review fix` -> 1. `/goat-debug`; 2. `/goat-review`. ## Constraints - MUST respect explicit skill invocations immediately - no reclassification - MUST NOT inspect source code, read implementation files, or make changes before routing - MUST understand intent conversationally, not via keyword lookup - 0-2 clarification questions max; route with stated assumption if still ambiguous - MUST emit a Route Snapshot with every dispatch - Proof Gate applies to route claims - MUST split multi-intent requests into numbered intents and route each - MUST pass brief/depth to target skill and preserve context on re-route