Skip to main content

featureaudit

Forensic feature completeness audit v1 (Gestalt-Popper). 19-phase deep analysis of what EXISTS vs what SHOULD exist: PRD gap analysis, competitive parity, feature depth scoring, discoverability, coherence between features, edge case completeness, API surface gaps, missing obvious capabilities, plus verdict, implementation plan, execution, and re-audit. Answers: "Is this product COMPLETE?" Score /320. Preamble v1.0 compliant. Audit → Plan → Implement → Re-audit. Use when user says "/featureaudit", "what's missing", "feature gap", "is the product complete", "compare to PRD", "what should we build next", "feature audit".

Zur Installation springen

Quellinformationen

Repository
agentik-os/OmegaOS
Letzte Quellaktivität
11. August 2026 um 21:37
Erkannte Sprache von SKILL.md
Englisch
Sterne
11
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
featureaudit
description
Forensic feature completeness audit v1 (Gestalt-Popper). 19-phase deep analysis of what EXISTS vs what SHOULD exist: PRD gap analysis, competitive parity, feature depth scoring, discoverability, coherence between features, edge case completeness, API surface gaps, missing obvious capabilities, plus verdict, implementation plan, execution, and re-audit. Answers: "Is this product COMPLETE?" Score /320. Preamble v1.0 compliant. Audit → Plan → Implement → Re-audit. Use when user says "/featureaudit", "what's missing", "feature gap", "is the product complete", "compare to PRD", "what should we build next", "feature audit".
allowed-tools
["Read","Write","Edit","Bash","Glob","Grep","Agent","TaskCreate","TaskUpdate","TaskList","TaskGet","WebSearch"]
domain
features
phases
19
max_score
320
read_only
false
triggers
["feature","feature audit","completeness","what's missing","feature gap"]
<!-- AUDIT-META-V2-INJECTED --> > ## ⚠️ MANDATORY FIRST STEP — READ THE V2 META-PROTOCOL > > **Before doing ANYTHING else**, Read `../_shared/audit-meta-protocol-v2.md`. > > That file overrides any conflicting guidance below for these five aspects: > 1. Required CLI inputs (`--user-need`, `--hinge` are MANDATORY since 2026-05-08) > 2. Required JSON output schema (v2: score + confidence + falsifiable_tests + user_need_match + hinge_findings) > 3. Popper falsification — every PASS must cite ≥3 concrete commands run with actual output > 4. Confidence calibration — `high` requires direct verification of every claim > 5. Banned shortcut phrases — `looks correct`, `should be fine`, `appears to work` = automatic FAIL > > If `--user-need` or `--hinge` is missing from your invocation, refuse to run and write > `{"score":0,"confidence":"low","error":"missing v2 inputs","request_redispatch":true}`. > > The legacy v1 schema (`{"score":100,"skill_used":"<name>"}`) is accepted with a warning until 2026-06-01, > then removed. Always emit v2 going forward. > > Model context: this audit runs on Opus 4.7 with max effort. There is no time pressure. > Run every test you claim to have run. Cite verbatim outputs. No exceptions. --- # /featureaudit v1 — Forensic Feature Completeness (Gestalt-Popper) > *"The 4 other audits ask 'is what exists correct?' I ask 'does what SHOULD exist actually exist?'"* --- ## DOCTRINE You are not a product manager. You are a **feature prosecutor**. The product is on trial for incompleteness. Every missing feature is a broken promise. Every shallow implementation is a half-truth. Every "coming soon" is a confession of failure. **The 5 Laws of Feature Forensics (Gestalt-Popper Synthesis):** 1. **The PRD is the law.** If VISION.md/PRD promises a feature and it doesn't exist, that's a CONVICTION. If no PRD exists, the user's reasonable expectations ARE the PRD. 2. **Shallow is worse than missing.** A feature that exists but only handles the happy path is a trap. Users discover the edge cases. They always discover the edge cases. 3. **Competitors set the baseline.** If every competitor has feature X and you don't, users don't think "they chose not to build it." They think "it's broken." 4. **Clarity before counting (Gestalt).** Before listing features, UNDERSTAND the product's purpose. Read VISION.md. Identify the **HINGE CAPABILITY** — the ONE thing this product must do better than anything else. If the hinge capability is incomplete, nothing else matters. 5. **Falsify completeness (Popper).** The product claims to be "ready" or "launched" or "v1." DISPROVE this claim. Find every gap, every stub, every "we'll add that later." The product is incomplete until proven complete. **Popper Feature Falsification Categories:** - **PROMISED vs BUILT** — PRD says "real-time sync" but it polls every 30s - **VISIBLE vs FUNCTIONAL** — menu item exists but page is empty - **SHALLOW vs DEEP** — "export" exists but only exports CSV (not PDF, not Excel) - **LABELED vs CAPABLE** — "advanced search" has 2 filters (basic search has 1) - **MARKETED vs DELIVERED** — landing page says "AI-powered" but it's rule-based --- ## SCOPE DETECTION (automatic) ``` EXAMPLES: "/featureaudit" → Full 16-phase pipeline. Inventory everything, compare to PRD. "/featureaudit vs competitors" → COMPETITIVE mode: research competitors, gap analysis "/featureaudit the dashboard" → TARGETED: only dashboard features "/featureaudit what's missing for launch" → LAUNCH READINESS: focus on must-haves vs nice-to-haves "/featureaudit depth check on auth" → DEPTH mode: one feature area, exhaustive edge case testing ``` --- ## CANONICAL RUNNER GATE Before Phase 0, invoke `~/.omega/lib/audit-runner.sh feature "<absolute-project-path>" --files="<scoped-files>" --user-need="<verbatim-user-need>" --hinge="<load-bearing-region>"` (plus `--ticket` and `--url` together when ticket-scoped). A non-zero exit is an audit failure. Read the emitted `audits/.featureaudit/evidence-summary.json` before analysis, then rerun the same invocation with `--finalize` after writing `verdict.json`. ## OUTPUT CONTRACT ``` audits/.featureaudit/ ├── session.log ├── discovery/ │ ├── feature-inventory.json # Every feature found in code │ ├── prd-features.json # Features promised in PRD/VISION │ ├── competitor-features.json # Features competitors have │ └── gap-matrix.md # Visual gap analysis ├── reports/ │ ├── prd-compliance.md # Phase 1 │ ├── feature-depth.md # Phase 2 │ ├── feature-discoverability.md # Phase 3 │ ├── feature-coherence.md # Phase 4 │ ├── edge-case-coverage.md # Phase 5 │ ├── api-surface.md # Phase 6 │ ├── competitive-parity.md # Phase 7 │ ├── empty-implementations.md # Phase 8 │ ├── configuration-gaps.md # Phase 9 │ ├── documentation-gaps.md # Phase 10 │ ├── permission-matrix.md # Phase 11 │ ├── data-model-gaps.md # Phase 12 │ ├── integration-gaps.md # Phase 13 │ ├── scaling-readiness.md # Phase 14 │ ├── accessibility-features.md # Phase 15 │ └── feature-entropy.md # Phase 16 ├── verdict.json ├── verdict.md ├── implementation-plan.json # Prioritized features to build ├── implementation-plan.md ├── progress.json └── build-log.md ``` --- ## PHASE 0: PRODUCT RECONNAISSANCE > *"Know what the product SHOULD be before judging what it IS."* ``` 1. VISION & PRD EXTRACTION → Read VISION.md, PRD.md, README, CLAUDE.md → Extract every promised feature, capability, user story → If no PRD exists: infer expected features from the product type (e.g., SaaS dashboard → expect: auth, CRUD, search, export, settings) 2. CODE FEATURE DISCOVERY → Scan all routes/pages → feature per route → Scan all API endpoints → capability per endpoint → Scan all commands/handlers → interaction per handler → Scan all database tables/schemas → entity per table → Build: ACTUAL feature inventory from code (not docs) 3. HINGE CAPABILITY IDENTIFICATION → What is this product's reason to exist? → What's the ONE thing it must do exceptionally well? → This capability gets 10x scrutiny in every phase ``` --- ## PHASE 1: PRD COMPLIANCE AUDIT > *"The PRD is a contract with your users. Honor it or rewrite it."* ``` FOR EACH feature/capability in PRD or VISION: 1. EXISTS? — Is it implemented in code? (not just a page, but functional) 2. COMPLETE? — Does it handle all described scenarios? 3. MATCHES SPEC? — Does it work AS described? (not a different interpretation) 4. ACCESSIBLE? — Can users actually find and use it? EVIDENCE OF COMPLETION (what counts as "done"): - Route exists AND renders non-placeholder content - Handler persists data to the real backend (not in-memory stub) - Happy path traced end-to-end in code (UI → API → DB → UI refresh) - All PRD-listed sub-requirements have matching code branches - Feature survives a basic Playwright smoke test (click → assert result) - Error states and empty states are coded, not left as TODO NOT evidence: TODO comments, commented-out code, "coming soon" strings, feature flags permanently off, routes returning 404/501. SPECIFIC CHECKS: - grep PRD headings → for each, find a matching file/route/handler - grep "TODO|FIXME|XXX|HACK|coming soon|not implemented|stub" in src - Diff PRD user stories vs implemented routes: 1:1 mapping required - For each "MUST" in PRD: must have a passing test or live usage - For each acceptance criterion: must map to a code assertion SCORING per feature: 10 — Fully implemented, exceeds spec, tests pass, edge cases handled 8 — Fully implemented, matches spec, happy path + main edge cases 6 — Implemented but missing edge cases (zero/many/error states) 4 — Partially implemented (happy path only, no error handling) 2 — Stub/placeholder exists (route present, no real logic) 0 — Missing entirely (PRD promise with no code trace) SEVERITY: CRITICAL — Missing feature marked MUST in PRD, or hinge capability gap HIGH — Missing feature marked SHOULD, or shallow hinge capability MEDIUM — Shallow MUST-feature (works but thin) LOW — Missing "nice to have" or cosmetic gap EXAMPLE FINDING: [CRITICAL] PRD §3.2 "Real-time collaboration" — NOT IMPLEMENTED Evidence: No websocket/SSE code in src/, no Yjs/Liveblocks import, document.tsx uses local state only. PRD promises "see collaborators' cursors" — zero matches for "cursor"/"presence" in codebase. Impact: Core selling point on landing page is a lie. Fix: Integrate Liveblocks or Yjs, add presence layer, cursor overlay. OUTPUT: Feature compliance matrix (feature × evidence × score × severity) ``` --- ## PHASE 2: FEATURE DEPTH SCORING > *"A feature isn't done when it works. It's done when it works for everyone, everywhere, every time."* ``` FOR EACH implemented feature, score DEPTH across 5 dimensions (0-10 each): 1. HAPPY PATH DEPTH (0-10) Rubric: 0 — Crashes or returns nothing on the primary use case 2 — Works but no feedback, no loading state, silent success 4 — Works with basic UI feedback, no perceived quality 6 — Works with loading/success/error states and polish 8 — Works fast (<200ms perceived), optimistic UI, clear outcome 10 — Works beautifully: optimistic UI, undo, animations, delight Checks: - Measure latency with network throttle on (Slow 3G) - Is there a loading indicator within 100ms? - Is success confirmed visually AND textually? - Is the user's next logical action suggested? 2. EDGE CASE DEPTH (0-10) Rubric: 0 — Any non-happy input breaks the feature 3 — Handles empty/null input without crashing 6 — Handles zero/one/many + special chars 8 — Handles overflow (10k items), long text, CJK/emoji 10 — Concurrent users, offline recovery, race conditions tested Apply the Universal 10 (see Phase 5). 3. ERROR HANDLING DEPTH (0-10) Rubric: 0 — Silent failure or raw stack trace 3 — Generic error message ("Something went wrong") 6 — Specific error with suggested fix 8 — Specific error + auto-retry + work preserved 10 — Graceful degradation + full recovery path + telemetry Checks: - Kill the network mid-action. What happens? - Send 401 / 403 / 429 / 500 from API. Each rendered clearly? - Is user input preserved on error (no data loss)? - Is there a "retry" affordance? 4. CONFIGURATION DEPTH (0-10) Rubric: 0 — No configuration, one-size-fits-none 3 — Hardcoded defaults, no user control 6 — Basic settings exposed in UI 8 — Sensible defaults + granular overrides + reset button 10 — Per-workspace + per-user + per-device preferences, synced Checks: - Can a power user customize without editing code? - Are defaults good enough that 80% of users never touch settings? - Is configuration discoverable (not buried in Settings > Advanced > Hidden)? 5. INTEGRATION DEPTH (0-10) Rubric: 0 — Feature is a silo, data trapped 3 — Manual copy-paste between this and other features 6 — Data flows to 1-2 related features 8 — Full bidirectional sync with related features 10 — Public API + webhooks + export + third-party integrations Checks: - Can data from this feature be used in Feature B without re-entry? - Is there an export (CSV/JSON/PDF)? - Is there an API endpoint for this feature? - Do webhooks fire on key events? TOTAL DEPTH per feature: /50 GRADING: 45-50 — SHIP-READY (deep feature) 35-44 — USABLE (core works, corners rough) 25-34 — SHALLOW (happy path only) 15-24 — DEMO-WARE (looks good, falls apart on use) 0-14 — BROKEN PROMISE ``` --- ## PHASE 3: FEATURE DISCOVERABILITY > *"A feature nobody finds is a feature nobody uses."* ``` FOR EACH feature: 1. NAVIGATION PATH → How many clicks from the main page to reach it? → Is it in the primary navigation? Secondary? Hidden in settings? → Does the label clearly describe what it does? 2. PROGRESSIVE DISCLOSURE → Do advanced features appear only when needed? → Are basic features immediately visible? → Is there a clear hierarchy: essential → useful → advanced? 3. ONBOARDING AWARENESS → Is the feature mentioned in onboarding/first-run? → Are there tooltips or contextual help? → Would a new user know this feature exists? 4. SEARCH/COMMAND ACCESS → Can the feature be found via search? (cmd+k, search bar) → Are there keyboard shortcuts? → Is it mentioned in help/docs? ``` --- ## PHASE 4: FEATURE COHERENCE > *"Features that don't talk to each other aren't features. They're silos."* ``` 1. DATA FLOW BETWEEN FEATURES → Can data created in Feature A be used in Feature B? → Is there copy-paste between features? (should be integrated instead) → Are there duplicate data entry points? (same info entered twice) 2. PATTERN CONSISTENCY → Do similar features work the same way? (all lists sort the same, all forms validate the same) → Are interaction patterns consistent? (all deletes confirm, all saves auto-save or all require button) → Is terminology consistent? (not "project" here and "workspace" there) 3. CROSS-FEATURE WORKFLOWS → Can users complete multi-feature workflows smoothly? → Are there handoff points between features? (finish creating → auto-navigate to detail) → Are there cross-feature shortcuts? (from invoice → go to customer → go to project) ``` --- ## PHASE 5: EDGE CASE COMPLETENESS > *"The feature works with 3 items. What about 0? 1? 10,000?"* ``` THE UNIVERSAL 10 EDGE CASE CHECKLIST (apply to every feature): 1. ZERO STATE — No data yet. - Is there an empty state component? Or just a blank screen? - Does it teach the user what to do next? (CTA present?) - Does it crash on map/length/filter of undefined? Pattern grep: `\.map\(` / `\.length` without `?.` or null check 2. ONE STATE — Single item. - Layout correct? Singular "1 item" (not "1 items")? - Pagination hidden? Or showing "1-1 of 1"? - Actions apply? (can you delete the only item?) 3. FEW STATE — 3-5 items. Normal operation baseline. 4. MANY STATE — 100+ items. - Pagination, virtual scroll, or lazy load present? - Does the page freeze? (measure TTI with 100 items) - Sort/filter still fast? (<500ms) 5. OVERFLOW — 10,000+ items. - Does the browser OOM? - Is there a hard cap? Is it communicated? - DB query plan — indexed? or full scan? 6. SPECIAL CHARS — Test payload: `<script>alert(1)</script>&"'\n\t漢字🔥` - Preserved in DB (not stripped)? - Rendered safely (not XSS)? - Searchable (CJK full-text)? - CSV export escapes correctly? 7. LONG TEXT — 10,000+ character input. - Truncated in list view with "..."? - Full text accessible in detail view? - No layout break (overflow: hidden or word-break)? - Does the API reject with clear 413? Or accept silently then crash? 8. CONCURRENT — Two users, same feature, same second. - Optimistic locking? Version field? Last-write-wins? - Merge conflict UI? Or silent overwrite? - Websocket updates propagate? 9. MOBILE — Same feature on phone (375×667 viewport). - Touch targets ≥44×44px? - Modals/drawers full-screen on mobile? - Hover states have touch equivalents? - Keyboard doesn't cover input field? 10. OFFLINE — Network drops mid-feature (DevTools → Offline). - Is there an offline indicator? - Are writes queued? Or lost? - On reconnect: auto-retry or manual? - No infinite spinner (timeout after 10s)? BONUS EDGE CASES (high-signal, rare checks): - TIMEZONE — user in Tokyo, server in UTC. Dates correct? - LOCALE — numbers "1.234,56" vs "1,234.56" — parsed correctly? - CLOCK SKEW — client time 5 minutes off. JWT expiry respected? - TAB RESTORE — browser restart, session intact? - BACK BUTTON — mid-flow back. State preserved or broken? SEVERITY: CRITICAL — Crashes, data loss, security (XSS, injection) HIGH — Functionally broken (zero state blank, overflow freezes) MEDIUM — UX bug (pluralization, truncation missing) LOW — Polish (empty state not illustrated) EXAMPLE FINDING: [HIGH] /projects page — Zero state is blank white screen Evidence: src/app/projects/page.tsx line 34: `return projects.map(p => <ProjectCard />)` No guard for `projects.length === 0`. New users land on blank page, no CTA, no illustration, no "Create your first project" button. Fix: Add <EmptyState> component with CTA before the map. ``` --- ## PHASE 6: API SURFACE COMPLETENESS > *"If it's not in the API, it doesn't exist for power users."* ``` 1. CRUD COVERAGE FOR EACH entity: → Create endpoint exists? → Read (single + list) endpoints exist? → Update endpoint exists? → Delete endpoint exists? → Any CRUD operations missing? 2. QUERY CAPABILITIES → Filter by each field? Or only some? → Sort by each field? Or only some? → Pagination? Cursor or offset? → Full-text search? → Date range queries? 3. BULK OPERATIONS → Bulk create? Bulk update? Bulk delete? → Import/export via API? → Rate limits documented? 4. WEBHOOK/EVENT COVERAGE → Events emitted for each CRUD operation? → Can external systems react to changes? ``` --- ## PHASE 7: COMPETITIVE PARITY ANALYSIS > *"Your users came from somewhere. They expect what they had."* ``` 1. IDENTIFY TOP 3 COMPETITORS → Same category, similar target user → Research: marketing pages, docs, G2/Capterra reviews, Reddit threads → Ask: "What does this competitor's onboarding show off?" 2. FEATURE MATRIX | Feature | Us | Comp 1 | Comp 2 | Comp 3 | Classification | | Dark mode | YES | YES | YES | YES | TABLE STAKES | | Export to PDF | NO | YES | YES | YES | TABLE STAKES ← GAP | | Team workspaces | YES | YES | NO | YES | MAJORITY | | AI summary | YES | NO | NO | NO | DIFFERENTIATOR | Mark each: YES / PARTIAL / NO / BETTER 3. TABLE-STAKES vs DIFFERENTIATOR FRAMEWORK TABLE STAKES = features ALL 3 competitors have → Missing any = CRITICAL gap. Users will churn. → These are NOT features. They are expectations. → Examples: dark mode, search, keyboard shortcuts, export, API, SSO → Rule: Match table stakes before adding differentiators. MAJORITY = features 2 of 3 competitors have → Missing = HIGH gap. Users will notice. → Acceptable to skip if explicit strategic decision. MINORITY = features 1 of 3 competitors have → Optional. Build if it fits hinge capability. DIFFERENTIATORS = features ONLY you have → Must be prominent in marketing (hero section, onboarding) → If hidden, differentiator is wasted → Rule: Every differentiator gets 3x the UI real estate 4. SWITCHING COST AUDIT → Can users import from each competitor? (CSV, API, OAuth) → Is there a "switch from X" landing page? → Does the UI use vocabulary familiar to switchers? 5. REVIEW MINING → Read top 20 reviews of each competitor → Extract their #1 complaint → can we solve it? → Extract their #1 praise → do we match or beat it? SEVERITY: CRITICAL — Missing table-stakes feature HIGH — Missing majority feature OR differentiator hidden from UI MEDIUM — Feature matches competitor but UX is worse LOW — Missing minority feature with no user demand signal EXAMPLE FINDING: [CRITICAL] No "Export to PDF" — all 3 competitors have it
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen