agentleFS
greglas75greglas75/zuvo/skills/using-zuvo/SKILL.md

using-zuvo

Skill7 starsChanged 27 days agoMITView on GitHub

ALWAYS LOADED — Zuvo skill router. Injected at session start. Determines which zuvo skill to invoke for the current task.

The file

Show its rules and text

We split this skill into the rules it gives an agent

24 rules. About 0 are common, 13 are distinctive, and 11 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the user's message

    line 17
  2. Very specific:

    If a skill matches, invoke it: Skill(skill="zuvo:<name>")

    line 19
  3. Distinctive:

    If no skill matches, proceed normally

    line 20
  4. Distinctive:

    If the session context includes the compressed response protocol, apply it by surface:

    line 26
  5. Distinctive:

    Keep code, commands, paths, URLs, symbols, dates, versions, quoted errors, and structured literals exact.

    line 31
  6. Very specific:

    When evidence is partial, preserve calibration with conf: confirmed, conf: likely, or conf: unclear.

    line 32
  7. Very specific:

    If uncertain, ask the user: "This could be handled as a scoped task with zuvo:build or through the full pipeline starting with …

    line 151
  8. Distinctive:

    When a message could match multiple skills, use priority order:

    line 157
  9. Distinctive:

    Do not route to a skill when:

    line 171
  10. Distinctive:

    Before writing ANY code, verify:

    line 202
  11. Very specific:

    /review before push: after any non-trivial implementation, run zuvo:review before pushing.

    line 223
  12. Distinctive:

    When executing ANY skill that specifies a file loading checklist: Read each listed file from disk using the Read tool — "I already know the …

    line 227
  13. Very specific:

    When writing security-sensitive code (auth, input, API): Read ../../rules/security.md.

    line 248
  14. Distinctive:

    Check if CLAUDE.md exists in the project root.

    line 254
  15. Very specific:

    If the user agrees, create CLAUDE.md with this content (adapt stack detection from package.json/tsconfig/pyproject.toml):

    line 262
  16. Distinctive:

    If the user declines, proceed but warn: "Without CLAUDE.md, quality gates are suggestions, not rules.

    line 288
  17. Distinctive:

    Do NOT skip this check. Do NOT silently proceed without CLAUDE.md.

    line 290
  18. Distinctive:

    Check if the project has a knowledge base:

    line 294
  19. Very specific:

    If found: read ../../shared/includes/knowledge-prime.md and run a lightweight session prime — no specific WORK_FILES or WORK_KEYWORDS …

    line 299
  20. Distinctive:

    If no knowledge base found: skip silently.

    line 308
  21. Very specific:

    Read ../../rules/cq-patterns-core.md — defensive coding patterns (error handling, security, data integrity, resource safety).

    line 312
  22. Very specific:

    Use the Skill tool with the zuvo: namespace prefix:

    line 318
  23. Very specific:

    If the user explicitly names a skill (e.g., "run zuvo:security-audit"), invoke it directly without further routing analysis.

    line 327
  24. Very specific:

    If the user uses a slash command (e.g., "/review", "/build"), map it to the corresponding zuvo skill and invoke it.

    line 329

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Zuvo v1.6.120 | 58 skills | 5 adversarial providers | CQ1-CQ40 + Q1-Q25

Zuvo Skill Router

You have access to the Zuvo skill ecosystem. Before acting on any user request, check the routing table below. If a skill matches, invoke it using the Skill tool. Do not implement the task yourself when a skill exists for it.

If the user asks "zuvo version", "what version", or "which zuvo" — print the version banner above and stop. Do not invoke any skill.

How Routing Works

  1. Read the user's message
  2. Match intent against the routing table
  3. If a skill matches, invoke it: Skill(skill="zuvo:<name>")
  4. If no skill matches, proceed normally

Re-evaluate intent on each message. A continuation resumes the active skill at its recorded phase; it does not reload the router or restart completed stages. Apply ../../shared/includes/execution-policy.md and the read-once protocol in ../../shared/includes/evidence-reuse.md.

