skills/building-components/SKILL.md
Builds, restructures, and standardizes React components according to project conventions (placement, folder/file naming, exports, props patterns). Use when adding components or when reorganizing existing components during refactors, migrations, or component moves.
npx skillsauth add ilya-valasiuk/agent-skills building-componentsInstall 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.
Copy this checklist and track progress:
Component Progress:
- [ ] Step 1: Determine placement
- [ ] Step 2: Create folder structure
- [ ] Step 3: Create component file
- [ ] Step 4: Add sub-components (if needed)
- [ ] Step 5: Validate against checklist
- [ ] Step 6: Run lint fix and re-check
Step 1: Determine placement
Infer from context if possible, otherwise ask the user. See references/placement.md for paths and conventions for each type:
Step 2: Create folder structure
Create a kebab-case folder in the appropriate location. See references/folder-structures.md for diagrams of each scenario.
Step 3: Create component file
Create a PascalCase .tsx file inside the folder.
Follow the conventions in references/REFERENCE.md.
Step 4: Add sub-components (if needed)
If the component needs sub-components, create a components/ folder inside it.
Each sub-component follows the same rules. See references/placement.md for the sub-component pattern.
Step 5: Validate against checklist
Run through the validation checklist below before considering the component complete.
Step 6: Run lint fix and re-check
Run linter with auto-fix scoped only to the created or modified files. If errors remain after auto-fix, notify the user that manual fixes are required and stop — do NOT suppress errors with eslint-disable, @ts-ignore, @ts-expect-error, or any other suppression directives.
After creating a component, verify every item:
card-content)CardContent.tsx exports CardContent)export const ComponentName: React.FC<Props>type Props (not interface)React.FC<Props> used (or React.FC if no props)components/ subfolder, not alongside the parenttypes.ts, constants.ts, helpers.ts, index.ts) created only if neededtools
Standardize and preserve Next.js App Router project structure across `src/`, including route files, page composition, API modules, server actions, hooks, providers, helpers, and shared utilities. Use this skill whenever the user asks to add, move, rename, refactor, or review files in a Next.js App Router codebase, especially if the task affects file placement, page architecture, or folder naming.
testing
Prepare and open pull requests using the team's PR template, including a short PR title, diff-based classification into Features and Fixes, and an approval checkpoint before any push or PR creation. Use when the user asks to create, draft, preview, or open a pull request.
development
Enforces classNames package usage patterns and Tailwind CSS class ordering conventions in React components. Use this skill whenever writing or reviewing component className props, applying Tailwind classes, using the classnames package, organizing breakpoint-specific styles, writing conditional class expressions, or when the user asks about CSS class ordering, mobile-first responsive patterns, or how to handle className props in components.
testing
Explains how to create and review TypeORM migrations. Use this skill whenever the user wants to change an entity, add or update schema-related database objects, generate a migration, or decide whether a database change should be handled through TypeORM metadata or a custom migration.