Skip to main content

grove-audit

Unified codebase audit that launches 10 parallel micro-lane subagents to check compliance, security, and quality. Auto-fixes deterministic issues, reports everything else inline. Three modes — quick (branch diff), standard (changed packages), full (entire codebase).

跳到安装

来源信息

仓库
AutumnsGrove/Lattice
最近来源活动
2026年5月19日 23:12
检测到的 SKILL.md 语言
英语
星标
6
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
11 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
grove-audit
description
Unified codebase audit that launches 10 parallel micro-lane subagents to check compliance, security, and quality. Auto-fixes deterministic issues, reports everything else inline. Three modes — quick (branch diff), standard (changed packages), full (entire codebase).
# Grove Audit A fleet of 10 narrow-scoped subagents, each checking one thing well. Deterministic violations get auto-fixed and committed. Judgment calls get reported inline with `file:line` evidence. ## When to Activate - User says `/grove-audit`, `/grove-audit quick`, `/grove-audit standard`, or `/grove-audit full` - User asks for a comprehensive code review, compliance check, or codebase sweep - Before major merges or releases - After large refactors to catch regressions - During active development to sweep for legacy violations ## Modes | Mode | Scope | When to Use | |------|-------|-------------| | `quick` | Branch diff vs main | Iterative development, pre-commit check | | `standard` | Changed packages (git diff + affected deps) | Pre-merge, after refactors | | `full` | Entire codebase via Lumen + grep | Periodic sweeps, post-refactor cleanup, first-time audit | Default when no mode specified: infer from context. On a feature branch with changes → `standard`. On main with no changes → `full`. User specified a scope → use that. --- ## Protocol ``` SCOPE → DISCOVER → DISPATCH → COLLECT → FIX → REPORT ↓ ↓ ↓ ↓ ↓ ↓ Mode Files 10 agents Results Commit Inline ``` ### Phase 1: SCOPE Determine the audit mode and file set. **Quick mode:** ```bash git diff main...HEAD --name-only ``` **Standard mode:** ```bash git diff main...HEAD --name-only # Plus: identify affected packages from changed files # Include downstream consumers of changed libs ``` **Full mode:** - No file filtering — each lane agent discovers its own targets via Lumen semantic search + grep/glob - Each agent gets the full codebase as its search space ### Phase 2: DISCOVER For quick/standard modes, build the file list and pass it to each agent. For full mode, each agent does its own discovery — this is the key advantage of full sweeps. **Lumen is the primary discovery tool.** Each agent should query Lumen first to find files related to its concern, then use grep/glob to verify and catch stragglers. Agents have full access to all search tools — Lumen, grep, glob, find. No handicaps. ### Phase 3: DISPATCH Launch all 10 lane agents **in parallel** using the Agent tool. Each agent gets: 1. Its lane reference doc (from `references/`) 2. The mode and file scope (for quick/standard) or "full sweep" instruction 3. Clear output format expectations **The 10 Lanes:** | # | Lane | Agent Type | Reference | Auto-Fix? | |---|------|------------|-----------|-----------| | 1 | Barrel Imports | sonnet-coder | `references/barrel-imports.md` | Yes | | 2 | Icon Gateway | sonnet-coder | `references/icon-gateway.md` | Yes | | 3 | CSRF / Fetch Safety | sonnet-coder | `references/csrf-fetch.md` | Yes | | 4 | Accent Tokens | sonnet-coder | `references/accent-tokens.md` | Yes | | 5 | Signpost Compliance | sonnet-coder | `references/signpost.md` | No | | 6 | SDK Boundaries | sonnet-coder | `references/sdk-boundaries.md` | No | | 7 | Data Primacy | sonnet-coder | `references/data-primacy.md` | No | | 8 | Type Safety | sonnet-coder | `references/type-safety.md` | No | | 9 | Security (STRIDE) | opus-coder | `references/security.md` | No | | 10 | Test Coverage | sonnet-coder | `references/test-coverage.md` | No | **Why opus for security only:** STRIDE threat modeling requires deeper reasoning about attack surfaces and trust boundaries. The other lanes are pattern-matching tasks where sonnet excels. **Agent prompt template:** Each agent receives: 1. The full content of its reference doc (read it and include it in the prompt) 2. Mode + file scope 3. Instructions to use Lumen (`mcp__lumen__semantic_search`) as primary discovery, supplemented by grep/glob 4. Output format: structured findings list with `file:line`, severity, and fix description 5. For auto-fix lanes (1-4): instructions to make the fixes directly 6. For report lanes (5-10): read-only — return findings only ### Phase 4: COLLECT Wait for all 10 agents to complete. Gather their results. ### Phase 5: FIX For auto-fix lanes (1-4) that made changes: 1. Review the changes each agent made (verify they're correct) 2. Stage the fixed files 3. Commit with a descriptive message: ```bash git commit -m "$(cat <<'EOF' fix(audit): auto-fix [barrel imports|icon gateway|CSRF fetch|accent tokens] [Summary of what was fixed, e.g., "12 barrel imports converted to direct imports"] Co-Authored-By: Claude (Grove Agent) EOF )" ``` Group related fixes into logical commits — one per auto-fix lane that had changes. ### Phase 6: REPORT Compile the inline report from all 10 lanes. Format: ``` ================================================================================ GROVE AUDIT REPORT Mode: [quick|standard|full] | Files scanned: N | Date: YYYY-MM-DD ================================================================================ AUTO-FIXED (committed) -------------------------------------------------------------------------------- Lane 1 — Barrel Imports: N fixes applied Lane 2 — Icon Gateway: N fixes applied Lane 3 — CSRF / Fetch: N fixes applied Lane 4 — Accent Tokens: N fixes applied FINDINGS (requires manual attention) -------------------------------------------------------------------------------- [CRITICAL] ────────────────────────────────────── 1. [SDK Boundaries] libs/engine/src/lib/foo.ts:42 Raw env.DB.prepare() — use GroveDatabase from @autumnsgrove/infra ... [HIGH] ────────────────────────────────────────── ... [MEDIUM] ──────────────────────────────────────── ... [LOW] ─────────────────────────────────────────── ... SUMMARY -------------------------------------------------------------------------------- ┌──────────────────────────┬────────┬───────┬──────────────┐ │ Lane │ Status │ Found │ Fixed │ ├──────────────────────────┼────────┼───────┼──────────────┤ │ 1. Barrel Imports │ ✓ FIXED│ 12 │ 12 auto-fix │ │ 2. Icon Gateway │ ✓ CLEAN│ 0 │ — │ │ 3. CSRF / Fetch │ ✓ FIXED│ 3 │ 3 auto-fix │ │ 4. Accent Tokens │ ✓ CLEAN│ 0 │ — │ │ 5. Signpost Compliance │ ⚠ WARN │ 5 │ manual │ │ 6. SDK Boundaries │ ✗ FAIL │ 8 │ manual │ │ 7. Data Primacy │ ✓ PASS │ 0 │ — │ │ 8. Type Safety │ ⚠ WARN │ 2 │ manual │ │ 9. Security (STRIDE) │ ✓ PASS │ 0 │ — │ │ 10. Test Coverage │ ⚠ WARN │ 4 │ manual │ └──────────────────────────┴────────┴───────┴──────────────┘ Total: 34 findings | 15 auto-fixed | 19 manual | 0 critical ================================================================================ ``` --- ## Severity Classification | Severity | Meaning | Examples | |----------|---------|---------| | CRITICAL | Exploitable vulnerability or data leak | Raw env.DB without tenant scoping, adminMessage in client response, timing-unsafe secret comparison | | HIGH | Architectural violation that compounds | Raw SDK bypass (env.DB, env.BUCKET), duplicated data sources, missing rate limiting on auth | | MEDIUM | Pattern violation, not dangerous | Barrel imports, bare Lucide icons, hardcoded accent colors, missing Signpost errors | | LOW | Style/hygiene, no functional impact | Missing tests for utilities, Svelte 5 store usage, stale TODO comments | --- ## Agent Prompting Guide When dispatching each lane agent, read the corresponding reference file and include its full content in the agent prompt. Structure each prompt as: ``` You are a focused code auditor for the Grove/Lattice monorepo. Your ONLY job is: [lane description]. MODE: [quick|standard|full] SCOPE: [file list for quick/standard, or "full codebase" for full] RULES (from reference doc): [paste full reference content] DISCOVERY: - Use mcp__lumen__semantic_search as your primary discovery tool - Supplement with grep and glob for exact pattern matching - For full mode: discover your own targets, don't wait for a file list OUTPUT FORMAT: Return a structured list of findings: - file_path:line_number - severity: CRITICAL | HIGH | MEDIUM | LOW - description: what's wrong - fix: what to do instead (or "auto-fixed" for lanes 1-4) [For auto-fix lanes 1-4 only:] AUTO-FIX: You MUST fix deterministic violations directly using Edit. After fixing, report what you changed. [For report lanes 5-10:] READ-ONLY: Do NOT edit any files. Report findings only. ``` --- ## Suppression Comments Each lane respects specific suppression comments. These are documented in the lane references: | Lane | Suppression | Effect | |------|-------------|--------| | Barrel Imports | `// barrel-ok` | Skip this import | | Icon Gateway | `// prism-ok` | Allow bare Lucide import | | CSRF / Fetch | `// csrf-ok` | Allow bare fetch() | | Accent Tokens | `// accent-ok` | Allow hardcoded color | | SDK Boundaries | `// boundary-ok` | Allow raw binding | | Signpost | `// error-ok` | Allow bare throw/console | --- ## What Grove Audit Does NOT Do - **Run tests or type checks** — use `gw ci` for that - **Review prose or documentation** — code patterns only - **Judge style preferences** — "I'd name this differently" is not a finding - **Audit dependencies** — use `pnpm audit` for that - **Replace targeted skills** — hawk-survey for deep security, deer-sense for a11y, etc. --- ## Integration **Before audit:** Ensure Lumen index is fresh (`mcp__lumen__index_status`) **After audit:** Use the report to prioritize manual fixes **For auto-fixes:** Review the committed changes with `git diff HEAD~1` if desired
在 GitHub 查看