skills/dmjgilbert/writing-plans/SKILL.md
Create detailed implementation plans with granular tasks. Use before implementing features or complex changes.
npx skillsauth add aiskillstore/marketplace writing-plansInstall 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.
Create detailed plans for engineers with minimal codebase familiarity. Break work into granular, testable tasks following TDD principles.
Save all plans to: docs/plans/YYYY-MM-DD-<feature-name>.md
# Plan: [Feature Name]
**Goal:** [One sentence describing what this achieves]
**Architecture:** [2-3 sentences on approach]
**Tech Stack:** [Relevant technologies]
**Files Affected:**
- `path/to/file1.ts` - [what changes]
- `path/to/file2.ts` - [what changes]
Each task = single 2-5 minute action:
## Task 1: [Descriptive Name]
**Action:** Create | Modify | Test
**Files:**
- Create: `src/components/Button.tsx`
- Test: `src/components/Button.test.tsx`
**Steps:**
1. Write failing test for [behavior]
2. Verify test fails with expected error
3. Implement minimal code to pass
4. Verify test passes
5. Commit: `test(button): add click handler test`
**Verification:**
- [ ] Test fails initially
- [ ] Test passes after implementation
- [ ] No other tests broken
Each step should be:
Too big: "Implement authentication system" Right size: "Write failing test for login validation"
Offer execution options:
# Plan: Add User Avatar Component
**Goal:** Display user avatar with fallback initials
**Architecture:** React component with image loading state, fallback to initials derived from user name
**Tech Stack:** React, TypeScript, Tailwind CSS
**Files Affected:**
- `src/components/Avatar.tsx` - new component
- `src/components/Avatar.test.tsx` - tests
- `src/components/index.ts` - export
## Task 1: Create Avatar Test File
**Action:** Create
**Files:** `src/components/Avatar.test.tsx`
**Steps:**
1. Create test file with describe block
2. Write failing test: renders initials when no image
3. Verify test fails (component doesn't exist)
**Verification:**
- [ ] Test file created
- [ ] Test fails with "Cannot find module"
## Task 2: Create Basic Avatar Component
**Action:** Create
**Files:** `src/components/Avatar.tsx`
**Steps:**
1. Create component that renders initials
2. Accept `name` prop, extract initials
3. Verify test from Task 1 passes
**Verification:**
- [ ] Component renders
- [ ] Test passes
- [ ] Initials display correctly
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.