agentleFS
secondorderaisecondorderai/ouroboros/.agents/skills/ou-features-audit/SKILL.md

ou-features-audit

Skill3 starsChanged 6 months agoMITView on GitHub

Audit implemented Ouroboros features against requirements, PRDs, tickets, GitHub issues, or acceptance criteria to find missing, partial, incorrect, or unverifiable work. Use when the user asks to audit a feature, verify implementation completeness, compare code to requirements, check acceptance criteria, run a gap analysis, determine what is left to build, check whether a ticket is done, audit against a PRD/spec, or asks whether recent work in the Ouroboros codebase matches its requirements. Do NOT use for creating PRDs, generating tickets, implementing tickets, broad full-codebase review, or general bug triage.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user provides an issue URL or number, fetch it with the current repository remote:

    line 18
  2. Distinctive:

    If the repository supports sub-issues, also check:

    line 24
  3. Very specific:

    If both PRD.md and tickets/ exist, treat tickets as the source of truth for "done" and use the PRD for context.

    line 41
  4. Distinctive:

    If the requirements were just discussed in the conversation, extract criteria from that context and state what you are auditing against …

    line 45
  5. Distinctive:

    If no requirements source is available, ask for a GitHub issue number, ticket path, PRD path, or pasted criteria.

    line 49
  6. Very specific:

    Always add relevant implicit Ouroboros criteria:

    line 67
  7. Distinctive:

    Before deep investigation, briefly present the criteria list grouped by category and say you are proceeding with the audit.

    line 80
  8. Very specific:

    Use rg, rg --files, targeted file reads, and existing tests to verify each criterion.

    line 84
  9. Distinctive:

    If the user explicitly asked for parallel agent work and the harness permits it, split independent categories across up to three explore …

    line 86
  10. Distinctive:

    Use these paths as the default search surface:

    line 90
  11. Distinctive:

    Keep evidence concrete. Include file paths and function/component names.

    line 159

≈ “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

Ouroboros Features Audit

Audit the Ouroboros codebase against feature requirements and acceptance criteria. Produce a structured gap analysis showing what passed, what failed, what is partial, and what cannot be verified from code alone.

Return the report in the conversation unless the user explicitly asks for a file.

1. Gather Requirements

Try sources in this order, stopping at the first useful source.

GitHub Issue

If the user provides an issue URL or number, fetch it with the current repository remote:

gh issue view <number> --json number,title,body,state,labels

If the repository supports sub-issues, also check:

gh api repos/<owner>/<repo>/issues/<number>/sub_issues

Fetch sub-issue bodies when present; they often contain the actionable acceptance criteria.

Local Markdown

Check these locations:

  1. Any file explicitly named by the user.
  2. PRD.md in the current working directory.
  3. Markdown files in tickets/.
  4. Nearby ticket-*.md or prd-*.md files.

If both PRD.md and tickets/ exist, treat tickets as the source of truth for "done" and use the PRD for context.

Conversation Context

If the requirements were just discussed in the conversation, extract criteria from that context and state what you are auditing against before proceeding.

Missing Source

If no requirements source is available, ask for a GitHub issue number, ticket path, PRD path, or pasted criteria.

2. Extract Testable Criteria

Transform the source into a flat list of falsifiable criteria grouped by category.

From structured tickets, extract every checkbox under Acceptance Criteria, Feature Tests, Requirements, and similar sections. Audit checked and unchecked boxes; a checked box is only a claim, not proof.

From prose, extract concrete statements:

  • Data model: new types, fields, persistence, transcript records, config shape.
  • CLI behavior: commands, agent loop behavior, tool contracts, config loading.
  • Tools: tool name, schema, permissions, execution behavior, Result contract.
  • JSON-RPC: request methods, notifications, protocol types, handlers.
  • Desktop UI: renderer components, Zustand stores, IPC handling, visible states.
  • Permissions and safety: approval gates, read-only restrictions, leases, worktree isolation.
  • Tests: unit, integration, and E2E coverage required by AGENTS.md.

Always add relevant implicit Ouroboros criteria:

  • New CLI tools export name, description, JSON Schema schema, and async execute.
  • Tool execution follows local Result/error-handling conventions where the surrounding code expects them.
  • New or renamed RPC methods update RPC_METHOD_NAMES and pass protocol contract tests.
  • New notification types update NOTIFICATION_METHOD_NAMES and pass protocol contract tests.
  • CLI feature changes include Bun tests in the matching packages/cli/tests/ area.
  • Desktop user-visible changes include Playwright E2E tests in packages/desktop/tests/e2e/.
  • Shared type changes are exercised from at least one consuming package.
  • Runtime behavior stays in the CLI; desktop remains presentation/IPC.
  • Renderer code uses typed preload APIs and existing stores/components.
  • Colors and component styling follow packages/desktop/DESIGN.md and CSS variable conventions.

Before deep investigation, briefly present the criteria list grouped by category and say you are proceeding with the audit.

3. Audit the Codebase

Use rg, rg --files, targeted file reads, and existing tests to verify each criterion. Prefer code evidence over assumptions.

If the user explicitly asked for parallel agent work and the harness permits it, split independent categories across up to three explore agents. Otherwise audit locally.

Ouroboros Investigation Map

Use these paths as the default search surface:

CategoryPrimary paths
CLI agent looppackages/cli/src/agent.ts, packages/cli/src/cli/, packages/cli/src/llm/
CLI toolspackages/cli/src/tools/, packages/cli/tests/tools/
Config and permissionspackages/cli/src/config.ts, packages/cli/src/*permission*, related tests
Persistencepackages/cli/src/memory/, packages/cli/tests/memory/
JSON-RPCpackages/cli/src/json-rpc/, packages/desktop/src/shared/protocol.ts, integration tests
Desktop main/IPCpackages/desktop/src/main/, packages/desktop/src/preload/, E2E tests
Desktop rendererpackages/desktop/src/renderer/, stores, hooks, components, views
Shared typespackages/shared/src/, package consumers
Team/subagent featurespackages/cli/src/team/, spawn-agent, subagent, worker, permission-lease files
Testspackages/cli/tests/, packages/desktop/tests/, bun run verify output when available

Status Rules

Assign one status per criterion:

StatusMeaning
PASSFully implemented and matches the requirement. Cite code/test evidence.
FAILMissing or implemented incorrectly. State expected vs. actual.
PARTIALSome required behavior exists but important pieces are missing or mismatched.
NOT VERIFIABLECode alone cannot prove it; state the manual or runtime check needed.

Flag any source checkbox marked done when the implementation does not actually satisfy it.

4. Report

Use this structure:

# Feature Audit: [Feature Name]

**Source:** [issue/ticket/PRD/conversation]
**Date:** [YYYY-MM-DD]
**Scope:** Codebase audit only unless otherwise stated

## Summary

| Status | Count |
|---|---:|
| PASS | N |
| FAIL | N |
| PARTIAL | N |
| NOT VERIFIABLE | N |
| **Total** | **N** |

**Overall assessment:** [One sentence.]

## Findings by Category

### [Category]

| # | Criterion | Status | Evidence / Gap |
|---:|---|---|---|
| 1 | [criterion] | PASS | `[file]` implements ..., `[test]` covers ... |
| 2 | [criterion] | FAIL | Expected ..., but no matching implementation found in ... |

## Action Items

1. **[FAIL/PARTIAL] [Short title]** - What to build or fix, which files to inspect or modify, and what test should prove it.

## Notes

[Caveats, runtime checks needed, stale ticket flags, or verification commands.]

Keep evidence concrete. Include file paths and function/component names. For gaps, name the likely owner files and the regression test that should be added.

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.