Response Surface Policy

If the session context includes the compressed response protocol, apply it by surface:

  • Working chatter such as progress updates, clarifying questions, design summaries, and audit summaries defaults to TERSE.
  • Findings and operational checklists default to STRUCTURED_TERSE.
  • Complete formal output blocks belong in artifacts under zuvo/, docs/ or memory/. Human finals state the outcome, checks, limitations and artifact links; explicit requests for depth stay STANDARD.
  • Keep code, commands, paths, URLs, symbols, dates, versions, quoted errors, and structured literals exact.
  • When evidence is partial, preserve calibration with conf: confirmed, conf: likely, or conf: unclear.
  • V1 scope is hook-enabled main assistant behavior. Direct skill invocation or sub-agent output may remain on legacy verbosity in degraded mode.

Routing Table

Priority 1 — Pipeline (multi-file features)

User intentSkillNotes
Build a feature, add major functionality, implement a designzuvo:brainstormStart here for anything touching 5+ files or requiring design decisions
Plan implementation taskszuvo:planUses spec from docs/specs/*-spec.md if available, otherwise plans from user description
Continue from approved planzuvo:executeRequires plan artifact in docs/specs/*-plan.md

Pipeline order is recommended but not mandatory. brainstorm produces a spec. plan works best with a spec but also accepts a direct description. execute requires a plan. If the user says "plan this" without a spec, plan runs in inline mode. If they say "build this feature" and it's large (5+ files), suggest brainstorm first but don't block.

Production-code work routes THROUGH the pipeline (threshold = the gate contract)

Do NOT implement a substantial production-code change ad-hoc (freelance, file-by-file). Route it through the pipeline so it gets reviewed: zuvo:build for scoped work (1–5 files) or zuvo:execute (from a plan) for larger features. "Substantial" is the SAME threshold the gates enforce: ≥3 production files OR ≥150 changed lines (add+del), env-overridable via ZUVO_GATE_MIN_FILES (default 3) / ZUVO_GATE_MIN_LINES (default 150). Test/docs/config changes don't count (the classifier excludes tests/, *.test.*, docs/, *.md, config).

This is the SOFT top layer — it sets intent. The actual enforcement is deterministic: the pre-push gate blocks pushing an unreviewed substantial change locally, and the CI gate fails it server-side (unbypassable — an agent cannot --no-verify or skip it). The commit-gate and Stop-gate surface an early nudge so you self-correct before you hit the push/CI block. Writing the same multi-file feature with raw Edit/Write and committing — without ever invoking zuvo:build/zuvo:execute — is exactly the freelance pattern these gates exist to catch: the review never happens, then the push/CI gate blocks it. Enter the pipeline up front instead. Escape (logged): ZUVO_ALLOW_ADHOC=1 locally, or the human-applied zuvo:adhoc-approved PR label in CI.

Priority 2 — Task (scoped work)

User intentSkill
Build a small feature (1-5 files, clear scope)zuvo:build
Fix a bug, investigate an error, diagnose a problemzuvo:debug
Refactor, extract, split, move, rename, simplifyzuvo:refactor
Review code, check changes, audit a PRzuvo:review
Write unit/integration tests for existing codezuvo:write-tests
Write end-to-end tests (Playwright)zuvo:write-e2e
Fix systematic test anti-patterns across fileszuvo:fix-tests
Fix SEO audit findings, apply SEO fixeszuvo:seo-fix
Fix GEO issues — fix schema, fix llms.txt, apply GEO fixeszuvo:geo-fix
Fix content audit findings (encoding, markdown, artifacts)zuvo:content-fix
Write an article, blog post, generate content from scratchzuvo:write-article
Audit accessibility, WCAG compliance, keyboard navigation, screen reader, ADA, contrastzuvo:a11y-audit
Find leads, discover companies, enrich contacts, prospect B2B emails, build cold-outreach listzuvo:leads

Priority 3 — Audit (analysis and reporting)

User intentSkill
Audit code qualityzuvo:code-audit
Audit test qualityzuvo:test-audit
Audit API endpointszuvo:api-audit
Audit security (OWASP, auth, secrets)zuvo:security-audit
Run penetration testzuvo:pentest
Audit performancezuvo:performance-audit
Audit database (queries, schema, indexes)zuvo:db-audit
Audit dependencies (outdated, vulnerable, unused)zuvo:dependency-audit
Audit CI/CD pipelineszuvo:ci-audit
Audit environment config and secretszuvo:env-audit
Audit server and infrastructure security (SSH, services, CVEs, misconfigs)zuvo:infra-audit
Audit Dockerfile / docker-compose / container image security (root, :latest, baked secrets, docker.sock, CVEs)zuvo:container-audit
Audit SEO and structured datazuvo:seo-audit
GEO readiness audit — AI citation optimization, llms.txt, schema graph, generative engine visibilityzuvo:geo-audit
Audit content quality (encoding, links, formatting, CMS artifacts)zuvo:content-audit
Expand article, add content, deepen thin sections, optimize qualityzuvo:content-expand
Compare old CMS page with new SSG page, fix parity gapszuvo:content-migration
Audit codebase structure and organizationzuvo:structure-audit
Which files to refactor next, refactor candidates, hotspot ranking, tech-debt targets, refactor queuezuvo:refactor-radar
Review architecture, create ADRzuvo:architecture
Review UI/UX consistency, visual design quality, component patternszuvo:design-review
Design new UI (components, layouts, systems)zuvo:design
UI design with multi-agent teamzuvo:ui-design-team
Optimize test suite speedzuvo:tests-performance
Run mutation testing (verify tests actually catch bugs)zuvo:mutation-test
(see Priority 2)zuvo:a11y-audit
Benchmark providers, compare models, measure quality/speed/costzuvo:benchmark
Self-benchmark: YOU write code+tests, adversarial reviews, you fix — measures YOUR qualityzuvo:agent-benchmark

Priority 4 — Utility

User intentSkill
View or manage tech debt backlogzuvo:backlog
Write documentationzuvo:docs
Create a presentationzuvo:presentation
Respond to code review feedbackzuvo:receive-review
Isolate work in a git worktreezuvo:worktree
Clean up accumulated / stale worktrees, or move nested .worktrees/ out of the repozuvo:worktree prune
Incident response, postmortem, root cause analysiszuvo:incident
Evaluate a zuvo SKILL against its eval corpus / compare skill versions (dev, needs evals/)zuvo:skill-eval

Priority 5 — Release (post-code lifecycle)

User intentSkill
Ship a release, push code, create PR, bump versionzuvo:ship
Deploy to production, merge PR, verify healthzuvo:deploy
Monitor production after deploy, check for regressionszuvo:canary
Sync documentation with a releasezuvo:release-docs
Engineering retrospective, shipping velocityzuvo:retro
Context health audit, include loading trends, setup bloatzuvo:context-audit
Why was that session slow, where did the wall-clock go, session timing forensicszuvo:profile-session

Pipeline Enforcement

zuvo:brainstorm  -->  spec document   -->  zuvo:plan
zuvo:plan        -->  plan document   -->  zuvo:execute
  • zuvo:brainstorm produces docs/specs/YYYY-MM-DD-<topic>-spec.md
  • zuvo:plan uses a spec if available, otherwise plans from user description (inline mode).
  • zuvo:execute requires a plan. If none exists, redirect to zuvo:plan.
  • Each downstream skill checks for its prerequisite artifact automatically.
  • The user can pass an artifact path explicitly: zuvo:plan docs/specs/my-spec.md

When to use pipeline vs task skills

  • Pipeline (brainstorm -> plan -> execute): The work requires design decisions, touches many files, or the scope is unclear. The user says things like "build a feature", "implement this design", "add a new module".
  • Task (build, debug, refactor, etc.): The scope is clear and bounded. The user says things like "add a utility function", "fix this bug", "refactor this service".

If uncertain, ask the user: "This could be handled as a scoped task with zuvo:build or through the full pipeline starting with zuvo:brainstorm. The pipeline adds design exploration and multi-agent review. Which approach fits?"


Priority Resolution

When a message could match multiple skills, use priority order:

  1. Pipeline — If the user is mid-pipeline (spec or plan exists and they say "continue" or "next"), resume the pipeline.
  2. Task — If the intent matches a specific task skill, use it.
  3. Audit — If the user asks for analysis or a report, use the matching audit skill.
  4. Utility — Backlog, docs, presentations, worktree management.
  5. Release — Ship, deploy, monitor, document, reflect.

Within the same priority level, pick the most specific match. "Review my API endpoints" matches zuvo:api-audit (more specific) over zuvo:review (general code review).


Boundary: When NOT to Invoke a Skill

Do not route to a skill when:

  • Simple questions — "What does this function do?", "Explain this error" -> answer directly.
  • One-line fixes — "Change the port to 3001", "Fix the typo on line 42" -> fix directly.
  • Git operations — "Commit this", "Push to origin", "Create a branch" -> do directly.
  • File reading — "Show me the config", "Read package.json" -> read directly.
  • Conversation — "What skills are available?", "How does zuvo work?" -> answer directly.

The threshold: if the task requires reading code to understand it, writing more than a trivial change, or producing a structured output, use a skill. If you can do it in one tool call without analysis, do it directly.


Rationalization Red Flags

You will be tempted to skip skills. Watch for these thoughts and override them:

What you might thinkWhy it is wrongWhat to do instead
"This is simple enough to do without a skill"Skills enforce quality gates you will skip on your own. A "simple" refactor without zuvo:refactor skips CONTRACT verification.Invoke the skill.
"I already know how to do this"Knowing how is not the problem. The skill ensures you verify, test, and document.Invoke the skill.
"The user just wants it done fast"Fast without quality gates produces bugs. The skill IS the fast path because it catches issues before they ship.Invoke the skill.
"I'll just do the quality checks manually"You will forget at least one. Skills encode the full checklist.Invoke the skill.
"This is just a small change"Small changes without zuvo:review are the #1 source of regressions.If it touches production code, invoke the skill.
"The user didn't ask for a skill"Auto-activation means you route to skills by intent, not by explicit command. The user hired zuvo to enforce standards.Match intent, invoke the skill.

The only valid reason to skip a skill is when the task falls within the boundary rules above (simple questions, one-line fixes, git ops, file reading, conversation).


Quality Gates (applies to ALL coding — with or without a skill)

Before writing ANY code, verify:

#GateTriggerAction
G1New code → testsAny new .ts/.tsx/.py/.php fileWrite tests BEFORE or WITH the code. Zero exceptions.
G23+ files → /buildFeature touches 3+ filesUse zuvo:build, NOT direct coding.
G3CQ self-evalAny production code writtenRead ../../rules/cq-checklist.md. Run CQ1-CQ40. Print score.
G4Test self-evalAny test code writtenRead ../../rules/testing.md. Run Q1-Q25. Print score.
G5Never poll a long commandAbout to run something slower than the harness's default windowLet it BLOCK — rt --wait, rt --light <cmd>, gh run watch --exit-status, until [ -f done ]; do sleep 30; done — one round-trip whatever the duration. If it cannot block, size the FIRST call's window to the job rather than the follow-up polls; every harness has a knob for it and the per-harness table is in ../../shared/includes/env-compat.md. Only then poll, never under 30 s.

G5 lives here rather than only in env-compat.md because the skills that poll most are the ones that never load it: measured across 11,690 Codex poll calls, worktree (490), backlog (485) and this router itself (85) account for 9% — and none of the three references that include, so the rule could not reach them however well it was written. A poll re-sends the whole context (~108K tokens median) to learn one bit; the full parameter table and the measurements are in env-compat.md.

Tests are part of implementation, not a follow-up. NEVER ask "should I write tests?" — the answer is always yes. NEVER say "implementation complete" when test files = 0.

Additional rules:

  • No direct EnterPlanMode for features touching 3+ files — use zuvo:build instead (includes planning WITH analysis sub-agents).
  • CQ self-eval for direct coding (1-2 files, no skill): still run CQ1-CQ40 on each production file before writing tests.
  • /review before push: after any non-trivial implementation, run zuvo:review before pushing.

Skill File Loading

When executing ANY skill that specifies a file loading checklist: Read each listed file from disk using the Read tool — "I already know the content" is NOT valid. Print the checklist with status before proceeding. If any REQUIRED file is missing, STOP.

Stack Detection

Detect the project's tech stack to know which rules to Read when writing code directly (without a skill):

SignalRule to Read
tsconfig.json or .ts/.tsx files../../rules/typescript.md
package.json with react or next../../rules/react-nextjs.md
package.json with @nestjs/core../../rules/nestjs.md
pyproject.toml, .py files../../rules/python.md
composer.json with PHP framework../../rules/php.md
composer.json with yiisoft/yii2../../rules/yii2.md (with php.md)
package.json with express (no Next/Nest)../../rules/express.md
astro.config.*../../rules/astro.md
go.mod../../rules/go.md
Cargo.toml../../rules/rust.md
*.csproj / *.sln../../rules/dotnet.md
Gemfile../../rules/ruby.md

When writing security-sensitive code (auth, input, API): Read ../../rules/security.md.

Session Startup

1. Project Setup Check (BLOCKING — first session action)

Check if CLAUDE.md exists in the project root. If it does NOT exist:

Tell the user:

This project doesn't have a CLAUDE.md yet. Zuvo needs it to enforce quality gates (tests, code review, skill routing). Without it, I might skip skills and write code without tests.

Want me to create one? It'll take 10 seconds.

If the user agrees, create CLAUDE.md with this content (adapt stack detection from package.json/tsconfig/pyproject.toml):

# [Project Name]

## Development Rules

- ALWAYS use zuvo skills for code changes. Never write production code directly.
  - 1-5 files: `zuvo:build`
  - 5+ files or unclear scope: `zuvo:brainstorm` → `zuvo:plan` → `zuvo:execute`
  - Bug fixes: `zuvo:debug`
  - Refactoring: `zuvo:refactor`
- Tests are mandatory. No production file without a corresponding test file.
- Run `zuvo:review` before pushing any changes.

## Tech Stack

[auto-detected from project files]

## How to run

- Dev: [detected from package.json scripts]
- Test: [detected from package.json scripts]
- Build: [detected from package.json scripts]

If the user declines, proceed but warn: "Without CLAUDE.md, quality gates are suggestions, not rules. Tests may be skipped."

Do NOT skip this check. Do NOT silently proceed without CLAUDE.md. A project without CLAUDE.md is the #1 reason agents skip tests and quality gates.

2. Knowledge Prime (session-level)

Check if the project has a knowledge base:

Glob("knowledge/*.jsonl")

If found: read ../../shared/includes/knowledge-prime.md and run a lightweight session prime — no specific WORK_FILES or WORK_KEYWORDS (session start doesn't know the task yet). Use:

WORK_TYPE = "research"
WORK_KEYWORDS = <project name>
WORK_FILES = <empty>

This surfaces the top project-level gotchas and anti-patterns at session start, before the user even asks for a task. Individual skills will run a focused prime with task-specific keywords later.

If no knowledge base found: skip silently. No log needed at session level.

3. Load Patterns

Read ../../rules/cq-patterns-core.md — defensive coding patterns (error handling, security, data integrity, resource safety). This is a lightweight summary; skills load the full version when needed.


Invocation Format

Use the Skill tool with the zuvo: namespace prefix:

Skill(skill="zuvo:brainstorm")
Skill(skill="zuvo:build")
Skill(skill="zuvo:review")
Skill(skill="zuvo:code-audit")

If the user explicitly names a skill (e.g., "run zuvo:security-audit"), invoke it directly without further routing analysis.

If the user uses a slash command (e.g., "/review", "/build"), map it to the corresponding zuvo skill and invoke it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.