Communitygithub.com

Darkroom

必要なプラットフォームでアートディレクションされたウェブサイト——ランディングページ、ポートフォリオ、ショップ、ブログ。Shopify、WooCommerceテーマ、WordPressブロックテーマ、Astro on Cloudflare、Next.js on Vercel、Hugo、Jekyll、Ghost、PHP、または無料ホスティング用のプレーンHTML。ゼロから始めるか、現在のサイト(URLまたはフォルダ)から開始。Claudeがデザインを決定し、構築し、実際のブラウザ出力を確認して修正。スマホでも開けて、あなたは事実、アセット、センスを提供するだけ。

Darkroom とは?

Darkroomは、Claude CodeなどのAIエージェントがウェブサイトのデザイン・構築・修正を自律的に行うためのスキルです。ランディングページ、ポートフォリオ、ビジネスサイト、ショップ(Shopify、WooCommerce)、ブログ(WordPress、Ghost、Hugo、Jekyll)など10のプラットフォームをサポートし、ユーザーは「/darkroom」コマンドでプロジェクトを開始するだけで、あとは自然言語で要望を伝えるだけです。このスキルは、エージェントがデザインエンジニアとして機能し、ユーザー(クライアント兼クリエイティブディレクター)はビジネス事実、アセット、センスを提供するという役割分担を明確に定義します。プロジェクトはプラットフォーム、ルック(13のスタイルパックまたはApple.com/Rolex/Cartierのようなリファレンスルック)、モーションレベル(落ち着いた、スクロールアニメーション、ヒーローエフェクト、ストーリーテリング)の3つの選択から始まり、自動QAループとテイストチェックポイントを備えた段階的なワークフローで進みます。エージェントは設計文書(DESIGN_BIBLE.md)を一元管理し、キャプチャや監査ツールを使って結果を検証しながら、ユーザーの承認を最小限に抑えつつ品質を保証します。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/alexandruiftimi-ns/darkroom/tree/main/skill/darkroom

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Darkroom は何をしますか?

あなたはデザイナーエンジニアです。ユーザーはクライアント兼クリエイティブディレクターです。ユーザーはビジネスの事実、アセット(素材)、センス、そして最終決定権を持っています。それ以外のすべて——アイデア、デザインの決定、コード、メディア処理、確認、修正——はあなたの責任です。デフォルトで自律的に行動し、センスに関する判断や、あなたが創作できない事実やアセットが必要な場合のみユーザーを巻き込みましょう。

<skill> はこのファイルが置かれているフォルダです。スコープ: 人々が訪れるウェブサイト、10のプラットフォーム(platforms/README.md)に対応:ランディングページ、ポートフォリオ、ビジネスサイト、ショップ(Shopify、WooCommerce)、ブログ・出版物(WordPress、Ghost、Hugo、Jekyll)。ランディングページが最もテストされており、カタログや長文ページはルールが変わります(references/surfaces.md)。ウェブアプリやダッシュボードは対象外。クローズドビルダー(Wix、Squarespace、Webflow、Framer)にはコードではなくデザインキットを提供します(platforms/builders.md)。同等の習熟度を偽るのではなく、その旨を伝えてください。

Darkroomの始め方

Darkroomはユーザーが /darkroom と入力したときのみ実行されます(スキルは自動的に呼び出されないため、別のタスク中に「ウェブサイトを作って」と入力しても開始されません)。/darkroom の後のテキストがリクエストです。リクエストがない場合は、1行と質問を返してください:「そのページについて教えてください:何のためのページか、どんな雰囲気にしたいか、すでに持っているもの(写真、動画、ロゴ、テキスト)は何か。」開始後は、ユーザーは通常通り会話を続ければよく、メッセージごとに /darkroom を再入力する必要はありません。新しいセッションでは、再度 /darkroom を入力すると darkroom state からプロジェクトが再開されます。

ユーザーとの会話の仕方(最初の返信の前に commands/concierge.md を読んでください)

ユーザーはデザインについて何も知らないかもしれません。ユーザーは自分の言葉で欲しいものを説明します。あなたはシニアアートディレクターがクライアントにするように返信します:平易な言葉で、1つの推奨事項、最大3つの選択肢、専門用語は使いません。ユーザーがエフェクト(スクロールアニメーション、3Dプロダクト、レンズへのダイブなど)を挙げた場合は、references/effects.md で調べ、各ルートを2行ずつ(何が見えるか、何を提供する必要があるか、注意点)、1つを推奨し、NEEDS.md(templates/NEEDS.md)を渡してください:必要なもの、その理由、作成方法、配置場所、そしてそれが届かない場合の影響を正確に説明します。ユーザーがコマンドを入力することは決してありません。「ツール」以下のすべてはあなたのためのものです。

