
task
by WouterWisse
๐จ๐ผโ๐ป Just my personal website.
SKILL.md
name: task description: Execute complex tasks with planning, parallel subagents, atomic commits, and documentation updates. Use when the user asks to implement a feature, refactor code, or complete multi-step work. allowed-tools: Read, Grep, Glob, Write, Edit, Bash, TodoWrite
Task Skill - Worker
This skill does the actual implementation work. It is invoked by subagents from /feature and /fix-pr.
Step 1: Read Project Context (MANDATORY)
Before any implementation, understand the project:
wouterwisse.com/ # Next.js personal website
โโ src/
โ โโ app/ # Next.js app router (pages, layouts)
โ โโ components/ # React components
โ โโ config/ # Configuration files (themes, etc.)
โ โโ hooks/ # Custom React hooks
โ โโ types/ # TypeScript type definitions
โ โโ utils/ # Utility functions
โโ public/ # Static assets
โโ scripts/ # Image generation scripts
Key files to reference:
src/config/- Theme colors, blur placeholders, settingssrc/hooks/- Custom hooks for time, theme, etc.src/components/- Reusable UI components
Step 2: Determine Testing Requirements
| Code Type | Testing Requirement |
|---|---|
| Utility functions, hooks with logic | Unit tests recommended |
| Complex components with state | Unit tests recommended |
| Simple components, pages | Manual testing sufficient |
| Config, scripts, styling | No tests required |
Step 3: If TDD Required (Red-Green-Refactor)
Follow this cycle strictly:
- RED: Write failing test FIRST
- Run test โ Verify it FAILS (if it passes, test is wrong)
- GREEN: Implement minimum code to pass
- Run test โ Verify it PASSES
- REFACTOR: Clean up while keeping tests green
Step 4: Make Changes
- Follow existing patterns in the codebase
- Copy patterns from similar implementations
- Do NOT invent new patterns
- Keep changes focused on the task scope
Tech Stack Reference
- Framework: Next.js 16+ with App Router
- Language: TypeScript (strict mode)
- Styling: Tailwind CSS 4
- Animation: Framer Motion
- State: React hooks (useState, useEffect, etc.)
Patterns to Follow
Pages (app/*/page.tsx):
import { Metadata } from 'next'
export const metadata: Metadata = {
title: 'Page Title',
}
export default function Page() {
return (
<main>
{/* Content */}
</main>
)
}
Server Components (default in app/):
export default async function Component() {
// Can use async/await, access server resources
return <div>...</div>
}
Client Components:
'use client'
import { useState, useEffect } from 'react'
import { motion } from 'framer-motion'
export function Component() {
const [state, setState] = useState()
// ...
}
Custom Hooks (hooks/*.ts):
import { useState, useEffect } from 'react'
export function useCustomHook() {
const [value, setValue] = useState()
useEffect(() => {
// Effect logic
}, [])
return value
}
Step 5: Quality Checks (MANDATORY before commit)
Run these checks and fix any violations:
# TypeScript check
npx tsc --noEmit
# Lint check
npm run lint
# Check for forbidden patterns
grep -rn 'TODO\|FIXME\|HACK' --include='*.ts' --include='*.tsx' src/
Also verify:
- Build passes:
npm run build - No uncommitted debug code (console.log in production code)
- No hardcoded secrets or API keys
Step 6: Create Atomic Commit (NO PUSH)
git add -A && git commit -m "<type>(<scope>): <description>"
Commit types: feat, fix, refactor, test, docs, chore, style
IMPORTANT: Do NOT push. Commits are collected and pushed once at the end by the orchestrator skill (/feature or /fix-pr). This reduces GitHub Action triggers.
Step 7: Build & Lint Verification
# TypeScript compilation
npx tsc --noEmit
# Lint
npm run lint
# Build (includes type checking)
npm run build
Output Format
When called by an orchestrator skill, return this structured summary:
---
STATUS: SUCCESS | FAILURE
COMMIT: [short hash, e.g., abc1234]
FILES_CHANGED:
- [file1]
- [file2]
BUILD: PASSED | FAILED
LINT: PASSED | FAILED
TESTS: PASSED | FAILED | SKIPPED
TDD_FOLLOWED: true | false | N/A
ERRORS: [if FAILURE, list specific errors - NOT full logs]
---
Handling Failures
If something fails:
- Read the error message carefully
- Fix the issue
- Re-run the failing step
- If still failing after 2 attempts, report the specific error
Escalation
Stop and ask for help if:
- Task requires new dependencies you're unsure about
- Task conflicts with existing patterns
- Requirements are ambiguous
Key Principles
- Understand context first - read existing code before changing
- TDD for logic - tests before implementation
- Quality checks - no TODOs, no lint errors
- Atomic commits - one logical change per commit
- Never push - orchestrator pushes once at the end
- Follow patterns - copy existing code, don't invent
Example Subagent Prompt
Implement the new theme toggle component.
Context:
- This is step 2 of 4 in adding theme support
- The project uses Next.js with TypeScript
- Framer Motion is available for animations
Task:
- Create src/components/ThemeToggle.tsx
- Use the existing useTheme hook from src/hooks/
- Follow patterns from src/components/
Do NOT commit - just implement and verify it works.
Score
Total Score
Based on repository quality metrics
SKILL.mdใใกใคใซใๅซใพใใฆใใ
ใฉใคใปใณในใ่จญๅฎใใใฆใใ
100ๆๅญไปฅไธใฎ่ชฌๆใใใ
GitHub Stars 100ไปฅไธ
1ใถๆไปฅๅ ใซๆดๆฐ
10ๅไปฅไธใใฉใผใฏใใใฆใใ
ใชใผใใณIssueใ50ๆชๆบ
ใใญใฐใฉใใณใฐ่จ่ชใ่จญๅฎใใใฆใใ
1ใคไปฅไธใฎใฟใฐใ่จญๅฎใใใฆใใ
Reviews
Reviews coming soon


