gpt-taste
gpt taste
defining-form-specs
Defines form field specifications including validation rules, error states, and submission behavior. Updates the "フォーム仕様" section in screen spec.md.
Full skill instructions
フォームフィールドの仕様(バリデーションルール、エラー状態、送信動作)を定義するスキルです。
このスキルは以下のタスクをサポートします:
以下は絶対に行わないこと:
このスキルの目的は「フォームの仕様」の情報整理のみです。
このスキルは入力フォームがある画面にのみ適用します。
入力フォームがない場合、spec.md のフォーム仕様セクションに「該当なし」と記載します。
このスキルは画面仕様書(spec.md)の「フォーム仕様」セクションを更新します。
.outputs/{screen-id}/
├── spec.md # ← このスキルが「フォーム仕様」セクションを更新
├── index.html # 参照用HTML
└── assets/
以下のFigma画面のフォーム仕様を定義してください:
https://figma.com/design/XXXXX/Project?node-id=1234-5678
エージェントは自動的に:
詳細な情報は以下のファイルを参照してください:
フォーム仕様定義時にこのチェックリストをコピー:
Form Specification Progress:
- [ ] Step 0: spec.md の存在確認
- [ ] Step 1: 入力フィールドを検出
- [ ] Step 2: フィールド属性を整理
- [ ] Step 3: バリデーションルールを定義
- [ ] Step 4: エラーメッセージを定義
- [ ] Step 5: バリデーションタイミングを決定
- [ ] Step 6: 送信動作を定義
- [ ] Step 7: spec.md の「フォーム仕様」セクションを更新
ls .outputs/{screen-id}/spec.md
HTMLまたはFigmaから以下を抽出:
<input> 各種(text, email, password, number, tel, date等)<textarea><select> / ドロップダウン各フィールドについて:
| 属性 | 説明 |
|---|---|
| フィールド名 | 表示ラベル |
| フィールドID | 識別子 |
| 入力タイプ | text/email/password/number等 |
| 必須/任意 | required or optional |
| 初期値 | デフォルト値 |
| プレースホルダー | 入力ヒント |
| 最大文字数 | maxlength |
| 入力マスク | 電話番号、日付等のフォーマット |
各フィールドのバリデーションルール:
各バリデーションエラーに対するメッセージ:
| ルール | エラーメッセージ |
|---|---|
| 必須 | 「{フィールド名}を入力してください」 |
| 形式 | 「有効な{形式}を入力してください」 |
| 文字数(最小) | 「{N}文字以上で入力してください」 |
| 文字数(最大) | 「{N}文字以内で入力してください」 |
| タイミング | 説明 | 適用例 |
|---|---|---|
| onChange | 入力のたびに検証 | 文字数カウント |
| onBlur | フォーカス離脱時に検証 | 形式チェック |
| onSubmit | 送信時に検証 | 全フィールド最終チェック |
| debounced | 入力停止後に検証 | 重複チェック(API) |
## フォーム仕様){{FORM_SPECS_CONTENT}} を内容に置換## フォーム仕様
> **ステータス**: 完了 ✓
> **生成スキル**: defining-form-specs
> **更新日**: 2024-01-15
### フォーム概要
| 項目 | 値 |
|------|-----|
| フォーム名 | ユーザー登録フォーム |
| フィールド数 | 5 |
| 必須フィールド数 | 3 |
### フィールド一覧
| フィールド | 型 | 必須 | 最大文字数 | 備考 |
|-----------|-----|:----:|-----------|------|
| メールアドレス | email | ✓ | 254 | - |
| パスワード | password | ✓ | 128 | 8文字以上 |
| パスワード確認 | password | ✓ | 128 | パスワードと一致 |
| ニックネーム | text | - | 20 | - |
| 利用規約同意 | checkbox | ✓ | - | - |
### フィールド詳細
#### メールアドレス
| 項目 | 値 |
|------|-----|
| フィールドID | email |
| 入力タイプ | email |
| 必須 | ✓ |
| プレースホルダー | [email protected] |
| バリデーション | RFC 5322準拠、最大254文字 |
| エラーメッセージ | 有効なメールアドレスを入力してください |
| バリデーションタイミング | onBlur |
#### パスワード
| 項目 | 値 |
|------|-----|
| フィールドID | password |
| 入力タイプ | password |
| 必須 | ✓ |
| プレースホルダー | 8文字以上の英数字 |
| バリデーション | 8文字以上、英字と数字を含む |
| エラーメッセージ | パスワードは8文字以上で英数字を含めてください |
| バリデーションタイミング | onBlur |
| 追加機能 | パスワード表示トグル、強度インジケーター |
### バリデーションルール
| フィールド | ルール | 条件 | エラーメッセージ |
|-----------|--------|------|-----------------|
| メールアドレス | required | - | メールアドレスを入力してください |
| メールアドレス | format | RFC 5322 | 有効なメールアドレスを入力してください |
| メールアドレス | maxLength | 254 | メールアドレスは254文字以内で入力してください |
| パスワード | required | - | パスワードを入力してください |
| パスワード | minLength | 8 | パスワードは8文字以上で入力してください |
| パスワード | pattern | /^(?=.*[A-Za-z])(?=.*\d)/ | パスワードは英数字を含めてください |
| パスワード確認 | required | - | パスワード確認を入力してください |
| パスワード確認 | match | password | パスワードが一致しません |
### バリデーションタイミング
| タイミング | 対象フィールド |
|-----------|---------------|
| onChange | - |
| onBlur | メールアドレス、パスワード、パスワード確認、ニックネーム |
| onSubmit | 全フィールド |
| debounced (500ms) | メールアドレス(重複チェック) |
### 送信動作
| 項目 | 値 |
|------|-----|
| 送信ボタン | 登録する |
| 活性条件 | 必須フィールド入力済み & エラーなし |
| 送信中 | ボタン非活性 + ローディング表示 |
| 成功時 | 確認メール送信完了画面へ遷移 |
| 失敗時 | エラーメッセージ表示、フォーム維持 |
| 再送信 | エラー解消後に可能 |
### 特記事項
- メールアドレスの重複チェックはAPI経由で実行
- パスワード強度インジケーター: 弱/中/強の3段階
- 利用規約リンクは別タブで開く
生成後、以下を確認:
- [ ] spec.md の「フォーム仕様」セクションが更新されている
- [ ] ステータスが「完了 ✓」になっている
- [ ] 全ての入力フィールドがリストされている
- [ ] バリデーションルールが明確
- [ ] エラーメッセージが定義されている
- [ ] バリデーションタイミングが決定されている
- [ ] 送信動作が定義されている
- [ ] 完了チェックリストが更新されている
- [ ] 変更履歴に記録が追加されている
入力フォームがない画面の場合、以下のように記載:
## フォーム仕様
> **ステータス**: 該当なし
> **生成スキル**: defining-form-specs
> **更新日**: 2024-01-15
この画面には入力フォームがありません。
このスキルは「フォーム仕様」セクションのみを更新します。
Figmaデザインからバリデーションルールが明確でない場合:
| 観点 | extracting-interactions | defining-form-specs |
|---|---|---|
| 対象 | 全インタラクティブ要素 | フォームフィールドのみ |
| 内容 | 状態変化、トランジション | バリデーション、送信動作 |
| 重複 | focus/error状態 | バリデーションルール詳細 |
フィールドのfocus/error状態は両方で扱いますが、観点が異なります。
gpt taste
Premium brand-kit image generation for high-end identity systems, logo concepts, and visual-world presentations.
Premium website design-to-code skill that generates visual references first, then builds faithful frontend implementations.
Premium frontend image direction for landing pages and marketing sites, generating one distinct horizontal image per section.
Premium mobile app screen concepts and flows with clean hierarchy, strong imagery, and distinctive art direction.
Emil Kowalski's philosophy on UI polish, component design, and the invisible details that make software feel good.
Frontend design and iteration for production-grade interfaces, from concept to ship.
Reverse-engineer design tokens from public websites into starter token files for your project.
Builds an animation from scratch by making the decisions in the order that determines whether it feels right.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Chat-to-edit AI studio for product photos, portraits, branding, and video.
Generate your dream room in seconds.
Redesign your interior in seconds using AI
Transform rooms with AI-generated designs.
Transform Your Space with AI-Powered Japanese Interior Designs by Jife
AI-powered wireframes for non-designers.
Revolutionize Property Viewing with AI-Generated Floor Plans and Virtual Tours
Transform sketches into stunning architectural renders with AI.