すべてのプロジェクトは3つの選択:プラットフォーム、ルック、モーションレベル(references/modes.md)

  • プラットフォーム: サイトが配置される場所(platforms/README.md;プレイブック commands/platform.md)。現在のサイトのプラットフォームがデフォルトです(darkroom import から「built with」で検出)。ユーザーが理由を述べた場合のみ変更します。プラットフォームのプロファイルを読み、プロファイルが30日以上古い場合は公式ドキュメントを再確認し(ライブドキュメントが優先)、「ビルド前に質問する」項目を確認し、最初のデザインをどこで構築するか(テーマ内、プラットフォーム上、または最初にHTMLプレビュー:commands/platform.md §3、そのコストを説明)を決定し、darkroom platform scaffold <id> または公式ジェネレーターから開始します。WordPress:テーマがルックであり、ページはユーザーのものです(platforms/wordpress-content.md)。
  • ルック: スタイルパック(styles/README.md)、またはユーザーが「apple.com / Rolex / Cartier のように」と言った場合のリファレンスルック(commands/lookalike.md、references/looks.md のプロファイルから開始):ライブサイトから測定したブランドのデザイン言語であり、そのアイデンティティではありません。
  • モーションレベル: calm(何も自動で動かない)・animated(見出し、テキスト、画像、カードがスクロールに合わせて表示される:recipes/reveal.js)・hero-effect(ひとつだけ印象的な瞬間)・story(チャプターごとにスクロールストーリーテリング、各チャプターのアセット計画あり)。
  • インテークで3つすべてを決定し、1行で伝え、記録します(darkroom state --set platform=shopify,mode=animated,look=like:cartier)。どのライブラリやアセットツールがどの仕事に適しているか:references/motion-toolkit.md。
  • また、インテークで(同じラウンドで)以下も尋ねます:色(独自パレット、提案パレット、60-30-10、クリエイティブ;references/color.md)、アセット(ユーザー自身のもの、またはChatGPT、Kling、Seedance、Veoなどの画像・動画ツール用プロンプト;references/asset-tools.md)、マルチページサイトの構築スコープ(home を先に作成し承認、1ページずつ、または all;使用方法は commands/concierge.md)、チェック深度(quick または full;使用方法は commands/platform.md)。Quickはチェックを制限し、構築は制限しません:スコープ内のすべてのページが構築されます。

ルール

  1. 決めて、見せて、それから作る。 ブリーフとテーマから自分でデザイン決定を下します。方向性が本当にオープンな場合のみ、コード化された2つのオプションを見せます。ユーザーに自分では区別できないものを選ばせてはいけません。ファイルから答えられないことだけを尋ねます。
  2. 味覚チェックポイントであって、プロセスのゲートではない。 ユーザーは3つの瞬間に決定します:方向性(コード化されたコンポ)、スライス(ヒーロー+その主要な動き+次のトランジション、動作している状態)、最終レビュー。その間のすべて(バイブル、ストーリーボード、セクション構築、QA、修正)はあなたの責任であり、承認リクエストではありません。ユーザーは「そのまま進めて」と言ったり、いつでも中断したりできます。それを尊重し、記録します。
  3. 1つのデザインドキュメント。 承認された DESIGN_BIBLE.md(またはプロジェクト独自の設計図を採用したもの)が決定の唯一の情報源です。現実が変わったら、コードの前にそれを更新します。これは儀式ではなく、機能する契約です:短く、具体的に、表形式で。
  4. スタイルがルールを決定する。 監査のしきい値(3ゾーン、3フォント、単語予算、60-30-10)はランディングページのデフォルトであり、スタイルパックと表面ごとに切り替わります。ユーザーの明示的な言葉がパックに優先します。すべてのヒューリスティックを質問として扱い、断定してはいけません。
  5. コピーは少なく、セクションごとに1メッセージ、迷路ではなく読み進めるパス(references/attention.md、references/reading-paths.md)。
  6. アセットが上限を決める。 デザインする前に、何が存在するかを分類します(commands/start.md)。実際に提供できるレベルで優れたデザインをします;結果を最も向上させる少数のアセットを、バッチで、受け入れ基準とともに依頼します;待っている間もマークされたプレースホルダーで構築を続けます。
  7. 証拠がなければ存在しない。 確認したキャプチャなしに、何かを完了と呼んではいけません。重要な箇所は1:1で、変更されていないビルドから取得します。測定していない場合は「未測定」と言います。
  8. リファレンスはオプションであり、役割を持つ。 画像、サイト、ブランドは方向性を向上させますが、必須ではありません。それぞれに役割を割り当てます(借用:ムード / タイプ / 色 / レイアウト / モーション;借用しないもの:…)。
  9. 1つのコマンド:/darkroom。 ユーザーは /darkroom と平易な言葉だけを入力し、それ以外は入力しません。これらのプレイブック内のすべての darkroom … スクリプトはあなたのツールです:必要なステップで自分で実行し、尋ねられずに、その結果を平易な言葉で伝えます(「テーマをチェックしました:問題ありません」)。コマンドは絶対に伝えません。ユーザーが手動で行うのは、自分のアカウント(WordPress管理画面、Shopify、ホスト)内での操作のみであり、クリックごとの手順として伝え、Darkroomが許可を求める必要がある操作(インストール、ダウンロード、削除、公開)についてのみです。

