From skillkit-frameworks
Validates implementation plans against DRY, YAGNI, TDD principles and best practices. Identifies gaps, anti-patterns, and improvements before execution, especially for writing-plans outputs.
npx claudepluginhub rfxlamia/skillkit --plugin skillkit-frameworksThis skill uses the workspace's default tool permissions.
Comprehensive validation workflow for development implementation plans. This skill systematically analyzes plans against DRY (Don't Repeat Yourself), YAGNI (You Aren't Gonna Need It), and TDD (Test-Driven Development) principles while performing codebase-aware gap analysis to prevent implementation disasters.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes competition with Porter's Five Forces, Blue Ocean Strategy, and positioning maps to identify differentiation opportunities and market positioning for startups and pitches.
Comprehensive validation workflow for development implementation plans. This skill systematically analyzes plans against DRY (Don't Repeat Yourself), YAGNI (You Aren't Gonna Need It), and TDD (Test-Driven Development) principles while performing codebase-aware gap analysis to prevent implementation disasters.
Use when:
Triggers: /validate-plan or "Validate this implementation plan"
Ask user: "Which plan should I validate? (Provide file path or plan name)"
If user provides plan:
Scan existing codebase for:
Key questions:
Checklist for Don't Repeat Yourself:
| Check | Description | Finding Level |
|---|---|---|
| Functionality Check | Does the plan propose implementing functionality that already exists? | CRITICAL |
| Code Reuse | Are there existing utilities/components that could be reused? | CRITICAL |
| Abstraction | Does the plan duplicate similar patterns without abstraction? | WARNING |
| Library Choice | Is the plan using the same libraries already in the project? | INFO |
Common DRY violations to detect:
Checklist for You Aren't Gonna Need It:
| Check | Description | Finding Level |
|---|---|---|
| Over-abstraction | Does the plan create abstractions without concrete use cases? | WARNING |
| Future-proofing | Are there features planned for hypothetical future needs? | WARNING |
| Complexity | Is the solution more complex than the problem requires? | CRITICAL |
| Scope Creep | Are there tasks outside the core requirement? | WARNING |
Common YAGNI violations to detect:
Checklist for Test-Driven Development:
| Check | Description | Finding Level |
|---|---|---|
| Test-First | Are tests written BEFORE implementation? | CRITICAL |
| Red-Green | Does each task follow red-green-refactor cycle? | CRITICAL |
| Test Commands | Are exact test commands specified with expected output? | WARNING |
| Coverage | Is there a clear testing strategy for each component? | WARNING |
| Commits | Are commits tied to test milestones? | INFO |
TDD Anti-patterns to detect:
Technical Specification Gaps:
Architecture Gaps:
Disaster Prevention:
Report Structure:
# Plan Validation Report: [Feature Name]
## Executive Summary
- **Critical Issues:** [N] blockers must be fixed
- **Warnings:** [N] improvements recommended
- **Info:** [N] suggestions for enhancement
- **Overall Grade:** [A-F]
## DRY Analysis
[Findings with specific recommendations]
## YAGNI Analysis
[Findings with specific recommendations]
## TDD Analysis
[Findings with specific recommendations]
## Gap Analysis
[Missing requirements and potential disasters]
## Codebase Context
[Reusable components, patterns found]
Present findings to user:
๐ฏ **PLAN VALIDATION COMPLETE**
Found [N] critical issues, [N] warnings, [N] info suggestions.
## ๐จ CRITICAL (Must Fix)
1. [Issue with specific location in plan]
2. [Issue with recommendation]
## โก WARNINGS (Should Fix)
1. [Warning with explanation]
## โจ INFO (Nice to Have)
1. [Suggestion]
**IMPROVEMENT OPTIONS:**
- **all** - Apply all suggested improvements
- **critical** - Apply only critical issues
- **select** - Choose specific items
- **none** - Keep plan as-is
- **details** - Show more details
After user selection:
Principle: Every piece of knowledge must have a single, unambiguous representation.
Validation Approach:
Questions to Ask:
Principle: Don't implement functionality until it's actually needed.
Validation Approach:
Questions to Ask:
Principle: Write tests before implementation; red-green-refactor cycle.
Validation Approach:
Questions to Ask:
# User Authentication Implementation Plan
**Goal:** Add user login functionality
### Task 1: Create Login Component
**Files:**
- Create: `src/components/LoginForm.tsx`
**Step 1: Write test**
```typescript
// Test login form renders
describe('LoginForm', () => {
it('renders email and password inputs', () => {
render(<LoginForm />);
expect(screen.getByLabelText('Email')).toBeInTheDocument();
expect(screen.getByLabelText('Password')).toBeInTheDocument();
});
});
Step 2: Run test to verify failure
npm test LoginForm.test.tsx
Expected: FAIL - component not found
Step 3: Implement minimal component
export function LoginForm() {
return (
<form>
<input name="email" />
<input name="password" type="password" />
</form>
);
}
Step 4: Run test to verify pass Expected: PASS
Step 5: Commit
git add .
git commit -m "feat: add LoginForm component with tests"
### Output: Validation Report
```markdown
# Plan Validation Report: User Authentication
## Executive Summary
- **Critical Issues:** 0
- **Warnings:** 1
- **Info:** 1
- **Overall Grade:** A
## DRY Analysis
- No duplicate functionality detected
- Consider using existing `Input` component from `src/components/ui/`
## YAGNI Analysis
- Clean implementation, no over-engineering detected
## TDD Analysis
- Follows red-green-refactor cycle
- Test commands are specific
- Minor: Add edge case test for invalid email format
## Codebase Context
- Existing `src/components/ui/Input.tsx` can be reused
- Auth utilities exist in `src/lib/auth.ts`
- Form validation pattern in `src/hooks/useForm.ts`
## Recommendations
1. **INFO:** Reuse `Input` component for consistency
2. **WARNING:** Add error handling test case
Missing acceptance criteria
Vague test instructions
Missing file paths
src/components/UserProfile.tsx"Implementation without tests
Reinventing utilities
formatDate() when date-fns is availableDuplicate API logic
Premature abstraction
Over-configuration
Testing after implementation
Missing red phase
After writing-plans creates a plan:
/validate-planValidated plans have:
references/dry-principles.md - Detailed DRY guidelinesreferences/yagni-checklist.md - YAGNI detection patternsreferences/tdd-patterns.md - TDD workflow patternsreferences/gap-analysis-guide.md - Comprehensive gap analysis framework