원클릭으로
component-scaffold
Scaffold a new UI component following Pierre design system patterns
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Scaffold a new UI component following Pierre design system patterns
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when designing prompts for LLMs, optimizing model performance, building evaluation frameworks, or implementing advanced prompting techniques like chain-of-thought, few-shot learning, or structured outputs.
How to deploy Dravr infrastructure and apply Cloud Run config changes. Use when editing infra/ terraform, when a merged code change is live but a Cloud Run setting (cpu, memory, min/max instances, env var, scaling) hasn't taken effect, or when asked to plan/apply infra. Explains the two-pipeline model (app binary auto-deploys on push; terraform infra config is a separate manual apply) plus the cpu/cpu_idle guardrails.
Enforces zero-tolerance code quality policy using Clippy with strict lints, all warnings treated as errors
Write well-formatted notes to the dravr-vault Obsidian knowledge base. Use this skill whenever creating or updating an ADR, runbook, plan, API doc, guide, session output, or any structured document that should land in the vault — even when the user doesn't say "Obsidian" explicitly. Delegates to obsidian:obsidian-cli to write to the live vault and applies Dravr frontmatter and formatting standards.
Bootstrap Pierre server with database, admin user, coaches, and test users for development and testing
Validates coach markdown files for required frontmatter fields, sections, and naming conventions
| name | component-scaffold |
| description | Scaffold a new UI component following Pierre design system patterns |
| argument-hint | ["ComponentName"] |
| user-invocable | true |
Create a new React component following the Pierre design system conventions.
Generate a component with:
File Location: frontend/src/components/[ComponentName].tsx
Standard Structure:
// ABOUTME: [Brief description of what this component does]
// ABOUTME: Part of the Pierre admin dashboard
import React from 'react';
import clsx from 'clsx';
import { Button, Card, CardHeader, Badge } from './ui';
interface [ComponentName]Props {
// Define props with TypeScript
className?: string;
}
export const [ComponentName]: React.FC<[ComponentName]Props> = ({
className,
...props
}) => {
return (
<Card className={clsx('', className)}>
{/* Component content */}
</Card>
);
};
Requirements:
pierre-* color classes onlyIf this is a form component:
input-field class for inputslabel class for labelsButton variant="primary" for submitIf this is a list component:
Card for each itemBadge for status indicatorsAfter scaffolding, run /design-review to validate compliance.