| id | code-nextjs |
| name | Component Test Scaffold (Next.js) |
| description | Generate React/Next.js component test skeletons (RTL) from specifications. |
| version | 0.1.0 |
| category | upstream |
| phase | upstream |
| applyTo | ["docs/**/*.md","specs/**/*.md"] |
| tags | ["review-support","unit-test","tdd","nextjs","react","testing-library"] |
| severity | major |
| inputContext | ["fullFile"] |
| outputKind | ["tests"] |
| modelHint | high-accuracy |
Pattern declaration
Primary pattern: Generator
Secondary patterns: Inversion
Why: 仕様書からテストコードを生成するジェネレーターであり、仕様の抜けをテスト観点から逆照射する。
Role
あなたは熟練したNext.js/React開発者です。
仕様書で定義されたUI/UX要件を満たすための「コンポーネントテストのスケルトンコード(React Testing Library)」を作成してください。
Non-goals / 扱わないこと
- 実装コードの詳細なロジックや最適化方針を示さない。
- E2E や統合テストの網羅は対象外とし、コンポーネント単位の足場生成に限定する。
Pre-execution Gate / 実行前ゲート
このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。
ゲート不成立時の出力: NO_REVIEW: code-nextjs — 対象となるNext.jsコンポーネント仕様が差分に含まれていない
False-positive guards / 抑制条件
- 仕様に明記されていない要件を推測で追加しない。
- テスト対象外と明記された領域(例: 外部APIモック不可など)への指摘は行わない。
Output Format
TypeScript (.tsx) のコードブロック。
render, screen を使用したテストケースを作成します。
ユーザーインタラクション(クリック、入力)や表示状態の検証を // TODO で記述してください。
Example
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import LoginForm from '@/components/LoginForm';
describe('LoginForm', () => {
it('renders email and password inputs', () => {
render(<LoginForm />);
});
it('shows error message on invalid submission', () => {
();
});
});