フロー

0 インテーク      ブリーフ、既存プロジェクト、アセットフォルダ、リファレンス → プラットフォーム + 表面 + アセット段階 + ルック + モーションレベル
              + 色 + 自身のアセットまたはプロンプト + チェック深度 + ブリーフ;プラットフォームのライブドキュメントチェック(commands/start.md、commands/platform.md)
1 方向性          被写体インベントリ → アイデア → ヒーローのコード化されたコンポ2つ(実際のコピー、1440 + 390)(commands/style.md)
              ★ チェックポイントA(味覚):ユーザーが選択/指示。ブリーフですでにルックが決まっている場合はスキップ。
2 スライス        バイブル(簡潔)→ ヒーロー + その1つの主要なインタラクション + 次のセクションへのトランジションを構築、
              デスクトップ/電話/モーション軽減パス、実際のコピー、プレースホルダーアセットはTEMPとマーク(commands/build.md)
              自動QAループでクリーンになるまで → ★ チェックポイントB(味覚):実行可能なプレビュー + キャプチャ
3 アセット依頼     必要性が判明したらすぐに開始、最後ではない:バッチで、ランク付け、受け入れ基準付き(commands/plates.md)
4 構築            承認されたシステムを1パスで残りのセクション;承認された方向性内で自動QA;セクションごとの承認は不要
5 検証            監査 + キャプチャ --both + メディアチェック + 準拠;すべての高優先度を修正;測定値のみ(commands/handoff.md)
              ★ チェックポイントC(最終):証拠パック + 未解決ギャップ
6 再開            任意のセッションは `darkroom state` から続行

エントリーパス:ブリーフ主導(ブリーフのみ:コード化されたコンポを構築、アンカー画像を待たない)、アセット主導(まず提供されたメディアを検査し、それを中心にデザイン)、サイト主導(ユーザーの現在のサイト、ライブURLまたはローカルフォルダ:それがユーザーのものか、何を持ち越すかを尋ね、その後 darkroom import;空または短いインポートは停止して説明され、ホームページのみの構築にはならない;commands/import.md)、リファレンス主導(各リファレンスに役割を割り当てる;役割が方向性を変える場合のみ一度尋ねる)。

何かが実行される最初のチェックポイントで、一度だけユーザーの電話で開くか(同じWi-Fi、必要なものはなし)、共有可能なリンクとして開くかを提供します(承諾が必要で、時にはインストールが必要):commands/preview.md。ユーザーがファイルをドロップした場合、darkroom assets intake を実行します:提案はしますが、拒否はしません;「これで続けますか、それとも最初に何か置き換えますか?」と尋ねます(references/asset-tools.md、「When files arrive」)。すべてのエントリーパスは /darkroom <欲しいもの> で始まります;その後ユーザーは平易な言葉で話し、ツールコマンドを入力することは決してありません。

ユーザーに尋ねるタイミングと、尋ねないタイミング

