skills/fdd-architecture/SKILL.md
Expert guide for implementing Feature-Driven Development (FDD) architecture in frontend projects (React/TypeScript). Use when: (1) Creating new features, (2) Refactoring or migrating a legacy folder structure to FDD, (3) Initializing a new project layout, (4) Reviewing whether code follows FDD principles. Enforces strict feature isolation, clear public APIs via index.ts barrel files, and scalable feature organization.
npx skillsauth add skezu/skills fdd-architectureInstall 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.
Organize code by what it does, not what it is. Each feature is a self-contained vertical slice owning all its layers.
src/
├── features/
│ ├── <feature-name>/
│ │ ├── components/ # UI components for this feature
│ │ ├── hooks/ # Data fetching, state, side-effects
│ │ ├── services/ # API calls, business logic
│ │ ├── types/ # TypeScript interfaces/types
│ │ └── index.ts # Public API (REQUIRED)
│ └── shared/ # Cross-feature business logic
└── components/ui/ # Universal UI primitives (Button, Input)
Features communicate only through their index.ts barrel file. Never import from a sub-path.
// ✅ Correct
import { useAuth, LoginForm } from '@/features/auth';
// ❌ Wrong — leaks internals
import { LoginForm } from '@/features/auth/components/LoginForm';
Feature index.ts template:
// features/<name>/index.ts — public feature API
export * from './components';
export * from './hooks';
export * from './services';
export * from './types';
The assets/feature-template/ directory contains a ready-to-copy scaffold.
assets/feature-template/ → src/features/<name>/types/ first to define the data modelservices/ and hooks/components/ using the established logicindex.tsFor migrating a layered structure (e.g., src/components/, src/hooks/) to FDD:
Read references/migration-guide.md for the full 4-phase process.
1. Audit the project (run from project root):
node path/to/skill/scripts/analyze-migration.js
Outputs a full report grouping existing files into FDD feature candidates. Use this before touching any files.
2. Move files (run per feature, per layer):
node path/to/skill/scripts/scaffold-feature-move.js <feature> <layer> <files...>
index.ts barrel exportsValid layers: components | hooks | services | types
Token optimization: Run the audit script first to generate a full project map in one shot, avoiding repeated
list_dircalls across the codebase.
| Code | Location |
| :--- | :--- |
| Used by 2+ features | src/features/shared/ |
| Pure UI primitive (Button, Input) | src/components/ui/ |
| Global state store | src/store/ |
| App entrypoint, router | src/ root, unchanged |
documentation
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
content-media
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
development
Expert UI component builder and OpenAI SDK integrator. Use when building or refactoring React components using the `@openai/apps-sdk-ui` library to ensure visual consistency, logic-driven variant selection, and adherence to specific workspace conventions (Anti-Pill rule, uniform icons).
tools
A skill for designing, building, validating, and securing n8n automation workflows, using specialized AI personas (Build Captain, QA, Security Architect). Use this skill to create production-ready n8n workflows from plain language specifications.