feature-planner
Notionのテンプレートを活用し、ユーザーと対話しながら新機能の仕様書を段階的に作成、Claude Codeに連携可能なNotionページとして出力することで、アイデアを具体的な開発につなげる支援をするSkill。
📜 元の英語説明(参考)
Interactive feature planning assistant that pulls a spec template from Notion, walks the user through filling it out step-by-step, and creates a completed feature spec as a new Notion page ready to paste into Claude Code. Use this skill whenever the user wants to plan a new feature, start a new page or screen, spec out a UI, create a feature brief, or says things like "let's plan a feature", "new feature spec", "I want to build something new", "help me spec this out", "create a feature plan", "plan the frontend for...", "start a new project", "scaffold a new app", or "I have an idea for...". Also trigger when the user references the Feature Spec Template or mentions wanting to fill out a spec for Claude Code. This skill is critical for the user's workflow of going from idea → Notion spec → Claude Code implementation, whether it's a brand-new project or a feature for an existing app.
🇯🇵 日本人クリエイター向け解説
Notionのテンプレートを活用し、ユーザーと対話しながら新機能の仕様書を段階的に作成、Claude Codeに連携可能なNotionページとして出力することで、アイデアを具体的な開発につなげる支援をするSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o feature-planner.zip https://jpskill.com/download/8629.zip && unzip -o feature-planner.zip && rm feature-planner.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8629.zip -OutFile "$d\feature-planner.zip"; Expand-Archive "$d\feature-planner.zip" -DestinationPath $d -Force; ri "$d\feature-planner.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
feature-planner.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
feature-plannerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Feature Planner
ユーザーのワークフローにおいて Lovable を置き換えるインタラクティブなスキルです。Notion から Feature Spec Template を取得し、スマートなデフォルト値と明確化のための質問で各セクションを案内し、Claude Code に貼り付ける準備ができた完成した Notion ページを作成します。
テンプレートの場所
Feature Spec Template は Notion のページ ID 328ff269-2fbb-81af-841f-c500c24ca122 に存在します。
ワークフロー
ステップ 0: スコープの決定
何よりもまず、ユーザーが以下のいずれであるかを判断します。
A) まったく新しいプロジェクトをゼロから開始する 兆候: 「新しいアプリ」、「新しいプロジェクト」、「アイデアがある」、「ゼロから何かを構築する」、「スキャフォールド」、「既存のリポジトリについて言及がない」。
B) 既存のアプリに機能を追加する 兆候: 既存のプロジェクト名(Social Toolkit、Nameless Café、Agente Shei、Catador Pro、NightOwl など)に言及する、既存のページやモデルを参照する、「追加」、「拡張」、「...の新しいページ」と言う。
C) 既存の UI を再設計またはオーバーホールする 兆候: 「再設計」、「フロントエンドをやり直す」、「見栄えを良くする」、「ダッシュボードをオーバーホールする」
ask_user_input_v0 を使用して確認します。
- 「ゼロから新しいプロジェクト」
- 「既存のアプリの新しい機能」
- 「既存のアプリの再設計/UI オーバーホール」
この選択はテンプレートのフローに影響します。
- 新しいプロジェクト: プロジェクトレベルのセクション(プロジェクト名、説明、ターゲットオーディエンス、ブランディング/アイデンティティ、すべての初期ページ、デプロイメントターゲット)を含めます。
- 新しい機能: プロジェクトレベルのコンテキストをスキップし、機能ページ、データ、およびインタラクションに焦点を当てます。Notion から既存のプロジェクトコンテキストを取得します(ステップ 1.5 を参照)。
- 再設計: Notion から既存のアプリコンテキストを取得し、バックエンドを維持しながら、美的方向性とコンポーネントの再設計に焦点を当てます。
ステップ 0.5: 既存のプロジェクトコンテキストの取得(機能と再設計のみ)
ユーザーが既存のプロジェクトに追加する場合:
-
どのプロジェクトか尋ねる — または会話のコンテキストから推測する
-
Notion でプロジェクトを検索する:
Notion MCP: notion-search query: "[プロジェクト名]" query_type: "internal" page_size: 5 -
プロジェクトページを取得する して、すでに何が存在するかを理解します。
Notion MCP: notion-fetch id: [検索結果からの page_id] -
既存のコンテキストを抽出する:
- 技術スタック(Rails、React、Inertia など)
- 既存のページ/ルートとその目的
- データモデルとリレーションシップ
- すでに使用されているデザインシステム/美的方向性
- レイアウトとコンポーネントパターン
- プロジェクトページからリンクされている既存の機能仕様
-
ユーザーに概要を提示する: 「[プロジェクト] について見つかったことは次のとおりです。これに基づいて、新しい機能は [既存のモデル/ページ] と統合する必要があります。これは正しいですか?」
このコンテキストは、ダウンストリームのすべてに影響を与えます — データシェイプセクションは既存のモデルを参照し、ページは既存のルートパターンに適合し、コンポーネントは確立された規則に従います。
ステップ 1: テンプレートの取得
Notion MCP notion-fetch ツールを使用して、テンプレートページを読み取ります。これにより、入力する正確な構造とセクションが得られます。
Notion MCP: notion-fetch
id: 328ff269-2fbb-81af-841f-c500c24ca122
ステップ 2: コンテキストの収集
まず、ユーザーが何を構築したいかを理解します。現在の会話で機能/プロジェクトについてすでに説明している場合は、質問する前に、そのコンテキストからできるだけ多くを抽出します。ユーザーがすでに伝えたことを再度尋ねないでください。
これまでの理解の簡単な概要を提示し、セクションごとにギャップを埋め始めます。
ステップ 3: 各セクションをインタラクティブにウォークスルーする
ask_user_input_v0 ツールを使用して構造化された選択肢を提供し、オープンエンドのフィールドには散文的な質問を使用して、次の順序でテンプレートセクションを調べます。関連する質問をまとめてバッチ処理します — メッセージごとに 1 つの質問をしないでください。
ラウンド 1 — コア定義(これらを組み合わせる):
- 機能/プロジェクト名(まだ明確でない場合は散文で尋ねる)
- 何をするか(散文で尋ねるか、会話に基づいて概要を提案する)
- 誰が使用するか(ペルソナオプションで
ask_user_input_v0を使用する) - [新しいプロジェクトのみ] 1 行のタグラインまたは価値提案
ラウンド 2 — デザインの方向性(これらを組み合わせる):
- 美的方向性(テンプレートから 6 つのオプションで
ask_user_input_v0を使用する) - 色の方向性(散文で尋ねる、プロジェクトのコンテキストに基づいて提案する — 例:Nameless Café ブランドカラー、Agente Shei パレット、Social Toolkit テーマ)
- タイポグラフィの方向性(美的選択に基づいてペアリングを提案し、ユーザーに確認またはオーバーライドさせる)
- 参照/インスピレーション(何かあるか尋ねる、ない場合はスキップする)
- [新しいプロジェクトのみ] ブランドアイデンティティ:プロジェクトにロゴ、ファビコン、バナーが必要ですか?(デフォルト:新しいプロジェクトの場合ははい)
ラウンド 3 — アーキテクチャ(最も技術的、時間をかけて):
- ページとルート:機能の説明に基づいて一連のページを提案し、テーブルとして提示し、ユーザーに確認/変更を依頼する
- [新しいプロジェクト] デフォルトとして認証ページ(Login、Register、Forgot Password)、ランディング/ホームページ、およびダッシュボードを含める
- データシェイプ:各ページについて、機能に必要なものに基づいてプロップ構造を提案します。型について具体的に記述します。
- インタラクションとフォーム:識別できるすべてのアクションをリストし、他に不足しているものがないか尋ねる
ラウンド 4 — 実装の詳細:
- レスポンシブな動作:機能タイプに基づいて適切なデフォルトを提案します(ダッシュボード = サイドバーレイアウト、フォーム = 中央揃え、リスト = モバイルのカード)。主要なレイアウトの決定には
ask_user_input_v0を使用します。 - 構築するコンポーネント:ページとインタラクションに基づいてコンポーネントリストを提案する
- バックエンドの依存関係:必要なモデル、マイグレーション、サービスをリストする
ラウンド 5 — 受け入れ基準:
- 議論されたすべてに基づいて 5〜8 個の受け入れ基準を提案する
- ユーザーに確認、追加、または削除を依頼する
ステップ 4: ブランドアセットの生成
仕様が確定した後、Notion ページを作成する前に、プロジェクトの画像/アセットの生成を処理します。
新しいプロジェクトの場合、またはユーザーがブランディングを要求する場合:
<!-- TODO: このステップに画像生成を統合します。 評価する現在のオプション:
- Social Toolkit MCP: HiggsfieldImageT
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Feature Planner
An interactive skill that replaces Lovable in the user's workflow. It pulls the Feature Spec Template from Notion, guides the user through every section with smart defaults and clarifying questions, then creates a completed Notion page ready to be pasted into Claude Code.
Template Location
The Feature Spec Template lives in Notion at page ID: 328ff269-2fbb-81af-841f-c500c24ca122
Workflow
Step 0: Determine Scope
Before anything else, figure out whether the user is:
A) Starting a brand-new project from scratch Signs: "new app", "new project", "I have an idea", "build something from scratch", "scaffold", no existing repo mentioned.
B) Adding a feature to an existing app Signs: mentions an existing project name (Social Toolkit, Nameless Café, Agente Shei, Catador Pro, NightOwl, etc.), references existing pages or models, says "add", "extend", "new page for..."
C) Redesigning or overhauling an existing UI Signs: "redesign", "redo the frontend", "make it look better", "overhaul the dashboard"
Use ask_user_input_v0 to confirm:
- "New project from scratch"
- "New feature for an existing app"
- "Redesign / UI overhaul of existing app"
This choice affects the template flow:
- New project: Include project-level sections (project name, description, target audience, branding/identity, ALL initial pages, deployment target)
- New feature: Skip project-level context, focus on the feature pages, data, and interactions. Pull existing project context from Notion (see Step 1.5).
- Redesign: Fetch existing app context from Notion, focus on aesthetic direction and component redesign while preserving backend.
Step 0.5: Pull Existing Project Context (Features & Redesigns only)
When the user is adding to an existing project:
-
Ask which project — or infer from conversation context
-
Search Notion for the project:
Notion MCP: notion-search query: "[project name]" query_type: "internal" page_size: 5 -
Fetch the project page to understand what already exists:
Notion MCP: notion-fetch id: [page_id from search results] -
Extract existing context:
- Tech stack (Rails, React, Inertia, etc.)
- Existing pages/routes and their purpose
- Data models and relationships
- Design system / aesthetic direction already in use
- Layouts and component patterns
- Any existing feature specs linked from the project page
-
Present a summary to the user: "Here's what I found about [Project]. Based on this, the new feature will need to integrate with [existing models/pages]. Does this look right?"
This context informs everything downstream — the data shape section will reference existing models, the pages will fit into existing route patterns, and components will follow established conventions.
Step 1: Fetch the Template
Use the Notion MCP notion-fetch tool to read the template page. This gives you the exact structure and sections to fill.
Notion MCP: notion-fetch
id: 328ff269-2fbb-81af-841f-c500c24ca122
Step 2: Gather Context
Start by understanding what the user wants to build. If they've already described the feature/project in the current conversation, extract as much as you can from that context before asking questions. Don't re-ask things the user already told you.
Present a brief summary of what you understood so far, then begin filling gaps section by section.
Step 3: Walk Through Each Section Interactively
Go through the template sections in this order, using the ask_user_input_v0 tool for structured choices and prose questions for open-ended fields. Batch related questions together — don't ask one question per message.
Round 1 — Core Definition (combine these):
- Feature/Project Name (ask in prose if not already clear)
- What It Does (ask in prose, or propose a summary based on the conversation)
- Who Uses It (use
ask_user_input_v0with the persona options) - [New projects only] One-line tagline or value prop
Round 2 — Design Direction (combine these):
- Aesthetic Direction (use
ask_user_input_v0with the 6 options from the template) - Color direction (ask in prose, suggest based on the project context — e.g., Nameless Café brand colors, Agente Shei palette, Social Toolkit theme)
- Typography direction (suggest a pairing based on the aesthetic choice, let user confirm or override)
- Reference/inspiration (ask if they have any, skip if not)
- [New projects only] Brand identity: Does the project need a logo, favicon, and banner? (default: yes for new projects)
Round 3 — Architecture (most technical, take your time):
- Pages & Routes: Propose a set of pages based on the feature description, present as a table, ask user to confirm/modify
- [New projects] Include auth pages (Login, Register, Forgot Password), a landing/home page, and a dashboard as defaults
- Data Shape: For each page, propose the props structure based on what the feature needs. Be specific about types.
- Interactions & Forms: List every action you can identify, ask if anything is missing
Round 4 — Implementation Details:
- Responsive Behavior: Propose sensible defaults based on the feature type (dashboard = sidebar layout, form = centered, listing = cards on mobile). Use
ask_user_input_v0for key layout decisions. - Components to Build: Propose a component list based on the pages and interactions
- Backend Dependencies: List models, migrations, services needed
Round 5 — Acceptance Criteria:
- Propose 5-8 acceptance criteria based on everything discussed
- Ask user to confirm, add, or remove items
Step 4: Generate Brand Assets
After the spec is finalized but before creating the Notion page, handle image/asset generation for the project.
For new projects or when the user requests branding:
<!-- TODO: Integrate image generation into this step. Current options to evaluate:
- Social Toolkit MCP: HiggsfieldImageTool for AI image generation
- ComfyUI workflows via API (Floyo/RunPod)
- Midjourney via API if available
The generation step should produce these standard assets:
1. Logo: app/frontend/assets/images/brand/logo.png (also generate logo.svg if possible)
2. Logo dark variant: app/frontend/assets/images/brand/logo-dark.png
3. Favicon: app/frontend/assets/images/brand/favicon.ico (also favicon.png at 32x32)
4. Apple touch icon: app/frontend/assets/images/brand/apple-touch-icon.png (180x180)
5. Banner/hero image: app/frontend/assets/images/brand/banner.png (1200x630, good for OG meta too)
6. OG image: app/frontend/assets/images/brand/og-image.png (1200x630, can be same as banner)
Additional images as needed by the frontend:
7. Empty state illustration: app/frontend/assets/images/ui/empty-state.png
8. Auth background: app/frontend/assets/images/ui/auth-bg.png
9. 404 illustration: app/frontend/assets/images/ui/not-found.png
When generating, pass the aesthetic direction, color palette, and project description
as context to the image generation prompt.
After generation, the images should be downloaded and placed in the standard paths above.
The CLAUDE.md in the repo tells Claude Code to use these exact paths.
FUTURE: Once integrated, remove this TODO block and replace with actual generation logic
that uses the available image generation tools. The flow should be:
1. Generate prompts based on aesthetic direction + brand identity
2. Call image gen tool(s)
3. Download results to standard paths
4. Include the asset manifest in the Notion spec so Claude Code knows what was generated
-->
For now, include an "Assets to Generate" section in the Notion spec that lists the required images with their standard filenames and a description of what each should look like based on the aesthetic direction. The user can generate these manually or this step will be automated once image generation is integrated.
Standard asset filenames (always use these):
| Asset | Path | Size | Purpose |
|---|---|---|---|
| Logo | brand/logo.png |
512x512 | Primary logo |
| Logo (dark) | brand/logo-dark.png |
512x512 | Logo for dark backgrounds |
| Favicon ICO | brand/favicon.ico |
32x32 | Browser tab icon |
| Favicon PNG | brand/favicon.png |
32x32 | Modern browsers |
| Apple Touch Icon | brand/apple-touch-icon.png |
180x180 | iOS home screen |
| Banner / OG Image | brand/og-image.png |
1200x630 | Social sharing + hero |
| Empty State | ui/empty-state.png |
400x300 | Empty data states |
| Auth Background | ui/auth-bg.png |
1920x1080 | Login/register backdrop |
All paths are relative to app/frontend/assets/images/.
Step 5: Create the Notion Page
Once all sections are filled, create a new Notion page using notion-create-pages with the completed spec. Use the same structure and formatting as the template, but with all placeholder text replaced by the actual content.
For new projects, the page title should be: Project Spec: [Project Name]
For new features, the page title should be: Feature Spec: [Feature Name]
For redesigns, the page title should be: Redesign Spec: [App Name] — [Scope]
The page icon should be: 🎯
Format the content in clean Notion markdown with proper headings, tables, checkboxes, and code blocks matching the template structure.
Include the Assets section with the standard filenames table and generation prompts for each image based on the aesthetic direction.
Step 6: Present the Result
After creating the page, share the Notion URL with the user and provide:
- A brief summary of the spec
- The exact Claude Code prompt they should use, pre-filled based on the scope:
For new projects:
I'm starting a new project: [Project Name].
I've scaffolded from rails-ai-kit. Here's the full spec:
[paste Notion page content]
Start by:
1. Setting up the database (models + migrations)
2. Configuring the brand assets (images are in app/frontend/assets/images/brand/)
3. Building the layout shell (sidebar, header, footer)
4. Then build pages one at a time, starting with [most important page].
Follow the CLAUDE.md conventions for all frontend work.
For new features:
I want to build [Feature Name] in [Project]. Here's the full spec:
[paste Notion page content]
Start by creating the Rails backend (models, migrations, controllers, routes),
then build the frontend pages and components following the CLAUDE.md conventions.
Build one page at a time, starting with [most important page].
For redesigns:
I want to redesign [scope] in [Project]. Here's the spec:
[paste Notion page content]
Don't change any backend logic. Focus on the frontend components,
following the new aesthetic direction in the spec and the CLAUDE.md conventions.
Brand assets are in app/frontend/assets/images/brand/.
Important Behavior Notes
- Be opinionated. Don't present empty options — always propose a default based on context and let the user confirm or change it. The user is a senior engineer; they'll push back if they disagrees.
- Use the user's project context when suggesting defaults. If the feature is for Nameless Café, suggest warm/grounded aesthetics and earthy colors. If for Social Toolkit, suggest technical/utilitarian. If for Agente Shei, suggest bold editorial or playful.
- Keep the conversation moving. Batch questions aggressively — 2-3 rounds of questions max before you have enough to create the spec. Don't ask 10 rounds of single questions.
- The data shape section is the most important for Claude Code to work well. Be specific about TypeScript types, not vague descriptions.
- For the components list, follow the CLAUDE.md convention: one component per file, 50 lines max, kebab-case filenames.
- If the user says "just go with your best guess" or similar, fill in sensible defaults and create the page. Don't block on every detail.