mcpField

pencil-renderer

github.com/phrazzldデザイン・UI111 回インストール
リポジトリ

pencil-renderer について

pencil-renderer は、デザインオーケストレーター向けのスキルです。美的 DNA コードを Pencil の .pen フレームに決定論的に変換し、フレーム ID とスクリーンショットを返します。Pencil MCP が必要で、ヒアリングや反復には対応しません。

主な機能

  1. 01DNA の軸を Pencil プロパティに変換
  2. 028 種類のコンポーネントテンプレート
  3. 03一括デザイン操作でフレームを作成
  4. 04確認用スクリーンショットを取得

活用シーン

  1. 01指定された DNA からページコンポーネントを生成
  2. 02デザインオーケストレーター経由で Pencil フレームを作成

MCP 対応

Pencil MCP を使ってエディター状態の確認、スタイルガイドの取得、一括デザイン、スクリーンショット取得を行います。Pencil MCP が利用できない場合は処理を中止します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/phrazzld/claude-config --skill pencil-renderer

インストール後、Claude Code で/pencil-rendererを入力して読み込まれたか確認します。

同梱ファイルreferences/batch-design-patterns.mdreferences/dna-to-pencil.md

詳細

Pencil Renderer

美的DNAコードを、MCP経由でPencilの.penフレームに変換します。

インターフェース

入力:

  • DNAコード:[layout, color, typography, motion, density, background]
  • コンポーネントタイプ:hero | card | form | nav | footer | section | button | input
  • 任意:名前、寸法、親フレームID

出力:

  • .penファイル内のフレームID
  • レンダリングされたフレームのスクリーンショット

ワークフロー

1. ドキュメントの準備を確認
// Check if editor open
mcp__pencil__get_editor_state({ include_schema: false })

// If no editor, open or create
mcp__pencil__open_document({ filePathOrTemplate: "new" })
2. スタイルの基盤を取得
// Get available style guide tags
mcp__pencil__get_style_guide_tags()

// Get style guide matching DNA mood
// Map DNA to relevant tags:
// - dark color → ["dark-mode", "moody"]
// - light color → ["light", "clean"]
// - spacious density → ["airy", "whitespace"]
// etc.
mcp__pencil__get_style_guide({ tags: [mapped_tags] })
3. DNAをPencilのプロパティに変換

参照:references/dna-to-pencil.md

DNA軸からPencilプロパティへのマッピングは決定論的です。 例:centeredレイアウト → alignItems: "center"、対称的なパディング

4. デザイン操作を実行

参照:references/batch-design-patterns.md

mcp__pencil__batch_design({
  filePath: "<path>.pen",
  operations: `
    frame=I(document, {type: "frame", name: "Hero-Brutalist", ...properties})
    heading=I(frame, {type: "text", content: "Headline", ...typography})
    // ... additional operations
  `
})
5. 結果をキャプチャ
// Screenshot for visual verification
mcp__pencil__get_screenshot({ nodeId: "frameId" })
6. 返却
Frame ID: [id]
DNA: [layout, color, typography, motion, density, background]

さらに、スクリーンショット画像。

コンポーネントテンプレート

タイプ構造
heroコンテナ + 見出し + サブ見出し + CTAボタン
cardコンテナ + 画像領域 + コンテンツ + アクション
formコンテナ + ラベル + 入力欄 + 送信
navコンテナ + ロゴ + リンク + アクション
footerコンテナ + 列 + リンク + 法的情報
sectionコンテナ + 見出し + コンテンツグリッド
buttonフレーム + テキスト + アイコン用スロット
inputフレーム + ラベル + フィールド + 検証

DNA変換クイックリファレンス

DNA軸主なPencilプロパティ
レイアウト:中央揃えalignItems: "center"、均等なパディング
レイアウト:非対称オフセット位置、変化をつけた間隔
レイアウト:ベントースパンに変化をつけたグリッド
色:ダーク暗い塗り、明るい前景
色:グラデーションfill: {type: "linear", stops: [...]}
タイポグラフィ:ディスプレイ重視大きな見出しサイズ、高いコントラスト
タイポグラフィ:ミニマル控えめなスケール、単一のフォントファミリー
密度:ゆったりgap: 24-48、余裕のあるパディング
密度:コンパクトgap: 8-16、狭いパディング
背景:単色単色の塗り
背景:テクスチャパターン/画像にはG()

制約

  • 単一の目的:DNAをフレームにレンダリングします。ヒアリングや反復は行いません。
  • Pencil MCPが必須:利用できない場合は即座に失敗します
  • 決定論的なマッピング:同じDNAからは常に同じ構造が生成されます
  • 合成可能:オーケストレーターから呼び出され、ユーザーから直接呼び出されることはありません

参照資料

  • references/dna-to-pencil.md — 軸の完全なマッピング
  • references/batch-design-patterns.md — 一般的な操作シーケンス
  • aesthetic-system/references/dna-codes.md — DNA軸の定義

統合

呼び出し元:

  • design-explorationオーケストレーター(Pencilバックエンドが利用可能な場合)

組み合わせるもの:

  • aesthetic-system(DNAの解釈用)

コメント