範囲や完了条件を先に整理し、テスト先行や作業記録、必要に応じた調査・委任を通じて、複数段階の開発作業を進めるための規律を示します。
- 実装前に範囲と完了条件を整理したいとき
- 動作変更をテスト先行で進めたいとき
- 大きな作業を小分けに記録したいとき
画面やLPのデザイン案を、用途や構成の異なる複数のHTMLアートボードとして作成し、既存デザインシステムのルールに沿って整理するスキルです。
Trigger: design a screen or page, mockup, landing page, UI directions, artboards, try a different approach, design system sync. Write self-contained HTML design directions under design/<slug>/.
実行スコア 未検証
インストール方法を見る画面、モックアップ、ランディングページなどのデザイン案を、design/<slug>/ に自己完結したHTMLアートボードとして作成します。新しい依頼では、指定がなければ構成や見せ方の異なる3案を用意し、それぞれのトレードオフを記録します。既存案へのフィードバックは対象ファイルだけに反映し、別の方向を試す場合は案を追加します。アートボードは外部URLに依存せず、現実的な内容とアクセシブルなマークアップを使います。プロジェクトに design/system.md があれば、その色や書体、コンポーネントのルールを確認して合わせます。必要に応じて、デザインシステムの整理やキャンバスコメントの反映も行います。
実装に入る前に画面の方向性を比べたいときや、LPの見た目を複数案で検討したいときに向いています。デザイン案へのコメントを反映したり、既存のデザインルールをまとめて新しい案に適用したりする場面にも使えます。値を調整したい場合は、アートボードに操作用コントロールを加え、選んだ値をプロンプトとしてコピーできる形にします。
本番用のプロジェクトコードを実装するスキルではありません。アートボードはインラインのCSS・JavaScript・SVGとシステムフォントのみを使い、外部URLやCDN、外部フォント、画像、スクリプトを参照しません。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill by default whenever the user asks, in plain words, for a UI design, mockup, screen, landing page, or visual directions, or iterates on artboards under design/. Do not use it to implement production code in the project's stack.
The /gentle:design commands are optional shortcuts: every action also works from a plain request, through this skill and the gentle_design tool (list, open, stop, implement, handoff).
prefers-reduced-motion respected for any motion.design/system.md exists, read it first and use only its tokens and component rules; run the Self-check from "Design system sync" before finishing any artboard.| Situation | Action |
|---|---|
| New brief | Write N clearly different directions (3 by default, or the number asked) to a new design/<slug>/ |
| Feedback on one artboard | Edit that file only; keep its manifest entry, update tradeoff if it changed |
| "Save and try a different approach" | Add a new artboard with the next NN; keep previous ones; append it to the manifest |
| User wants to tune values (spacing, color, type scale) | Add sliders or controls in the artboard plus a "Copy as prompt" button that copies the chosen values as a prompt |
design/<slug>/ already exists for a new brief | Pick a new slug; never overwrite another design |
| A message carries design comments, or the user asks to apply them | Follow "Canvas comments" below |
/gentle:design sync, or the user asks to capture the project's design system | Follow "Design system sync" below |
| The user asks to show, stop, or list designs, or to implement an artboard | Call the gentle_design tool (open, stop, list, or implement with <slug>/<artboard>); follow the handoff text implement returns, and report progress with action "handoff": status: "in_progress" when you start, status: "implemented" when done, with previewUrl set to the running app's loopback URL when one is running |
Run this gate before every new brief: call the gentle_design tool with action: "list", then:
list reports | Action |
|---|---|
system.exists false and designSources present | Run "Design system sync" first, tell the user in one line that you synced the project's design system, then design with it |
No designSources | Skip the sync and design freely |
system.staleSources present | Name those sources, say design/system.md may be outdated, and offer to sync again before designing; re-sync only with the user's OK, and never use the stale tokens silently |
design/<slug>/NN-<name>.html per artboard (01-…, 02-…; kebab-case name).design/<slug>/design.json:{
"title": "Pricing page",
"brief": "Pricing page for a note-taking app aimed at students",
"feature": "odd/tasks/pricing-page.md",
"artboards": [
{ "file": "01-comparison-table.html", "title": "Comparison table", "tradeoff": "Dense and scannable; weaker emotional pull", "width": 1440, "height": 900 },
{ "file": "02-single-plan-hero.html", "title": "Single plan hero", "tradeoff": "Strong focus; hides plan differences", "width": 1440, "height": 900 }
]
}
width/height to the artboard's intended viewport in CSS pixels; keep the manifest in sync with the files on every change. Fields: title, brief, optional feature, and artboards[] with file, title, tradeoff, width, height.odd/tasks/<feature>.md for the current work), set feature to that path and append one entry to that document's ## Log naming design/<slug>/ and its artboards. When an artboard of that design is handed off to implement, the Log entry also names the chosen artboard (the one handed off; list reports it as Chosen) and that the others are alternatives. For small untracked work, omit feature and leave the design standalone; never create a feature document just to link it.gentle_design tool with action: "open" and the slug, unless the user said not to. When a canvas tab is already open it refreshes that tab instead of opening a new one, so call it after every change. Report the URL it returns.:root, @theme, [data-theme]), the Tailwind config or v4 @theme, component library folders, existing token files, and the fonts they declare.design/system.md: colors (token name, value, usage), typography, spacing, radius, shadows, and component rules. Each entry names its source path. Record only values found in the sources.design/system.html: one self-contained artboard, 1440 px wide, that renders those tokens (swatches, type scale, spacing, radius, shadows) and the core components, under the same no-external-URL rules. The canvas shows it as the first board of every design.design/system.md exists: list the colors and font families the artboard uses, compare them with the system tokens, and fix every deviation before you report.Comments from the canvas are stored in design/<slug>/comments.json; the session also receives them as messages that name each comment id.
gentle_design_comments tool (action: "list", optional slug and file). Without the tool, read design/<slug>/comments.json and use the entries whose status is "open".file; use selector and excerpt to find the element. When a comment has a screenshot, look at it first: it arrives attached to the comment message, or open design/<slug>/<screenshot> with the read tool. It shows what the user saw, often a transient animation or transition state that the static artboard does not show.action: "resolve", slug, ids). Without the tool, set its status to "resolved" and resolvedAt to the current ISO time, keeping every other entry and field as is. Leave comments you did not apply open, and say why.The file format, for agents that only have file access:
{
"version": 1,
"comments": [
{ "id": "k3x9p2ab", "file": "02-bold.html", "selector": "body > header > h1", "excerpt": "Ship faster", "comment": "Make the headline shorter.", "createdAt": "2026-10-26T10:00:00.000Z", "status": "open", "sentAt": null, "resolvedAt": null },
{ "id": "m7q2w9cd", "file": "02-bold.html", "selector": "#cta", "excerpt": "Start", "comment": "The button jumps during the hover transition.", "screenshot": ".screenshots/m7q2w9cd.png", "createdAt": "2026-10-26T10:05:00.000Z", "status": "open", "sentAt": null, "resolvedAt": null }
]
}
screenshot is optional: a path relative to the design folder, under .screenshots/, present only when the user attached an image.
Never delete or reorder entries, and keep the file valid JSON: the canvas refuses to overwrite a file it cannot parse.
Return: the slug, each artboard file with its title and tradeoff, which files changed in this turn, the comment ids resolved in this turn, and any open question. Give the canvas URL from step 8, or mention that /gentle:design open <slug> shows the canvas when you did not open it. For a sync, return the source paths read, the token counts per group, and whether the system is a proposed starter; after an automatic sync from "Before designing", say it ran and report it the same way.
design/system.md in the project, when present — the design tokens to follow.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
範囲や完了条件を先に整理し、テスト先行や作業記録、必要に応じた調査・委任を通じて、複数段階の開発作業を進めるための規律を示します。
承認済み課題との関連付けやブランチ名、PR本文、ラベル、確認状況を整理し、変更をレビューに出すための候補を準備します。
変更行数や依存関係を見て大きな変更をレビューしやすいPRに分割し、各PRの順序や境界、確認計画を整理します。
READMEや設計書、レビュー文書を、結論を先に示し、見出しや表、チェックリストで要点を追いやすい構成に整えるドキュメント設計スキルです。
PRレビューやIssue返信、チャットで、要点と理由、次の行動が伝わる短く温かみのある共同作業コメントを整えます。
リポジトリの投稿ルールやIssueフォーム、既存Issueを確認し、重複や必要情報を確かめてからGitHub Issueの作成・振り分けを進めます。