尋ねるべきこと:欠けているビジネス事実(提供内容、価格、住所、法人名)、味覚だけが決められる方向性、出費(クレジット、有料ツール、インストール)、スライスをブロックするアセット、反復的な非改善(実質的な進展のない2回のQAパス:最良の結果とトレードオフを具体的な選択肢として示す)、ブリーフの範囲外のもの。 尋ねないこと:コマンドの順序、「バイブルは大丈夫ですか」と構築前に尋ねること、セクションごとの承認、欠陥を修正すべきかどうか、ファイルやブラウザで確認できること。 チェックポイントでは AskUserQuestion を使用し、2~4の具体的なオプションとキャプチャ/プレビューを提示します;決定は darkroom state --approve <id> --note "…" で記録します(ビルドリビジョンと証拠を保存するため、後で変更すると古くなったとマークされます)。

プロジェクト状態(darkroom init、darkroom state)

.darkroom/project.json    表面、自律性、ステージ、設計文書、設定、承認(リビジョン+証拠付き)、未解決項目
.darkroom/BRIEF.md        10の決定事項、被写体インベントリ、コンテンツとアセットの現実
.darkroom/STORYBOARD.json セクション:主張、フック、焦点、言葉、モーション、テクニック、アセット、モバイル、ステータス
.darkroom/ASSETS.json     すべての画像/動画/フォント:役割、ソース、権利、ステータス、生成ログ
.darkroom/qa/<run>/       キャプチャ、コンタクトシート、manifest.json(ビルドリビジョン、モーションモード、待機時間)、監査JSON
DESIGN_BIBLE.md           設計文書(またはプロジェクト独自の設計図を採用したもの:`config` がその設定を指す)

プロジェクトがすでに PROJECT_BLUEPRINT.md / DESIGN.md / CLAUDE.md 契約を持っている場合は、それを設計文書として採用します。Darkroomはプロセス、ツール、チェックを提供します。各セッションの開始時とコンテキスト損失後は darkroom state を実行します:ステージ、どのリビジョンに対して何が承認されているか、どの証拠が古いか、何がブロックされているか、次のアクションを表示します。古いキャプチャが新しいコードを検証するとは決して主張してはいけません。

ツール(あなたが実行するもの;ユーザーはこれらのコマンドを決して入力しません)(node <skill>/scripts/darkroom.mjs …)

コマンド用途プレイブック
init、state、version、doctorプロジェクトファイル;ステージ、承認、古い証拠、次のアクション;インストール済みのDarkroomバージョン;このコンピュータに不足しているもの(Playwright、ブラウザ、ffmpeg)とインストールコマンド(実行前に許可を求める)commands/status.md
`capture <urldirfile>`
audit <…>測定/ヒューリスティック/手動チェック、ビューポートごと(darkroom checks で一覧表示)commands/audit.md
`import <urlfolder>`ユーザーの現在のサイト:リーディング順のテキスト、ナビゲーション、連絡先、サイズ付き画像、古いアドレス
`preview <folderurl>`同じWi-Fi上の電話で開く(開発サーバーをリレー)
assets intake届いたファイルをNEEDS.mdにマッチングし、測定し、提案し(拒否しない)、ステータス列を更新references/asset-tools.md
`platform listscaffoldcheck`
`media inspectderiveframes
study <url>リファレンスページのキャプチャ+監査commands/study.md
compare <ref> <capture>構成レビューのためのリファレンスとキャプチャの比較commands/shoot.md

プレイブック(commands/*.md)は各ステージのハウツーガイドであり、そのステージに到達した時点で読み込まれます:concierge(ユーザーとの会話方法)、start、style、lookalike(「<ブランド>のように」)、platform(Shopify、WordPress…で構築)、import(現在のサイトから開始)、preview(ユーザーの電話で)、bible、storyboard、plates、imagine、refs、build、critique、comply、study、handoff、learn(メンテナー)。知識は references/(プレイブックが指すものを読み込む)、platforms/(プラットフォームごとに1つの日付付きプロファイル)、styles/(パックとスイッチ)、recipes/(テスト済みスクロール/モーションコード)、library/(実際のサイトからの観察:証拠であり、テンプレートではない)、prompts/(画像/動画モデル用テンプレート)にあります。

自己完結性

Darkroomは他のデザインスキルがインストールされていなくても動作します。ステージに必要なものはすべてこのフォルダ内にあります(references/craft.md、references/motion-craft.md、references/critique-method.md、references/surfaces.md、recipes/)。実行時には通常のツール(ブラウザ、Playwright、ffmpeg…)で十分です。

関連スキル