gap-analysis
SKILL.md
GAP Analysis
Find implicit requirements and incomplete code. 90% of AI failures are due to specification gaps.
Mode A: Planning (Before Implementation)
Step 1: Explicit Requirements
## EXPLICIT REQUIREMENTS
**Task:** [one sentence]
**What's specified:**
- [ ] [requirement 1 -- quote]
- [ ] [requirement 2 -- quote]
**Constraints:** [limitations]
Step 2: Fit-Gap Analysis
Check each category:
| Category | Questions | Example Gaps |
|---|---|---|
| Data | Formats? Null/empty? Boundaries? | max length, encoding, special chars |
| UX | Loading state? Error state? Empty state? | skeleton, retry button, placeholder |
| Integration | What else affected? Side effects? | cache invalidation, events |
| Security | Access rights? Validation? | authorization, input sanitization |
| Performance | Data volume? Pagination? | batch limits, timeouts |
| Errors | What if fails? Retry? | graceful degradation, error messages |
Step 3: Pre-mortem
Ask: "A week passed, the feature broke. Why?"
- Missed edge case (empty data, null, large volumes)
- Uncovered error scenario (API unavailable, timeout)
- Forgot state handling (loading, error, empty)
- Didn't check access rights
- Didn't test mobile/responsive
Step 4: Report
## GAP ANALYSIS REPORT
### Category: [DATA/UX/ERRORS/etc]
| # | GAP | Severity | Action |
|---|-----|----------|--------|
| 1 | [description] | HIGH/MED/LOW | [what to do] |
### TOTALS:
- HIGH (blockers): [count]
- MED (desirable): [count]
- LOW (later): [count]
For HIGH gaps -- ASK user, don't assume!
Mode B: Codebase Scan
Run scan script for automated detection:
bash .cursor/skills/gap-analysis/scripts/scan-gaps.sh
Manual checks:
| Check | How to find | GAP if |
|---|---|---|
| Buttons without actions | onClick={() => {}} |
Button does nothing |
| Forms without submit | onSubmit missing or empty |
Form doesn't send data |
| Links to nowhere | href="#" or href="" |
Link leads nowhere |
| Loading without timeout | isLoading without error boundary |
May hang forever |
| Error without recovery | catch {} empty |
Error swallowed |
| Partial CRUD | Create exists but no Update/Delete | Incomplete |
Business Logic
## FEATURE COMPLETENESS
| Feature | Create | Read | Update | Delete | Status |
|---------|--------|------|--------|--------|--------|
| [Entity] | ok/no | ok/no | ok/no | ok/no | COMPLETE/INCOMPLETE |
GAP Severity
| Severity | Criteria | Action |
|---|---|---|
| HIGH | Without it, feature doesn't work | BLOCKER -- fix before implementation |
| MED | Works but bad UX/quality | Fix during implementation |
| LOW | Nice-to-have | Backlog or ask user |
Key Principle
Before creating a new feature:
rg "X"-- maybe it already exists?rg "TODO.*X"-- maybe there's a stub?- Check UI -- maybe button exists but doesn't work?
If found stub -> COMPLETE existing, don't create new!
Weekly Installs
3
Repository
dmitryprg-ai/cu…utorulesGitHub Stars
5
First Seen
14 days ago
Security Audits
Installed on
opencode3
claude-code3
github-copilot3
codex3
amp3
cline3