skills/cygnusfear/check-plan/SKILL.md
Audit implementation progress against a plan, verify completed work, identify remaining tasks, and validate quality. Use when user asks to check plan status, verify implementation, see what's left to do, or validate plan completion.
npx skillsauth add aiskillstore/marketplace check-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Perform comprehensive audit of implementation progress against a plan, verify quality of completed work, and generate actionable task list for remaining items.
.plans/# See what files changed
git status
# See detailed changes
git diff
# See commit history on this branch
git log --oneline -20
This helps understand scope of changes made.
Create comprehensive list:
git statusCreate todo list with one item per file to check.
For EACH file in the todo list:
Identify which plan step(s) relate to this file:
Check if planned changes are present:
For each file, assess:
any)?Check implementation quality:
any, using existing types?Store in memory:
File: path/to/file.ts
Plan Item: Step X - [description]
Status: [DONE|PARTIAL|NOT DONE|NEEDS REVIEW]
Notes: [What's good, what's missing, what needs fixing]
Quality Issues: [Any problems found]
Mark file as checked in the todo list.
CRITICAL: Verify old code was actually removed.
Extract all items listed for removal:
For each item in REMOVAL SPEC:
For code to remove:
# Check if old code still exists
grep -n "old_function_name" path/to/file.ts
For files to delete:
# Check if file still exists
ls path/to/old-file.ts
For deprecated imports/references:
# Search entire codebase
grep -r "old_symbol" src/
CRITICAL: Verify that the implementation covers 100% of the ORIGINAL issue/task requirements, not just the plan steps.
Find the source requirement:
gh issue view <number>From the original issue/task, extract:
| # | Original Requirement | Plan Step | Implementation Status | |---|---------------------|-----------|----------------------| | 1 | [from issue] | Step X | ✅/❌/⚠️ | | 2 | [from issue] | Step Y | ✅/❌/⚠️ | | 3 | [from issue] | N/A (missing from plan!) | ❌ |
Two types of gaps:
Both count toward incomplete coverage.
Issue Coverage = (Implemented Original Requirements / Total Original Requirements) × 100%
Anything less than 100% = PLAN NOT COMPLETE
Files changed that are NOT in the plan:
Plan items without corresponding implementation:
Requirements from original issue not in implementation:
Total Plan Steps: X
Completed Steps: Y
Partial Steps: Z
Not Started: W
Completion: (Y / X) * 100%
Weighted Completion: ((Y + 0.5*Z) / X) * 100%
Create report at .plans/[plan-name].progress.md:
# Plan Progress Report: [Plan Name]
**Date**: [timestamp]
**Plan File**: [path]
**Status**: [In Progress | Ready for Review | Completed]
---
## Summary
- **Overall Completion**: X%
- **Steps Complete**: Y / Total
- **Steps Partial**: Z
- **Steps Not Started**: W
- **Critical Issues**: N
---
## Progress by Plan Step
### ✅ Step 1: [Description]
**Status**: DONE
**Files**: [list]
**Notes**: [Any relevant notes]
### ⚠️ Step 2: [Description]
**Status**: PARTIAL (60% complete)
**Files**: [list]
**Completed**:
- [What's done]
**Remaining**:
- [What's not done]
**Issues**: [Any problems]
### ❌ Step 3: [Description]
**Status**: NOT DONE
**Blocking**: [What's blocking this]
---
## REMOVAL SPEC Status
### ✅ Completed Removals
- `old_function` from `file.ts` - Successfully removed
- `old-file.ts` - Successfully deleted
### ❌ Pending Removals (HIGH PRIORITY)
- `legacy_code` from `file.ts:lines 50-100` - **STILL EXISTS**
- `deprecated-helper.ts` - **FILE STILL EXISTS**
**Critical**: Old code must be removed before plan can be marked complete.
---
## Quality Assessment
### Passed
- ✅ TypeScript types used correctly
- ✅ CLAUDE.md naming conventions followed
- ✅ Architecture matches plan
### Issues Found
- ⚠️ `any` type used in `file.ts:42` (should use existing type)
- ⚠️ Missing error handling in step 5 implementation
---
## Files Changed
### Planned Changes (from plan)
- ✅ `path/to/file1.ts` - DONE
- ⚠️ `path/to/file2.ts` - PARTIAL
- ❌ `path/to/file3.ts` - NOT DONE
### Unplanned Changes (scope creep)
- `path/to/unexpected.ts` - Why: [reason]
---
## Remaining Work
### High Priority
1. **Remove old code** (REMOVAL SPEC items)
- [ ] Remove `legacy_code` from `file.ts`
- [ ] Delete `deprecated-helper.ts`
2. **Complete Step 3**
- [ ] Implement [specific requirement]
- [ ] Add proper types
### Medium Priority
3. **Fix quality issues**
- [ ] Replace `any` in `file.ts:42`
- [ ] Add error handling in step 5
### Low Priority
4. **Polish**
- [ ] [Minor improvements]
---
## Validation Status
### Pre-Validation
- [ ] All plan steps completed
- [ ] All REMOVAL SPEC items removed
- [ ] TypeScript compiles
- [ ] Linting passes
- [ ] No `any` types added
**Ready for Final Validation**: NO (pending items remain)
---
## Next Steps
1. Complete REMOVAL SPEC items (remove old code)
2. Finish Step 3 implementation
3. Fix quality issues
4. Run validation checks
5. Update plan status when 100% complete
# Run type checking
npm run typecheck
# or
tsc --noEmit
Record results:
# Run linter
npm run lint
# or
eslint .
Record results:
npm run build
Ensure build succeeds.
Create actionable todo list for remaining work:
# Remaining Tasks for [Plan Name]
## Critical (Must Do)
- [ ] Remove `legacy_code` from `file.ts:50-100` (REMOVAL SPEC)
- [ ] Delete `deprecated-helper.ts` (REMOVAL SPEC)
- [ ] Complete Step 3: [description]
## Important (Should Do)
- [ ] Fix TypeScript error in `file.ts:42`
- [ ] Add error handling in step 5
## Polish (Nice to Have)
- [ ] [Minor improvement]
## Validation
- [ ] TypeScript passes (`npm run typecheck`)
- [ ] Linting passes (`npm run lint`)
- [ ] Build succeeds (`npm run build`)
- [ ] All REMOVAL SPEC items removed
**When all tasks complete**: Update plan file from `.todo.md` to `.done.md`
Provide concise summary:
# Plan Check Complete: [Plan Name]
## Overall Status
**X% Complete** (Y of Z steps done)
## Completed ✅
- Step 1: [description]
- Step 2: [description]
## In Progress ⚠️
- Step 3: [description] (60% done)
## Not Started ❌
- Step 4: [description]
## Critical Issues 🚨
- **REMOVAL SPEC not complete**: Old code still exists
- `legacy_code` in `file.ts` must be removed
- `deprecated-helper.ts` must be deleted
## Quality Issues
- `any` type used in `file.ts:42`
- Missing error handling in step 5
## Validation
- ❌ TypeScript: 3 errors
- ✅ Linting: Passed
- Build: Not tested
## Next Steps
1. Remove old code (REMOVAL SPEC)
2. Complete Step 3
3. Fix quality issues
4. Run final validation
**Detailed Report**: `.plans/[plan-name].progress.md`
**Task List**: See remaining work section above
A plan can be marked as .done.md ONLY when:
tsc --noEmit succeeds)any types added (strict typing maintained)CRITICAL: Criterion #1 is the MOST IMPORTANT. A plan that completes all its steps but doesn't fulfill the original issue requirements is STILL INCOMPLETE.
Anything less = plan stays as .todo.md
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.