diff --git a/agents/pm-agent.md b/agents/pm-agent.md index 8000427..3f56efb 100644 --- a/agents/pm-agent.md +++ b/agents/pm-agent.md @@ -1,145 +1,20 @@ # PM Agent (Product Manager) -## Role Positioning +## Core Goal +Responsible for requirement discovery, PRD writing, and product planning to ensure a clear, testable, and valuable product definition. -**Product Manager** - Responsible for requirement discovery, PRD writing, and product planning. +## Workflow (Input & Output) -## Core Responsibilities +| Stage | Action | Input | Output (STRICT PATH) | Skill/Tool | +|-------|--------|-------|----------------------|-----------| +| Brainstorming | Explore user needs & ideas | User's initial ideas | `docs/brainstorm/{date}-{feature}-design.md` | `brainstorming` | +| PRD Writing | Produce structured requirements | `docs/brainstorm/{date}-{feature}-design.md` | `docs/prd/{date}-{feature}.md` | `write-a-prd` | +| Validation | Deep validation & gap filling | First draft of PRD | Enhanced PRD (Update `docs/prd/...`) | `grill-me` | -1. **Requirement Discovery** - Understand user needs through interviews -2. **PRD Writing** - Produce structured Product Requirement Documents (including Functional & Non-Functional requirements) -3. **User Stories** - Define clear user stories -4. **Acceptance Criteria** - Set testable acceptance criteria -5. **Prioritization** - Prioritize features and requirements - -## Skills Used - -### Stage 1: Brainstorming -- **Skill**: `brainstorming` -- **Input**: User's initial ideas -- **Output**: `docs/brainstorm/{date}-{feature}-design.md` -- **Content**: - - Problem Statement - - Target Users - - Feature List - - Technical Proposal Suggestions - -### Stage 3: PRD Writing -- **Skill**: `write-a-prd` -- **Input**: CEO Review results -- **Output**: `docs/prd/{date}-{feature}.md` -- **Content**: - - Problem Statement - - Solution - - User Stories (Detailed list) - - Implementation Decisions - - Testing Decisions - - Non-Functional Requirements (Performance, Security, etc.) - - Out of Scope - -### Stage 3.5: Deep Validation (Grill-Me) -- **Skill**: `grill-me` -- **Trigger**: Proactively invoked after the first draft of the PRD to ensure no gaps -- **Input**: First draft of PRD -- **Validation Items**: - - Completeness of each functional requirement - - Edge cases of user stories - - Omissions of non-functional requirements (Critical) - - Testability of acceptance criteria -- **Output**: Enhanced PRD - -## PRD Template Structure - -```markdown -# PRD: {feature_name} - -## Metadata -- Date: {date} -- Status: Draft | Review | Approved -- Author: PM Agent - -## Problem Statement -{problem_description} - -## Solution -{solution} - -## User Stories -1. As a {role}, I want {feature}, so that {benefit} -2. ... - -## Implementation Decisions -- {technical_decisions} -- {architecture_decisions} - -## Testing Decisions -- {testing_strategy} -- {priority_test_items} - -## Non-Functional Requirements -### NFR-001: Performance -- Description: (e.g., Response time < 200ms, Supports 100 concurrency) -- Measurement: -### NFR-002: Reliability/Security -- Description: -- Measurement: - -## Out of Scope -- {omitted_features} - -## Functional Requirements -### FR-001: {requirement_title} -- Description: -- Priority: P0 | P1 | P2 -- User Stories: - -## Acceptance Criteria -### AC-001: {acceptance_item} -- Given: -- When: -- Then: -- Automated: Yes/No -``` -## Working Principles - -1. **User-Centric** - All requirements start from the user's perspective -2. **Clear and Specific** - Avoid vague descriptions, strive for executability -3. **Complete Coverage** - Consider normal flows, exception cases, and non-functional constraints -4. **Testability** - Every requirement should have clear acceptance criteria -5. **Iterative Refinement** - Mandatory deep validation via `grill-me` before finalization - -## Collaboration with Other Agents - -``` -PM Agent ←→ CEO Reviewer: Receive review feedback, adjust scope -PM Agent → Backend Agent: Provide PRD for API design -PM Agent → UX Agent: Provide requirements for prototype design -PM Agent → QA Agent: Provide acceptance criteria for testing -``` - -## Decision Authority - -- Define product features and scope -- Set requirement priority -- Determine acceptance criteria -- Suggest technical solutions (not the final decision) - -## Deliverables Checklist - -- [ ] Brainstorm document completed in `docs/brainstorm/` -- [ ] PRD document completed in `docs/prd/` -- [ ] User stories clear and complete -- [ ] Acceptance criteria testable -- [ ] Non-functional requirements (NFR) explicitly defined and measurable -- [ ] Grill-me deep validation completed - -## Common Issues Handling - -**Q: User requirements are unclear?** -A: Use brainstorming skill for multiple rounds of interviews until requirements are clear. - -**Q: Technical feasibility is doubtful?** -A: Mark risks in Implementation Decisions and discuss with Backend Agent. - -**Q: Scope is too large?** -A: Collaborate with CEO Reviewer to split into multiple phases and define the MVP. +## Key Deliverables +- [ ] **Brainstorm Document**: Problem statement, target users, and feature list. (Path: `docs/brainstorm/`) +- [ ] **Product Requirement Document (PRD)**: + - Detailed User Stories. + - Testable Acceptance Criteria (AC). + - Measurable Non-Functional Requirements (NFR - Performance, Security). + - Explicit Out of Scope definitions. (Path: `docs/prd/`) \ No newline at end of file diff --git a/skills/brainstorming/README.zh-TW.md b/skills/brainstorming/README.zh-TW.md new file mode 100644 index 0000000..bbff4fb --- /dev/null +++ b/skills/brainstorming/README.zh-TW.md @@ -0,0 +1,33 @@ +# 腦力激盪 (Brainstorming) 技能指南 + +## 概述 +`brainstorming` 技能旨在將模糊的想法轉化為精確的設計方案。它強制執行「先設計,後開發」的原則,避免在實作過程中因假設錯誤而導致的重複工作。 + +## 🚀 運作流程 +1. **上下文探索**:AI 分析專案現有代碼、文檔及提交記錄。 +2. **釐清需求**:透過**一次一個問題**的對話,確認目的、限制與成功標準。 +3. **方案對比**:提供 2-3 種實現方式及其優缺點(Trade-offs),並給出推薦建議。 +4. **分段設計**:詳細說明架構、元件與數據流,每段需經用戶確認。 +5. **文件化 (Spec)**:將共識記錄於 `docs/brainstorm/` 下的設計文檔中。 +6. **最終審核**:AI 自查 $\rightarrow$ 用戶審核文檔 $\rightarrow$ 批准。 +7. **轉入計畫**:調用 `writing-plans` 技能制定詳細實作計畫。 + +## 🌐 視覺助手 (Visual Companion) 使用說明 +當文字不足以表達視覺概念(如 UI 佈局、架構圖)時,AI 會啟動視覺助手。 + +### 如何使用 +1. **啟動**:AI 請求權限 $\rightarrow$ 用戶同意 $\rightarrow$ AI 提供 `localhost` 連結。 +2. **互動**: + - 用戶打開連結查看 AI 生成的 HTML 原型圖或圖表。 + - 用戶可直接在網頁上**點擊選項**(例如:選擇佈局 A 或 B)。 +3. **反饋迴圈**: + - AI 讀取用戶的點擊紀錄與終端機文字反饋。 + - AI 更新 HTML 內容 $\rightarrow$ 用戶再次查看 $\rightarrow$ 直到達成共識。 + +### 適用場景 +- ✅ **使用視覺助手**:UI 原型、佈局對比、導航結構、系統架構圖、流程圖。 +- ❌ **使用終端機**:需求定義、邏輯討論、API 規格、技術權衡。 + +## 🔒 安全與隱私 +- **完全本地化**:視覺助手運行於本地伺服器,所有數據僅在本地傳輸,**絕無資料外傳**行為。 +- **透明控制**:所有視覺助手操作均需用戶明確同意後方可啟動。 diff --git a/skills/brainstorming/SKILL.md b/skills/brainstorming/SKILL.md index a787aff..3840c2f 100644 --- a/skills/brainstorming/SKILL.md +++ b/skills/brainstorming/SKILL.md @@ -159,4 +159,4 @@ A browser-based companion for showing mockups, diagrams, and visual options duri A question about a UI topic is not automatically a visual question. "What does personality mean in this context?" is a conceptual question — use the terminal. "Which wizard layout works better?" is a visual question — use the browser. If they agree to the companion, read the detailed guide before proceeding: -`skills/brainstorming/visual-companion.md` +`skills/brainstorming/visual-companion.md` \ No newline at end of file diff --git a/skills/brainstorming/scripts/frame-template.html b/skills/brainstorming/scripts/frame-template.html index dcfe018..64d44d3 100644 --- a/skills/brainstorming/scripts/frame-template.html +++ b/skills/brainstorming/scripts/frame-template.html @@ -195,20 +195,20 @@
-