원클릭으로
scaffold-component
Scaffold a new React component with test file for the catalog UI.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Scaffold a new React component with test file for the catalog UI.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Scan a target codebase for data model definitions (SQL schemas, ORM models, TypeScript interfaces, Pydantic models) and propose data_concept, data_aggregate, and data_entity registry entries. Presents findings for review before writing files.
Scan a target codebase for API definitions (OpenAPI, REST routes, GraphQL schemas) and propose api_contract and api_endpoint registry entries. Presents findings for review before writing files.
Build and deploy static sites (catalog-ui, docs-site) to Firebase Hosting. Supports dry-run preview, selective target deployment, and automatic build detection.
Enterprise Platform architecture assistant. Use for questions about Customer Management, Billing & Payments, Analytics & Insights, or any Enterprise Platform architecture topic.
Create a new registry entry with guided wizard. Supports components, data-objects, functions, services, and other ArchiMate element types.
Generate HTML dashboard showing architecture model health, domain maturity, layer statistics, and orphan elements.
| name | scaffold-component |
| description | Scaffold a new React component with test file for the catalog UI. |
| argument-hint | ["ComponentName"] |
| allowed-tools | Read, Write, Glob, Bash |
| model | sonnet |
| agent | fe-developer |
| context | fork |
Scaffold a new React component in catalog-ui/src/components/ with a co-located test file.
$ARGUMENTS should be a PascalCase component name (e.g., CapabilityHeatmap, DomainSummaryCard).
If no argument is provided, ask the user for a component name.
Parse component name from $ARGUMENTS. Ensure PascalCase.
Determine target directory based on component purpose:
catalog-ui/src/components/graphs/catalog-ui/src/components/catalog-ui/src/components/ (or subdirectory if pattern exists)catalog-ui/src/components/Read existing context:
models/registry-mapping.yaml if the component will render registry data.catalog-ui/src/lib/types.ts for TypeScript interfaces.Create component file (ComponentName.tsx):
export interface ComponentNameProps { ... }export const ComponentName: React.FC<ComponentNameProps> = ...--ec-* variables (never inline styles)Create test file (ComponentName.test.tsx in same directory or __tests__/):
import { describe, it, expect } from 'vitest')Verify types: cd catalog-ui && npx tsc --noEmit
// ComponentName.tsx
import type React from 'react';
export interface ComponentNameProps {
// Define props here
}
export const ComponentName: React.FC<ComponentNameProps> = (props) => {
return (
<section aria-label="Component description">
{/* Component content */}
</section>
);
};
// ComponentName.test.tsx
import { describe, it, expect } from 'vitest';
describe('ComponentName', () => {
it('should render without crashing', () => {
// Render test
});
it('should handle user interaction', () => {
// Behavioral test
});
});
!important in CSS unless overriding third-party styles.