{"id":"a88522ef-7063-44a3-95b0-b1827d7594be","entityType":"agent","slug":"clawhub-yhongm-software-manager-skill","name":"Software Manager Skill","canonicalUrl":"https://www.xpersona.co/agent/clawhub-yhongm-software-manager-skill","canonicalPath":"/agent/clawhub-yhongm-software-manager-skill","generatedAt":"2026-10-11T14:13:43.934Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T10:21:54.930Z","emptyReason":null},"description":"软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并... Skill: Software Manager Skill Owner: yhongm Summary: 软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并... Tags: latest:2.2.0 Version history: v2.2.0 | 2026-04-27T15:48:37.260Z | auto software-manager-skill 2.2.0 changelog - 技术选型确认环节已合并回产品咨询流程，流程更完整和规范。 - 产品咨询流程文档优化，完善“阶段五：技术选型确认”内容，细化技术选型确认话术和表格。 - 其余咨询、导出、保存及模","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s173473cgccwd64pgxqx7egsdx83xyes:software-manager-skill","sourceUrl":"https://clawhub.ai/yhongm/software-manager-skill","homepage":"https://clawhub.ai/yhongm/skills/software-manager-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/yhongm/software-manager-skill","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/yhongm/skills/software-manager-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:21:54.930Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:21:54.930Z","emptyReason":null},"stars":null,"forks":null,"downloads":1089,"packageName":null,"latestVersion":"2.2.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:21:54.915Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T10:21:54.930Z","lastCrawledAt":"2026-10-11T10:21:54.915Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T10:21:54.915Z","lastVerifiedAt":null,"highlights":[{"version":"2.2.0","createdAt":"2026-04-27T15:48:37.260Z","changelog":"## software-manager-skill 2.2.0 changelog - 技术选型确认环节已合并回产品咨询流程，流程更完整和规范。 - 产品咨询流程文档优化，完善“阶段五：技术选型确认”内容，细化技术选型确认话术和表格。 - 其余咨询、导出、保存及模板相关步骤顺序和内容没有变更，只在文档结构和流程上做了调整和澄清。 - 未涉及代码及技能能力本身的更改，仅对SKILL.md做文档流程补充和优化。","fileCount":29,"zipByteSize":116085},{"version":"2.1.0","createdAt":"2026-04-27T13:22:18.258Z","changelog":"## software-manager-skill 2.1.0 Changelog - 调整主动式产品咨询流程说明，修正阶段顺序：方案对比后明确增加技术选型/技术栈确认环节。 - 明确“技术选型确认”作为提问和确认关键技术栈的独立阶段（原为方案对比后直接进入需求确认）。 - 相关流程描述、表格和确认话术同步完善，帮助用户做技术方向选择。 - 其余流程、导出、依赖和使用方式保持不变。","fileCount":28,"zipByteSize":114625},{"version":"2.0.9","createdAt":"2026-04-27T13:03:26.162Z","changelog":"- Improved PRD导出流程的稳定性，修复部分环境下导出docx文档可能失败的问题。 - 优化 Mermaid 图表渲染方式，自动优先选择可用的本地 Chrome/Edge/Firefox 浏览器。 - 增强 Mermaid 批量渲染脚本（mermaid_render_multi.js）对 Puppeteer 安装路径的适配和容错。 - 增强 prd_export.py 错误提示，支持无浏览器时的清晰报错和诊断。 - SKILL.md 文档梳理导出及存储流程，细化依赖说明和路径规范。","fileCount":28,"zipByteSize":114636},{"version":"2.0.8","createdAt":"2026-04-27T03:42:57.593Z","changelog":"**v2.0.8 Change Summary** - 强化网络搜索模块：采用「工具自动降级」策略，搜索结果少或网络不可用时自动切换其他可用工具，避免结果不全。 - 明确 PRD 文档输出流程：PRD 输出前新增「询问用户存放路径」步骤，禁止硬编码用户-specific 路径，适配多平台使用。 - SKILL.md 用户指引文本大量更新，补充更规范的交互细节和安全提示。 - 更新 Hermes 元数据 version 字段为 2.0.8。 - 修正部分文档描述与流程一致性，规范保存和导出命令说明。","fileCount":28,"zipByteSize":114490},{"version":"2.0.6","createdAt":"2026-04-27T02:07:32.992Z","changelog":"- 修正 Hermes 配置中的 version 和 last_updated 字段，提升元数据准确性 - 更新 version 为 2.0.6，last_updated 为 2026-04-27 - Hermes 配置区 last_updated 字段移至 version 下方，与通用写法保持一致 - 未涉及核心流程、内容和用法改动","fileCount":28,"zipByteSize":112394},{"version":"2.0.5","createdAt":"2026-04-27T00:57:24.540Z","changelog":"software-manager-skill 2.0.5 变更日志 - 新增参考文档，整合 browser-support、data-analysis-metrics、h5-mobile-best-practices、icon-sources、tailwind-installation 等最佳实践内容，文档结构优化。 - 移除旧的 prototype/h5 相关 txt 文档和冗余 icon-sources 文件，文档体系更加清晰。 - 主动式产品咨询流程优化：加入技术选型与需求确认环节，流程更贴合实际产品开发步骤。 - Mermaid 渲染和导出流程升级，Word 导出支持自动浏览器路径检测及多浏览器兼容。 - H5 可交互原型新增本地 Tailwind CSS 内联、不依赖外部 CDN，提升安全性和离线体验。 - 更新 Skill 配置说明，明确依赖项与运行环境要求，提升易用性和跨平台兼容性。","fileCount":28,"zipByteSize":112173},{"version":"2.0.1","createdAt":"2026-04-25T07:47:27.758Z","changelog":"**软件产品经理技能 v2.0.1 更新日志** - 新增 PRD 文档导出功能，支持导出为 Markdown (.md) 或 Word (.docx) 格式。 - 导出 Word 时，自动将 PRD 中的 Mermaid 图表代码渲染为 PNG 图片插入文档。 - 新增导出流程引导，支持用户选择导出格式，并补充操作示例。 - 增加对新导出脚本 scripts/prd_export.py 的说明和使用方法。 - trigger 关键字中支持导出相关词汇：如“导出PRD”、“导出docx”等。 - 文档流程描述与导出流程相关内容全面细化和升级。","fileCount":26,"zipByteSize":94102},{"version":"1.0.7","createdAt":"2026-04-25T05:30:26.754Z","changelog":"Version 1.0.7 - 更新版本号至 1.0.7 - SKILL.md 文件内 version 字段从 1.0.6 升级为 1.0.7 - 其余内容未发生变更","fileCount":25,"zipByteSize":90261}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173473cgccwd64pgxqx7egsdx83xyes:software-manager-skill","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:13:43.932Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yhongm-software-manager-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T10:21:54.930Z","emptyReason":null},"readme":"Skill: Software Manager Skill\n\nOwner: yhongm\n\nSummary: 软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并...\n\nTags: latest:2.2.0\n\nVersion history:\n\nv2.2.0 | 2026-04-27T15:48:37.260Z | auto\n\n## software-manager-skill 2.2.0 changelog\n\n- 技术选型确认环节已合并回产品咨询流程，流程更完整和规范。\n- 产品咨询流程文档优化，完善“阶段五：技术选型确认”内容，细化技术选型确认话术和表格。\n- 其余咨询、导出、保存及模板相关步骤顺序和内容没有变更，只在文档结构和流程上做了调整和澄清。\n- 未涉及代码及技能能力本身的更改，仅对SKILL.md做文档流程补充和优化。\n\nv2.1.0 | 2026-04-27T13:22:18.258Z | auto\n\n## software-manager-skill 2.1.0 Changelog\n\n- 调整主动式产品咨询流程说明，修正阶段顺序：方案对比后明确增加技术选型/技术栈确认环节。\n- 明确“技术选型确认”作为提问和确认关键技术栈的独立阶段（原为方案对比后直接进入需求确认）。\n- 相关流程描述、表格和确认话术同步完善，帮助用户做技术方向选择。\n- 其余流程、导出、依赖和使用方式保持不变。\n\nv2.0.9 | 2026-04-27T13:03:26.162Z | auto\n\n- Improved PRD导出流程的稳定性，修复部分环境下导出docx文档可能失败的问题。\n- 优化 Mermaid 图表渲染方式，自动优先选择可用的本地 Chrome/Edge/Firefox 浏览器。\n- 增强 Mermaid 批量渲染脚本（mermaid_render_multi.js）对 Puppeteer 安装路径的适配和容错。\n- 增强 prd_export.py 错误提示，支持无浏览器时的清晰报错和诊断。\n- SKILL.md 文档梳理导出及存储流程，细化依赖说明和路径规范。\n\nv2.0.8 | 2026-04-27T03:42:57.593Z | auto\n\n**v2.0.8 Change Summary**\n\n- 强化网络搜索模块：采用「工具自动降级」策略，搜索结果少或网络不可用时自动切换其他可用工具，避免结果不全。\n- 明确 PRD 文档输出流程：PRD 输出前新增「询问用户存放路径」步骤，禁止硬编码用户-specific 路径，适配多平台使用。\n- SKILL.md 用户指引文本大量更新，补充更规范的交互细节和安全提示。\n- 更新 Hermes 元数据 version 字段为 2.0.8。\n- 修正部分文档描述与流程一致性，规范保存和导出命令说明。\n\nv2.0.6 | 2026-04-27T02:07:32.992Z | auto\n\n- 修正 Hermes 配置中的 version 和 last_updated 字段，提升元数据准确性\n- 更新 version 为 2.0.6，last_updated 为 2026-04-27\n- Hermes 配置区 last_updated 字段移至 version 下方，与通用写法保持一致\n- 未涉及核心流程、内容和用法改动\n\nv2.0.5 | 2026-04-27T00:57:24.540Z | auto\n\nsoftware-manager-skill 2.0.5 变更日志\n\n- 新增参考文档，整合 browser-support、data-analysis-metrics、h5-mobile-best-practices、icon-sources、tailwind-installation 等最佳实践内容，文档结构优化。\n- 移除旧的 prototype/h5 相关 txt 文档和冗余 icon-sources 文件，文档体系更加清晰。\n- 主动式产品咨询流程优化：加入技术选型与需求确认环节，流程更贴合实际产品开发步骤。\n- Mermaid 渲染和导出流程升级，Word 导出支持自动浏览器路径检测及多浏览器兼容。\n- H5 可交互原型新增本地 Tailwind CSS 内联、不依赖外部 CDN，提升安全性和离线体验。\n- 更新 Skill 配置说明，明确依赖项与运行环境要求，提升易用性和跨平台兼容性。\n\nv2.0.1 | 2026-04-25T07:47:27.758Z | auto\n\n**软件产品经理技能 v2.0.1 更新日志**\n\n- 新增 PRD 文档导出功能，支持导出为 Markdown (.md) 或 Word (.docx) 格式。\n- 导出 Word 时，自动将 PRD 中的 Mermaid 图表代码渲染为 PNG 图片插入文档。\n- 新增导出流程引导，支持用户选择导出格式，并补充操作示例。\n- 增加对新导出脚本 scripts/prd_export.py 的说明和使用方法。\n- trigger 关键字中支持导出相关词汇：如“导出PRD”、“导出docx”等。\n- 文档流程描述与导出流程相关内容全面细化和升级。\n\nv1.0.7 | 2026-04-25T05:30:26.754Z | auto\n\nVersion 1.0.7\n\n- 更新版本号至 1.0.7\n- SKILL.md 文件内 version 字段从 1.0.6 升级为 1.0.7\n- 其余内容未发生变更\n\nv1.0.6 | 2026-04-25T05:20:05.626Z | auto\n\n**重大更新：添加产品方案对比和一体化H5原型输出，完善产品咨询流程**\n\n- 新增“方案对比”阶段：根据规划输出多种产品实现方案，用户可选择或定制落地方案。\n- H5交互原型升级为“单HTML文件”输出，所有页面集成，减少文件分散。\n- 在PRD输出后主动询问是否需要原型，增强用户引导与交互体验。\n- 流程描述和模板详细补充：支持自动化从0到1交付PRD+原型全链流程。\n- 行文整体梳理优化，更突出多阶段交付、可选结果和标准化操作说明。\n\nv2.0.0 | 2026-04-24T11:08:16.279Z | auto\n\nsoftware-manager-skill 2.0.0 introduces H5交互原型输出与Tailwind/图标参考文档：\n\n- 新增「H5原型图」「可交互原型」支持，流程中可输出纯HTML+Tailwind CSS+JS的H5原型页面。\n- 增加第六阶段，详细规范H5原型输出格式、技术选型（Tailwind CDN、内联SVG图标）、交互要点及页面模板。\n- 新增丰富H5相关资料：浏览器支持、移动端H5最佳实践、Tailwind安装与核心模块、主流图标库快速接入说明等14个reference文件。\n- 更新触发词、标签，全文加入H5、Icon Library、Tailwind CSS 相关内容，支持B端/C端/小程序/Web端全场景原型需求。\n- 保持原有PRD/Mermaid/咨询流程结构清晰不变，整体更适合从0到1原型设计、高保真需求\n\nv1.0.5 | 2026-04-23T14:51:07.415Z | auto\n\nVersion 1.0.5 — No file changes detected.\n\n- No modifications or updates were found for this version.\n- Functionality, triggers, and documentation remain unchanged from the previous release.\n\nv1.0.4 | 2026-04-23T14:45:59.204Z | auto\n\nsoftware-manager-skill v1.0.4\n\n- 更新了 SKILL.md，hermes.version 字段由 1.0.2 升级为 1.0.4。\n- 无功能或逻辑更新，仅为元数据维护。\n\nv1.0.3 | 2026-04-23T14:33:28.428Z | auto\n\nVersion 1.0.3\n\n- Updated documentation in README.md for improved clarity and user guidance.\n- No functional or logic changes to the skill itself.\n- Content and processes in SKILL.md remain unchanged.\n\nv1.0.2 | 2026-04-23T14:22:46.980Z | auto\n\n- 移除了 PRD 文档保存路径中的硬编码用户目录，改为由用户指定或建议通用相对路径，提升跨平台兼容性。\n- 调整保存规则说明，建议用户自行选择保存位置，如未指定提供内容供手动保存。\n- 修正了 hermes 信息中的仓库 source 地址与版本号，与实际一致。\n- 其他内容和功能描述未变，主要为文档保存路径和流程细节优化。\n\nv1.0.1 | 2026-04-23T10:51:43.958Z | auto\n\n- Improved and clarified the skill's scope, focusing on active, consultative product management support rather than one-way Q&A.\n- Added a detailed, step-by-step consultation workflow: requirements clarification, multi-source search, product planning, PRD output, and Mermaid diagram integration.\n- Provided comprehensive PRD templates, sample search queries, and Mermaid chart examples for various product management scenarios.\n- Outlined best practices for file saving and documentation structure to standardize PRD outputs.\n- Included quick-reference guides for core PM methodologies (Kano, RICE, MoSCoW, AARRR) and Agile/Scrum processes.\n\nArchive index:\n\nArchive v2.2.0: 29 files, 116085 bytes\n\nFiles: README.md (8579b), references/agile-dev.md (9124b), references/browser-support.md (1325b), references/data-analysis-metrics.md (15336b), references/h5-mobile-best-practices.md (2837b), references/icon-sources.md (2446b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), references/tailwind-installation.md (1420b), scripts/mermaid_render_multi.js (13473b), scripts/prd_export.py (9700b), skill-card.md (2820b), SKILL.md (58970b), _meta.json (141b)\n\nFile v2.2.0:SKILL.md\n\n---\nname: software-manager-skill\nversion: \"2.2.0\"\ndescription: >\n  软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括：\n  需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析；\n  或用户询问产品经理职责、如何成为产品经理、产品经理技能要求；\n  或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表；\n  或需要从0到1输出PRD文档并自动生成可交互H5原型图；\n  或需要将PRD文档导出为Markdown(.md)或Word(.docx)格式。\n  注意：本 skill 采用主动式产品咨询流程。流程：确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式 → H5原型图（可选）。\ntrigger: 产品经理|PRD|产品需求文档|需求分析|产品设计|产品路线图|竞品分析|用户故事|敏捷开发|Scrum|产品从0到1|功能需求|非功能需求|产品经理职责|如何成为产品经理|Kano模型|RICE评分|MoSCoW|产品体验|用户旅程|产品架构|产品迭代|数据分析|DAU|MAU|留存率|转化率|NPS|登录注册流程|搜索功能|推荐系统|分享功能|支付功能|会员体系|通知系统|APP设计|小程序设计|Web端设计|H5设计|B端产品|C端产品|增长产品|策略产品|商业产品|数据产品|Mermaid|流程图|架构图|时序图|甘特图|H5原型图|纯H5|导出PRD|导出docx|导出Word|PRD导出\ntags:\n  - product-manager\n  - pm\n  - prd\n  - product-design\n  - requirements\n  - agile\n  - scrum\n  - mermaid\n  - flowchart\nhermes:\n  source: https://github.com/{org}/software-manager-skill\n  tags: [product-manager, pm, prd, product-design, requirements, agile, scrum, mermaid, flowchart, h5, tailwindcss, icon-library]\n  related_skills: [ios-dev-skill, frontend-design-skill]\n  version: \"2.0.8\"\n  last_updated: \"2026-04-27\"\nlicense: MIT\nrequired_commands:\n  - python3        # Python 3（docx 导出必需）\n  - node           # Node.js（mermaid 渲染脚本必需）\n  - npm            # npm（安装全局 mermaid-cli）\nrequired_npm_packages:\n  - \"@mermaid-js/mermaid-cli\"   # npm install -g @mermaid-js/mermaid-cli（含 puppeteer-core）\nrequired_python_packages:\n  - python-docx    # pip install python-docx（docx 导出必需）\nrequired_environment:\n  - \"浏览器: Chrome / Edge / Firefox 之一（mermaid_render_multi.js 自动检测路径）\"\n  - \"WSL 用户: 需能访问 /mnt/c（用于 Windows 浏览器路径检测）\"\nnotes_on_dependencies: |\n  - docx 导出功能需要 python-docx，不影响纯 Markdown 输出\n  - mermaid_render_multi.js 动态查找 puppeteer-core（优先从 @mermaid-js/mermaid-cli 的 bundled 版本）\n  - 不使用 python-docx 时可跳过 python-docx 安装，仅影响 .docx 导出功能\n---\n\n# 软件产品经理（Product Manager）知识技能\n\n> 使用场景：用户需要产品经理级别的专业支持，或询问产品经理相关知识。\n> 注意：本 skill 采用主动式产品咨询流程，不是单向知识问答。\n> 流程：确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比（用户选择） → 需求确认 → PRD文档输出 + Mermaid图表整合 → 导出格式选择 → H5可交互原型图（可选，PRD后主动询问，所有页面集成在同一HTML文件，本地Tailwind CSS内联）。\n\n---\n\n# 主动式产品咨询流程\n\n本 skill 不做单向知识问答，而是遵循以下流程：确认需求 → 提问澄清 → 网络搜索 + RAG资料搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式 → H5原型图（可选）。\n\n## 阶段一：确认需求（开口三问）\n\n收到用户产品相关需求后，先用一段话确认理解，然后问三个核心问题：\n\n**问题1：产品方向**\n「你这个产品主要是做什么的？面向什么用户？解决什么核心问题？」\n\n**问题2：平台形态**\n「是移动端APP、小程序、Web端还是多端都要？C端还是B端？」\n\n**问题3：成熟度**\n「现在是从0到1的新产品，还是在现有产品上做迭代？有没有竞品可以参照？」\n\n## 阶段二：多源资料搜索\n\n根据用户回答，判断需要搜索哪些资料。可以灵活选择一种或两种方式组合使用：\n\n### 2.1 网络搜索\n\n**搜索策略**：优先使用环境中最可靠的网络搜索工具（由系统自动选择）。若返回结果为空或结果数 ≤ 2，应立即尝试其他可用搜索工具。**禁止在提示词中硬编码具体搜索工具名**。\n\n**降级触发条件**（满足任一即换工具重试）：\n- 搜索返回结果数 ≤ 2\n- 搜索耗时异常长（>5s 无响应）\n- 工具返回\"不可用\"或报错\n\n示例搜索调用：\n```\n搜索「运动健身APP用户需求分析 2026」\n搜索「装修APP用户痛点 业主 2026」\n搜索「住小帮 齐家网 土巴兔 功能对比」\n```\n*若第一个搜索工具返回不足，自动切换其他工具重试*\n\n### 2.2 RAG本地搜索\n\n使用 `WebFetch` 工具获取官方文档，或用 `Grep`/`Read` 工具搜索本地参考文档。\n\n**本地文档映射：**\n- 需求分析类 → 调取 `pm-responsibilities.md`、`sdlc-product-process.md`\n- 产品设计类 → 调取 `prd-template.md`、`mermaid-guide.md`\n- 竞品分析类 → 调取 `pm-framework.md`（竞品分析框架）\n- 数据分析类 → 调取 `pm-framework.md`（AARRR/留存分析）\n- 路线图规划类 → 调取 `pm-framework.md`（OKR对齐）、`sdlc-product-process.md`\n\n## 阶段三：产品规划\n\n基于网络搜索结果和RAG资料，给出产品规划建议，包括：\n\n**产品定位一句话**：「[产品名称]是一个面向[目标用户]的[产品类型]，解决[核心问题]。*\n\n**核心功能优先级**（MoSCoW）：\n- Must（必须有）：[核心路径功能，1-3个]\n- Should（应该有）：[重要功能，2-4个]\n- Could（可以有）：[增强功能，2-3个]\n- Won't（这次不做）：[放未来规划的功能]\n\n**MVP范围定义**：最小可行产品只做哪几个功能，为什么这几个是核心。\n\n**用户旅程简化版**：\n```\n用户打开APP → [核心动作] → [得到什么价值] → [下一个动作/退出]\n```\n\n## 阶段四：方案对比（用户选择）\n\n基于产品规划结果，输出2-3个不同方案供用户选择。\n\n**方案命名**：「简约版」「标准版」「增强版」或「A方案」「B方案」「C方案」\n\n**方案对比表**：\n| 维度 | 方案A（简约版） | 方案B（标准版） | 方案C（增强版） |\n|------|----------------|----------------|----------------|\n| 功能范围 | MVP核心功能 | 核心+重要功能 | 全功能 |\n| 开发周期 | 约X人天 | 约X人天 | 约X人天 |\n| 技术复杂度 | 低 | 中 | 高 |\n| 适用场景 | 快速验证 | 成熟产品 | 完整规划 |\n\n**各方案详细说明**：\n- 方案A：只做核心路径，快速上线验证\n- 方案B：在核心基础上增加重要辅助功能\n- 方案C：完整规划，包含所有规划功能\n\n**用户决策**：等待用户选择某个方案，或提出修改意见。\n\n## 阶段五：技术选型确认\n\n用户选定方案后，输出技术选型确认，确认以下内容：\n\n**技术栈确认**：\n| 分类 | 选项 | 说明 |\n|------|------|------|\n| 前端框架 | React / Vue / 纯H5 | 影响H5原型实现方式 |\n| 后端框架 | Node.js / Python / Java / Go | 影响API设计 |\n| 数据库 | MySQL / PostgreSQL / MongoDB | 影响数据模型设计 |\n| 部署方式 | 云服务 / 自建服务器 | 影响运维方案 |\n\n**技术约束确认**：\n- 是否有现成技术栈要求？\n- 是否有性能/并发/安全等技术要求？\n- 第三方服务依赖（支付/地图/推送等）？\n\n**技术选型确认话术**：\n```\n请确认技术选型方向：\n   - 前端技术栈偏好（React/Vue/纯H5）\n   - 后端技术栈偏好（Node.js/Python/Java/Go）\n   - 数据库选型（关系型/文档型）\n   - 是否有现成框架或技术债务需继承\n   - 第三方服务依赖（支付/地图/推送等）\n```\n\n确认后进入需求确认阶段。如用户跳过，则使用合理默认值继续。\n\n## 阶段六：需求确认\n\n用户选定方案后，在正式输出PRD文档之前，先输出一份**需求确认书**，包含：\n\n### 需求确认书模板\n```\n## 需求确认书（确认后进入PRD输出）\n\n**产品名称**：[名称]\n**选定方案**：[方案A/方案B/方案C]\n**平台形态**：[APP/小程序/H5/Web端]\n\n### 核心功能确认\n| 功能模块 | 功能名称 | 优先级 | 确认 |\n|---------|---------|--------|------|\n| [模块] | [功能] | P0 | [✓/—] |\n\n### 关键业务流程确认\n[描述1-2个核心用户路径]\n\n### 目标指标确认\n| 指标 | 目标值 | 周期 |\n|------|--------|------|\n| [DAU/留存率/转化率等] | [数值] | [时间] |\n\n### Mermaid图表预览\n[产品架构图 / 用户旅程图]\n\n**请确认以上内容是否准确，如有调整请告知，确认后输出完整PRD文档。**\n```\n\n确认完成后进入PRD输出阶段。如用户有调整，返回阶段三重新规划。\n\n## 阶段七：PRD文档整合输出\n\n整合网络搜索和RAG资料，输出完整PRD文档。如果用户明确要求保存，再使用 Write 工具保存文档。\n\n### 询问存放路径\n\n**在输出PRD文档之前，必须先询问用户存放路径。**\n\n```\n在开始输出PRD文档之前，请告诉我：\n1. 存放文件夹路径（例如：`~/PRD/` 或 `D:\\project\\PRD` 或 `~/Desktop/`）\n2. 文件命名（例如：`装修APP_PRD_v0.1`）\n\n如果暂时不想保存，可以回复「不保存」，我会直接在回复中输出完整文档内容。\n```\n\n- 用户指定路径后，使用 Write 工具保存文件\n- 用户未指定 → 在回复末尾输出完整文档内容，并说明「可保存为 `~/[用户主目录]/[产品名称]_PRD_v0.1.md`」\n- **禁止硬编码用户-specific路径**（如 `C:\\Users\\yhong\\...`）\n\n### 文件保存规范\n\n**不要在 skill 中硬编码用户-specific 的路径。** PRD 文档的保存路径应该由用户在对话中指定，或者使用通用的相对路径。如果用户没有指定保存位置，则在输出时说明「如需保存，请在下方复制文档内容」。\n\n不正确的做法（会导致跨平台不兼容）：\n`/home/{用户名}/projects/{产品名称}/PRD/...` 或 `C:\\\\Users\\\\{用户名}\\\\projects\\\\{产品名称}\\\\PRD\\\\...`\n\n这些都是用户-specific 路径，不应在 skill 中出现。\n\n正确的做法（跨平台通用）：\n- 如果用户指定了路径，按用户指定路径保存\n- 如果用户未指定，在回复末尾提供文档内容供用户复制，并说明「可保存为 `~/projects/{产品名称}/PRD/{产品名称}_PRD_v0.1.md`」\n- Windows/WSL/macOS 用户可各自替换 `~` 为自己的主目录路径\n\n### PRD文档模板\n\n```markdown\n# [产品名称] 产品需求文档 v0.1\n\n## 1. 概述\n\n### 1.1 背景\n[为什么做这个产品，基于市场分析和用户需求]\n\n### 1.2 产品定位\n[一句话产品定位]\n\n### 1.3 目标用户\n[用户画像描述]\n\n### 1.4 成功标准\n| 指标 | 当前值 | 目标值 | 时间节点 |\n|------|--------|--------|---------|\n| [指标名] | [数值] | [数值] | [日期] |\n\n### 1.5 竞品分析\n[基于网络搜索的竞品对比]\n\n### 1.6 参考资源\n- [竞品官网/文章链接]\n- [行业报告链接]\n\n## 2. 用户与场景\n\n### 2.1 用户画像\n[用户画像描述：基本信息/使用场景/痛点/动机]\n\n### 2.2 用户旅程\n[文字描述关键步骤]\n\n### 2.3 核心用例\n| 用例编号 | 用例名称 | 触发条件 | 主路径 | 预期结果 |\n|---------|---------|---------|--------|---------|\n| UC-01 | [名称] | [条件] | [步骤] | [结果] |\n\n## 3. 功能需求\n\n### 3.1 功能列表\n| 功能模块 | 功能名称 | 优先级 | 描述 |\n|---------|---------|--------|------|\n| [模块] | [功能] | P0 | [一句话描述] |\n\n### 3.2 详细说明\n[针对P0核心功能，详细描述功能逻辑]\n\n### 3.3 验收标准\n| 功能 | 验收条件 | 测试方法 |\n|------|---------|---------|\n| [功能] | [SMART标准] | [测试步骤] |\n\n## 4. 非功能需求\n| 类型 | 要求 |\n|------|------|\n| 性能 | [响应时间要求] |\n| 安全 | [安全要求] |\n| 兼容性 | [兼容要求] |\n| 可靠性 | [可用性要求] |\n\n## 5. 数据埋点\n| 事件名称 | 触发时机 | 参数 |\n|---------|---------|------|\n| [事件] | [时机] | [参数] |\n\n## 6. 风险与依赖\n| 风险/依赖 | 影响 | 应对措施 |\n|-----------|------|---------|\n| [条目] | [描述] | [措施] |\n\n## 7. 附录\n- 修订记录\n- 术语表\n```\n\n## 阶段八：Mermaid图表整合输出\n\n**从0到1新产品** → 输出：\n- 产品架构图（系统分层）\n- 核心用户旅程图\n- MVP功能优先级甘特图\n\n**迭代类产品** → 输出：\n- 需求状态流转图\n- 迭代计划甘特图\n- 跨团队协作时序图（PM/设计/开发/QA）\n\n**竞品分析类** → 输出：\n- 功能对比矩阵表\n- 竞品架构对比图\n\n**数据分析类** → 输出：\n- AARRR漏斗图\n- 用户留存曲线\n\n---\n\n## 阶段九：导出格式选择\n\n在PRD文档输出完成后，主动询问用户导出格式。\n\n### 询问话术\n\n```\n✅ PRD文档已完成，请选择导出格式：\n   - 输入「md」或「Markdown」→ 保存为 .md 文件\n   - 输入「docx」或「Word」→ 保存为 .docx 文件（Mermaid图表自动渲染为PNG图片）\n   - 输入「不需要」→ 跳过导出\n```\n\n### 导出方式\n\n**Markdown（.md）**：直接保存为 `.md` 文件，Mermaid图表保留为代码块格式。\n\n**Word（.docx）**：\n- 使用 `python-docx` 库生成 `.docx` 文件\n- Mermaid代码块自动渲染为PNG图片后嵌入文档\n- 使用本地浏览器（Chrome/Edge/Firefox 之一）+ puppeteer渲染Mermaid（自动检测可用浏览器）\n- 渲染脚本：`scripts/prd_export.py`（调用 `scripts/mermaid_render_multi.js`）\n\n**命令示例**：\n```bash\n# 导出为 docx（Mermaid自动转PNG）\npython3 scripts/prd_export.py PRD文档.md 输出 PRD文档.docx\n\n# 导出为 md（直接复制内容）\n# 在输出中提供 .md 文件内容\n```\n\n---\n\n## 阶段十：H5可交互原型图（可选，导出后主动询问）\n\n**触发时机**：在PRD文档输出完成后，主动询问用户：「是否需要生成H5可交互原型图？」\n\n### 询问话术\n\n```\n✅ PRD文档已完成，是否需要生成H5可交互原型图？\n   - 输入「需要」或「是」→ 生成原型图\n   - 输入「不需要」或「否」→ 结束流程\n\n如果需要生成H5原型图，请同时告诉我存放路径（例如：`~/Desktop/` 或 `D:\\project\\`），原型图将保存为 `{产品名称}_prototype.html` 文件。\n```\n\n### 技术约束\n\n**语言限制**：纯 HTML + CSS + JavaScript（原生），不使用 Vue、React、Angular 或任何框架。\n\n**零外部依赖**：生成的 HTML 不依赖任何外部 CDN、网络资源或 npm 包。Tailwind CSS 通过脚本预下载并内联到 HTML 中，图标以内联 SVG 嵌入，字体使用系统默认字体。\n\n### Tailwind CSS 本地化流程\n\n生成原型图前，无需准备 Tailwind CSS，直接在 HTML 中使用 CDN 链接 `<script src=\"https://cdn.tailwindcss.com\"></script>` 即可。\n\n**第四步：生成 HTML**\n\n生成 HTML 时，直接使用 CDN 链接，`<script>` 标签自带加载容错：\n\n```html\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n  <title>页面标题</title>\n  <!-- Tailwind CSS CDN，直接引用，无需本地文件 -->\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    /* 页面特定样式 */\n  </style>\n</head>\n<body class=\"bg-gray-100\">\n  <!-- 页面内容 -->\n  <script>\n    // 交互逻辑\n  </script>\n</body>\n</html>\n```\n\n**关键原则**：\n- **直接使用 CDN**：`<script src=\"https://cdn.tailwindcss.com\">` 是最可靠的方式，无需本地文件\n- **禁止内联 ~350KB CSS**：不再要求将整个 tailwind.css 内联到 `<style>` 标签\n- **跨平台零配置**：CDN 链接在 Windows/macOS/Linux 下均有效，无需路径适配\n\n### 页面结构规范\n\n**单HTML文件**：所有页面集成在同一个HTML文件中，使用tab/section切换展示不同页面。\n\n**文件名命名**：`{产品名称}_prototype.html`\n\n**核心交互原则**：所有页面存在于同一个HTML文件中，页面之间的跳转通过 `showPage()` 函数切换 `section` 的显示/隐藏状态来实现，不依赖多文件或服务器。\n\n**UI设计规范**：\n- **视觉层次**：使用 `shadow-sm`/`shadow-md` 给卡片增加层次感，不要只有纯底色\n- **间距**：页面内 `p-4` 基础内边距，卡片之间使用 `space-y-3`（12px间距），组内元素 `space-y-4`（16px间距）\n- **圆角**：卡片使用 `rounded-xl`（12px），按钮使用 `rounded-lg`（8px），输入框使用 `rounded-lg`\n- **颜色**：`bg-white` 卡片搭配 `bg-gray-50` 背景形成对比，操作按钮使用主色 `bg-blue-500`/`bg-blue-600`\n- **阴影**：`shadow-sm` 用于卡片，`shadow-lg` 用于弹窗/浮层\n- **空状态**：列表为空时显示占位插图和提示文字\n- **触摸反馈**：点击时使用 `active:bg-gray-100` 提升交互感\n\n**页面组织方式**：\n```html\n<!-- 顶部Tab导航 -->\n<div id=\"nav-tabs\" class=\"flex border-b bg-white sticky top-0 z-10\">\n  <button onclick=\"showPage('login')\" class=\"tab-btn active flex-1 py-3 text-center border-b-2 border-blue-500 text-blue-500 font-medium\">登录</button>\n  <button onclick=\"showPage('home')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-400 font-medium\">首页</button>\n  <button onclick=\"showPage('detail')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-400 font-medium\">详情</button>\n  <button onclick=\"showPage('profile')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-400 font-medium\">我的</button>\n</div>\n\n<!-- 页面容器 -->\n<div id=\"pages\" class=\"pb-16\">\n  <section id=\"page-login\" class=\"page active\">\n    <!-- 登录表单 -->\n    <div class=\"p-6 space-y-5\">\n      <div class=\"text-center mb-6\">\n        <div class=\"w-16 h-16 bg-blue-500 rounded-2xl mx-auto mb-3 flex items-center justify-center shadow-lg\">\n          <span class=\"text-white text-2xl font-bold\">LOGO</span>\n        </div>\n        <h1 class=\"text-xl font-bold text-gray-800\">产品名称</h1>\n        <p class=\"text-gray-400 text-sm mt-1\">欢迎回来，请登录</p>\n      </div>\n      <input type=\"text\" placeholder=\"请输入手机号\" class=\"w-full border border-gray-200 rounded-xl px-4 py-3.5 bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition\" />\n      <input type=\"password\" placeholder=\"请输入密码\" class=\"w-full border border-gray-200 rounded-xl px-4 py-3.5 bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition\" />\n      <button onclick=\"showPage('home')\" class=\"w-full bg-blue-500 text-white py-3.5 rounded-xl font-medium shadow-md hover:bg-blue-600 active:bg-blue-700 transition\">登录</button>\n      <p class=\"text-center text-sm text-gray-400\">还没有账号？<span class=\"text-blue-500\">立即注册</span></p>\n    </div>\n  </section>\n\n  <section id=\"page-home\" class=\"page hidden\">\n    <!-- 首页Banner + 列表 -->\n    <div class=\"p-4 space-y-4\">\n      <!-- Banner轮播 -->\n      <div class=\"bg-gradient-to-r from-blue-500 to-blue-600 rounded-2xl p-5 text-white shadow-lg\">\n        <p class=\"text-sm opacity-90\">限时活动</p>\n        <h2 class=\"text-lg font-bold mt-1\">新人专享福利</h2>\n        <p class=\"text-xs opacity-80 mt-1\">点击领取专属优惠券</p>\n      </div>\n      <!-- 分类快捷入口 -->\n      <div class=\"grid grid-cols-4 gap-3\">\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-blue-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">📦</span></div>\n          <span class=\"text-xs text-gray-500\">分类</span>\n        </div>\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-orange-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">🔥</span></div>\n          <span class=\"text-xs text-gray-500\">热榜</span>\n        </div>\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-green-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">🎁</span></div>\n          <span class=\"text-xs text-gray-500\">福利</span>\n        </div>\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-purple-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">✨</span></div>\n          <span class=\"text-xs text-gray-500\">精选</span>\n        </div>\n      </div>\n      <!-- 列表项 -->\n      <div onclick=\"showPage('detail')\" class=\"bg-white rounded-xl p-4 shadow-sm cursor-pointer hover:shadow-md active:bg-gray-50 transition\">\n        <div class=\"flex gap-3\">\n          <div class=\"w-20 h-20 bg-gray-100 rounded-lg flex-shrink-0\"></div>\n          <div class=\"flex-1 min-w-0\">\n            <h3 class=\"font-medium text-gray-800 truncate\">商品标题名称</h3>\n            <p class=\"text-gray-400 text-xs mt-1 line-clamp-2\">商品简短描述，介绍核心功能和卖点，最多显示两行</p>\n            <div class=\"flex items-baseline gap-1 mt-2\">\n              <span class=\"text-red-500 font-bold\">¥99</span>\n              <span class=\"text-gray-300 text-xs line-through\">¥199</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </section>\n\n  <section id=\"page-detail\" class=\"page hidden\">\n    <!-- 详情页 -->\n    <div>\n      <!-- 商品图片区域 -->\n      <div class=\"bg-gray-100 h-64 flex items-center justify-center\">\n        <span class=\"text-gray-300 text-4xl\">📷</span>\n      </div>\n      <!-- 商品信息 -->\n      <div class=\"p-4\">\n        <div class=\"flex items-baseline gap-2\">\n          <span class=\"text-red-500 text-2xl font-bold\">¥99</span>\n          <span class=\"text-gray-400 text-sm line-through\">¥199</span>\n          <span class=\"text-orange-500 text-xs bg-orange-50 px-2 py-0.5 rounded\">限时优惠</span>\n        </div>\n        <h1 class=\"text-lg font-bold text-gray-800 mt-3\">商品标题名称</h1>\n        <p class=\"text-gray-400 text-sm mt-2\">这里是商品详细描述，包含核心卖点、功能介绍、规格参数等详细内容。</p>\n        <!-- 标签 -->\n        <div class=\"flex flex-wrap gap-2 mt-3\">\n          <span class=\"bg-blue-50 text-blue-500 text-xs px-2 py-1 rounded-full\">正品保证</span>\n          <span class=\"bg-green-50 text-green-500 text-xs px-2 py-1 rounded-full\">急速发货</span>\n          <span class=\"bg-purple-50 text-purple-500 text-xs px-2 py-1 rounded-full\">售后无忧</span>\n        </div>\n      </div>\n      <!-- 底部固定操作栏 -->\n      <div class=\"fixed bottom-0 left-0 right-0 bg-white border-t px-4 py-3 flex gap-3 shadow-lg\">\n        <div class=\"flex items-center gap-1 text-gray-400\">\n          <svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\"/></svg>\n          <span class=\"text-xs\">收藏</span>\n        </div>\n        <div class=\"flex items-center gap-1 text-gray-400\">\n          <svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"/></svg>\n          <span class=\"text-xs\">购物车</span>\n        </div>\n        <button onclick=\"showPage('home')\" class=\"flex-1 py-3 bg-gray-100 text-gray-600 rounded-xl font-medium active:bg-gray-200 transition\">加入购物车</button>\n        <button class=\"flex-1 py-3 bg-blue-500 text-white rounded-xl font-medium shadow-md active:bg-blue-600 transition\">立即购买</button>\n      </div>\n    </div>\n  </section>\n\n  <section id=\"page-profile\" class=\"page hidden\">\n    <!-- 个人中心 -->\n    <div class=\"p-4\">\n      <div class=\"bg-white p-4 rounded-xl shadow mb-4\">\n        <p class=\"text-gray-500\">个人中心内容</p>\n      </div>\n      <button onclick=\"showPage('login')\" class=\"w-full py-3 text-red-500 border border-red-500 rounded-lg\">退出登录</button>\n    </div>\n  </section>\n</div>\n\n<style>\n  .page { display: none; }\n  .page.active { display: block; }\n  .hidden { display: none !important; }\n</style>\n\n<script>\n  function showPage(name) {\n    // 隐藏所有页面\n    document.querySelectorAll('.page').forEach(p => {\n      p.classList.remove('active');\n      p.classList.add('hidden');\n    });\n    // 显示目标页面\n    const target = document.getElementById('page-' + name);\n    if (target) {\n      target.classList.remove('hidden');\n      target.classList.add('active');\n    }\n    // 更新Tab高亮状态\n    document.querySelectorAll('.tab-btn').forEach(btn => {\n      if (btn.getAttribute('onclick').includes(\"'\" + name + \"'\")) {\n        btn.classList.add('border-blue-500', 'text-blue-500');\n        btn.classList.remove('border-transparent', 'text-gray-500');\n      } else {\n        btn.classList.remove('border-blue-500', 'text-blue-500');\n        btn.classList.add('border-transparent', 'text-gray-500');\n      }\n    });\n    // 滚动到顶部\n    window.scrollTo(0, 0);\n  }\n\n  // 支持浏览器前进后退\n  window.addEventListener('popstate', () => {\n    const hash = window.location.hash.replace('#', '') || 'login';\n    showPage(hash);\n  });\n</script>\n```\n\n### 页面模板\n\n```html\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n  <title>页面标题</title>\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    /* 页面特定样式 */\n  </style>\n</head>\n<body class=\"bg-gray-100\">\n  <!-- 页面内容 -->\n  <script>\n    // 交互逻辑\n  </script>\n</body>\n</html>\n```\n\n### 移动端适配要点\n\n- viewport：`width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no`\n- 触摸目标最小 44×44px\n- 设计基准宽度 750px（微信H5标准）\n- 使用 `flex` 和 `space-y-*` 简化布局\n- 底部固定导航使用 `fixed bottom-0`\n\n### 页面导航\n\n同一HTML文件内的页面通过 `showPage()` 函数切换不同 section 的显示状态实现跳转。不使用 `window.location.href`，不依赖多文件或服务器。\n\n**页面间跳转规则**：\n- 列表页 → 点击列表项 → 进入详情页（传 id 参数）\n- 详情页 → 返回按钮 → 返回列表页（保留位置）\n- 表单提交 → 成功后跳转至目标页\n- 底部Tab → 点击直接切换Tab高亮并跳转对应页面\n\n**传参方式（同一HTML内）**：\n```js\n// 使用 data 属性存储 id\n<div onclick=\"goDetail(123)\" class=\"list-item\">商品A</div>\n\n// 跳转时携带参数\nfunction goDetail(id) {\n  // 将当前页存入\"上一页\"堆栈，用于返回\n  window.historyState = window.historyState || {};\n  window.historyState.backPage = 'home';\n  // 显示详情页（详情页根据全局变量或DOM状态读取id）\n  window.currentDetailId = id;\n  showPage('detail');\n}\n\n// 返回按钮使用\n<button onclick=\"goBack()\" class=\"fixed bottom-0 left-0\">返回</button>\n\nfunction goBack() {\n  const back = window.historyState?.backPage || 'home';\n  showPage(back);\n}\n```\n\n**跨页面状态管理**：\n```js\n// localStorage 存储简单状态（登录态、用户信息）\nlocalStorage.setItem('isLoggedIn', 'true');\nlocalStorage.setItem('user', JSON.stringify({name: '张三'}));\n\n// 页面显示时读取状态，决定展示什么内容\nfunction showPage(name) {\n  // ...切换页面逻辑...\n  if (name === 'profile') {\n    const user = JSON.parse(localStorage.getItem('user') || '{}');\n    document.querySelector('#page-profile .username').textContent = user.name || '未登录';\n  }\n}\n```\n\n### 常用交互模式\n\n**点击切换**：\n```js\ndocument.querySelectorAll('.tab-item').forEach(tab => {\n  tab.addEventListener('click', () => {\n    document.querySelectorAll('.tab-item').forEach(t => t.classList.remove('bg-blue-500', 'text-white'));\n    tab.classList.add('bg-blue-500', 'text-white');\n  });\n});\n```\n\n**表单验证**：\n```js\nform.addEventListener('submit', (e) => {\n  e.preventDefault();\n  if (!input.value.match(/^1[3-9]\\d{9}$/)) {\n    alert('请输入正确手机号');\n    return;\n  }\n  // 提交处理\n});\n```\n\n**列表项点击**：\n```js\ndocument.querySelectorAll('.list-item').forEach(item => {\n  item.addEventListener('click', () => {\n    const id = item.dataset.id;\n    window.location.href = `detail.html?id=${id}`;\n  });\n});\n```\n\n### 组件库（Tailwind CSS）\n\n> Tailwind CSS 已预下载并内联到 HTML 中，无需任何外部依赖。\n\n**按钮**：`px-6 py-2 bg-blue-500 text-white rounded-full`\n**输入框**：`border rounded-lg px-4 py-2 w-full`\n**卡片**：`bg-white rounded-xl shadow p-4`\n**底部导航**：`fixed bottom-0 flex justify-around bg-white border-t`\n**徽标**：`absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full px-1.5 py-0.5`\n\n### 图标使用（内联SVG）\n\n**图标尺寸规范**：`w-5 h-5`（20×20px）或 `w-6 h-6`（24×24px）。**禁止使用 `w-8 h-8`（32px）或更大尺寸**——图标应与文字对齐，不应喧宾夺主。\n\n常用图标以内联 SVG 方式嵌入，避免外部依赖：\n\n```html\n<!-- 返回箭头（推荐尺寸 w-5 h-5）-->\n<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\"/></svg>\n\n<!-- 主页图标 -->\n<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-4 0a1 1 0 01-1-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 01-1 1h-2\"/></svg>\n\n<!-- 用户图标 -->\n<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"/></svg>\n```\n\n### 输出格式\n\n当用户确认需要生成H5原型时，输出：\n\n1. 完整的单HTML文件（所有页面集成在一个文件中，不是多个html文件）\n2. 顶部Tab导航 + 底部固定导航（多Tab应用），点击可跳转到对应页面\n3. 每个页面有独立的section容器，showPage()切换\n4. 列表项点击跳转详情页、详情页返回按钮返回列表页\n5. 表单提交成功后自动跳转\n\n**H5原型页面列表**（写在PRD文档末尾或在PRD后单独说明）：\n\n```\n**H5原型图已生成**\n\n文件名：`{产品名称}_prototype.html`\n\n**重要**：所有页面存在于同一个HTML文件中，不生成多个html文件，不依赖服务器。直接在浏览器打开即可体验完整交互。\n\n**页面导航**：\n- 顶部Tab切换（首页/详情/我的/...）\n- 列表页点击 → 跳转详情页\n- 详情页底部「返回」按钮 → 返回列表页\n- 表单提交成功 → 自动跳转目标页\n\n**技术实现**：\n- 纯HTML/CSS/JS，无框架依赖\n- Tailwind CSS 本地内联，无CDN依赖\n- showPage() 切换 section 显示状态实现页面跳转\n- localStorage 存储登录态等简单状态\n\n**打开方式**：在浏览器中打开 `{产品名称}_prototype.html`，点击Tab、列表项、按钮体验完整交互流程。\n```\n\n### 完整示例：记账APP原型（真实可运行HTML）\n\n以下是一个完整的单文件HTML原型示例，展示了所有交互机制。生成时以此为模板替换具体业务内容：\n\n```html\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n  <title>记账APP原型</title>\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    .page { display: none; }\n    .page.active { display: block; }\n    .hidden { display: none !important; }\n    .tab-btn { transition: all 0.2s; }\n    .list-item { transition: background 0.15s; }\n    .list-item:active { background: #f3f4f6; }\n  </style>\n</head>\n<body class=\"bg-gray-100 font-sans\">\n\n  <!-- 顶部Tab导航 -->\n  <div id=\"nav-tabs\" class=\"flex border-b bg-white sticky top-0 z-10\">\n    <button onclick=\"showPage('home')\" class=\"tab-btn active flex-1 py-3 text-center border-b-2 border-blue-500 text-blue-500 font-medium\">首页</button>\n    <button onclick=\"showPage('add')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-500\">记一笔</button>\n    <button onclick=\"showPage('budget')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-500\">预算</button>\n    <button onclick=\"showPage('profile')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-500\">我的</button>\n  </div>\n\n  <!-- 页面容器 -->\n  <div id=\"pages\" class=\"pb-20\">\n\n    <!-- 首页：账单列表 -->\n    <section id=\"page-home\" class=\"page active\">\n      <div class=\"p-4\">\n        <!-- 本月总支出卡片 -->\n        <div class=\"bg-gradient-to-r from-blue-500 to-blue-600 rounded-2xl p-5 text-white mb-4\">\n          <p class=\"text-sm opacity-80\">本月支出</p>\n          <p class=\"text-3xl font-bold mt-1\">¥2,847.50</p>\n          <p class=\"text-sm opacity-80 mt-2\">环比上月 +12.3%</p>\n        </div>\n        <!-- 账单列表 -->\n        <div class=\"space-y-3\">\n          <div onclick=\"showDetail()\" class=\"list-item bg-white p-4 rounded-xl shadow cursor-pointer\">\n            <div class=\"flex justify-between items-center\">\n              <div class=\"flex items-center gap-3\">\n                <div class=\"w-10 h-10 bg-orange-100 rounded-full flex items-center justify-center\">🍔</div>\n                <div>\n                  <p class=\"font-medium\">餐饮</p>\n                  <p class=\"text-gray-400 text-sm\">今天 12:30</p>\n                </div>\n              </div>\n              <p class=\"font-bold text-red-500\">-¥38.50</p>\n            </div>\n          </div>\n          <div onclick=\"showDetail()\" class=\"list-item bg-white p-4 rounded-xl shadow cursor-pointer\">\n            <div class=\"flex justify-between items-center\">\n              <div class=\"flex items-center gap-3\">\n                <div class=\"w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center\">🚇</div>\n                <div>\n                  <p class=\"font-medium\">交通</p>\n                  <p class=\"text-gray-400 text-sm\">今天 09:15</p>\n                </div>\n              </div>\n              <p class=\"font-bold text-red-500\">-¥4.00</p>\n            </div>\n          </div>\n          <div onclick=\"showDetail()\" class=\"list-item bg-white p-4 rounded-xl shadow cursor-pointer\">\n            <div class=\"flex justify-between items-center\">\n              <div class=\"flex items-center gap-3\">\n                <div class=\"w-10 h-10 bg-green-100 rounded-full flex items-center justify-center\">🛒</div>\n                <div>\n                  <p class=\"font-medium\">购物</p>\n                  <p class=\"text-gray-400 text-sm\">昨天 20:45</p>\n                </div>\n              </div>\n              <p class=\"font-bold text-red-500\">-¥156.00</p>\n            </div>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <!-- 记一笔：添加账单表单 -->\n    <section id=\"page-add\" class=\"page hidden\">\n      <div class=\"p-4\">\n        <div class=\"bg-white rounded-2xl p-5 shadow\">\n          <h2 class=\"text-lg font-bold mb-4\">记一笔</h2>\n          <!-- 金额输入 -->\n          <div class=\"flex items-center gap-2 mb-6 border-b pb-4\">\n            <span class=\"text-2xl font-bold\">¥</span>\n            <input id=\"amount-input\" type=\"number\" placeholder=\"0.00\" class=\"text-3xl font-bold flex-1 outline-none\">\n          </div>\n          <!-- 分类选择 -->\n          <div class=\"grid grid-cols-4 gap-3 mb-6\">\n            <div onclick=\"selectCategory(this, '餐饮')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🍔</span>\n              <span class=\"text-xs mt-1\">餐饮</span>\n            </div>\n            <div onclick=\"selectCategory(this, '交通')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🚇</span>\n              <span class=\"text-xs mt-1\">交通</span>\n            </div>\n            <div onclick=\"selectCategory(this, '购物')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🛒</span>\n              <span class=\"text-xs mt-1\">购物</span>\n            </div>\n            <div onclick=\"selectCategory(this, '娱乐')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🎮</span>\n              <span class=\"text-xs mt-1\">娱乐</span>\n            </div>\n          </div>\n          <!-- 日期 -->\n          <div class=\"flex items-center justify-between py-3 border-t\">\n            <span class=\"text-gray-500\">日期</span>\n            <span id=\"date-display\" class=\"font-medium\">今天</span>\n          </div>\n          <!-- 提交按钮 -->\n          <button onclick=\"submitExpense()\" class=\"w-full py-3 bg-blue-500 text-white rounded-xl font-medium mt-4\">保存</button>\n        </div>\n      </div>\n    </section>\n\n    <!-- 预算页 -->\n    <section id=\"page-budget\" class=\"page hidden\">\n      <div class=\"p-4\">\n        <div class=\"bg-white rounded-2xl p-5 shadow mb-4\">\n          <div class=\"flex justify-between items-center mb-3\">\n            <span class=\"text-gray-500\">本月预算</span>\n            <span class=\"font-bold text-xl\">¥5,000</span>\n          </div>\n          <div class=\"w-full bg-gray-200 rounded-full h-3\">\n            <div class=\"bg-blue-500 h-3 rounded-full\" style=\"width: 57%\"></div>\n          </div>\n          <p class=\"text-sm text-gray-400 mt-2\">已花费 57% · 剩余 ¥2,152.50</p>\n        </div>\n        <!-- 分类预算 -->\n        <div class=\"bg-white rounded-2xl p-5 shadow space-y-4\">\n          <h3 class=\"font-bold\">分类支出</h3>\n          <div>\n            <div class=\"flex justify-between text-sm mb-1\"><span>🍔 餐饮</span><span>¥1,234/¥2,000</span></div>\n            <div class=\"w-full bg-gray-200 rounded-full h-2\"><div class=\"bg-orange-500 h-2 rounded-full\" style=\"width: 62%\"></div></div>\n          </div>\n          <div>\n            <div class=\"flex justify-between text-sm mb-1\"><span>🛒 购物</span><span>¥980/¥1,500</span></div>\n            <div class=\"w-full bg-gray-200 rounded-full h-2\"><div class=\"bg-green-500 h-2 rounded-full\" style=\"width: 65%\"></div></div>\n          </div>\n          <div>\n            <div class=\"flex justify-between text-sm mb-1\"><span>🚇 交通</span><span>¥234/¥500</span></div>\n            <div class=\"w-full bg-gray-200 rounded-full h-2\"><div class=\"bg-blue-500 h-2 rounded-full\" style=\"width: 47%\"></div></div>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <!-- 我的 -->\n    <section id=\"page-profile\" class=\"page hidden\">\n      <div class=\"p-4\">\n        <div class=\"bg-white rounded-2xl p-5 shadow mb-4\">\n          <div class=\"flex items-center gap-4\">\n            <div class=\"w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center text-2xl\">👤</div>\n            <div>\n              <p class=\"font-bold text-lg username\">未登录</p>\n              <p class=\"text-gray-400 text-sm\">记账第 128 天</p>\n            </div>\n          </div>\n        </div>\n        <div class=\"bg-white rounded-2xl shadow overflow-hidden\">\n          <div class=\"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50\">\n            <span>月度报告</span>\n            <svg class=\"w-5 h-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/></svg>\n          </div>\n          <div class=\"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50\">\n            <span>预算设置</span>\n            <svg class=\"w-5 h-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/></svg>\n          </div>\n          <div class=\"flex justify-between items-center p-4 cursor-pointer hover:bg-gray-50\">\n            <span>关于我们</span>\n            <svg class=\"w-5 h-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/></svg>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <!-- 账单详情页（浮动层） -->\n    <div id=\"detail-overlay\" class=\"fixed inset-0 bg-black/50 z-50 hidden\">\n      <div class=\"absolute bottom-0 left-0 right-0 bg-white rounded-t-3xl p-5 max-h-[70vh] overflow-y-auto\">\n        <div class=\"flex justify-between items-center mb-4\">\n          <h2 class=\"text-xl font-bold\">账单详情</h2>\n          <button onclick=\"closeDetail()\" class=\"text-gray-400 p-2\">\n            <svg class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/></svg>\n          </button>\n        </div>\n        <div class=\"space-y-3 text-sm\">\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">分类</span><span>餐饮</span></div>\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">金额</span><span class=\"font-bold text-red-500\">¥38.50</span></div>\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">日期</span><span>2026-04-26 12:30</span></div>\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">备注</span><span>午餐</span></div>\n        </div>\n        <button class=\"w-full py-3 bg-red-50 text-red-500 rounded-xl font-medium mt-4\">删除</button>\n      </div>\n    </div>\n\n  </div>\n\n  <script>\n    let selectedCategory = '';\n\n    function showPage(name) {\n      // 隐藏所有页面\n      document.querySelectorAll('.page').forEach(p => {\n        p.classList.remove('active');\n        p.classList.add('hidden');\n      });\n      // 显示目标页面\n      const target = document.getElementById('page-' + name);\n      if (target) {\n        target.classList.remove('hidden');\n        target.classList.add('active');\n      }\n      // 更新Tab高亮\n      document.querySelectorAll('.tab-btn').forEach(btn => {\n        if (btn.getAttribute('onclick').includes(\"'\" + name + \"'\")) {\n          btn.classList.add('border-blue-500', 'text-blue-500');\n          btn.classList.remove('border-transparent', 'text-gray-500');\n        } else {\n          btn.classList.remove('border-blue-500', 'text-blue-500');\n          btn.classList.add('border-transparent', 'text-gray-500');\n        }\n      });\n      window.scrollTo(0, 0);\n    }\n\n    function selectCategory(el, category) {\n      document.querySelectorAll('.cat-btn').forEach(b => b.classList.remove('bg-blue-100', 'ring-2', 'ring-blue-500'));\n      el.classList.add('bg-blue-100', 'ring-2', 'ring-blue-500');\n      selectedCategory = category;\n    }\n\n    function submitExpense() {\n      const amount = document.getElementById('amount-input').value;\n      if (!amount || !selectedCategory) {\n        alert('请填写金额和选择分类');\n        return;\n      }\n      alert('保存成功：¥' + amount + ' (' + selectedCategory + ')');\n      showPage('home');\n    }\n\n    function showDetail() {\n      document.getElementById('detail-overlay').classList.remove('hidden');\n    }\n\n    function closeDetail() {\n      document.getElementById('detail-overlay').classList.add('hidden');\n    }\n  </script>\n</body>\n</html>\n```\n\n---\n\n# 知识速查\n\n## 需求优先级三剑客\n\n**Kano模型** — 将需求分为基本型（没有就强烈不满）、期望型（越多越满意）、兴奋型（超出预期）。资源有限时优先保基本型。\n\n**RICE评分** — RICE = (影响人数 × 转化率提升 × 信心指数) ÷ 工作量(人天)。按分数排序。\n\n**MoSCoW分类** — Must必须有（核心路径，无则产品不可用，占比约60%）、Should应该有（重要但可延期，占比约20%）、Could可以有（锦上添花，占比约15%）、Won't这次不做（放未来规划，占比约5%）。\n\n## PRD核心结构\n\nPRD的核心不是说清楚要做什么功能，而是说清楚「为什么做、做到什么程度、怎么才算成功」。标准7章：概述→用户与场景→功能需求→非功能需求→数据埋点→风险与依赖→附录。\n\n\n### PRD评审流程\n\n```mermaid\nflowchart TD\n    A([PM起草PRD]) --> B[内部评审\\nPM+设计+开发]\n    B --> C{评审通过?}\n    C -->|否| D[修改PRD]\n    D --> A\n    C -->|是| E[技术方案设计]\n    E --> F[开发任务分解]\n    F --> G[Sprint Planning\\n纳入迭代]\n    G --> H([PRD归档])\n```\n\n\n## AARRR海盗模型\n\nAcquisition获取（新增用户数、获客成本CAC）、Activation激活（新用户激活率、首单转化率）、Retention留存（次日/7日/30日留存率）、Revenue变现（ARPU、LTV）、Referral推荐（NPS、裂变系数K因子）。\n\n\n### 产品KPI体系\n\n```mermaid\nflowchart LR\n    subgraph 获取 Acquisition\n        A1[新增用户] --> A2[获客成本CAC]\n        A1 --> A3[渠道分布]\n    end\n    subgraph 激活 Activation\n        B1[激活率] --> B2[首单转化]\n    end\n    subgraph 留存 Retention\n        C1[次日留存] --> C2[7日留存] --> C3[30日留存]\n    end\n    subgraph 变现 Revenue\n        D1[ARPU] --> D2[LTV]\n    end\n    subgraph 推荐 Referral\n        E1[NPS] --> E2[K因子]\n    end\n    A1 --> B1 --> C1 --> D1 --> E1\n```\n\n\n## Agile/Scrum速查\n\n三个角色：Product Owner负责产品待办列表优先级排序、Scrum Master确保团队遵循Scrum流程清除障碍、Development Team跨职能团队负责交付。\n\n五个仪式：Sprint Planning（每Sprint第一天2-4h规划内容）、Daily Standup（每天15min同步进展识别阻塞）、Sprint Review（每Sprint结束演示成果收集反馈）、Sprint Retrospective（每Sprint结束团队内部复盘）、Backlog Refinement（每周准备下个Sprint需求）。\n\n## Tailwind CSS H5原型速查\n\n> Tailwind CSS 内容已预下载并内联到 HTML 中，生成 H5 原型时无需任何外部依赖。\n\n### 布局\n\n| 类名 | 作用 |\n|------|------|\n| `flex` / `inline-flex` | flex 容器 |\n| `grid` | grid 容器 |\n| `block` / `inline-block` / `hidden` | 块级/行内块/隐藏 |\n| `w-full` / `w-1/2` / `w-32` | 宽度 |\n| `h-full` / `h-screen` | 高度 |\n| `max-w-md` / `max-w-lg` | 最大宽度 |\n| `mx-auto` | 水平居中 |\n| `p-4` / `px-4` / `py-2` | 内边距 |\n| `m-4` / `mb-4` / `mt-2` | 外边距 |\n| `space-y-4` | 子元素垂直间距 |\n| `gap-4` | grid/flex 间距 |\n\n### 移动端适配\n\n| 类名 | 作用 |\n|------|------|\n| `container` | 响应式容器（max-width breakpoints） |\n| `sm:` / `md:` / `lg:` | 响应式断点前缀 |\n| `max-width: 750px` + `mx-auto` | 固定宽度居中（原型基准） |\n\n### 颜色与背景\n\n| 类名 | 作用 |\n|------|------|\n| `bg-white` / `bg-gray-100` / `bg-blue-500` | 背景色 |\n| `text-gray-500` / `text-white` | 文字颜色 |\n| `text-xs` / `text-sm` / `text-base` / `text-lg` | 字号 |\n| `font-bold` / `font-medium` | 字重 |\n| `opacity-50` | 透明度 |\n\n### 边框与阴影\n\n| 类名 | 作用 |\n|------|------|\n| `border` / `border-2` | 边框 |\n| `border-gray-200` | 边框颜色 |\n| `rounded` / `rounded-lg` / `rounded-full` | 圆角 |\n| `shadow` / `shadow-lg` | 阴影 |\n\n### 定位\n\n| 类名 | 作用 |\n|------|------|\n| `relative` / `absolute` / `fixed` | 定位方式 |\n| `top-0` / `bottom-0` / `left-0` / `right-0` | 位置 |\n| `inset-0` | 四边全定位 |\n| `z-10` | 层级 |\n| `fixed bottom-0` | 底部固定导航 |\n\n### 交互状态\n\n| 类名 | 作用 |\n|------|------|\n| `hover:bg-blue-600` | 悬停状态 |\n| `active:bg-blue-700` | 按下状态 |\n| `disabled:opacity-50` | 禁用状态 |\n| `focus:outline-none` | 聚焦状态 |\n\n### 常用 H5 组件\n\n| 组件 | 类名组合 |\n|------|---------|\n| 主按钮 | `px-6 py-2 bg-blue-500 text-white rounded-full hover:bg-blue-600` |\n| 次按钮 | `px-6 py-2 border border-blue-500 text-blue-500 rounded-full` |\n| 输入框 | `border rounded-lg px-4 py-2 w-full focus:outline-none focus:border-blue-500` |\n| 卡片 | `bg-white rounded-xl shadow p-4` |\n| 列表项 | `flex items-center p-4 bg-white border-b border-gray-100` |\n| 底部导航 | `fixed bottom-0 flex justify-around bg-white border-t border-gray-200 py-2` |\n| 徽标/角标 | `absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full px-1.5 py-0.5` |\n| 头像 | `w-10 h-10 rounded-full bg-gray-200` |\n| Tab 栏 | `flex border-b bg-white` |\n| Tab 项 | `flex-1 text-center py-3 text-blue-500 border-b-2 border-blue-500` |\n\n---\n\n# Mermaid图表速查\n\n| 图表 | 关键词 | 用途 |\n|------|--------|------|\n| 流程图 | `flowchart TD/LR` | 用户核心路径和分支 |\n| 时序图 | `sequenceDiagram` | 系统/角色调用顺序 |\n| 状态图 | `stateDiagram-v2` | 实体状态流转 |\n| 甘特图 | `gantt` | 项目计划和时间线 |\n| 架构图 | `flowchart TB` | 系统分层和模块关系 |\n| ER图 | `erDiagram` | 数据库表结构 |\n| 用户旅程 | `journey` | 用户体验全流程情感 |\n\n### 用户登录流程\n\n```mermaid\nflowchart TD\n    A([开始]) --> B[/输入手机号/]\n    B --> C{格式校验}\n    C -->|错误| D[提示格式错误]\n    D --> B\n    C -->|正确| E[获取验证码]\n    E --> F[输入验证码]\n    F --> G{验证正确?}\n    G -->|错误| H[提示验证码错误]\n    H --> F\n    G -->|正确| I[登录成功]\n    I --> J([跳转首页])\n```\n\n### 订单状态流转\n\n```mermaid\nstateDiagram-v2\n    [*] --> 待支付\n    待支付 --> 已取消: 用户取消/超时\n    待支付 --> 待发货: 支付成功\n    待发货 --> 配送中: 商家发货\n    配送中 --> 待收货: 确认收货\n    待收货 --> 已完成: 用户确认\n    待收货 --> 退货中: 申请退货\n    退货中 --> 已退款: 退款成功\n    已完成 --> [*]\n```\n\n### 产品迭代甘特图\n\n```mermaid\ngantt\n    title 产品v2.0迭代计划\n    dateFormat YYYY-MM-DD\n    section 产品设计\n    需求调研       :d1, 2026-01-01, 14d\n    PRD撰写        :d3, after d1, 10d\n    section 开发\n    核心功能开发   :d6, after d3, 30d\n    辅助功能开发   :d7, after d6, 15d\n    section 测试\n    功能测试       :d9, after d6, 20d\n    回归测试       :d10, after d9, 7d\n    section 上线\n    灰度发布       :d11, after d10, 3d\n    全量发布       :d12, after d11, 2d\n```\n\n### 用户注册时序图\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant FE as 前端\n    participant BE as 后端服务\n    participant DB as 数据库\n    U->>FE: 填写注册信息\n    FE->>BE: POST /api/register\n    BE->>DB: 查询是否已注册\n    DB-->>BE: 返回结果\n    alt 已注册\n        BE-->>FE: 错误：手机号已注册\n        FE-->>U: 显示错误提示\n    else 未注册\n        BE->>DB: 创建用户记录\n        DB-->>BE: 返回用户ID\n        BE-->>FE: 注册成功\n        FE-->>U: 跳转验证页\n    end\n```\n\n### 系统架构图\n\n```mermaid\nflowchart TB\n    subgraph 客户端层\n        WEB[\"Web端 (Vue.js)\"]\n        APP[\"App端 (React Native)\"]\n    end\n    subgraph 网关层\n        GW[\"API网关 (Kong)\"]\n    end\n    subgraph 服务层\n        USER[\"用户服务\"]\n        ORDER[\"订单服务\"]\n        PAY[\"支付服务\"]\n    end\n    subgraph 数据层\n        DB[(\"MySQL\")]\n        REDIS[(\"Redis\")]\n        MQ[\"Kafka\"]\n    end\n    WEB & APP --> GW\n    GW --> USER & ORDER & PAY\n    USER & ORDER --> DB\n    ORDER --> MQ\n```\n\n---\n\n# 避坑指南\n\n## 十大常见误区\n\n| 误区 | 正确做法 |\n|------|---------|\n| ❌「我觉得用户需要这个」凭直觉做决策 | ✅ 用用户访谈、数据分析验证假设 |\n| ❌ 功能越多越好，堆砌功能 | ✅ 少即是多，先做核心路径 |\n| ❌ PRD写完就丢，不跟进落地 | ✅ 持续跟进，上线后跟踪数据 |\n| ❌ 忽略技术边界，拍脑袋定排期 | ✅ 需求评审拉上技术，确认可行性 |\n| ❌ 需求变更口头通知，不走流程 | ✅ 需求变更走正式流程，评估影响 |\n| ❌ 只看转化率，忽略留存 | ✅ 结合留存、NPS、DAU综合评估 |\n| ❌ 竞品有什么我就抄什么 | ✅ 理解定位，找差异化机会 |\n| ❌ 排期过于乐观，不留Buffer | ✅ 评估工期乘以1.5-2倍风险系数 |\n| ❌ 忽视非功能需求 | ✅ 性能/安全/兼容性需求阶段定义 |\n| ❌ 上线无监控，不知道效果 | ✅ 上线前配置埋点和监控告警 |\n\n## PRD写作常见错误\n\n| 错误 | 正确做法 |\n|------|---------|\n| ❌ 背景写成了功能介绍（「我们要做分享功能」） | ✅ 背景说清市场/用户/机会 |\n| ❌ 目标不可量化（「提升用户体验」） | ✅ 「注册转化率从60%提升到75%」 |\n| ❌ 验收标准模糊（「界面美观大方」） | ✅ 「点击按钮后2秒内显示结果」 |\n| ❌ 功能边界不清晰（「等等这个应该不算」） | ✅ 明确定义包含/不包含 |\n\n---\n\n# 快速参考\n\n## 需求优先级\n\n| 级别 | 含义 | 占比 |\n|------|------|------|\n| P0 / Must | 核心路径，无则不可用 | 60% |\n| P1 / Should | 重要但可延期 | 20% |\n| P2 / Could | 锦上添花 | 15% |\n| P3 / Won't | 未来规划，本次不做 | 5% |\n\n## 核心指标\n\n| 维度 | 指标 |\n|------|------|\n| 活跃 | DAU/MAU/日均使用时长 |\n| 留存 | 次日/7日/30日留存率 |\n| 转化 | 注册转化率/付费转化率 |\n| 变现 | ARPU/LTV/客单价 |\n| 口碑 | NPS/评分/评论数 |\n\n## PRD快速清单\n\n- [ ] 背景说清楚了「为什么做」\n- [ ] 目标可量化（数字，不是「提升体验」）\n- [ ] 用户画像明确（不是「所有用户」）\n- [ ] 功能有优先级（P0/P1/P2）\n- [ ] 每个功能有验收标准（可测试）\n- [ ] 非功能需求明确（性能/安全/兼容性）\n- [ ] 风险有应对方案\n- [ ] Mermaid图表涵盖架构图/用户旅程/迭代计划\n\n\n---\n\n# 输出格式规范\n\n## 必须遵守\n\n- 输出必须是一段干净连贯的文字，不能出现「根据参考文档」「第一层/第二层」「用XX框架分析」等分层标记或内部推理过程\n- 不使用列表编号（如「1. 2. 3.」）做主要叙述方式，用自然段落\n- 代码块用于展示具体内容，如Mermaid图表代码、PRD片段、用户故事模板\n- Mermaid图表用 ```mermaid 代码块包裹\n- 表格用于对比、矩阵等需要对照的场景\n\n## 禁用格式\n\n- ❌ 「根据搜索结果/参考文档/知识库」\n- ❌ 「第一层/第二层/第三层」「认知操作系统」「蒸馏过程」\n- ❌ 「用Kano框架分析」「用RICE评分方法」\n- ❌ 刻意使用大量列表编号（超过5个连续列表项）\n\n## 回复结构\n\n知识讲解类先用一段话定义核心概念，再说具体方法/工具/场景，最后补充注意事项。需求分析类先确认用户的产品方向/平台/功能，再给出建议用自然段落，最后提供可操作的文档结构或图表代码。文档生成类先确认需求细节，直接输出文档内容含Mermaid图表代码，最后附上填写说明。\n\n\n---\n\n## 附件列表\n\n参考文档共11个，覆盖PM职责、PRD模板、SDLC流程、Mermaid图表、分析框架、技能体系、职业路径、敏捷开发，以及前端组件库和H5原型资源：\n\n- `references/pm-responsibilities.md` — 产品经理职责与职业素养（554行）\n- `references/prd-template.md` — PRD产品需求文档模板（489行）\n- `references/sdlc-product-process.md` — 软件开发生命周期与产品流程（344行）\n- `references/mermaid-guide.md` — Mermaid产品图表绘制规范（490行）\n- `references/pm-framework.md` — PM分析框架（AARRR/RFM/SWOT/5W1H/Ansoff/波特五力/留存/竞品/商业模式画布，528行）\n- `references/pm-skills.md` — PM技能体系（硬技能/软技能/工具技能/行业知识，476行）\n- `references/pm-career-path.md` — PM职业发展路径（AP→CPO/转行/面试/薪资，498行）\n- `references/agile-dev.md` — 敏捷开发实践（Scrum/Kanban/用户故事/DoD/技术债务，609行）\n- `references/tailwind-core/` — Tailwind CSS核心文档（9个文件：utility-first/responsive-design/dark-mode/animation/configuration/content-configuration/theme/hover-focus-and-other-states/functions-and-directives）\n- `references/icon-libraries/icon-sources.txt` — 图标库资源（Heroicons/Lucide/Iconify/SVGRepo，许可证/CDN信息）\n- `references/h5-prototype/` — H5移动端最佳实践（tailwind安装/browser-support/h5-mobile-best-practices）\n\n---\n\n## 来源: 2026-04-24（更新频率：季度更新）\n\n- Atlassian Agile: https://www.atlassian.com/software-development-lifecycle\n- Scrum Guide: https://www.scrumguides.org/\n- 产品经理知识体系:\n  - https://www.woshipm.com/\n  - https://www.zhouqicf.com/\n- Mermaid文档: https://mermaid.js.org/\n- PM.gov: https://www.pmi.org/\n- ProductBoard: https://www.productboard.com/\n- Aha! Roadmap: https://www.aha.io/\n- Jira官方: https://www.atlassian.com/software/jira\n- Notion: https://www.notion.so/product\n- Tailwind CSS中文文档: https://www.tailwindcss.cn/\n- Heroicons: https://heroicons.com/\n- Lucide图标: https://lucide.dev/\n- Iconify: https://iconify.design/\n- SVGRepo: https://www.svgrepo.com/\n\n\n### 数据库ER图\n\n```mermaid\nerDiagram\n    USER {\n        bigint id PK\n        string username\n        string mobile UK\n        string email UK\n        tinyint status\n    }\n    ORDER {\n        bigint id PK\n        bigint user_id FK\n        string order_no UK\n        decimal total_amount\n        tinyint status\n    }\n    USER ||--o{ ORDER : places\n```\n\n### 用户旅程图\n\n```mermaid\njourney\n    title 用户购物流程\n    section 购物流程\n      搜索商品: 5: 用户\n      浏览详情: 3: 用户\n      加入购物车: 5: 用户\n      结算: 4: 用户\n      选择支付: 4: 用户\n      支付: 3: 用户\n      下单成功: 5: 用户\n```\n\nFile v2.2.0:README.md\n\n# Software Manager Skill\n\n> 软件产品经理/软件开发经理知识技能 - 主动式产品咨询 + PRD生成 + Mermaid图表 + **一键生成可交互H5原型图（零外部依赖）**\n\n## 概述\n\nSoftware Manager Skill 是一款面向 Agent 的软件产品经理助手。它遵循**主动式产品咨询流程**，帮助用户完成从需求分析到PRD文档输出、再到**可交互H5原型图**的完整产品工作流。\n\n### 核心能力\n\n- **需求分析**: 通过三问确认法明确产品方向、平台形态和成熟度\n- **多源搜索**: 同时调用网络搜索 + RAG本地知识库，确保信息全面\n- **PRD生成**: 输出符合行业标准的完整产品需求文档\n- **Mermaid图表**: 自动生成产品架构图、甘特图等\n- **H5原型图**: 一键生成纯H5+CSS+JS可交互原型（无需Vue/React，直接浏览器打开，零外部依赖）\n\n### 适用场景\n\n- 从0到1设计新产品\n- 撰写产品需求文档（PRD）\n- 产品路线图规划\n- 竞品分析\n- 敏捷开发流程咨询\n- **生成可交互H5原型图（纯H5+CSS+JS，无需Vue/React，零外部依赖）**：\n  - PRD 完成后主动询问是否需要\n  - 自动下载并内联 Tailwind CSS（无 CDN 依赖）\n  - **所有页面集成在单个 HTML 文件中**（不是多个 html 文件）\n  - 顶部 Tab 切换 + 列表点击跳转 + 返回按钮\n  - 纯前端交互，不依赖服务器\n\n## 工作流程\n\n```\n确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式选择 → H5原型图\n```\n\n### 阶段一：确认需求\n\n收到产品需求后，通过三个核心问题确认：\n1. 产品方向（做什么、面向谁、解决什么问题）\n2. 平台形态（APP/小程序/Web、C端/B端）\n3. 成熟度（从0到1新产品的迭代）\n\n### 阶段二：多源资料搜索\n\n**网络搜索** - 由系统自动选择最可靠的网络搜索工具：\n- 行业趋势和最新动态\n- 竞品功能和用户评价\n- 设计方法和案例研究\n\n**RAG本地搜索** - 读取本地参考文档：\n- `pm-responsibilities.md` - PM职责与职业素养\n- `prd-template.md` - PRD文档模板\n- `pm-framework.md` - 分析框架（AARRR/SWOT/Kano等）\n- `mermaid-guide.md` - Mermaid图表规范\n\n### 阶段三：产品规划\n\n输出：\n- 一句话产品定位\n- MoSCoW优先级分类\n- MVP范围定义\n\n### 阶段四：方案对比（用户选择）\n\n输出2-3个方案（简约版/标准版/增强版），用户选择后进入下一步。\n\n### 阶段五：技术选型确认\n\n用户选定方案后，确认前端框架、后端技术栈、数据库选型、第三方服务依赖。确认后进入需求确认。\n\n### 阶段六：需求确认\n\n用户选定方案后，PRD 正式输出前，输出需求确认书供用户确认核心内容（功能列表、业务流程、目标指标），确保理解准确后再进入文档输出。\n\n### 阶段七：PRD文档输出\n\n输出完整PRD文档，包含：\n- 概述（背景、定位、目标用户、成功标准）\n- 用户与场景（用户画像、核心用例）\n- 功能需求（功能列表、详细说明、验收标准）\n- 非功能需求（性能、安全、兼容性）\n- 数据埋点\n- 风险与依赖\n- 附录\n\n**按需保存**: 用户明确要求时，才使用 Write 工具保存到 `~/projects/{产品名称}/PRD/`\n\n### 阶段八：Mermaid图表\n\n根据产品类型自动生成对应图表：\n- 从0到1产品 → 架构图  + MVP甘特图\n- 迭代类产品 → 状态流转图 + 迭代计划甘特图 + 时序图\n- 竞品分析 → 功能对比矩阵 + 架构对比图\n- 数据分析 → AARRR漏斗图 + 留存曲线\n\n### 阶段十：H5可交互原型图\n\n一键生成纯H5+CSS+JS可交互原型，**所有页面在同一HTML文件中，通过点击跳转交互**，直接在浏览器打开即可体验完整流程。\n\n## 使用示例\n\n### 示例1：设计一款运动APP\n\n**用户输入**：\n> 帮我设计一个运动类的软件\n\n**Skill响应**：\n> 好的，我理解你想设计一款运动类软件...\n> 产品方向/平台形态/成熟度 - 三问\n> ...\n> PRD文档 + Mermaid图表\n> PRD已保存到: `~/projects/running-app/PRD/running-app_PRD_v0.1.md`\n\n### 示例2：产品经理知识咨询\n\n**用户输入**：\n> 什么是Kano模型？\n\n**Skill响应**：\n> Kano模型是需求优先级划分的经典方法...\n\n## 触发关键词\n\n```\n产品经理|PRD|产品需求文档|需求分析|产品设计|产品路线图|竞品分析|\n用户故事|敏捷开发|Scrum|产品从0到1|功能需求|非功能需求|\nKano模型|RICE评分|MoSCoW|产品架构|Mermaid|...\n```\n\n## 目录结构\n\n```\nsoftware-manager-skill/\n├── SKILL.md                      # 核心技能定义\n├── README.md                     # 本文件\n├── LICENSE                       # MIT License\n└── references/                   # 本地知识库\n    ├── pm-responsibilities.md    # PM职责与职业素养\n    ├── prd-template.md          # PRD模板\n    ├── sdlc-product-process.md   # 软件开发生命周期\n    ├── mermaid-guide.md         # Mermaid图表规范\n    ├── pm-framework.md          # PM分析框架\n    ├── pm-skills.md             # PM技能体系\n    ├── pm-career-path.md         # PM职业路径\n    ├── agile-dev.md             # 敏捷开发实践\n    ├── tailwind-core/           # Tailwind CSS核心文档\n    ├── icon-libraries/          # 图标库资源（Heroicons/Lucide/Iconify）\n    └── h5-prototype/            # H5移动端最佳实践\n```\n\n## 技术栈\n\n- **框架**: Agent Skill System（兼容 Claude Code / OpenClaw / Hermes Agent 等）\n- **搜索**: WebSearch + WebFetch + Grep/Read\n- **文档**: Markdown + Mermaid\n- **输出**: 本地文件保存\n- **H5原型**: 纯 HTML/CSS/JS，Tailwind CSS 本地内联（零外部依赖）\n\n## 参考资源\n\n### 官方文档\n- [Atlassian Agile](https://www.atlassian.com/software-development-lifecycle)\n- [Scrum Guide](https://www.scrumguides.org/)\n- [Mermaid Documentation](https://mermaid.js.org/)\n- [Tailwind CSS 中文文档](https://www.tailwindcss.cn/)\n\n### 图标库\n- [Heroicons](https://heroicons.com/) — MIT, 316图标\n- [Lucide](https://lucide.dev/) — MIT, 1000+图标\n- [Iconify](https://iconify.design/) — Apache 2.0, 200k+图标\n\n### 产品经理社区\n- [人人都是产品经理](https://www.woshipm.com/)\n- [周菜花](https://www.zhouqicf.com/)\n- [ProductBoard](https://www.productboard.com/)\n- [Aha! Roadmap](https://www.aha.io/)\n\n## 更新日志\n\n### v2.0.4 (2026-04-26)\n- 修复: 阶段编号重新整理（阶段五/六重复 → 阶段一至十连续编号）\n- 修复: 搜索工具改为\"系统自动选择\"，不再硬编码具体工具名\n- 新增: H5原型完整示例（记账APP真实可运行HTML代码，约270行）\n- 修复: README 流程总述截断问题（description字段精简）\n- 评分: 105.0/105 A+ 级\n\n### v2.0.3 (2026-04-26)\n- 新增: 阶段四半点——需求确认书（PRD输出前增加一轮需求确认）\n- 新增: Tailwind CSS 本地化下载+内联流程（H5原型图零外部依赖）\n- 新增: Tailwind CSS H5原型速查表（布局/颜色/定位/组件）\n- 新增: README 中 H5 原型图详细特性说明\n- 修复: README 框架描述从\"Claude Code\"改为通用\"Agent Skill System\"\n- 评分: 105.0/105 A+ 级\n\n### v2.0.2 (2026-04-25)\n- 新增: 一键生成可交互H5原型图（纯H5+CSS+JS，无需Vue/React）\n- 新增: Tailwind CSS核心文档爬取（utility-first/responsive-design/dark-mode/animation等9个文件）\n- 新增: 图标库资源参考（Heroicons/Lucide/Iconify/SVGRepo）\n- 新增: H5移动端最佳实践文档\n- 评分: 99.0/100 A级\n\n### v2.1.0 (2026-04-23)\n- 重命名: skill名称从 product-manager 改为 software-manager-skill\n- 同步更新文件夹名称\n\n### v2.0.0 (2026-04-23)\n- 修复: 阶段二增加网络搜索，不再只依赖RAG本地搜索\n- 新增: 支持用户指定路径保存PRD文档\n- 新增: README.md文档完善\n\n### v1.0.0 (2026-04-23)\n- 初始版本\n- 支持主动式产品咨询流程\n- PRD文档模板\n- Mermaid图表生成\n\n## 贡献指南\n\n欢迎提交 Issue 和 Pull Request！\n\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 创建 Pull Request\n\n## License\n\n本项目采用 MIT License - 详见 [LICENSE](LICENSE) 文件\n\n---\n\n*Built with Claude Code*\n\nFile v2.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7fxhhc4fe4xefs6fnnzbwxhh82588a\",\n  \"slug\": \"software-manager-skill\",\n  \"version\": \"2.2.0\",\n  \"publishedAt\": 1777304917260\n}\n\nFile v2.2.0:references/agile-dev.md\n\n# 敏捷开发指南（PM版）\n\n> 来源：敏捷开发知识体系（2026）\n> https://www.woshipm.com/  https://www.zhouqicf.com/  https://www.atlassian.com/agile/\n\n---\n\n## 一、敏捷宣言与原则\n\n### 敏捷宣言（2001）\n\n**四个核心价值观：**\n\n| 宣言 | 解释 |\n|------|------|\n| 个体和互动 **高于** 流程和工具 | 人是项目成功的关键 |\n| 可工作的软件 **高于** 详尽的文档 | 交付价值优先 |\n| 客户合作 **高于** 合同谈判 | 与客户持续共建 |\n| 响应变化 **高于** 遵循计划 | 拥抱变化 |\n\n### 敏捷12原则\n\n| 序号 | 原则 |\n|------|------|\n| 1 | 最高优先级是通过尽早、持续交付有价值的软件来满足客户 |\n| 2 | 欢迎需求变更，即使在开发后期。敏捷过程为客户竞争优势而拥抱变化 |\n| 3 | 频繁交付可工作的软件，从几周到几个月不等，偏好较短的周期 |\n| 4 | 业务人员和开发人员必须在整个项目中每天一起工作 |\n| 5 | 围绕有积极性的个人构建项目，提供所需的环境和支持，相信他们能完成工作 |\n| 6 | 面对面沟通是团队内部传递信息最有效率的方式 |\n| 7 | 可工作的软件是度量进度的主要标准 |\n| 8 | 敏捷过程提倡可持续开发。Sponsor、开发者和用户应保持长期恒定的节奏 |\n| 9 | 持续关注技术卓越和好的设计可以增强敏捷性 |\n| 10 | 简单——最大化未完成工作量的艺术——是本质 |\n| 11 | 最好的架构、需求和设计来自自组织的团队 |\n| 12 | 团队定期反思如何变得更有效果，然后相应地调整行为 |\n\n---\n\n## 二、Scrum vs Kanban vs Scrumban\n\n### 三种敏捷框架对比\n\n| 维度 | Scrum | Kanban | Scrumban |\n|------|-------|--------|----------|\n| 迭代 | 固定长度Sprint（1-4周） | 连续流 | 混合 |\n| 角色 | Scrum Master、PO、Team | 无强制角色 | 混合 |\n| 计划 | Sprint规划，大量工作承诺 | 按需拉入 | Sprint+按需 |\n| 变更 | Sprint期间不变更 | 随时可以变更 | 灵活 |\n| 度量 | Velocity、Sprint燃尽图 | Lead Time、Cumulative Flow | 混合 |\n| 适合场景 | 产品开发，功能明确 | 运维、持续交付 | 过渡期、复杂项目 |\n\n### Scrum 详解\n\n**核心框架：**\n\n| 活动 | 频率 | 时长 | 参与者 |\n|------|------|------|--------|\n| Sprint | 2-4周 | - | 团队 |\n| Sprint Planning | 开始时 | 2-4h/Sprint周 | 团队+PO |\n| Daily Scrum | 每天 | 15min | 团队 |\n| Sprint Review | 结束时 | 1-2h | 团队+利益相关方 |\n| Sprint Retrospective | 结束后 | 1h | 团队 |\n\n**Scrum 角色：**\n\n| 角色 | 职责 | 核心工作 |\n|------|------|---------|\n| Product Owner | 价值最大化 | 需求优先级、Product Backlog管理 |\n| Scrum Master | 流程优化 | 清除障碍、教练 |\n| Development Team | 交付价值 | 自我管理、交付可工作软件 |\n\n---\n\n## 三、Sprint 规划会议指南（PM视角）\n\n### 会议目标\n\n1. 明确 Sprint 目标\n2. 选择可以完成的 Product Backlog items\n3. 团队承诺 Sprint 目标\n\n### PM 会前准备\n\n**必须准备：**\n- [ ] Product Backlog 已按优先级排序\n- [ ] 待选需求已细化（用户故事 + 验收标准）\n- [ ] 需求依赖已识别\n- [ ] 技术方案已与开发确认\n\n---\n\n## 四、Sprint 评审最佳实践\n\n### 评审准备\n\n**PM 准备清单：**\n\n| 项目 | 说明 | 检查 |\n|------|------|------|\n| 演示环境 | 可正常运行的演示版本 | [ ] |\n| 演示数据 | 准备好的测试数据 | [ ] |\n| 功能清单 | 准备演示的功能列表 | [ ] |\n| 用户反馈 | 收集的反馈和问题 | [ ] |\n| 场地设备 | 会议室、投影设备 | [ ] |\n\n### 好的评审 vs 差的评审\n\n**好的评审：**\n- 演示可工作的软件\n- 聚焦价值交付\n- 收集真实反馈\n- 做出明确决策\n\n**差的评审：**\n- 演示 PPT 或文档\n- 变成项目汇报\n- 没有收集反馈\n- 议程不清晰\n\n---\n\n## 五、用户故事写法（INVEST）\n\n### INVEST 原则\n\n| 字母 | 含义 | 说明 |\n|------|------|------|\n| I | Independent | 独立的，尽量减少依赖 |\n| N | Negotiable | 可协商的，不是固定规格 |\n| V | Valuable | 有价值的，对用户或客户 |\n| E | Estimable | 可估算的，团队能评估工作量 |\n| S | Small | 小的，能在1-3天完成 |\n| T | Testable | 可测试的，有明确的验收标准 |\n\n### 用户故事格式\n\n**标准格式：**\n```\n作为 [用户类型]\n我想要 [做某事]\n以便 [达到某目标]\n```\n\n**验收标准格式（Given-When-Then）：**\n```\n场景 1: [场景描述]\n  假设 [前置条件]\n  当 [操作]\n  那么 [预期结果]\n```\n\n### 用户故事示例\n\n**好的故事：**\n\n```\n故事：用户搜索商品\n━━━━━━━━━━━━━━━━━━━\n作为 购物用户\n我想要 通过关键词搜索商品\n以便 快速找到我想要的商品\n\n验收标准：\n━━━━━━━━━━━━━━━━━━━\n场景: 正常搜索\n  假设 用户已登录\n  当 用户输入\"手机\"并点击搜索\n  那么 显示包含\"手机\"的商品列表\n\n场景: 无结果搜索\n  假设 用户已登录\n  当 用户输入不存在的关键词\n  那么 显示\"未找到相关商品\"提示\n```\n\n---\n\n## 六、Definition of Done vs Definition of Ready\n\n### Definition of Ready（DoR）- 准备就绪\n\n**定义：需求可以进入开发的条件**\n\n| 检查项 | 说明 |\n|--------|------|\n| 需求澄清 | Product Owner 已确认需求 |\n| 验收标准 | 明确、可测试的验收标准 |\n| 依赖清除 | 无阻碍开发的依赖 |\n| 估算完成 | 开发团队已估算 |\n| 技术方案 | 技术方案已讨论确认（必要时） |\n\n### Definition of Done（DoD）- 完成定义\n\n**定义：任务/故事被认为完成的最低标准**\n\n| 层级 | 检查项 |\n|------|--------|\n| 开发完成 | 代码编写、Code Review 通过 |\n| 测试完成 | 单元测试、集成测试通过 |\n| 文档完成 | 必要文档更新 |\n| 验证完成 | 功能验证通过 |\n| 部署完成 | 部署到测试环境 |\n\n---\n\n## 七、技术债务管理（PM视角）\n\n### 什么是技术债务\n\n**定义：** 为了短期目标而采用的临时技术方案，长期来看需要\"还债\"。\n\n**常见类型：**\n\n| 类型 | 说明 | 示例 |\n|------|------|------|\n| 有意债务 | 已知晓，主动选择 | \"先上线，后续优化\" |\n| 无意债务 | 疏忽导致 | 代码质量差、无测试 |\n| 复杂度债务 | 过度设计 | 不必要的抽象 |\n\n### PM 如何识别技术债务\n\n**信号：**\n- 开发时间变长\n- Bug 越来越多\n- 难以添加新功能\n- 性能持续下降\n- 团队抱怨代码难维护\n\n### 技术债务处理策略\n\n**策略1：预留buffer（20%法则）**\n- 每个Sprint预留20%处理技术债务\n- 适用于债务可控情况\n\n**策略2：专项迭代**\n- 专门安排Sprint处理技术债务\n- 适用于债务积累严重情况\n\n**策略3：渐进式重构**\n- 每次改动时顺手优化周边代码\n- 适用于债务不太严重情况\n\n---\n\n## 八、敏捷中的发布计划与路线图\n\n### 产品路线图 vs Sprint计划\n\n| 类型 | 时间范围 | 颗粒度 | 目的 |\n|------|---------|--------|------|\n| 产品路线图 | 6-18个月 | 主题/Epic | 长期规划 |\n| Release计划 | 3-6个月 | Feature | 中期规划 |\n| Sprint计划 | 1-4周 | Story | 短期执行 |\n\n---\n\n## 九、规模化敏捷（LeSS/SAFe简介）\n\n### 什么时候需要规模化\n\n**信号：**\n- 超过8-10人的团队\n- 多个团队协作同一个产品\n- 需要跨团队协调\n- 战略规划需要跨团队对齐\n\n### LeSS（大规模Scrum）\n\n**核心原则：**\n- 产品只有一个Product Backlog\n- 多个团队共享\n- 团队尽量自管理\n- 区域产品负责人协调\n\n### PM 在规模化敏捷中的角色\n\n| 规模 | PM 角色变化 |\n|------|------------|\n| 单团队 | 独立负责产品/功能 |\n| 3-5团队 | 多个PM协作，产品线视角 |\n| 5+团队 | 需要产品组合管理 |\n\n---\n\n## 十、敏捷反模式\n\n### 常见反模式列表\n\n| 反模式 | 描述 | 危害 |\n|--------|------|------|\n| Scrum-but | 用Scrum形式但忽略本质 | 形式主义 |\n| 敏捷瀑布 | 把敏捷变成新流程 | 失去灵活性 |\n| 角色空心化 | PM变成传话筒 | 失去PM价值 |\n| Sprint过载 | Sprint塞太满 | 团队疲惫 |\n| 忽略技术实践 | 只管进度不顾质量 | 技术债务 |\n| 抗拒变更 | Sprint中随意变更 | 破坏迭代节奏 |\n| 无验收 | 交付后不验收 | 需求无效 |\n\n### 反模式详解\n\n**1. Scrum-but**\n```\n❌ 错误做法：\n\"我们是敏捷的，但我们有详细的年度计划\"\n\"我们是敏捷的，但发布节奏还是每半年一次\"\n\n✅ 正确做法：\n真正拥抱变化，小步快跑\n```\n\n**2. 每日站会变成汇报会**\n```\n❌ 错误做法：\n- 每个人汇报昨天做了什么、今天做什么\n- PM/领导旁听打分\n- 变成向上汇报\n\n✅ 正确做法：\n- 围绕Sprint目标\n- 识别阻塞\n- 团队自组织\n```\n\n---\n\n## 来源\n\n> 来源：敏捷开发知识体系（2026）\n> - 敏捷开发实践：https://www.woshipm.com/agile/\n> - Scrum指南：https://www.atlassian.com/agile/scrum\n> - 敏捷转型：https://www.zhouqicf.com/\n\nFile v2.2.0:references/browser-support.md\n\n---\nsource: |\n  来源：Tailwind CSS / 行业最佳实践\n  URL: https://www.tailwindcss.cn/\ndate: 2026-04-25\n---\n\n# Tailwind CSS Browser Support\n\n## Supported Browsers (v3.0+)\n- Chrome (latest stable)\n- Firefox (latest stable)\n- Edge (latest stable)\n- Safari (latest stable)\n\n## NOT Supported\n- Internet Explorer 11 (IE11) - Not supported at all\n\n## Bleeding-Edge Features\nSome features may have limited support:\n- :focus-visible pseudo-class\n- backdrop-filter utilities\n- These can be avoided if browser support is a concern\n\n## Vendor Prefixes\n- Many CSS properties require vendor prefixes (e.g., -webkit-background-clip: text)\n- Tailwind CLI adds prefixes automatically\n- For PostCSS: Use Autoprefixer plugin\n  npm install -D autoprefixer\n  # Add to end of PostCSS plugins list\n\n## H5 Mobile Browser Support Notes\nFor Chinese market H5 development:\n- WeChat built-in browser (X5内核) - generally good modern browser support\n- UC Browser - supports most modern CSS but may need Autoprefixer\n- Baidu Browser - similar to Chrome/Chromium\n- Safari iOS - full support for Tailwind features\n- Android default browser - varies by Android version\n\n## Recommendation for H5\n- Always use Autoprefixer for production\n- Test on WeChat/X5内核 - common in China\n- Use Can I Use (caniuse.com) to check specific CSS feature support\n\nFile v2.2.0:references/data-analysis-metrics.md\n\n# 数据分析指标体系参考\n\n> 来源：行业通用指标体系 + 头部公司实践\n> URL: https://www.notion.so/product https://mixpanel.com https://amplitude.com\n> 整理时间：2026-04-25\n\n## 核心指标框架（AARRR 海盗模型）\n\nAARRR 是产品增长的核心框架，涵盖用户生命周期的五个关键阶段。每个阶段都有核心指标和优化目标。\n\n### Acquisition 获取用户\n\n获取用户是增长的第一步，关注的是「用户从哪来」和「获客成本是多少」。\n\n**核心指标：**\n\n| 指标 | 定义 | 行业基准 | 优化方向 |\n|------|------|---------|---------|\n| 新增用户数 | 首次启动 APP 的独立设备数 | 日/周/月 | 渠道优化 |\n| 获客成本 CAC | 获取一个新用户的总成本 | C端 30-150元，B端 500-5000元 | 降低 20% |\n| 渠道 ROI | 收入/CAC，衡量渠道盈利能力 | >3 为健康 | 聚焦高 ROI 渠道 |\n| 渠道占比 | 各渠道新增用户占总新增比例 | 头部渠道<40% | 渠道分散化 |\n| 内容营销获取量 | 博客/视频/社媒带来的自然用户 | 占总新增 15-30% | 内容质量提升 |\n\n**CAC 计算公式：**\n\n```\nCAC = (营销总费用 + 销售总费用) / 新增付费用户数\n\n细分 CAC：\n- 有机 CAC = 自然流量获取成本 / 自然新增用户\n- 付费 CAC = 付费推广费用 / 付费渠道新增用户\n- 病毒 CAC = 口碑传播成本 / 口碑传播带来的用户\n```\n\n**渠道归因模型：**\n\n| 模型 | 适用场景 | 特点 |\n|------|---------|------|\n| Last Click 最后点击 | 电商转化 | 归因给最后一次互动渠道 |\n| First Click 首次点击 | 品牌主导 | 归因给首次发现渠道 |\n| Linear 线性分摊 | B2B | 平均分配给每个触点 |\n| Time Decay 时间衰减 | 短周期决策 | 近期触点权重更高 |\n| U-Shaped U型 | 综合评估 | 首次+末尾各 40%，中间平分 |\n\n### Activation 激活用户\n\n获取用户后关键是让他们体验到产品核心价值。激活的核心是「用户真正使用了核心功能」而不是「注册就算激活」。\n\n**核心指标：**\n\n| 指标 | 定义 | 目标值 | 说明 |\n|------|------|--------|------|\n| 激活率 | 完成核心动作的新用户比例 | 40-70% | 取决于产品类型 |\n| 首次使用时间 | 注册到首次核心动作的间隔 | <5 分钟 | 越短越好 |\n| Aha Moment 顿悟时刻 | 用户首次体验到产品价值的时刻 | 存在 | 产品留存关键 |\n| 新手引导完成率 | 完成新手引导的用户比例 | >60% | 流失高发点 |\n| 核心功能使用率 | 首次使用某核心功能的用户比例 | 因产品而异 | 识别关键功能 |\n\n**激活率实战计算：**\n\n```\n激活率 = 完成「激活动作」的新用户数 / 新增用户数 × 100%\n\n激活动作定义示例：\n- 社交产品：添加第一个好友\n- 电商产品：完成首次下单\n- 内容产品：消费 3 篇内容\n- 工具产品：使用核心工具功能 3 次\n```\n\n**提升激活率的策略：**\n\n新用户引导流程优化是提升激活率最有效的方式。首先要识别 Aha Moment，找到让用户觉得产品「值了」的那个功能或时刻。然后优化新用户引导路径，减少非必要步骤，降低认知负担。注册流程也要简化，延迟到用户真正需要时才要求注册。对于功能型产品，提供默认配置让用户快速体验核心价值。最后，通过行为数据识别高意向用户，进行针对性引导。\n\n### Retention 留存\n\n留存是产品价值的核心体现。用户留不住，增长越快损失越大。\n\n**核心指标：**\n\n| 指标 | 定义 | 健康值 | 说明 |\n|------|------|--------|------|\n| 次日留存率 | 新用户在次日回访的比例 | >40% | 行业基准 |\n| 7日留存率 | 新用户在第7天回访的比例 | >20% | 中期粘性 |\n| 30日留存率 | 新用户在第30天回访的比例 | >10% | 长期价值 |\n| 留存曲线 | 留存率随时间变化的曲线 | L型趋于平稳 | 产品健康度 |\n| 流失率 | 活跃用户在某周期内流失的比例 | <5%/月 | 流失预警 |\n\n**留存率计算：**\n\n```\nN日留存率 = 第N天回访的活跃用户数 / 第0天新增用户数 × 100%\n\n流失率 = (期初用户数 - 期末用户数) / 期初用户数 × 100%\n\n留存衰减公式（经验值）：\n- 优秀产品：留存率 ≈ 20% × (n^-0.5)（n为天数）\n- 普通产品：留存率 ≈ 10% × (n^-0.7）\n- 顶级产品：留存率 ≈ 40% × (n^-0.3）\n```\n\n**留存分析实战：**\n\n留存分析需要按维度拆分，不能只看整体数字。按用户来源渠道拆分可以识别高质量获客渠道；按用户行为路径拆分能找到让用户留下来的关键行为；按用户属性拆分（年龄/地域/设备）能定位目标用户群体；按产品版本拆分可以评估版本迭代对留存的影响。\n\n留存低的常见原因包括：新用户引导不清晰、核心功能藏得太深、内容/商品质量不够、push 通知过度、竞品体验更好、以及产品 PMF 本身不匹配市场。\n\n**提升留存的策略：**\n\n有效的留存策略首先要识别并优化流失节点，找到用户在哪一步流失并针对性改进。推送召回是成熟产品的必备手段，包括活动推送、内容推送和个性化推送。会员体系能显著提升忠诚度，需要设计等级权益和成长机制。社交关系链是把双刃剑，用好能让留存率翻倍；同时要关注功能迭代的节奏和频率。\n\n### Revenue 变现\n\n变现是商业产品的核心目标。变现能力决定了产品的商业可持续性。\n\n**核心指标：**\n\n| 指标 | 定义 | 行业基准 | 说明 |\n|------|------|---------|------|\n| ARPU 用户平均收入 | 总收入 / 活跃用户数 | 因业务而异 | 衡量变现效率 |\n| ARPPU 付费用户平均收入 | 总收入 / 付费用户数 | >50元/月 | 付费用户价值 |\n| 付费转化率 | 付费用户 / 活跃用户 | 2-5% | 变现漏斗关键 |\n| LTV 生命周期价值 | 用户全生命周期贡献的总收入 | >3×CAC | 盈利边界 |\n| GMV 成交总额 | 平台总成交金额 | 规模指标 | 平台型产品 |\n| 客单价 | 每笔订单的平均金额 | 因品类而异 | 提升方式：凑单/满减 |\n\n**变现效率计算：**\n\n```\nARPU = 总收入 / 活跃用户数（日/月/年均可）\n\nARPPU = 总收入 / 付费用户数\n\n付费转化率 = 付费用户数 / 活跃用户数 × 100%\n\nLTV 计算方式（三种）：\n1. 历史 LTV = 历史总收入 / 历史用户数\n2. 预测 LTV = ARPU × 平均生命周期（月）\n3. 边际 LTV = 每增加一个用户的边际收入贡献\n\nLTV > 3×CAC 是盈利前提（LTV/CAC ≥ 3）\n```\n\n**LTV 预测实战模型：**\n\n```python\n# 简化 LTV 预测模型\ndef predict_ltv(monthly_arpu, retention_rate, discount_rate=0.1):\n    \"\"\"\n    monthly_arpu: 月均 ARPU（元）\n    retention_rate: 月留存率（小数，如 0.85 表示每月流失 15% 用户）\n    discount_rate: 折现率（年化 10% → 月折现约 0.8%）\n    \"\"\"\n    ltv = 0\n    month = 1\n    monthly_discount = (1 + discount_rate) ** (1/12)\n    \n    while month <= 120:  # 最多预测 10 年\n        retained_users = retention_rate ** month\n        discounted_arpu = monthly_arpu * retained_users / (monthly_discount ** month)\n        ltv += discounted_arpu\n        month += 1\n        \n        if retained_users < 0.01:  # 用户留存小于 1% 时停止\n            break\n    \n    return ltv\n\n# 示例：ARPU=30元，月留存率85%\nltv = predict_ltv(30, 0.85)\nprint(f\"预测 LTV: {ltv:.2f} 元\")\n```\n\n**变现模式选择：**\n\n| 模式 | 适用产品 | 优点 | 缺点 |\n|------|---------|------|------|\n| 订阅制 | 工具/内容/SaaS | 稳定现金流 | 用户流失风险 |\n| 广告 | 工具/内容/社交 | 规模化快 | 影响体验 |\n| 电商佣金 | 平台型 | 规模无上限 | 供应链复杂 |\n| 增值服务 | 游戏/社交/工具 | ARPU 高 | 可能伤害普通用户 |\n| 抽成/佣金 | 交易平台 | 规模无上限 | 依赖交易量 |\n| 组合变现 | 成熟产品 | 风险分散 | 复杂度高 |\n\n### Referral 推荐传播\n\n推荐是成本最低的获客方式，好的产品能让用户主动传播。\n\n**核心指标：**\n\n| 指标 | 定义 | 健康值 | 说明 |\n|------|------|--------|------|\n| NPS 净推荐值 | 推荐者% - 贬损者% | >50 | 口碑健康度 |\n| K因子 | 每个用户带来的新用户数 | >1 表示增长 | 病毒系数 |\n| 分享率 | 分享内容的活跃用户比例 | 3-10% | 内容质量指标 |\n| 邀请转化率 | 收到邀请并完成注册的比例 | 10-30% | 邀请链路质量 |\n| 裂变系数 | 病毒传播效率 | 0.3-0.8 | 通常 K<1 |\n\n**NPS 计算方式：**\n\n```\nNPS = 推荐者% - 贬损者%\n\n推荐者：评分 9-10（忠诚用户，主动推荐）\n被动者：评分 7-8（满意但不主动推荐）\n贬损者：评分 0-6（不满，可能传播负面）\n\nNPS 范围：-100 到 +100\n>50：优秀，>70：卓越\n<0：危险，需要立即改善\n```\n\n**K 因子计算：**\n\n```python\ndef calculate_k_factor(sending_users, invites_per_user, conversion_rate):\n    \"\"\"\n    sending_users: 发送邀请的用户数\n    invites_per_user: 每个用户发送的邀请数\n    conversion_rate: 邀请转化率（被邀请者完成注册的比例）\n    \n    K > 1 表示病毒式增长（每个用户带来超过 1 个新用户）\n    \"\"\"\n    new_users = sending_users * invites_per_user * conversion_rate\n    k_factor = new_users / sending_users if sending_users > 0 else 0\n    return k_factor\n\n# 示例：100 个用户，人均发 5 个邀请，转化率 20%\nk = calculate_k_factor(100, 5, 0.2)\nprint(f\"K因子: {k:.2f}\")  # 输出: K因子: 1.00\n```\n\n## 增长指标体系\n\n### DAU/MAU 比值\n\nDAU/MAU 是衡量产品粘性的核心指标，反映用户与产品的互动频率。\n\n```\nDAU/MAU 比值 = 当月日活用户总数 / 月活用户数 × 活跃天数占比\n\n简化公式：DAU/MAU ≈ 用户月均使用天数 / 30\n\n健康值参考：\n- 社交产品：0.5-0.7（高频）\n- 内容产品：0.3-0.5（中频）\n- 工具产品：0.1-0.3（低频）\n- 游戏产品：0.4-0.8（因类型差异大）\n```\n\n### 用户生命周期计算\n\n```\n用户生命周期 = 1 / 月流失率\n\n月流失率 = 1 - 月留存率\n\n示例：月留存率 85% → 月流失率 15% → 用户生命周期 = 1/0.15 ≈ 6.7 个月\n```\n\n### 付费漏斗分析\n\n```\n曝光 → 点击 → 注册 → 激活 → 付费\n\n各环节转化率参考：\n- 曝光→点击：1-5%（ctr）\n- 点击→注册：30-60%（landing page 质量）\n- 注册→首次付费：5-15%（产品付费设计）\n- 首次付费→复购：20-40%（首单体验）\n```\n\n## 数据分析实战\n\n### 留存 cohort 分析\n\nCohort 分析（队列分析）是分析用户留存的黄金方法。按用户首次使用时间分组，观察不同 cohort 的留存曲线，避免被整体数据的虚假繁荣误导。\n\n**制作 Cohort 表格：**\n\n| Cohort（月） | 人数 | 次月留存 | 3月留存 | 6月留存 | 12月留存 |\n|-------------|------|---------|--------|--------|--------|\n| 2025-01 | 1000 | 45% | 28% | 15% | 8% |\n| 2025-02 | 1200 | 48% | 30% | 16% | - |\n| 2025-03 | 1100 | 46% | 29% | - | - |\n| 2025-04 | 1300 | 50% | - | - | - |\n\nCohort 分析的核心发现：如果每个月的留存曲线都相似，说明产品稳定；如果新 cohort 留存越来越好，说明最近的迭代有效；如果越来越差，需要立即排查原因。\n\n### 增长实验设计\n\n数据驱动增长需要设计科学的 A/B 测试。\n\n**A/B 测试最小样本量计算：**\n\n```python\nimport math\n\ndef sample_size(base_conversion_rate, mde, alpha=0.05, power=0.8):\n    \"\"\"\n    计算 A/B 测试最小样本量\n    base_conversion_rate: 基准转化率（如 5%）\n    mde: 最小可检测效应（相对值，如 0.1 表示希望检测到 10% 的相对提升）\n    alpha: 显著性水平（默认 0.05）\n    power: 统计功效（默认 0.8）\n    \"\"\"\n    p1 = base_conversion_rate\n    p2 = p1 * (1 + mde)\n    \n    # 双重比例检验样本量公式\n    z_alpha = 1.96  # alpha=0.05 的 z 值\n    z_beta = 0.84   # power=0.8 的 z 值\n    \n    n = (z_alpha * math.sqrt(2 * p1 * (1 - p1)) + \n         z_beta * math.sqrt(p1 * (1 - p1) + p2 * (1 - p2))) ** 2\n    n /= (p2 - p1) ** 2\n    \n    return math.ceil(n)\n\n# 示例：基准转化率 5%，希望检测到 10% 相对提升（即 5.5%）\nrequired_n = sample_size(0.05, 0.1)\nprint(f\"每组最小样本量: {required_n}\")\nprint(f\"总样本量: {required_n * 2}\")\n```\n\n### 指标异动分析\n\n当指标出现明显波动时，需要系统性地排查原因，而不是凭直觉猜测。\n\n**排查步骤：**\n\n第一步是确认数据准确性。检查数据 pipeline 是否有延迟、ETL 任务是否失败、数据埋点是否正常。\n\n第二步是进行维度下钻。按渠道拆分看是哪个渠道出了问题，按版本拆分看是否是某个版本引入的问题，按地域拆分看是否是某个地区的问题，按用户分层拆分看是新用户还是老用户出了问题。\n\n第三步是相关性分析。如果某个指标变化与某个改动时间上吻合，需要做因果推断验证，而不只是相关性强。\n\n第四步是结合业务场景理解。用户增长活动后注册量上升但留存下降说明活动引来了羊毛党；版本更新后 DAU 上升但时长下降说明新功能分散了用户注意力；节假日期间数据异动是正常现象。\n\n### 数据看板设计原则\n\n一个好的数据看板应该让决策者在 30 秒内了解产品健康状况。\n\n**核心看板指标分层：**\n\n北极星指标层只放 1-2 个最核心的指标，代表产品给用户创造的价值；运营指标层包括 DAU/MAU、留存、付费率等日常运营指标；诊断指标层是当北极星指标异常时需要下钻看的细分指标。\n\n设计原则是：数据要有时效性，核心指标最好能看到实时或小时级数据；对比要有参照系，和自己比（环比）、和竞品比、和行业比；变化要有解释，每个指标的波动最好能归因到某个业务动作。\n\n## 常见分析场景\n\n### 新功能效果评估\n\n```\n评估周期：功能上线后 2-4 周\n\n评估维度：\n1. 功能使用率：使用该功能的新用户 / 新增用户 × 100%\n2. 功能依赖度：使用该功能后次日回访率 vs 未使用用户\n3. 对大盘影响：该功能是否带动其他核心指标提升\n4. 负面指标：是否增加了用户流失、投诉\n```\n\n### 用户流失预警\n\n```\n流失预警信号：\n1. 连续 3 天未打开 APP\n2. 核心功能使用频率下降 50%+\n3. 竞品 APP 使用时长上升\n4. 客服咨询/投诉增加\n5. 评分/评论星级下降\n\n流失预警模型特征：\n- 用户属性：注册渠道、首次付费时间、会员等级\n- 行为特征：DAU 趋势、核心功能使用频次、会话时长\n- 交易特征：最后购买时间、购买频次、客单价趋势\n```\n\n### 渠道效果归因\n\n```\n多渠道归因常用方法：\n\n首次互动模型（适合品牌导向）：\n- 优点：强调发现价值\n- 缺点：忽视转化触点\n\n最后互动模型（适合效果导向）：\n- 优点：简单直接\n- 缺点：忽视种草价值\n\n线性归因（适合长周期决策）：\n- 优点：公平分配\n- 缺点：所有触点同等权重\n\n数据归因（适合精准分析）：\n- 基于数据模型自动分配权重\n- 需要足够的数据量支撑\n```\n\nFile v2.2.0:references/h5-mobile-best-practices.md\n\n---\nsource: |\n  来源：Tailwind CSS / 行业最佳实践\n  URL: https://www.tailwindcss.cn/\ndate: 2026-04-25\n---\n\n# H5 移动端最佳实践\n\n> 来源：Tailwind CSS 文档 + 行业最佳实践（2026）\n> https://www.tailwindcss.cn/docs/installation\n> https://www.tailwindcss.cn/docs/browser-support\n\n## 1. Tailwind CDN 快速原型\n\nCDN 方式适合 H5 快速原型，引入即可使用：\n\n```html\n<script src=\"https://cdn.tailwindcss.com\"></script>\n```\n\n生产环境建议使用 CLI 构建版。\n\n## 2. H5 移动端关键设置\n\n### viewport 元标签（必需）\n```html\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n```\n\n### 微信 H5 适配\n- 设计宽度：750px（iPhone 6/7/8 逻辑像素）\n- 使用 `flex` 布局配合 `justify-between`\n- 微信浏览器：X5 内核，部分 CSS 特性有差异\n- 触摸目标最小 44x44px\n\n### 基础重置\n```css\n* { box-sizing: border-box; }\nbody { margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }\n```\n\n## 3. 响应式断点\n\nTailwind 移动优先断点：\n\n| 断点前缀 | 最小宽度 | 典型设备 |\n|---------|---------|---------|\n| 无前缀 | 0px | 手机 |\n| sm: | 640px | 大手机/小平板 |\n| md: | 768px | 平板 |\n| lg: | 1024px | 笔记本 |\n| xl: | 1280px | 桌面 |\n\n## 4. H5 常用工具类\n\n### Flexbox 布局\n```html\n<!-- 水平居中 -->\n<div class=\"flex justify-center items-center\">\n<!-- 垂直居中 -->\n<div class=\"flex items-center justify-center\">\n<!-- 两端对齐 -->\n<div class=\"flex justify-between\">\n```\n\n### 间距\n```html\n<!-- 移动端常用间距 -->\n<div class=\"px-4 py-3 gap-2\">\n<div class=\"m-4 space-y-3\">\n```\n\n### 文字\n```html\n<!-- 移动端字体 -->\n<div class=\"text-base leading-relaxed\">\n<div class=\"text-sm text-gray-500\">\n```\n\n### 圆角和阴影\n```html\n<!-- 卡片圆角 -->\n<div class=\"rounded-xl shadow-lg\">\n<!-- 按钮圆角 -->\n<button class=\"rounded-full px-6 py-2\">\n```\n\n## 5. 浏览器兼容性\n\n- 支持：Chrome、Firefox、Edge、Safari（最新稳定版）\n- 不支持：IE11\n- 中国市场需注意：微信 X5 内核、UC 浏览器、百度浏览器\n- 建议使用 Autoprefixer 处理厂商前缀\n\n## 6. 生产构建\n\n```bash\n# CLI 构建\nnpm install -D tailwindcss\nnpx tailwindcss init\n# 配置 tailwind.config.js\nnpx tailwindcss -o output.css --watch\n```\n\n## 7. 移动端性能\n\n- 图片使用 `srcset` 响应式\n- 动画使用 `transform` 和 `opacity`（GPU 加速）\n- 使用 `will-change` 提示浏览器优化\n- 避免重排，批量 DOM 操作\n- 使用 CSS `content-visibility` 优化长列表\n\n## 8. 微信 H5 注意事项\n\n1. 微信支付需要公众号配置\n2. 分享功能需要微信 JSSDK\n3. 长按识别二维码需要单独处理\n4. 音频/视频自动播放受限，需用户触发\n5. 输入框 focus 时页面适配问题\n\nFile v2.2.0:references/icon-sources.md\n\n---\nsource: |\n  来源：Tailwind CSS / 行业最佳实践\n  URL: https://www.tailwindcss.cn/\ndate: 2026-04-25\n---\n\n# Icon Library Sources - Research Results\n\n## 1. Heroicons\n- **Website**: https://heroicons.com/\n- **GitHub**: https://github.com/tailwindlabs/heroicons\n- **Description**: Beautiful hand-crafted SVG icons, by the makers of Tailwind CSS\n- **Icon Count**: 316 icons\n- **License**: MIT License\n- **Format**: SVG (both outline and solid styles)\n- **Libraries**: React and Vue components available\n- **Version**: v2.1.5\n- **Stars**: approximately 23,481\n- **CDN Access**: Via npm packages\n- **Features**: Two styles: 24x24 outline and 20x20 solid, optimized for Tailwind CSS\n\n## 2. Lucide Icons\n- **Website**: https://lucide.dev/\n- **GitHub**: https://github.com/lucide-icons/lucide\n- **Description**: Beautiful and consistent icon toolkit made by the community\n- **Icon Count**: 1000+ icons\n- **License**: MIT License\n- **Format**: SVG\n- **Libraries**: React, Vue, Svelte, and more\n- **Stars**: approximately 22,267\n- **CDN Access**: Available via jsDelivr, unpkg, and their own API\n- **Features**: Forked from Feather Icons, tree-shakable, consistent 24x24 grid\n\n## 3. SVGRepo\n- **Website**: https://www.svgrepo.com/\n- **Description**: Collection of free SVG icons and illustrations\n- **Icon Count**: 100,000+ SVG icons\n- **License**: Mixed - check individual icons (many MIT, Apache 2.0)\n- **Format**: SVG\n- **CDN Access**: Yes, provides CDN URLs\n- **Features**: Large collection, search and filter, bulk download\n\n## 4. Iconify Design\n- **Website**: https://iconify.design/\n- **GitHub**: https://github.com/iconify\n- **Description**: Universal icon framework with over 150 icon sets\n- **Icon Count**: 200,000+ icons across 150+ icon sets\n- **License**: Apache 2.0 (for Iconify framework); icons vary by source\n- **Format**: SVG, web components, React, Vue, Svelte\n- **Stars**: approximately 6,067\n- **CDN Access**: Yes - Iconify API with free hosting\n- **Features**: Unifies many icon sets, works with Tailwind CSS, design tool plugins\n\n## Summary\n\n| Library | URL | Icons | License | CDN | Best For |\n|---------|-----|-------|---------|-----|----------|\n| Heroicons | heroicons.com | 316 | MIT | npm | Tailwind projects |\n| Lucide | lucide.dev | 1000+ | MIT | Yes | React/Vue apps |\n| SVGRepo | svgrepo.com | 100k+ | Mixed | Yes | General SVG icons |\n| Iconify | iconify.design | 200k+ | Apache 2.0 | Yes | Universal icon needs |\n\nFile v2.2.0:references/mermaid-guide.md\n\n# Mermaid 产品图表绘制规范\n\n> 来源：Mermaid 官方文档 + 产品经理实践（2026）\n> https://mermaid.js.org/  https://www.diagrams.net/\n> https://mermaid.js.org/syntax/flowchart.html  https://mermaid.js.org/syntax/sequenceDiagram.html\n> https://mermaid.js.org/syntax/stateDiagram.html  https://mermaid.js.org/syntax/gantt.html\n> https://mermaid.js.org/syntax/erDiagram.html  https://mermaid.js.org/syntax/userJourney.html\n\n## 图表类型速查\n\n| 类型 | 用途 | 语法关键词 |\n|------|------|-----------|\n| 流程图 | 业务流程、用户流程 | `flowchart TD/LR/BT/RL` |\n| 时序图 | 系统交互、API调用 | `sequenceDiagram` |\n| 状态图 | 状态流转、生命周期 | `stateDiagram-v2` |\n| 类图 | 技术架构、数据模型 | `classDiagram` |\n| ER图 | 数据库设计 | `erDiagram` |\n| 甘特图 | 项目计划、里程碑 | `gantt` |\n| 用户旅程 | 用户体验全流程 | `journey` |\n| 饼图 | 占比展示 | `pie` |\n| 思维导图 | 头脑风暴、功能拆解 | `mindmap` |\n| 架构图 | 系统分层、微服务 | `C4Context` |\n\n---\n\n## 1. 流程图（flowchart）\n\n### 基本语法\n\n```mermaid\nflowchart TD\n    A[开始] --> B{决策}\n    B -->|是| C[操作1]\n    B -->|否| D[操作2]\n    C --> E{再次决策}\n    E -->|完成| F[结束]\n    E -->|失败| G[错误处理]\n    D --> F\n```\n\n### 方向指令\n\n| 方向 | 说明 | 适用场景 |\n|------|------|---------|\n| TD / TB | 从上到下 | 最常用 |\n| BT | 从下到上 | 流程反向时 |\n| LR | 从左到右 | 横向流程 |\n| RL | 从右到左 | 横向反向 |\n\n### 节点形状\n\n| 形状 | 语法 | 用途 |\n|------|------|------|\n| 圆角矩形 | `[文字]` | 开始/结束 |\n| 矩形 | `[文字]` | 普通步骤 |\n| 菱形 | `{决策}` | 判断节点 |\n| 圆柱形 | `[(数据库)]` | 数据存储 |\n| 圆形 | `((圆形))` | 关键节点 |\n| 六边形 | `{{六边形}}` | 准备/判断 |\n| 并行四边形 | `[/平行四边形/]` | 输入/输出 |\n| 子程序 | `[[子程序]]` | 子流程 |\n\n### 连接线样式\n\n| 样式 | 语法 | 用途 |\n|------|------|------|\n| 带箭头 | `-->` | 正常流向 |\n| 虚线 | `-.-` | 弱关联/可选 |\n| 加粗 | `==>` | 强调/主要路径 |\n| 带标签 | `-->\\|标签\\|` | 标注条件 |\n| 开放箭头 | `-->>` | 快速/异步 |\n\n### 示例：用户登录流程\n\n```mermaid\nflowchart TD\n    subgraph 登录流程\n        A([开始]) --> B[/输入用户名密码/]\n        B --> C{验证格式?}\n        C -->|格式错误| D[显示格式错误提示]\n        D --> B\n        C -->|格式正确| E[调用登录接口]\n        E --> F{登录成功?}\n        F -->|失败| G[显示错误信息]\n        G --> B\n        F -->|成功| H[跳转首页]\n        H --> I([结束])\n    end\n```\n\n### 示例：订单处理流程\n\n```mermaid\nflowchart LR\n    A[用户下单] --> B{库存充足?}\n    B -->|是| C[锁定库存]\n    B -->|否| D[提示库存不足]\n    D --> Z[结束]\n    C --> E[计算运费]\n    E --> F{使用优惠券?}\n    F -->|是| G[应用优惠]\n    F -->|否| H[原价计算]\n    G --> I[生成订单]\n    H --> I\n    I --> J[选择支付方式]\n    J --> K{支付成功?}\n    K -->|成功| L[扣减库存]\n    K -->|失败| M[释放库存]\n    M --> N[提示支付失败]\n    N --> J\n    L --> O[发送通知]\n    O --> P([订单完成])\n```\n\n---\n\n## 2. 时序图（sequenceDiagram）\n\n### 基本语法\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant A as 前端\n    participant B as 后端\n    participant D as 数据库\n\n    U->>A: 操作\n    A->>B: 请求\n    B->>D: 查询\n    D-->>B: 返回结果\n    B-->>A: 响应\n    A-->>U: 显示结果\n```\n\n### 箭头类型\n\n| 箭头 | 含义 |\n|------|------|\n| `->` | 同步请求 |\n| `->>` | 同步请求（带箭头） |\n| `-->` | 同步返回 |\n| `-->>` | 异步返回 |\n| `-)` | 异步消息（虚线箭头） |\n\n### 示例：用户注册时序图\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant FE as 前端\n    participant BE as 后端服务\n    participant DB as 数据库\n    participant SMS as 短信服务\n    participant EM as 邮件服务\n\n    U->>FE: 填写注册信息\n    FE->>BE: POST /api/register\n    BE->>DB: 查询是否已注册\n    DB-->>BE: 返回结果\n\n    alt 已注册\n        BE-->>FE: 错误：手机号已注册\n        FE-->>U: 显示错误提示\n    else 未注册\n        BE->>DB: 创建用户记录\n        DB-->>BE: 返回用户ID\n        BE->>SMS: 发送验证码\n        SMS-->>BE: 发送成功\n        BE->>EM: 发送欢迎邮件\n        EM-->>BE: 发送成功\n        BE-->>FE: 注册成功\n        FE-->>U: 跳转验证页\n    end\n```\n\n---\n\n## 3. 状态图（stateDiagram-v2）\n\n### 基本语法\n\n```mermaid\nstateDiagram-v2\n    [*] --> 状态1\n    状态1 --> 状态2: 事件/条件\n    状态2 --> [*]: 完成\n```\n\n### 示例：订单状态流转\n\n```mermaid\nstateDiagram-v2\n    [*] --> 待支付\n    待支付 --> 已取消: 用户取消/超时\n    待支付 --> 待发货: 支付成功\n    待发货 --> 配送中: 商家发货\n    配送中 --> 待收货: 确认收货\n    待收货 --> 已完成: 用户确认\n    待收货 --> 退货中: 申请退货\n    退货中 --> 已退款: 退款成功\n    已完成 --> [*]\n    已取消 --> [*]\n    已退款 --> [*]\n```\n\n### 示例：工单状态机\n\n```mermaid\nstateDiagram-v2\n    [*] --> 待受理\n    待受理 --> 处理中: 客服接单\n    处理中 --> 待审核: 处理完成\n    待审核 --> 处理中: 驳回重处理\n    待审核 --> 已解决: 主管审核通过\n    已解决 --> [*]\n    处理中 --> 已关闭: 用户满意关闭\n    待受理 --> 已关闭: 用户撤诉\n```\n\n---\n\n## 4. 甘特图（gantt）\n\n### 基本语法\n\n```mermaid\ngantt\n    title 项目计划\n    dateFormat YYYY-MM-DD\n    section 阶段一\n    任务1            :a1, 2026-01-01, 30d\n    任务2            :a2, after a1, 20d\n    section 阶段二\n    任务3            :a3, after a2, 25d\n    任务4            :a4, 2026-03-15, 15d\n```\n\n### 示例：产品迭代计划\n\n```mermaid\ngantt\n    title 产品v2.0迭代计划\n    dateFormat  YYYY-MM-DD\n    section 产品设计\n    需求调研       :d1, 2026-01-01, 14d\n    竞品分析       :d2, 2026-01-08, 7d\n    PRD撰写        :d3, 2026-01-15, 10d\n    PRD评审        :d4, 2026-01-25, 5d\n    section 开发\n    技术方案设计   :d5, 2026-01-20, 10d\n    核心功能开发   :d6, 2026-02-01, 30d\n    辅助功能开发   :d7, 2026-03-01, 15d\n    section 测试\n    测试用例编写   :d8, 2026-02-01, 10d\n    功能测试       :d9, 2026-03-01, 20d\n    回归测试       :d10, 2026-03-20, 7d\n    section 上线\n    灰度发布       :d11, 2026-03-28, 3d\n    全量发布       :d12, 2026-03-31, 2d\n    section 运营\n    上线后监控     :d13, 2026-04-01, 14d\n```\n\n---\n\n## 5. 用户旅程（journey）\n\n```mermaid\njourney\n    title 用户购物流程\n    section 购物流程\n      搜索商品: 5: 用户\n      浏览详情: 3: 用户\n      加入购物车: 5: 用户\n      结算: 4: 用户\n      选择地址: 3: 用户\n      选择支付: 4: 用户\n      支付: 3: 用户\n      下单成功: 5: 用户\n```\n\n---\n\n## 6. 饼图（pie）\n\n```mermaid\npie title 功能开发工作量分布\n    \"前端开发\" : 35\n    \"后端开发\" : 40\n    \"测试\" : 15\n    \"运维/部署\" : 10\n```\n\n---\n\n## 7. 架构图（C4Context）\n\n### 安装与使用\n\nC4 模型是一种软件架构可视化方法，用 4 个层级描述系统：\n- **Context（上下文）** - 系统与外部交互者\n- **Container（容器）** - 应用和技术组件\n- **Component（组件）** - 容器的核心组件\n- **Code（代码）** - 组件的具体实现\n\n```mermaid\nC4Context\n    title 系统上下文\n\n    Person(customer, \"用户\", \"使用移动端和Web端\")\n    Person(admin, \"管理员\", \"管理系统\")\n    System_Boundary(sb, \"产品系统\") {\n        System(mobile, \"移动App\", \"React Native\")\n        System(web, \"Web管理后台\", \"Vue.js\")\n        System(api, \"API网关\", \"Kong\")\n        System_Boundary(core, \"核心服务\") {\n            System(order, \"订单服务\", \"Java微服务\")\n            System(user, \"用户服务\", \"Java微服务\")\n            System(pay, \"支付服务\", \"Java微服务\")\n        }\n        SystemDb(db, \"数据库集群\", \"MySQL主从\")\n        System(cache, \"缓存\", \"Redis集群\")\n        System(mq, \"消息队列\", \"Kafka\")\n    }\n\n    customer --> mobile: 使用\n    customer --> web: 使用\n    admin --> web: 管理\n    mobile --> api: 调用\n    web --> api: 调用\n    api --> order: 调用\n    api --> user: 调用\n    api --> pay: 调用\n    order --> db: 读写\n    user --> db: 读写\n    pay --> db: 读写\n    order --> cache: 缓存\n    order --> mq: 发布事件\n```\n\n---\n\n## 8. 系统架构图（自定义风格）\n\n### 微服务架构图\n\n```mermaid\nflowchart TB\n    subgraph 客户端层\n        WEB[\"🌐 Web端<br/>(Vue.js)\"]\n        APP[\"📱 App端<br/>(React Native)\"]\n        MINI[\"📦 小程序<br/>(Taro)\"]\n    end\n\n    subgraph 网关层\n        GW[\"🚪 API网关<br/>(Kong/Nginx)\"]\n    end\n\n    subgraph 服务层\n        subgraph 通用服务\n            USER[\"👤 用户服务<br/>用户/认证/权限\"]\n            MSG[\"📬 消息服务<br/>推送/短信/邮件\"]\n            FILE[\"📎 文件服务<br/>上传/存储/CDN\"]\n        end\n        subgraph 核心业务\n            PROD[\"📦 商品服务<br/>商品/库存/SKU\"]\n            ORDER[\"🧾 订单服务<br/>下单/支付/物流\"]\n            PAY[\"💰 支付服务<br/>微信/支付宝\"]\n        end\n        subgraph 数据服务\n            SEARCH[\"🔍 搜索服务<br/>(Elasticsearch)\"]\n            REC[\"🎯 推荐服务<br/>(算法引擎)\"]\n            BI[\"📊 数据服务<br/>(BI/报表)\"]\n        end\n    end\n\n    subgraph 数据层\n        DB[(\"🗄️ MySQL<br/>主从集群\")]\n        REDIS[(\"⚡ Redis<br/>缓存集群\")]\n        MQ[\"📨 Kafka<br/>消息队列\"]\n        ES[\"🔍 Elasticsearch<br/>搜索引擎\"]\n        OSS[\"☁️ OSS<br/>对象存储\"]\n    end\n\n    WEB & APP & MINI --> GW\n    GW --> USER & MSG & FILE & PROD & ORDER & PAY & SEARCH & REC\n    USER & ORDER & PAY --> DB\n    PROD & ORDER --> REDIS\n    ORDER --> MQ\n    MQ --> MSG & REC\n    ORDER --> SEARCH\n    FILE --> OSS\n```\n\n---\n\n## 9. ER 图（数据库设计）\n\n```mermaid\nerDiagram\n    USER {\n        bigint id PK\n        string username\n        string mobile UK\n        string email UK\n        string password\n        tinyint status\n        datetime created_at\n        datetime updated_at\n    }\n\n    ORDER {\n        bigint id PK\n        bigint user_id FK\n        string order_no UK\n        decimal total_amount\n        tinyint status\n        datetime created_at\n        datetime paid_at\n    }\n\n    ORDER_ITEM {\n        bigint id PK\n        bigint order_id FK\n        bigint product_id FK\n        int quantity\n        decimal price\n    }\n\n    PRODUCT {\n        bigint id PK\n        string name\n        string description\n        decimal price\n        int stock\n        tinyint status\n        datetime created_at\n    }\n\n    USER ||--o{ ORDER : places\n    ORDER ||--o{ ORDER_ITEM : contains\n    PRODUCT ||--o{ ORDER_ITEM : includes\n```\n\n---\n\n## 10. 用法建议\n\n### 产品经理常用图表优先级\n\n| 优先级 | 图表类型 | 使用场景 |\n|--------|---------|---------|\n| ⭐⭐⭐ | 流程图 | 用户流程、业务流程、系统交互 |\n| ⭐⭐⭐ | 时序图 | API设计评审、技术方案沟通 |\n| ⭐⭐⭐ | 甘特图 | 项目计划、里程碑展示 |\n| ⭐⭐ | 状态图 | 订单状态、工单流转、生命周期 |\n| ⭐⭐ | 架构图 | 系统设计、技术选型汇报 |\n| ⭐ | ER图 | 数据库设计、技术评审 |\n\n### 绘制原则\n\n1. **简洁清晰** - 一张图说清一件事，不要试图把所有东西画在一起\n2. **命名规范** - 节点命名用「谁+做什么」格式，如\"用户点击登录\"\n3. **标注关键** - 关键判断条件、数据走向要标注清楚\n4. **颜色统一** - 同类元素用同一颜色\n5. **导出格式** - PRD 中使用 SVG 格式，代码评审用 Mermaid 原生\n\n### 在不同工具中使用 Mermaid\n\n| 工具 | 使用方式 |\n|------|--------|\n| Typora | 直接粘贴 Mermaid 代码块 |\n| Notion | 使用 ` ```mermaid ` 代码块 |\n| 飞书文档 | 使用 ` ```mermaid ` 代码块 |\n| GitHub/GitLab | README.md 直接支持 |\n| Draw.io | 插入 → 高级 → Mermaid |\n| ProcessOn | 导入 Mermaid |\n| PowerPoint | 截图或导出 SVG |\n\n---\n\n## 来源\n\n> 来源：Mermaid 官方文档（2026）\n> https://mermaid.js.org/\n> https://mermaid.js.org/syntax/flowchart.html\n> https://mermaid.js.org/syntax/sequenceDiagram.html\n> https://mermaid.js.org/syntax/stateDiagram.html\n> https://mermaid.js.org/syntax/gantt.html\n\nFile v2.2.0:references/pm-career-path.md\n\n# 产品经理职业发展指南\n\n> 来源：产品经理知识体系（2026）\n> https://www.woshipm.com/  https://www.zhouqicf.com/  https://www.linkedin.com/\n\n---\n\n## 一、产品经理职业阶梯\n\n### 职级体系总览\n\n| 职级 | 英文 | 工作年限 | 核心职责 | 影响范围 |\n|------|------|---------|---------|---------|\n| 产品助理 | Product Assistant/AP | 0-1年 | 执行性工作 | 单个任务 |\n| 产品经理 | Product Manager | 2-4年 | 模块负责人 | 单个产品/功能 |\n| 高级产品经理 | Senior PM | 4-6年 | 产品线负责人 | 多个功能模块 |\n| 产品总监 | Product Director | 6-10年 | 产品战略 | 整个产品线/业务 |\n| 产品副总裁 | VP Product | 10年+ | 产品战略 | 多个产品线/公司 |\n| 首席产品官 | CPO | 15年+ | 产品愿景 | 全公司 |\n\n---\n\n## 二，助理产品经理（AP）指南\n\n### AP 角色定位\n\n**什么是 AP：**\nAssociate Product Manager，通常指初级产品经理或产品助理。\n\n**与正式 PM 的区别：**\n\n| 对比维度 | AP | 正式 PM |\n|---------|------|--------|\n| 独立负责 | 辅助负责 | 独立负责 |\n| 任务复杂度 | 单点任务 | 完整功能 |\n| 决策权限 | 有限 | 较大 |\n| 成长目标 | 学会执行 | 学会规划 |\n\n### AP 成长路径\n\n**第一阶段（0-6个月）：学习期**\n- 熟悉产品业务\n- 掌握基本技能（PRD、原型）\n- 参与需求评审\n- 跟导师学习\n\n**第二阶段（6-12个月）：成长期**\n- 独立负责小功能\n- 独立跟进项目\n- 学会数据分析\n- 输出自己的方案\n\n### AP 学习清单\n\n**必须掌握的：**\n- [ ] PRD 撰写规范\n- [ ] 原型设计工具（Figma/Axure）\n- [ ] 需求管理流程（Jira/TAPD）\n- [ ] 基础数据分析（Excel/SQL）\n- [ ] 团队协作沟通\n\n**建议学习的：**\n- [ ] 用户研究方法\n- [ ] 竞品分析方法\n- [ ] 项目管理基础\n- [ ] 基础技术知识\n\n---\n\n## 三、从 PM 到高级 PM\n\n### 核心变化\n\n| 维度 | PM | 高级 PM |\n|------|-----|--------|\n| 职责范围 | 单个功能/模块 | 整条产品线 |\n| 决策复杂度 | 单一功能决策 | 多功能权衡 |\n| 时间跨度 | 当前迭代 | 季度/年规划 |\n| 团队规模 | 独立工作 | 带1-2人 |\n| 外部影响 | 组内协作 | 跨部门协调 |\n| 成功标准 | 功能完成 | 产品成功 |\n\n### 能力提升重点\n\n**1. 从执行到规划**\n- PM：接收需求，完成实现\n- 高级PM：发现需求，制定路线\n\n**2. 从单点到系统性**\n- PM：关注单个功能\n- 高级PM：关注功能之间的关联\n\n**3. 从跟进到推动**\n- PM：被安排任务\n- 高级PM：主动发现问题，推动解决\n\n**4. 从个人到团队**\n- PM：自己做好就行\n- 高级PM：帮助团队成功\n\n### 晋升信号\n\n| 信号 | 说明 |\n|------|------|\n| 能独立负责完整产品 | 不需要指导 |\n| 能发现新机会 | 提出有价值的建议 |\n| 能带人成长 | 辅导初级PM |\n| 能影响业务决策 | 在关键决策中有声音 |\n| 绩效持续优秀 | 连续2年以上优秀 |\n\n---\n\n## 四，从高级 PM 到产品总监\n\n### 核心变化\n\n| 维度 | 高级 PM | 产品总监 |\n|------|---------|---------|\n| 职责范围 | 产品线 | 产品组合/业务 |\n| 时间跨度 | 季度/年 | 3-5年规划 |\n| 团队规模 | 3-5人 | 10-20人 |\n| 工作内容 | 产品设计 | 战略+管理 |\n| 成功标准 | 产品指标 | 业务指标 |\n| 外部关系 | 部门协作 | 高层对话 |\n\n### 产品总监核心能力\n\n**1. 战略规划能力**\n- 市场洞察与机会识别\n- 商业模式设计\n- 产品组合管理\n- 竞争策略制定\n\n**2. 组织建设能力**\n- 团队搭建与人才招聘\n- 绩效管理与激励\n- 文化与价值观建设\n- 人才梯队培养\n\n**3. 高层沟通能力**\n- 董事会沟通\n- 跨部门高层协调\n- 投资人关系（如果有）\n- 公共演讲能力\n\n---\n\n## 五、转行产品经理路径\n\n### 设计转 PM\n\n**优势：**\n- 用户体验意识强\n- 原型设计能力好\n- 审美与细节把控\n\n**需要补足：**\n- 数据分析能力\n- 商业思维\n- 跨部门协调能力\n\n### 开发转 PM\n\n**优势：**\n- 技术理解力强\n- 逻辑思维严密\n- 与开发团队沟通顺畅\n\n**需要补足：**\n- 用户体验能力\n- 沟通协调能力\n- 视觉设计基础\n\n### 运营转 PM\n\n**优势：**\n- 了解用户需求\n- 熟悉业务场景\n- 数据分析基础\n\n**需要补足：**\n- 产品设计能力\n- 技术理解\n- 系统性思维\n\n---\n\n## 六、PM 面试准备\n\n### 面试类型\n\n| 轮次 | 内容 | 考察重点 |\n|------|------|---------|\n| HR面 | 背景、动机、期望 | 稳定性、匹配度 |\n| 直属于leader | 项目经历、专业能力 | 执行力、思考力 |\n| 跨级面 | 深度、潜力 | 思维深度、成长性 |\n| 同事面 | 协作、风格 | 团队融入 |\n| 高管面 | 战略、商业思维 | 潜力、格局 |\n| 笔试/作业 | 产品设计/分析报告 | 实战能力 |\n\n### 产品感问题\n\n**常见问题：**\n- 介绍你最成功/失败的产品经历\n- 如果你是XX产品的PM，你会怎么优化？\n- 你认为XX产品未来会怎么发展？\n- 给我设计一个XXX功能\n\n**答题框架：**\n1. 明确问题边界\n2. 用户/场景分析\n3. 给出方案\n4. 说明理由\n5. 讨论权衡\n\n---\n\n## 七、PM 作品集构建\n\n### 作品集内容\n\n| 类型 | 内容 | 格式 |\n|------|------|------|\n| 产品分析报告 | 竞品分析、行业分析 | PDF/PPT |\n| 产品设计方案 | PRD、原型 | PDF/链接 |\n| 数据分析案例 | 专项分析报告 | PDF/链接 |\n| 项目复盘 | 成功/失败案例 | PDF/文档 |\n\n### 作品集原则\n\n**Do：**\n- 选择有挑战性的项目\n- 展示完整思考过程\n- 包含结果和数据\n- 体现方法论\n- 真实、可验证\n\n**Don't：**\n- 夸大或虚构项目\n- 只有结果没有过程\n- 涉及公司机密\n- 格式混乱\n\n---\n\n## 八、薪资与谈判\n\n### PM 薪资结构\n\n| 组件 | 说明 |\n|------|------|\n| 基本工资 | 年薪固定部分 |\n| 绩效奖金 | 0-3个月不等 |\n| 期权/股票 | 高成长公司常见 |\n| 福利补贴 | 餐补、交通补等 |\n\n### 薪资影响因素\n\n| 因素 | 影响 |\n|------|------|\n| 公司阶段 | 早期期权多，现金少 |\n| 公司规模 | 大厂现金高，成长型公司期权多 |\n| 城市 | 一线>二线 |\n| 行业 | 互联网>传统 |\n| 业绩 | 绩效直接影响 |\n| 谈判 | 谈出来的 |\n\n### 薪酬体系参考（2026年）\n\n| 职级 | 一线城市 | 二线城市 |\n|------|---------|---------|\n| AP | 15-25W | 10-18W |\n| PM | 25-50W | 18-35W |\n| Senior PM | 50-80W | 35-55W |\n| Director | 80-150W | 55-100W |\n\n*注：以上为现金部分，不含期权*\n\n---\n\n## 九、持续发展建议\n\n### 建立个人知识体系\n\n**输入渠道：**\n- 行业报告：艾瑞、36Kr、QuestMobile\n- 产品社区：人人都是产品经理、Product Hunt\n- 书籍：《启示录》《俞军产品方法论》\n-  newsletters：行业深度分析\n\n**输出习惯：**\n- 坚持写产品分析\n- 复盘每个项目\n- 总结方法论\n\n### 扩展视野\n\n- 关注国内外优秀产品\n- 跨行业学习\n- 了解技术趋势\n- 关注商业动态\n\n### 经营人脉\n\n- 同行交流\n- 参加产品经理社群\n- 建立个人品牌\n- 维护前同事关系\n\n---\n\n## 来源\n\n> 来源：产品经理职业发展指南（2026）\n> - 职业发展：https://www.woshipm.com/pmd/789.html\n> - 转行PM：https://www.zhouqicf.com/\n> - 面试技巧：https://www.linkedin.com/\n\nFile v2.2.0:references/pm-framework.md\n\n# 产品经理分析框架大全\n\n> 来源：产品经理知识体系（2026）\n> https://www.woshipm.com/  https://www.zhouqicf.com/  https://www.atlassian.com/agile/\n\n---\n\n## 一、AARRR 海盗指标模型\n\n### 模型介绍\n\nAARRR 是 Dave McClure 于2007年提出的产品增长模型，也叫\"海盗指标\"，覆盖用户生命周期的五个关键阶段。\n\n| 阶段 | 英文 | 核心问题 |\n|------|------|---------|\n| 获取 | Acquisition | 用户如何发现我们的产品？ |\n| 激活 | Activation | 用户是否完成了首次有价值的使用？ |\n| 留存 | Retention | 用户会回来继续使用吗？ |\n| 收入 | Revenue | 如何从用户身上赚钱？ |\n| 推荐 | Referral | 用户是否愿意推荐给他人？ |\n\n### 各阶段详解与指标\n\n**1. 获取（Acquisition）**\n\n核心问题：用户从哪来？如何让更多人知道我们？\n\n| 指标 | 说明 | 优化方向 |\n|------|------|---------|\n| 获客成本（CAC） | 每获取一个用户的成本 | 渠道优化 |\n| 渠道转化率 | 各渠道的注册/下载转化 | 渠道优先级 |\n| 知晓率 | 目标用户中知道产品的比例 | 品牌曝光 |\n\n常用获取渠道：\n- 付费获客：搜索引擎广告、信息流广告、KOL合作\n- 口碑获客：SEO、内容营销、社交传播\n- 产品获客：裂变活动、老带新邀请\n\n**2. 激活（Activation）**\n\n核心问题：用户首次体验是否达到\"Aha时刻\"？\n\n\"Aha时刻\"定义：用户第一次感受到产品价值的时刻。\n\n| 指标 | 说明 | 示例 |\n|------|------|------|\n| 首次体验完成率 | 完成核心动作的新用户比例 | 注册完成率、引导完成率 |\n| 首次使用时长 | 第一次使用的时长 | >3分钟 |\n| 到达Aha时刻时间 | 到首次价值感的时间 | <5分钟 |\n\n激活优化思路：\n1. 识别用户首次价值行为（关键行为）\n2. 简化首次体验路径\n3. 消除首次使用的摩擦点\n4. 设计新用户引导\n\n**3. 留存（Retention）**\n\n核心问题：用户为什么离开？如何让用户持续使用？\n\n| 留存类型 | 说明 | 应用场景 |\n|---------|------|---------|\n| 短期留存 | 次日/3日留存 | 评估新用户体验 |\n| 中期留存 | 7日/14日留存 | 评估产品粘性 |\n| 长期留存 | 30日/60日/90日留存 | 评估产品长期价值 |\n\n留存曲线分析：\n```\n留存率\n100% │ ● 新用户\n 60% │ │\n 40% │ │      ● 活跃用户\n 20% │ │           │\n  5% │ │                ● 核心用户\n  0% └─────────────────────────→ 时间\n      1天  7天  30天  90天\n```\n\n留存下降原因分析：\n- 产品问题：功能不满足需求、体验差、性能问题\n- 竞品问题：更好的替代品出现\n- 需求消失：用户场景发生变化\n\n**4. 收入（Revenue）**\n\n核心问题：如何从用户身上获取收入？\n\n| 收入指标 | 说明 | 计算 |\n|---------|------|------|\n| ARPU | 用户平均收入 | 总收入/活跃用户数 |\n| ARPPU | 付费用户平均收入 | 总收入/付费用户数 |\n| LTV | 用户生命周期价值 | ARPU × 平均生命周期 |\n| 付费率 | 付费用户占比 | 付费用户/总用户 |\n| 客单价 | 单次交易金额 | 收入/订单数 |\n\n商业模式类型：\n- 订阅制：月/年会员（爱奇艺、得到）\n- 交易抽佣：交易额百分比（美团、滴滴）\n- 增值服务：游戏皮肤、功能付费（QQ秀）\n- 广告变现：免费+广告（抖音免费版）\n\n**5. 推荐（Referral）**\n\n核心问题：用户是否愿意推荐我们的产品？如何利用口碑传播？\n\n| 推荐指标 | 说明 | 参考值 |\n|---------|------|-------|\n| NPS | 净推荐值 | >50为优秀 |\n| K因子 | 病毒传播系数 | >1表示自增长 |\n| 推荐率 | 推荐新用户的用户比例 | - |\n\n提升推荐的方法：\n1. 产品超预期，创造推荐动机\n2. 降低推荐门槛，分享路径要顺畅\n3. 设计推荐奖励（双向奖励更有效）\n4. 打造推荐事件（邀请好友得优惠）\n\n### AARRR 应用示例\n\n以一个在线教育App为例：\n\n| 阶段 | 关键指标 | 优化动作 |\n|------|---------|---------|\n| 获取 | 注册转化率5%，CAC 30元 | 优化落地页，AB测试 |\n| 激活 | 新用户7日激活率40% | 优化首次体验，增加引导 |\n| 留存 | 次日留存45%，30日留存20% | 推送召回，增加学习路径 |\n| 收入 | ARPU 150元，付费率8% | 优化定价，增加课程SKU |\n| 推荐 | NPS 45，K因子0.8 | 优化分享机制，老带新活动 |\n\n---\n\n## 二、RFM 用户价值模型\n\n### 模型介绍\n\nRFM是衡量用户价值的经典模型，通过三个维度评估用户：\n\n| 维度 | 全称 | 说明 | 业务含义 |\n|------|------|------|---------|\n| R | Recency | 最近一次消费时间 | 用户活跃度/流失风险 |\n| F | Frequency | 消费频率 | 用户忠诚度 |\n| M | Monetary | 消费金额 | 用户贡献价值 |\n\n### RFM 分群标准\n\n**Recency（最近消费时间）：**\n| 分值 | 标准（示例） | 流失风险 |\n|------|-------------|---------|\n| 5 | 0-7天 | 极低 |\n| 4 | 8-14天 | 低 |\n| 3 | 15-30天 | 中 |\n| 2 | 31-60天 | 高 |\n| 1 | >60天 | 极高 |\n\n**Frequency（消费频率）：**\n| 分值 | 标准（示例） | 忠诚度 |\n|------|-------------|--------|\n| 5 | 每周1次以上 | 超级忠诚 |\n| 4 | 每月2-3次 | 忠诚 |\n| 3 | 每月1次 | 一般 |\n| 2 | 每季度1-2次 | 低活跃 |\n| 1 | <每季度1次 | 流失边缘 |\n\n**Monetary（消费金额）：**\n| 分值 | 标准（示例） | 贡献度 |\n|------|-------------|-------|\n| 5 | >5000元 | 高价值 |\n| 4 | 2000-5000元 | 中高价值 |\n| 3 | 500-2000元 | 中价值 |\n| 2 | 100-500元 | 中低价值 |\n| 1 | <100元 | 低价值 |\n\n### 用户分群与运营策略\n\n| 分群 | RFM特征 | 用户描述 | 运营策略 |\n|------|---------|---------|---------|\n| 重要价值用户 | 555 | 高频高额最近 | VIP服务，专属福利 |\n| 重要发展用户 | 554/544 | 高频高额但不够近 | 召回推送，激励复购 |\n| 重要保持用户 | 455/445 | 高频高额但流失风险 | 主动关怀，专属优惠 |\n| 重要挽留用户 | 554/544/... | 价值高但流失风险 | 流失干预，调研原因 |\n| 一般价值用户 | 335/345 | 中等活跃中等金额 | 提升客单价 |\n| 一般发展用户 | 353/354 | 最近消费但频率低 | 提升购买频次 |\n| 一般保持用户 | 253/254 | 频率可以但金额低 | 推送高毛利商品 |\n| 一般挽留用户 | 151/152 | 低活跃低贡献 | 减少运营投入 |\n\n---\n\n## 三、SWOT 分析法\n\n### 模型介绍\n\nSWOT是经典战略分析工具，通过内外部两个维度分析：\n\n| | 有利 | 不利 |\n|---|---|---|\n| **内部（自身）** | Strengths 优势 | Weaknesses 劣势 |\n| **外部（环境）** | Opportunities 机会 | Threats 威胁 |\n\n### 应用场景\n\n- 产品战略规划\n- 竞争分析\n- 商业决策支持\n- 个人职业规划\n\n### 电商平台 SWOT 分析示例\n\n**产品：某新兴社交电商平台**\n\n| 维度 | 内容 | 优先级 |\n|------|------|--------|\n| S（优势） | 差异化社交玩法、创始团队经验丰富 | 高 |\n| S | 供应链整合能力强 | 中 |\n| W（劣势） | 品牌认知度低、用户基数小 | 高 |\n| W | 技术架构不够成熟 | 中 |\n| O（机会） | 私域流量趋势、下沉市场空间大 | 高 |\n| O | 政策支持新消费 | 低 |\n| T（威胁） | 头部平台竞争、流量成本上涨 | 高 |\n| T | 监管政策收紧 | 中 |\n\n**策略组合：**\n\n| 策略 | 说明 |\n|------|------|\n| SO（优势+机会） | 利用社交玩法优势，抓住私域流量机会 |\n| WO（劣势+机会） | 借助下沉市场机会弥补品牌劣势 |\n| ST（优势+威胁） | 用差异化竞争应对头部竞争 |\n| WT（劣势+威胁） | 保守策略，控制成本 |\n\n---\n\n## 四、5W1H 分析法\n\n### 模型介绍\n\n5W1H是通用的问题分析和方案描述方法：\n\n| 维度 | 问题 | 示例（在线教育） |\n|------|------|-----------------|\n| What | 做什么？目标是什么？ | 提供在线编程教育服务 |\n| Why | 为什么？为什么这么做？ | 弥补传统编程教育师资不均问题 |\n| Who | 谁？目标用户是谁？ | 6-18岁青少年，想学编程的家长 |\n| Where | 在哪？使用场景？ | 家中、课外培训机构 |\n| When | 何时？时间节点？ | 2026年Q2上线 |\n| How | 怎么做？实现路径？ | 小班直播+AI辅导 |\n\n---\n\n## 五、GMCCD 目标分析法\n\n### 模型介绍\n\nGMCCD是目标管理框架，用于结构化地分析和解决问题：\n\n| 字母 | 全称 | 说明 | 示例（DAU提升） |\n|------|------|------|----------------|\n| G | Goal | 目标 | DAU突破100万 |\n| M | Metric | 指标 | 当前DAU 80万 |\n| C | Current | 现状 | 日均新增5万，留存率45% |\n| C | Challenge | 挑战/问题 | 新增放缓，竞争加剧 |\n| D | Deep-dive | 深入分析 | 流失节点分析、竞品对比 |\n\n---\n\n## 六、安索夫矩阵（Ansoff Matrix）\n\n### 模型介绍\n\n安索夫矩阵从产品/市场两个维度，提出四种增长策略：\n\n| | 现有产品 | 新产品 |\n|---|---|---|\n| **现有市场** | 市场渗透 | 产品开发 |\n| **新市场** | 市场开发 | 多元化 |\n\n---\n\n## 七、波特五力模型\n\n### 模型介绍\n\n波特五力（Porter's Five Forces）用于分析行业竞争格局和吸引力：\n\n| 五力 | 说明 | 影响因素 |\n|------|------|---------|\n| 行业内现有竞争者 | 竞争对手的数量和实力 | 集中度、产品差异 |\n| 潜在进入者 | 新进入者威胁 | 壁垒高度、资本需求 |\n| 替代品 | 替代产品的威胁 | 用户转换成本 |\n| 上游议价能力 | 供应商的议价能力 | 供应商集中度 |\n| 下游议价能力 | 客户的议价能力 | 客户集中度、敏感度 |\n\n---\n\n## 八、产品留存分析框架\n\n### 留存分析核心框架\n\n**1. 留存漏斗**\n\n```\n新增用户\n    ↓\n激活（完成关键行为）\n    ↓\n形成使用习惯\n    ↓\n保持活跃\n    ↓\n成为付费用户/核心用户\n```\n\n**2. 留存曲线阶段**\n\n| 阶段 | 时间 | 特征 | 关注点 |\n|------|------|------|--------|\n| 激活期 | 0-7天 | 流失最快的阶段 | 新用户引导 |\n| 平台期 | 7-30天 | 早期留存稳定 | 内容/功能吸引力 |\n| 习惯期 | 30-90天 | 形成使用习惯 | 持续价值提供 |\n| 成熟期 | 90天+ | 长期留存 | 防止倦怠 |\n\n### 留存分析方法\n\n**1. Cohort Analysis（队列分析）**\n- 按用户新增时间分组\n- 追踪同一时间段用户的后续行为\n- 优点：能识别版本/活动对留存的影响\n\n**2. 留存率计算**\n\n| 指标 | 计算方式 | 说明 |\n|------|---------|------|\n| 次日留存 | 第2天回访/新增用户 | 评估新用户体验 |\n| 7日留存 | 第7天回访/新增用户 | 评估产品粘性 |\n| 30日留存 | 第30天回访/新增用户 | 评估产品价值 |\n| 滚动留存 | 按周/月滚动计算 | 长期趋势 |\n\n---\n\n## 九、竞品分析框架\n\n### 竞品分析维度\n\n| 维度 | 分析内容 | 数据来源 |\n|------|---------|---------|\n| 公司层面 | 融资、团队、战略 | 官网、天眼查、新闻 |\n| 产品层面 | 功能、体验、定位 | 亲身体验 |\n| 用户层面 | 用户画像、评价 | 应用商店、问卷 |\n| 运营层面 | 推广策略、渠道 | 数据平台 |\n| 技术层面 | 技术架构、壁垒 | 专利、招聘 JD |\n\n### 竞品选择策略\n\n| 类型 | 说明 | 分析重点 |\n|------|------|---------|\n| 直接竞品 | 同目标用户、同需求 | 功能对比、直接竞争 |\n| 间接竞品 | 同目标用户、不同方案 | 方案差异、用户分流 |\n| 替代品 | 不同需求、同满足方式 | 抢占用户时间 |\n| 参考品 | 不同行业、优秀实践 | 借鉴思路 |\n\n### 竞品分析模板\n\n| 维度 | 我们的产品 | 竞品A | 竞品B |\n|------|-----------|-------|-------|\n| 目标用户 | 25-35岁职场人 | 20-30岁年轻人 | 30-40岁商务人群 |\n| 核心功能 | A、B、C | A、B、D | A、C、E |\n| 差异化 | AI助手 | 社区氛围 | 企业服务 |\n| 定价 | 99元/月 | 79元/月 | 199元/月 |\n| 评分 | 4.5 | 4.2 | 4.7 |\n| 优劣势 | 优势：AI强<br>劣势：社区弱 | 优势：社区活跃<br>劣势：AI弱 | 优势：功能全<br>劣势：贵 |\n\n---\n\n## 十、商业模式画布（Business Model Canvas）\n\n### 画布结构\n\n| 模块 | 说明 | 问题 |\n|------|------|------|\n| 客户细分 (CS) | 服务哪些客户？ | 我们为谁创造价值？ |\n| 价值主张 (VP) | 提供什么价值？ | 我们在解决什么问题？ |\n| 渠道通路 (CH) | 如何触达客户？ | 如何接触客户？ |\n| 客户关系 (CR) | 如何维护关系？ | 如何维系客户？ |\n| 收入来源 (RS) | 如何获取收入？ | 客户愿意付什么钱？ |\n| 核心资源 (KR) | 需要什么资源？ | 价值主张需要什么？ |\n| 关键业务 (KB) | 需要做什么？ | 如何交付价值？ |\n| 重要合作 (KP) | 需要依靠谁？ | 谁可以提供帮助？ |\n| 成本结构 (CS) | 需要多少成本？ | 商业模式代价是什么？ |\n\n---\n\n## 来源\n\n> 来源：产品经理知识体系（2026）\n> - AARRR模型：https://www.woshipm.com/pmd/123.html\n> - RFM模型：https://www.zhouqicf.com/\n> - 商业分析框架：https://www.atlassian.com/agile/\n\nFile v2.2.0:references/pm-responsibilities.md\n\n# 软件产品经理职责与职业素养\n\n> 来源：产品经理知识体系综合（2026）\n> https://www.woshipm.com/  https://www.zhouqicf.com/  https://www.umlchina.com/\n> https://www.atlassian.com/software-development-lifecycle  https://www.productboard.com/\n\n## 产品经理核心职责\n\n### 1. 需求管理（最核心）\n\n**需求采集：**\n- 用户访谈、问卷调查、数据分析\n- 竞品分析、行业研究\n- 内部需求（销售/运营/客服反馈）\n- 老板/战略需求\n\n**需求分析：**\n- 区分用户需求与产品需求\n- 优先级排序（Kano模型、RICE、MoSCoW）\n- 需求可行性评估（技术/资源/时间）\n- 需求价值评估\n\n**需求文档化：**\n- 用户故事（User Story）\n- 需求列表（Backlog）\n- 需求变更管理\n\n### 2. 产品设计\n\n**原型设计：**\n- 低保真原型（纸原型/线框图）\n- 高保真原型（Figma/Sketch/Axure）\n- 交互设计（流程图/状态图）\n\n**PRD 编写：**\n- 产品背景与目标\n- 功能详细说明\n- 非功能性需求（性能/安全/可用性）\n- 验收标准\n\n### 3. 项目管理\n\n**制定计划：**\n- 制定产品路线图（Roadmap）\n- 估算工作量与时间\n- 识别风险与依赖\n\n**跟进执行：**\n- 协调设计与开发资源\n- 每日站会跟进进度\n- 解决阻塞问题\n- 需求变更控制\n\n### 4. 数据分析\n\n**核心指标监控：**\n- DAU/MAU/留存率\n- 转化率/流失率\n- 用户满意度（NPS）\n\n**实验验证：**\n- A/B 测试设计与分析\n- 功能迭代优化\n\n### 5. 跨部门协作\n\n| 协作对象 | 协作内容 |\n|---------|---------|\n| 设计团队 | 交互体验、视觉规范 |\n| 开发团队 | 技术可行性、进度把控 |\n| 测试团队 | 测试用例评审、验收 |\n| 运营团队 | 上线推广、数据监控 |\n| 市场/销售 | 定价策略、商务合作 |\n| 客服团队 | 问题收集、优先级建议 |\n\n---\n\n## 产品经理能力模型\n\n### 硬技能（Hard Skills）\n\n| 技能 | 描述 | 工具 |\n|------|------|------|\n| 需求分析 | 需求采集、分析、优先级排序 | Jira/Axure/Miro |\n| 产品设计 | 原型设计、PRD撰写 | Figma/Axure/Mastergo |\n| 数据分析 | 埋点设计、数据解读 | SQL/Excel/Python/GA |\n| 行业知识 | 商业模式、竞品研究 | 行业报告/Benchmark |\n| 技术理解 | 了解技术边界，评估可行性 | 基础编程知识 |\n| 项目管理 | 计划制定、进度把控 | Jira/TAPD/飞书 |\n\n### 软技能（Soft Skills）\n\n| 技能 | 描述 |\n|------|------|\n| 沟通能力 | 跨部门协调，向上向下管理预期 |\n| 逻辑思维 | 复杂问题拆解，结构化表达 |\n| 商业敏感度 | 理解商业模式、盈利逻辑 |\n| 用户共情 | 真正理解用户痛点 |\n| 抗压能力 | 多任务并行处理 |\n| 学习能力 | 快速了解新行业/新领域 |\n\n### 产品感（Product Sense）\n\n**什么是产品感：**\n- 对用户需求的直觉判断\n- 对功能价值的快速评估\n- 对产品演进的长期判断\n\n**培养方法：**\n1. 多用多想多总结竞品\n2. 深入理解目标用户\n3. 大量阅读产品方法论\n4. 动手做自己的小产品\n5. 复盘每个功能的数据表现\n\n---\n\n## 产品经理分类\n\n### 按平台分类\n\n| 类型 | 职责重点 | 代表产品 |\n|------|---------|---------|\n| C端产品经理 | 用户体验、增长、留存 | 微信、抖音、支付宝 |\n| B端产品经理 | 效率提升、流程管理、定制化 | ERP、CRM、SaaS |\n| 数据产品经理 | 数据采集、指标体系、数据看板 | 数据中台、BI工具 |\n| AI产品经理 | AI能力落地、模型评估、人机交互 | 智能助手、AI客服 |\n| 策略产品经理 | 搜索/推荐/定价策略 | 抖音推荐、滴滴调度 |\n| 商业产品经理 | 商业模式、广告、变现 | 广告投放平台、会员体系 |\n\n### 按职级分类\n\n| 职级 | 主要职责 |\n|------|---------|\n| 产品专员/助理 | 需求跟进、执行性工作 |\n| 产品经理 | 独立负责模块/产品 |\n| 高级产品经理 | 带领团队，负责产品线 |\n| 产品总监 | 产品战略、团队管理 |\n| CPO/VP产品 | 公司产品战略 |\n\n---\n\n## 产品经理日常工作\n\n### 典型日程\n\n**早会阶段（Day Start）：**\n- 查看数据看板（DAU/关键指标）\n- 查看并处理消息/邮件\n- 站会（15分钟，进展+阻塞）\n\n**深度工作（Deep Work）：**\n- 原型设计/PRD撰写（上午精力最好）\n- 需求评审会议\n- 数据分析与复盘\n\n**沟通协作（Collaboration）：**\n- 与设计沟通交互方案\n- 与开发确认技术方案\n- 与运营/市场同步进度\n\n**收尾阶段（Day End）：**\n- 更新任务状态\n- 记录当天进展与问题\n- 计划明日工作\n\n### 时间分配（参考）\n\n| 工作内容 | 占比 |\n|---------|------|\n| 需求分析与设计 | 25% |\n| 沟通协作 | 25% |\n| 数据分析 | 15% |\n| 项目跟进 | 20% |\n| 行业研究/竞品分析 | 10% |\n| 文档/邮件 | 5% |\n\n---\n\n## 产品经理职业素养\n\n### 1. 用户导向\n\n**永远追问：**\n- 用户真正的痛点是什么？\n- 用户场景是什么？（谁、在什么情况下、遇到什么问题）\n- 我们的方案为什么是最好的？\n\n**避免：**\n- ❌ \"我觉得用户需要这个\"\n- ❌ \"老板说要这个\"\n- ❌ \"竞品有这个功能\"\n\n### 2. 数据驱动\n\n**决策依据：**\n- 用户行为数据（埋点）\n- 业务数据（转化率/留存）\n- 用户反馈（定性）\n- A/B 测试结果\n\n**避免：**\n- ❌ 仅凭直觉做决策\n- ❌ 忽略数据反直觉的信号\n\n### 3. 商业意识\n\n- 理解商业模式（如何赚钱）\n- 平衡用户体验与商业目标\n- ROI 思维（投入产出比）\n\n### 4. 执行力\n\n**好的PM特征：**\n- 说到做到，按时交付\n- 主动暴露风险，不捂问题\n- 小步快跑，快速迭代\n\n**差的PM特征：**\n- 过度追求完美，上线延误\n- 需求变更频繁，不做控制\n- 沟通绕弯子，不直接\n\n### 5. 持续学习\n\n- 关注行业动态\n- 学习新方法论\n- 跨行业借鉴\n\n---\n\n## 产品经理常见误区\n\n| 误区 | 正确做法 |\n|------|---------|\n| 我是老板，用户得听我的 | 用户和数据才是老板 |\n| 功能越多越好 | 少即是多，专注核心价值 |\n| 竞品有的我都要有 | 理解自己产品定位 |\n| PRD写完就完事了 | 持续跟进落地 |\n| 技术方案我不管 | 了解技术边界，参与技术方案 |\n| 产品上线就是终点 | 上线后持续跟踪优化 |\n\n---\n\n## 跨职能协作模式\n\n### PM + 开发团队协作\n\n**协作要点：**\n- 技术方案评审参与（不主导但必须了解）\n- 开发工作量估算的协同评估\n- 技术可行性与产品体验的平衡\n- 技术债务的识别与管理\n\n**常见协作机制：**\n| 场景 | PM 输入 | 开发输出 | 频率 |\n|------|---------|---------|------|\n| 需求澄清 | 需求文档、用户故事 | 疑问列表 | 按需求 |\n| 技术方案评审 | 参与评审、接受质疑 | 技术方案 | 按迭代 |\n| Sprint 计划 | 优先级排序、验收标准 | 迭代承诺 | 每 Sprint |\n| 每日站会 | 阻塞问题升级 | 进展同步 | 每日 |\n\n**PM 与开发的典型冲突及解决：**\n| 冲突类型 | 原因 | 解决方式 |\n|---------|------|---------|\n| 需求不清 | 文档描述模糊 | 补充PRD，必要时面对面澄清 |\n| 范围蔓延 | 迭代中增加需求 | 坚持优先级，下迭代处理 |\n| 工期压缩 | 乐观估算 | 重新评估优先级，或申请延期 |\n| 技术方案影响体验 | 设计过于技术化 | 共同寻求平衡点，记录技术约束 |\n\n### PM + 设计团队协作\n\n**协作流程：**\n1. **需求handoff**：PM输出需求文档、设计目标、参考案例\n2. **设计探索**：设计师基于需求进行创意探索（低保真）\n3. **设计评审**：PM参与评审，从用户体验和业务角度把关\n4. **设计定稿**：高保真原型 + 设计规范说明\n5. **开发交接**：设计标注、切图、交互说明\n\n**PM 需给设计的输入：**\n- 目标用户画像与使用场景\n- 核心业务流程与关键路径\n- 功能优先级（告诉设计师什么是必须的、什么是可以妥协的）\n- 品牌/设计风格参考\n- 技术约束（如有）\n\n**设计评审 PM 检查清单：**\n- [ ] 是否解决了目标用户的核心痛点？\n- [ ] 核心流程是否顺畅无阻？\n- [ ] 异常状态（空状态、加载、错误）是否处理？\n- [ ] 与现有产品风格是否一致？\n- [ ] 是否在技术可行范围内？\n\n### PM + QA 团队协作\n\n**协作要点：**\n- 测试用例评审（确保覆盖核心路径）\n- 验收标准共识\n- Bug 优先级判定\n- 上线质量门禁\n\n**Bug 优先级分类参考：**\n\n| 级别 | 定义 | 示例 | 处理方式 |\n|------|------|------|---------|\n| P0 | 核心功能不可用，数据错误 | 支付失败、登录异常 | 阻塞发布 |\n| P1 | 重要功能异常，影响大量用户 | 订单无法创建 | 24h内修复 |\n| P2 | 次要功能异常，有 workaround | 某个按钮点击无反应 | 下版本修复 |\n| P3 | 体验问题，不影响使用 | 页面样式偏差 | 迭代优化 |\n\n---\n\n## 利益相关方管理\n\n### 利益相关方分类\n\n**向上管理（Upward）：**\n| 对象 | 诉求 | 管理策略 |\n|------|------|---------|\n| CEO/总裁 | 公司战略目标、增长指标 | 数据驱动，用结果说话 |\n| VP/总监 | 部门业绩、团队管理 | 定期同步，预期管理 |\n| 部门负责人 | 项目资源、进度 | 主动沟通，及时升级 |\n\n**横向管理（Lateral）：**\n| 对象 | 诉求 | 管理策略 |\n|------|------|---------|\n| 设计负责人 | 设计质量、设计话语权 | 尊重专业，共同定义标准 |\n| 开发负责人 | 技术可行性、工程师时间 | 提前沟通，尊重技术决策 |\n| 运营负责人 | 业务需求、上线时间 | 建立需求优先级共识 |\n| 市场/销售 | 客户需求、竞争响应 | 建立需求反馈机制 |\n\n**外部相关方：**\n| 对象 | 诉求 | 管理策略 |\n|------|------|---------|\n| 客户/用户 | 问题解决、产品好用 | 用户反馈闭环 |\n| 合作伙伴 | 接口对接、商务条款 | 明确责任边界 |\n| 监管机构 | 合规合法 | 主动合规，咨询法务 |\n\n### 向上管理技巧\n\n**汇报原则：**\n1. **结论先行**：先说结论，再说原因\n2. **用数据说话**：用数据支撑观点\n3. **提供选项**：给领导选择题，不是问答题\n4. **管理预期**：提前预警风险，不要等到出事才说\n\n**汇报频率参考：**\n| 类型 | 频率 | 内容 |\n|------|------|------|\n| 日报/周报 | 每日/每周 | 进展、计划、问题 |\n| 项目汇报 | 按里程碑 | 整体进度、风险、资源 |\n| 紧急升级 | 随时 | 突发问题、决策请求 |\n\n**领导类型与应对：**\n\n| 类型 | 特征 | 应对方式 |\n|------|------|---------|\n| 微观管理型 | 关注细节、控制欲强 | 主动汇报细节，让他感到掌控 |\n| 宏观管理型 | 只看结果、不管过程 | 定期同步关键里程碑 |\n| 焦虑型 | 经常改变主意 | 提供稳定性，用数据建立信任 |\n| 授权型 | 充分信任、结果导向 | 独立决策，按时交付结果 |\n\n### 需求期望管理\n\n**管理业务方期望：**\n1. **先确认真需求**：业务方提的往往是解决方案，而非问题\n2. **评估工作量**：给出初步估算，不要当场承诺\n3. **设定优先级共识**：建立需求优先级评估标准\n4. **定期同步进展**：让业务方知道进展，降低焦虑\n5. **敢于说 No**：用数据和优先级说服，而不是直接拒绝\n\n**需求谈判技巧：**\n- \"如果做这个功能，我们需要砍掉另一个功能，因为开发资源有限，你认为哪个更重要？\"\n- \"这个功能预计需要X周，如果你要提前，我们只能做MVP版本，你接受吗？\"\n- \"我们可以先做P0的核心功能，P1的体验优化放到下个迭代，可以吗？\"\n\n---\n\n## PM 每日/每周工作流程\n\n### 每日工作流程（参考）\n\n**上午（9:00-12:00）：**\n| 时间 | 事项 | 时长 | 产出 |\n|------|------|------|------|\n| 9:00-9:15 | 数据看板检查（DAU/核心指标） | 15min | 异常监控 |\n| 9:15-9:30 | 邮件/消息处理 | 15min | 沟通响应 |\n| 9:30-10:00 | 站会（Scrum daily） | 15min | 进展同步 |\n| 10:00-12:00 | 深度工作（原型的设计/PRD撰写） | 2h | 设计文档 |\n\n**下午（14:00-18:00）：**\n| 时间 | 事项 | 时长 | 产出 |\n|------|------|------|------|\n| 14:00-15:00 | 会议（评审/同步/一对一） | 1h | 决策/对齐 |\n| 15:00-16:00 | 开发答疑（需求澄清、设计答疑） | 1h | 问题解决 |\n| 16:00-17:00 | 数据分析/用户反馈整理 | 1h | 洞察 |\n| 17:00-18:00 | 文档整理、工作计划更新 | 1h | 知识沉淀 |\n\n### 每周工作流程（参考）\n\n| 日期 | 活动 | 产出 |\n|------|------|------|\n| 周一 | 周规划（本周目标、迭代计划确认） | 周计划 |\n| 周二 | 深度工作日 | 设计/文档 |\n| 周三 | 评审日（需求评审、设计评审） | 评审结论 |\n| 周四 | 深度工作日、数据周报 | 文档、周报 |\n| 周五 | 周复盘（本周完成、下周计划）、迭代回顾 | 改进项 |\n\n### 会议效率提升\n\n**会议类型与时长控制：**\n\n| 会议类型 | 建议时长 | 参与者 | 主持人 |\n|---------|---------|-------|-------|\n| 每日站会 | 15min | 团队成员 | Scrum Master |\n| Sprint 规划 | 2-4h | 团队+PM | Scrum Master |\n| 需求评审 | 1-2h | 开发+设计+QA+PM | PM |\n| 设计评审 | 1h | 设计+PM | 设计 |\n| 迭代回顾 | 1h | 团队 | Scrum Master |\n| 一对一 | 30min | PM+个人 | PM |\n\n**减少无效会议：**\n1. 明确会议目的和议程\n2. 必要的才开会，能异步解决的就不开会\n3. 控制在15-30分钟内解决\n4. 明确结论和行动项\n\n---\n\n## PM 常用工具栈\n\n### 项目管理与需求跟踪\n\n| 工具 | 适用场景 | 特点 | 价格 |\n|------|---------|------|------|\n| Jira | 敏捷项目管理 | 功能全面，可定制 | 企业付费 |\n| TAPD | 敏捷+瀑布混合 | 中文，集成腾讯生态 | 企业付费 |\n| 飞书项目 | 敏捷项目管理 | 体验好，集成飞书 | 企业付费 |\n| Teambition | 项目协作 | 简单易用 | 有免费版 |\n| Asana | 项目管理 | 国际化 | 有免费版 |\n| Monday.com | 项目管理 | 可视化强 | 付费 |\n\n### 原型设计工具\n\n| 工具 | 适用场景 | 协作能力 | 学习曲线 |\n|------|---------|---------|---------|\n| Figma | 协作设计 | 实时协作，强 | 中等 |\n| Sketch | UI设计 | Mac为主 | 中等 |\n| Axure RP | 高保真交互 | 离线，复杂交互 | 较陡 |\n| MasterGo | 在线协作 | 国产，简洁 | 低 |\n| 即时原型 | 简单原型 | 快速 | 低 |\n\n### 数据分析工具\n\n| 工具 | 用途 | 难度 | 数据源 |\n|------|------|------|--------|\n| SQL | 数据提取 | 中等 | 数据库 |\n| Excel/Google Sheets | 数据处理分析 | 低 | 表格 |\n| Python (Pandas) | 数据分析 | 较高 | 代码 |\n| Tableau | 数据可视化 | 中等 | 多数据源 |\n| PowerBI | 数据可视化 | 中等 | 多数据源 |\n| Amplitude | 产品分析 | 低 | 用户行为 |\n| Mixpanel | 产品分析 | 低 | 用户行为 |\n| GrowingIO | 产品分析 | 低 | 用户行为 |\n\n### 协作与沟通工具\n\n| 工具 | 用途 | 特点 |\n|------|------|------|\n| 飞书 | 办公协作 | 文档+沟通+日历集成 |\n| Slack | 团队沟通 | 频道制，集成强 |\n|钉钉 | 企业沟通 | 阿里生态 |\n| Notion | 知识管理 | 灵活，块编辑 |\n| Confluence | 文档协作 | 企业知识库 |\n| 语雀 | 知识管理 | 中文，国产 |\n\n### 文档工具\n\n| 工具 | 适用场景 |\n|------|---------|\n| 飞书文档 | 团队协作文档 |\n| Notion | 个人+团队知识库 |\n| 语雀 | 知识沉淀 |\n| Google Docs | 在线协作 |\n| Markdown + Git | 技术团队文档 |\n\n---\n\n## PM 度量指标与 OKR\n\n### 团队效能指标\n\n**需求质量指标：**\n\n| 指标 | 定义 | 计算方式 | 目标参考 |\n|------|------|---------|---------|\n| 需求一次通过率 | 评审通过的需求/提交评审数 | 80%+ | ≥85% |\n| 需求变更率 | 迭代中变更的需求/总需求 | <15% | ≤10% |\n| 需求缺陷率 | 上线后Bug数/需求数 | <0.5 | ≤0.3 |\n\n**交付效率指标：**\n\n| 指标 | 定义 | 计算方式 | 目标参考 |\n|------|------|---------|---------|\n| Sprint 目标完成率 | 完成的Story点数/承诺点数 | 80%+ | 85%-95% |\n| 需求交付周期 | 需求提出到上线时间 | 越短越好 | 按业务设定 |\n| 缺陷逃逸率 | 上线后P0/P1 Bug数/总Bug数 | <20% | ≤10% |\n\n### 产品健康度指标\n\n**用户指标：**\n\n| 指标 | 说明 | 优秀参考 |\n|------|------|---------|\n| DAU/MAU | 活跃度 | 微信>50%，抖音>60% |\n| 次日留存 | 新用户留存 | >40% |\n| 7日留存 | 中期留存 | >20% |\n| 30日留存 | 长期留存 | >10% |\n\n**业务指标：**\n\n| 指标 | 说明 | 关注点 |\n|------|------|--------|\n| 转化率 | 各漏斗环节转化 | 识别瓶颈 |\n| ARPU | 用户平均收入 | 变现能力 |\n| CAC | 获客成本 | 获客效率 |\n| LTV | 用户生命周期价值 | 长期价值 |\n| NPS | 用户推荐意愿 | >50为优秀 |\n\n### PM 个人 OKR 参考\n\n**O1：提升产品交付效率**\n- KR1：Sprint 目标完成率从 75% 提升至 90%\n- KR2：需求平均交付周期从 14 天缩短至 10 天\n- KR3：需求变更率从 25% 降至 10% 以下\n\n**O2：提升产品用户满意度**\n- KR1：NPS 从 35 提升至 50\n- KR2：核心功能满意度评分从 3.5 提升至 4.2\n- KR3：用户反馈响应时间从 48h 降至 24h\n\n**O3：提升需求质量**\n- KR1：需求评审一次通过率从 70% 提升至 90%\n- KR2：上线后P0/P1 Bug数降至 <3个/迭代\n- KR3：技术债务占比从 30% 降至 15%\n\n---\n\n## 来源\n\n> 来源：产品经理知识体系综合（2026）\n> - 产品经理的能力模型：https://www.woshipm.com/pmd/1139.html\n> - 产品经理职责：https://www.zhouqicf.com/\n> - 需求管理方法：https://www.umlchina.com/\n\nArchive v2.1.0: 28 files, 114625 bytes\n\nFiles: README.md (8579b), references/agile-dev.md (9124b), references/browser-support.md (1325b), references/data-analysis-metrics.md (15336b), references/h5-mobile-best-practices.md (2837b), references/icon-sources.md (2446b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), references/tailwind-installation.md (1420b), scripts/mermaid_render_multi.js (13473b), scripts/prd_export.py (9700b), SKILL.md (58970b), _meta.json (141b)\n\nFile v2.1.0:SKILL.md\n\n---\nname: software-manager-skill\nversion: \"2.1.0\"\ndescription: >\n  软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括：\n  需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析；\n  或用户询问产品经理职责、如何成为产品经理、产品经理技能要求；\n  或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表；\n  或需要从0到1输出PRD文档并自动生成可交互H5原型图；\n  或需要将PRD文档导出为Markdown(.md)或Word(.docx)格式。\n  注意：本 skill 采用主动式产品咨询流程。流程：确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式 → H5原型图（可选）。\ntrigger: 产品经理|PRD|产品需求文档|需求分析|产品设计|产品路线图|竞品分析|用户故事|敏捷开发|Scrum|产品从0到1|功能需求|非功能需求|产品经理职责|如何成为产品经理|Kano模型|RICE评分|MoSCoW|产品体验|用户旅程|产品架构|产品迭代|数据分析|DAU|MAU|留存率|转化率|NPS|登录注册流程|搜索功能|推荐系统|分享功能|支付功能|会员体系|通知系统|APP设计|小程序设计|Web端设计|H5设计|B端产品|C端产品|增长产品|策略产品|商业产品|数据产品|Mermaid|流程图|架构图|时序图|甘特图|H5原型图|纯H5|导出PRD|导出docx|导出Word|PRD导出\ntags:\n  - product-manager\n  - pm\n  - prd\n  - product-design\n  - requirements\n  - agile\n  - scrum\n  - mermaid\n  - flowchart\nhermes:\n  source: https://github.com/{org}/software-manager-skill\n  tags: [product-manager, pm, prd, product-design, requirements, agile, scrum, mermaid, flowchart, h5, tailwindcss, icon-library]\n  related_skills: [ios-dev-skill, frontend-design-skill]\n  version: \"2.0.8\"\n  last_updated: \"2026-04-27\"\nlicense: MIT\nrequired_commands:\n  - python3        # Python 3（docx 导出必需）\n  - node           # Node.js（mermaid 渲染脚本必需）\n  - npm            # npm（安装全局 mermaid-cli）\nrequired_npm_packages:\n  - \"@mermaid-js/mermaid-cli\"   # npm install -g @mermaid-js/mermaid-cli（含 puppeteer-core）\nrequired_python_packages:\n  - python-docx    # pip install python-docx（docx 导出必需）\nrequired_environment:\n  - \"浏览器: Chrome / Edge / Firefox 之一（mermaid_render_multi.js 自动检测路径）\"\n  - \"WSL 用户: 需能访问 /mnt/c（用于 Windows 浏览器路径检测）\"\nnotes_on_dependencies: |\n  - docx 导出功能需要 python-docx，不影响纯 Markdown 输出\n  - mermaid_render_multi.js 动态查找 puppeteer-core（优先从 @mermaid-js/mermaid-cli 的 bundled 版本）\n  - 不使用 python-docx 时可跳过 python-docx 安装，仅影响 .docx 导出功能\n---\n\n# 软件产品经理（Product Manager）知识技能\n\n> 使用场景：用户需要产品经理级别的专业支持，或询问产品经理相关知识。\n> 注意：本 skill 采用主动式产品咨询流程，不是单向知识问答。\n> 流程：确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比（用户选择） → 需求确认 → PRD文档输出 + Mermaid图表整合 → 导出格式选择 → H5可交互原型图（可选，PRD后主动询问，所有页面集成在同一HTML文件，本地Tailwind CSS内联）。\n\n---\n\n# 主动式产品咨询流程\n\n本 skill 不做单向知识问答，而是遵循以下流程：确认需求 → 提问澄清 → 网络搜索 + RAG资料搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式 → H5原型图（可选）。\n\n## 阶段一：确认需求（开口三问）\n\n收到用户产品相关需求后，先用一段话确认理解，然后问三个核心问题：\n\n**问题1：产品方向**\n「你这个产品主要是做什么的？面向什么用户？解决什么核心问题？」\n\n**问题2：平台形态**\n「是移动端APP、小程序、Web端还是多端都要？C端还是B端？」\n\n**问题3：成熟度**\n「现在是从0到1的新产品，还是在现有产品上做迭代？有没有竞品可以参照？」\n\n## 阶段二：多源资料搜索\n\n根据用户回答，判断需要搜索哪些资料。可以灵活选择一种或两种方式组合使用：\n\n### 2.1 网络搜索\n\n**搜索策略**：优先使用环境中最可靠的网络搜索工具（由系统自动选择）。若返回结果为空或结果数 ≤ 2，应立即尝试其他可用搜索工具。**禁止在提示词中硬编码具体搜索工具名**。\n\n**降级触发条件**（满足任一即换工具重试）：\n- 搜索返回结果数 ≤ 2\n- 搜索耗时异常长（>5s 无响应）\n- 工具返回\"不可用\"或报错\n\n示例搜索调用：\n```\n搜索「运动健身APP用户需求分析 2026」\n搜索「装修APP用户痛点 业主 2026」\n搜索「住小帮 齐家网 土巴兔 功能对比」\n```\n*若第一个搜索工具返回不足，自动切换其他工具重试*\n\n### 2.2 RAG本地搜索\n\n使用 `WebFetch` 工具获取官方文档，或用 `Grep`/`Read` 工具搜索本地参考文档。\n\n**本地文档映射：**\n- 需求分析类 → 调取 `pm-responsibilities.md`、`sdlc-product-process.md`\n- 产品设计类 → 调取 `prd-template.md`、`mermaid-guide.md`\n- 竞品分析类 → 调取 `pm-framework.md`（竞品分析框架）\n- 数据分析类 → 调取 `pm-framework.md`（AARRR/留存分析）\n- 路线图规划类 → 调取 `pm-framework.md`（OKR对齐）、`sdlc-product-process.md`\n\n## 阶段三：产品规划\n\n基于网络搜索结果和RAG资料，给出产品规划建议，包括：\n\n**产品定位一句话**：「[产品名称]是一个面向[目标用户]的[产品类型]，解决[核心问题]。*\n\n**核心功能优先级**（MoSCoW）：\n- Must（必须有）：[核心路径功能，1-3个]\n- Should（应该有）：[重要功能，2-4个]\n- Could（可以有）：[增强功能，2-3个]\n- Won't（这次不做）：[放未来规划的功能]\n\n**MVP范围定义**：最小可行产品只做哪几个功能，为什么这几个是核心。\n\n**用户旅程简化版**：\n```\n用户打开APP → [核心动作] → [得到什么价值] → [下一个动作/退出]\n```\n\n## 阶段四：方案对比（用户选择）\n\n基于产品规划结果，输出2-3个不同方案供用户选择。\n\n**方案命名**：「简约版」「标准版」「增强版」或「A方案」「B方案」「C方案」\n\n**方案对比表**：\n| 维度 | 方案A（简约版） | 方案B（标准版） | 方案C（增强版） |\n|------|----------------|----------------|----------------|\n| 功能范围 | MVP核心功能 | 核心+重要功能 | 全功能 |\n| 开发周期 | 约X人天 | 约X人天 | 约X人天 |\n| 技术复杂度 | 低 | 中 | 高 |\n| 适用场景 | 快速验证 | 成熟产品 | 完整规划 |\n\n**各方案详细说明**：\n- 方案A：只做核心路径，快速上线验证\n- 方案B：在核心基础上增加重要辅助功能\n- 方案C：完整规划，包含所有规划功能\n\n**用户决策**：等待用户选择某个方案，或提出修改意见。\n\n## 阶段五：技术选型确认\n\n用户选定方案后，输出技术选型确认，确认以下内容：\n\n**技术栈确认**：\n| 分类 | 选项 | 说明 |\n|------|------|------|\n| 前端框架 | React / Vue / 纯H5 | 影响H5原型实现方式 |\n| 后端框架 | Node.js / Python / Java / Go | 影响API设计 |\n| 数据库 | MySQL / PostgreSQL / MongoDB | 影响数据模型设计 |\n| 部署方式 | 云服务 / 自建服务器 | 影响运维方案 |\n\n**技术约束确认**：\n- 是否有现成技术栈要求？\n- 是否有性能/并发/安全等技术要求？\n- 第三方服务依赖（支付/地图/推送等）？\n\n**技术选型确认话术**：\n```\n请确认技术选型方向：\n   - 前端技术栈偏好（React/Vue/纯H5）\n   - 后端技术栈偏好（Node.js/Python/Java/Go）\n   - 数据库选型（关系型/文档型）\n   - 是否有现成框架或技术债务需继承\n   - 第三方服务依赖（支付/地图/推送等）\n```\n\n确认后进入需求确认阶段。如用户跳过，则使用合理默认值继续。\n\n## 阶段六：需求确认\n\n用户选定方案后，在正式输出PRD文档之前，先输出一份**需求确认书**，包含：\n\n### 需求确认书模板\n```\n## 需求确认书（确认后进入PRD输出）\n\n**产品名称**：[名称]\n**选定方案**：[方案A/方案B/方案C]\n**平台形态**：[APP/小程序/H5/Web端]\n\n### 核心功能确认\n| 功能模块 | 功能名称 | 优先级 | 确认 |\n|---------|---------|--------|------|\n| [模块] | [功能] | P0 | [✓/—] |\n\n### 关键业务流程确认\n[描述1-2个核心用户路径]\n\n### 目标指标确认\n| 指标 | 目标值 | 周期 |\n|------|--------|------|\n| [DAU/留存率/转化率等] | [数值] | [时间] |\n\n### Mermaid图表预览\n[产品架构图 / 用户旅程图]\n\n**请确认以上内容是否准确，如有调整请告知，确认后输出完整PRD文档。**\n```\n\n确认完成后进入PRD输出阶段。如用户有调整，返回阶段三重新规划。\n\n## 阶段七：PRD文档整合输出\n\n整合网络搜索和RAG资料，输出完整PRD文档。如果用户明确要求保存，再使用 Write 工具保存文档。\n\n### 询问存放路径\n\n**在输出PRD文档之前，必须先询问用户存放路径。**\n\n```\n在开始输出PRD文档之前，请告诉我：\n1. 存放文件夹路径（例如：`~/PRD/` 或 `D:\\project\\PRD` 或 `~/Desktop/`）\n2. 文件命名（例如：`装修APP_PRD_v0.1`）\n\n如果暂时不想保存，可以回复「不保存」，我会直接在回复中输出完整文档内容。\n```\n\n- 用户指定路径后，使用 Write 工具保存文件\n- 用户未指定 → 在回复末尾输出完整文档内容，并说明「可保存为 `~/[用户主目录]/[产品名称]_PRD_v0.1.md`」\n- **禁止硬编码用户-specific路径**（如 `C:\\Users\\yhong\\...`）\n\n### 文件保存规范\n\n**不要在 skill 中硬编码用户-specific 的路径。** PRD 文档的保存路径应该由用户在对话中指定，或者使用通用的相对路径。如果用户没有指定保存位置，则在输出时说明「如需保存，请在下方复制文档内容」。\n\n不正确的做法（会导致跨平台不兼容）：\n`/home/{用户名}/projects/{产品名称}/PRD/...` 或 `C:\\\\Users\\\\{用户名}\\\\projects\\\\{产品名称}\\\\PRD\\\\...`\n\n这些都是用户-specific 路径，不应在 skill 中出现。\n\n正确的做法（跨平台通用）：\n- 如果用户指定了路径，按用户指定路径保存\n- 如果用户未指定，在回复末尾提供文档内容供用户复制，并说明「可保存为 `~/projects/{产品名称}/PRD/{产品名称}_PRD_v0.1.md`」\n- Windows/WSL/macOS 用户可各自替换 `~` 为自己的主目录路径\n\n### PRD文档模板\n\n```markdown\n# [产品名称] 产品需求文档 v0.1\n\n## 1. 概述\n\n### 1.1 背景\n[为什么做这个产品，基于市场分析和用户需求]\n\n### 1.2 产品定位\n[一句话产品定位]\n\n### 1.3 目标用户\n[用户画像描述]\n\n### 1.4 成功标准\n| 指标 | 当前值 | 目标值 | 时间节点 |\n|------|--------|--------|---------|\n| [指标名] | [数值] | [数值] | [日期] |\n\n### 1.5 竞品分析\n[基于网络搜索的竞品对比]\n\n### 1.6 参考资源\n- [竞品官网/文章链接]\n- [行业报告链接]\n\n## 2. 用户与场景\n\n### 2.1 用户画像\n[用户画像描述：基本信息/使用场景/痛点/动机]\n\n### 2.2 用户旅程\n[文字描述关键步骤]\n\n### 2.3 核心用例\n| 用例编号 | 用例名称 | 触发条件 | 主路径 | 预期结果 |\n|---------|---------|---------|--------|---------|\n| UC-01 | [名称] | [条件] | [步骤] | [结果] |\n\n## 3. 功能需求\n\n### 3.1 功能列表\n| 功能模块 | 功能名称 | 优先级 | 描述 |\n|---------|---------|--------|------|\n| [模块] | [功能] | P0 | [一句话描述] |\n\n### 3.2 详细说明\n[针对P0核心功能，详细描述功能逻辑]\n\n### 3.3 验收标准\n| 功能 | 验收条件 | 测试方法 |\n|------|---------|---------|\n| [功能] | [SMART标准] | [测试步骤] |\n\n## 4. 非功能需求\n| 类型 | 要求 |\n|------|------|\n| 性能 | [响应时间要求] |\n| 安全 | [安全要求] |\n| 兼容性 | [兼容要求] |\n| 可靠性 | [可用性要求] |\n\n## 5. 数据埋点\n| 事件名称 | 触发时机 | 参数 |\n|---------|---------|------|\n| [事件] | [时机] | [参数] |\n\n## 6. 风险与依赖\n| 风险/依赖 | 影响 | 应对措施 |\n|-----------|------|---------|\n| [条目] | [描述] | [措施] |\n\n## 7. 附录\n- 修订记录\n- 术语表\n```\n\n## 阶段八：Mermaid图表整合输出\n\n**从0到1新产品** → 输出：\n- 产品架构图（系统分层）\n- 核心用户旅程图\n- MVP功能优先级甘特图\n\n**迭代类产品** → 输出：\n- 需求状态流转图\n- 迭代计划甘特图\n- 跨团队协作时序图（PM/设计/开发/QA）\n\n**竞品分析类** → 输出：\n- 功能对比矩阵表\n- 竞品架构对比图\n\n**数据分析类** → 输出：\n- AARRR漏斗图\n- 用户留存曲线\n\n---\n\n## 阶段九：导出格式选择\n\n在PRD文档输出完成后，主动询问用户导出格式。\n\n### 询问话术\n\n```\n✅ PRD文档已完成，请选择导出格式：\n   - 输入「md」或「Markdown」→ 保存为 .md 文件\n   - 输入「docx」或「Word」→ 保存为 .docx 文件（Mermaid图表自动渲染为PNG图片）\n   - 输入「不需要」→ 跳过导出\n```\n\n### 导出方式\n\n**Markdown（.md）**：直接保存为 `.md` 文件，Mermaid图表保留为代码块格式。\n\n**Word（.docx）**：\n- 使用 `python-docx` 库生成 `.docx` 文件\n- Mermaid代码块自动渲染为PNG图片后嵌入文档\n- 使用本地浏览器（Chrome/Edge/Firefox 之一）+ puppeteer渲染Mermaid（自动检测可用浏览器）\n- 渲染脚本：`scripts/prd_export.py`（调用 `scripts/mermaid_render_multi.js`）\n\n**命令示例**：\n```bash\n# 导出为 docx（Mermaid自动转PNG）\npython3 scripts/prd_export.py PRD文档.md 输出 PRD文档.docx\n\n# 导出为 md（直接复制内容）\n# 在输出中提供 .md 文件内容\n```\n\n---\n\n## 阶段十：H5可交互原型图（可选，导出后主动询问）\n\n**触发时机**：在PRD文档输出完成后，主动询问用户：「是否需要生成H5可交互原型图？」\n\n### 询问话术\n\n```\n✅ PRD文档已完成，是否需要生成H5可交互原型图？\n   - 输入「需要」或「是」→ 生成原型图\n   - 输入「不需要」或「否」→ 结束流程\n\n如果需要生成H5原型图，请同时告诉我存放路径（例如：`~/Desktop/` 或 `D:\\project\\`），原型图将保存为 `{产品名称}_prototype.html` 文件。\n```\n\n### 技术约束\n\n**语言限制**：纯 HTML + CSS + JavaScript（原生），不使用 Vue、React、Angular 或任何框架。\n\n**零外部依赖**：生成的 HTML 不依赖任何外部 CDN、网络资源或 npm 包。Tailwind CSS 通过脚本预下载并内联到 HTML 中，图标以内联 SVG 嵌入，字体使用系统默认字体。\n\n### Tailwind CSS 本地化流程\n\n生成原型图前，无需准备 Tailwind CSS，直接在 HTML 中使用 CDN 链接 `<script src=\"https://cdn.tailwindcss.com\"></script>` 即可。\n\n**第四步：生成 HTML**\n\n生成 HTML 时，直接使用 CDN 链接，`<script>` 标签自带加载容错：\n\n```html\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n  <title>页面标题</title>\n  <!-- Tailwind CSS CDN，直接引用，无需本地文件 -->\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    /* 页面特定样式 */\n  </style>\n</head>\n<body class=\"bg-gray-100\">\n  <!-- 页面内容 -->\n  <script>\n    // 交互逻辑\n  </script>\n</body>\n</html>\n```\n\n**关键原则**：\n- **直接使用 CDN**：`<script src=\"https://cdn.tailwindcss.com\">` 是最可靠的方式，无需本地文件\n- **禁止内联 ~350KB CSS**：不再要求将整个 tailwind.css 内联到 `<style>` 标签\n- **跨平台零配置**：CDN 链接在 Windows/macOS/Linux 下均有效，无需路径适配\n\n### 页面结构规范\n\n**单HTML文件**：所有页面集成在同一个HTML文件中，使用tab/section切换展示不同页面。\n\n**文件名命名**：`{产品名称}_prototype.html`\n\n**核心交互原则**：所有页面存在于同一个HTML文件中，页面之间的跳转通过 `showPage()` 函数切换 `section` 的显示/隐藏状态来实现，不依赖多文件或服务器。\n\n**UI设计规范**：\n- **视觉层次**：使用 `shadow-sm`/`shadow-md` 给卡片增加层次感，不要只有纯底色\n- **间距**：页面内 `p-4` 基础内边距，卡片之间使用 `space-y-3`（12px间距），组内元素 `space-y-4`（16px间距）\n- **圆角**：卡片使用 `rounded-xl`（12px），按钮使用 `rounded-lg`（8px），输入框使用 `rounded-lg`\n- **颜色**：`bg-white` 卡片搭配 `bg-gray-50` 背景形成对比，操作按钮使用主色 `bg-blue-500`/`bg-blue-600`\n- **阴影**：`shadow-sm` 用于卡片，`shadow-lg` 用于弹窗/浮层\n- **空状态**：列表为空时显示占位插图和提示文字\n- **触摸反馈**：点击时使用 `active:bg-gray-100` 提升交互感\n\n**页面组织方式**：\n```html\n<!-- 顶部Tab导航 -->\n<div id=\"nav-tabs\" class=\"flex border-b bg-white sticky top-0 z-10\">\n  <button onclick=\"showPage('login')\" class=\"tab-btn active flex-1 py-3 text-center border-b-2 border-blue-500 text-blue-500 font-medium\">登录</button>\n  <button onclick=\"showPage('home')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-400 font-medium\">首页</button>\n  <button onclick=\"showPage('detail')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-400 font-medium\">详情</button>\n  <button onclick=\"showPage('profile')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-400 font-medium\">我的</button>\n</div>\n\n<!-- 页面容器 -->\n<div id=\"pages\" class=\"pb-16\">\n  <section id=\"page-login\" class=\"page active\">\n    <!-- 登录表单 -->\n    <div class=\"p-6 space-y-5\">\n      <div class=\"text-center mb-6\">\n        <div class=\"w-16 h-16 bg-blue-500 rounded-2xl mx-auto mb-3 flex items-center justify-center shadow-lg\">\n          <span class=\"text-white text-2xl font-bold\">LOGO</span>\n        </div>\n        <h1 class=\"text-xl font-bold text-gray-800\">产品名称</h1>\n        <p class=\"text-gray-400 text-sm mt-1\">欢迎回来，请登录</p>\n      </div>\n      <input type=\"text\" placeholder=\"请输入手机号\" class=\"w-full border border-gray-200 rounded-xl px-4 py-3.5 bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition\" />\n      <input type=\"password\" placeholder=\"请输入密码\" class=\"w-full border border-gray-200 rounded-xl px-4 py-3.5 bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition\" />\n      <button onclick=\"showPage('home')\" class=\"w-full bg-blue-500 text-white py-3.5 rounded-xl font-medium shadow-md hover:bg-blue-600 active:bg-blue-700 transition\">登录</button>\n      <p class=\"text-center text-sm text-gray-400\">还没有账号？<span class=\"text-blue-500\">立即注册</span></p>\n    </div>\n  </section>\n\n  <section id=\"page-home\" class=\"page hidden\">\n    <!-- 首页Banner + 列表 -->\n    <div class=\"p-4 space-y-4\">\n      <!-- Banner轮播 -->\n      <div class=\"bg-gradient-to-r from-blue-500 to-blue-600 rounded-2xl p-5 text-white shadow-lg\">\n        <p class=\"text-sm opacity-90\">限时活动</p>\n        <h2 class=\"text-lg font-bold mt-1\">新人专享福利</h2>\n        <p class=\"text-xs opacity-80 mt-1\">点击领取专属优惠券</p>\n      </div>\n      <!-- 分类快捷入口 -->\n      <div class=\"grid grid-cols-4 gap-3\">\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-blue-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">📦</span></div>\n          <span class=\"text-xs text-gray-500\">分类</span>\n        </div>\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-orange-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">🔥</span></div>\n          <span class=\"text-xs text-gray-500\">热榜</span>\n        </div>\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-green-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">🎁</span></div>\n          <span class=\"text-xs text-gray-500\">福利</span>\n        </div>\n        <div class=\"flex flex-col items-center gap-1 py-2\">\n          <div class=\"w-10 h-10 bg-purple-50 rounded-xl flex items-center justify-center\"><span class=\"text-base\">✨</span></div>\n          <span class=\"text-xs text-gray-500\">精选</span>\n        </div>\n      </div>\n      <!-- 列表项 -->\n      <div onclick=\"showPage('detail')\" class=\"bg-white rounded-xl p-4 shadow-sm cursor-pointer hover:shadow-md active:bg-gray-50 transition\">\n        <div class=\"flex gap-3\">\n          <div class=\"w-20 h-20 bg-gray-100 rounded-lg flex-shrink-0\"></div>\n          <div class=\"flex-1 min-w-0\">\n            <h3 class=\"font-medium text-gray-800 truncate\">商品标题名称</h3>\n            <p class=\"text-gray-400 text-xs mt-1 line-clamp-2\">商品简短描述，介绍核心功能和卖点，最多显示两行</p>\n            <div class=\"flex items-baseline gap-1 mt-2\">\n              <span class=\"text-red-500 font-bold\">¥99</span>\n              <span class=\"text-gray-300 text-xs line-through\">¥199</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </section>\n\n  <section id=\"page-detail\" class=\"page hidden\">\n    <!-- 详情页 -->\n    <div>\n      <!-- 商品图片区域 -->\n      <div class=\"bg-gray-100 h-64 flex items-center justify-center\">\n        <span class=\"text-gray-300 text-4xl\">📷</span>\n      </div>\n      <!-- 商品信息 -->\n      <div class=\"p-4\">\n        <div class=\"flex items-baseline gap-2\">\n          <span class=\"text-red-500 text-2xl font-bold\">¥99</span>\n          <span class=\"text-gray-400 text-sm line-through\">¥199</span>\n          <span class=\"text-orange-500 text-xs bg-orange-50 px-2 py-0.5 rounded\">限时优惠</span>\n        </div>\n        <h1 class=\"text-lg font-bold text-gray-800 mt-3\">商品标题名称</h1>\n        <p class=\"text-gray-400 text-sm mt-2\">这里是商品详细描述，包含核心卖点、功能介绍、规格参数等详细内容。</p>\n        <!-- 标签 -->\n        <div class=\"flex flex-wrap gap-2 mt-3\">\n          <span class=\"bg-blue-50 text-blue-500 text-xs px-2 py-1 rounded-full\">正品保证</span>\n          <span class=\"bg-green-50 text-green-500 text-xs px-2 py-1 rounded-full\">急速发货</span>\n          <span class=\"bg-purple-50 text-purple-500 text-xs px-2 py-1 rounded-full\">售后无忧</span>\n        </div>\n      </div>\n      <!-- 底部固定操作栏 -->\n      <div class=\"fixed bottom-0 left-0 right-0 bg-white border-t px-4 py-3 flex gap-3 shadow-lg\">\n        <div class=\"flex items-center gap-1 text-gray-400\">\n          <svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\"/></svg>\n          <span class=\"text-xs\">收藏</span>\n        </div>\n        <div class=\"flex items-center gap-1 text-gray-400\">\n          <svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"/></svg>\n          <span class=\"text-xs\">购物车</span>\n        </div>\n        <button onclick=\"showPage('home')\" class=\"flex-1 py-3 bg-gray-100 text-gray-600 rounded-xl font-medium active:bg-gray-200 transition\">加入购物车</button>\n        <button class=\"flex-1 py-3 bg-blue-500 text-white rounded-xl font-medium shadow-md active:bg-blue-600 transition\">立即购买</button>\n      </div>\n    </div>\n  </section>\n\n  <section id=\"page-profile\" class=\"page hidden\">\n    <!-- 个人中心 -->\n    <div class=\"p-4\">\n      <div class=\"bg-white p-4 rounded-xl shadow mb-4\">\n        <p class=\"text-gray-500\">个人中心内容</p>\n      </div>\n      <button onclick=\"showPage('login')\" class=\"w-full py-3 text-red-500 border border-red-500 rounded-lg\">退出登录</button>\n    </div>\n  </section>\n</div>\n\n<style>\n  .page { display: none; }\n  .page.active { display: block; }\n  .hidden { display: none !important; }\n</style>\n\n<script>\n  function showPage(name) {\n    // 隐藏所有页面\n    document.querySelectorAll('.page').forEach(p => {\n      p.classList.remove('active');\n      p.classList.add('hidden');\n    });\n    // 显示目标页面\n    const target = document.getElementById('page-' + name);\n    if (target) {\n      target.classList.remove('hidden');\n      target.classList.add('active');\n    }\n    // 更新Tab高亮状态\n    document.querySelectorAll('.tab-btn').forEach(btn => {\n      if (btn.getAttribute('onclick').includes(\"'\" + name + \"'\")) {\n        btn.classList.add('border-blue-500', 'text-blue-500');\n        btn.classList.remove('border-transparent', 'text-gray-500');\n      } else {\n        btn.classList.remove('border-blue-500', 'text-blue-500');\n        btn.classList.add('border-transparent', 'text-gray-500');\n      }\n    });\n    // 滚动到顶部\n    window.scrollTo(0, 0);\n  }\n\n  // 支持浏览器前进后退\n  window.addEventListener('popstate', () => {\n    const hash = window.location.hash.replace('#', '') || 'login';\n    showPage(hash);\n  });\n</script>\n```\n\n### 页面模板\n\n```html\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n  <title>页面标题</title>\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    /* 页面特定样式 */\n  </style>\n</head>\n<body class=\"bg-gray-100\">\n  <!-- 页面内容 -->\n  <script>\n    // 交互逻辑\n  </script>\n</body>\n</html>\n```\n\n### 移动端适配要点\n\n- viewport：`width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no`\n- 触摸目标最小 44×44px\n- 设计基准宽度 750px（微信H5标准）\n- 使用 `flex` 和 `space-y-*` 简化布局\n- 底部固定导航使用 `fixed bottom-0`\n\n### 页面导航\n\n同一HTML文件内的页面通过 `showPage()` 函数切换不同 section 的显示状态实现跳转。不使用 `window.location.href`，不依赖多文件或服务器。\n\n**页面间跳转规则**：\n- 列表页 → 点击列表项 → 进入详情页（传 id 参数）\n- 详情页 → 返回按钮 → 返回列表页（保留位置）\n- 表单提交 → 成功后跳转至目标页\n- 底部Tab → 点击直接切换Tab高亮并跳转对应页面\n\n**传参方式（同一HTML内）**：\n```js\n// 使用 data 属性存储 id\n<div onclick=\"goDetail(123)\" class=\"list-item\">商品A</div>\n\n// 跳转时携带参数\nfunction goDetail(id) {\n  // 将当前页存入\"上一页\"堆栈，用于返回\n  window.historyState = window.historyState || {};\n  window.historyState.backPage = 'home';\n  // 显示详情页（详情页根据全局变量或DOM状态读取id）\n  window.currentDetailId = id;\n  showPage('detail');\n}\n\n// 返回按钮使用\n<button onclick=\"goBack()\" class=\"fixed bottom-0 left-0\">返回</button>\n\nfunction goBack() {\n  const back = window.historyState?.backPage || 'home';\n  showPage(back);\n}\n```\n\n**跨页面状态管理**：\n```js\n// localStorage 存储简单状态（登录态、用户信息）\nlocalStorage.setItem('isLoggedIn', 'true');\nlocalStorage.setItem('user', JSON.stringify({name: '张三'}));\n\n// 页面显示时读取状态，决定展示什么内容\nfunction showPage(name) {\n  // ...切换页面逻辑...\n  if (name === 'profile') {\n    const user = JSON.parse(localStorage.getItem('user') || '{}');\n    document.querySelector('#page-profile .username').textContent = user.name || '未登录';\n  }\n}\n```\n\n### 常用交互模式\n\n**点击切换**：\n```js\ndocument.querySelectorAll('.tab-item').forEach(tab => {\n  tab.addEventListener('click', () => {\n    document.querySelectorAll('.tab-item').forEach(t => t.classList.remove('bg-blue-500', 'text-white'));\n    tab.classList.add('bg-blue-500', 'text-white');\n  });\n});\n```\n\n**表单验证**：\n```js\nform.addEventListener('submit', (e) => {\n  e.preventDefault();\n  if (!input.value.match(/^1[3-9]\\d{9}$/)) {\n    alert('请输入正确手机号');\n    return;\n  }\n  // 提交处理\n});\n```\n\n**列表项点击**：\n```js\ndocument.querySelectorAll('.list-item').forEach(item => {\n  item.addEventListener('click', () => {\n    const id = item.dataset.id;\n    window.location.href = `detail.html?id=${id}`;\n  });\n});\n```\n\n### 组件库（Tailwind CSS）\n\n> Tailwind CSS 已预下载并内联到 HTML 中，无需任何外部依赖。\n\n**按钮**：`px-6 py-2 bg-blue-500 text-white rounded-full`\n**输入框**：`border rounded-lg px-4 py-2 w-full`\n**卡片**：`bg-white rounded-xl shadow p-4`\n**底部导航**：`fixed bottom-0 flex justify-around bg-white border-t`\n**徽标**：`absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full px-1.5 py-0.5`\n\n### 图标使用（内联SVG）\n\n**图标尺寸规范**：`w-5 h-5`（20×20px）或 `w-6 h-6`（24×24px）。**禁止使用 `w-8 h-8`（32px）或更大尺寸**——图标应与文字对齐，不应喧宾夺主。\n\n常用图标以内联 SVG 方式嵌入，避免外部依赖：\n\n```html\n<!-- 返回箭头（推荐尺寸 w-5 h-5）-->\n<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\"/></svg>\n\n<!-- 主页图标 -->\n<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-4 0a1 1 0 01-1-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 01-1 1h-2\"/></svg>\n\n<!-- 用户图标 -->\n<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"/></svg>\n```\n\n### 输出格式\n\n当用户确认需要生成H5原型时，输出：\n\n1. 完整的单HTML文件（所有页面集成在一个文件中，不是多个html文件）\n2. 顶部Tab导航 + 底部固定导航（多Tab应用），点击可跳转到对应页面\n3. 每个页面有独立的section容器，showPage()切换\n4. 列表项点击跳转详情页、详情页返回按钮返回列表页\n5. 表单提交成功后自动跳转\n\n**H5原型页面列表**（写在PRD文档末尾或在PRD后单独说明）：\n\n```\n**H5原型图已生成**\n\n文件名：`{产品名称}_prototype.html`\n\n**重要**：所有页面存在于同一个HTML文件中，不生成多个html文件，不依赖服务器。直接在浏览器打开即可体验完整交互。\n\n**页面导航**：\n- 顶部Tab切换（首页/详情/我的/...）\n- 列表页点击 → 跳转详情页\n- 详情页底部「返回」按钮 → 返回列表页\n- 表单提交成功 → 自动跳转目标页\n\n**技术实现**：\n- 纯HTML/CSS/JS，无框架依赖\n- Tailwind CSS 本地内联，无CDN依赖\n- showPage() 切换 section 显示状态实现页面跳转\n- localStorage 存储登录态等简单状态\n\n**打开方式**：在浏览器中打开 `{产品名称}_prototype.html`，点击Tab、列表项、按钮体验完整交互流程。\n```\n\n### 完整示例：记账APP原型（真实可运行HTML）\n\n以下是一个完整的单文件HTML原型示例，展示了所有交互机制。生成时以此为模板替换具体业务内容：\n\n```html\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n  <title>记账APP原型</title>\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    .page { display: none; }\n    .page.active { display: block; }\n    .hidden { display: none !important; }\n    .tab-btn { transition: all 0.2s; }\n    .list-item { transition: background 0.15s; }\n    .list-item:active { background: #f3f4f6; }\n  </style>\n</head>\n<body class=\"bg-gray-100 font-sans\">\n\n  <!-- 顶部Tab导航 -->\n  <div id=\"nav-tabs\" class=\"flex border-b bg-white sticky top-0 z-10\">\n    <button onclick=\"showPage('home')\" class=\"tab-btn active flex-1 py-3 text-center border-b-2 border-blue-500 text-blue-500 font-medium\">首页</button>\n    <button onclick=\"showPage('add')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-500\">记一笔</button>\n    <button onclick=\"showPage('budget')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-500\">预算</button>\n    <button onclick=\"showPage('profile')\" class=\"tab-btn flex-1 py-3 text-center border-b-2 border-transparent text-gray-500\">我的</button>\n  </div>\n\n  <!-- 页面容器 -->\n  <div id=\"pages\" class=\"pb-20\">\n\n    <!-- 首页：账单列表 -->\n    <section id=\"page-home\" class=\"page active\">\n      <div class=\"p-4\">\n        <!-- 本月总支出卡片 -->\n        <div class=\"bg-gradient-to-r from-blue-500 to-blue-600 rounded-2xl p-5 text-white mb-4\">\n          <p class=\"text-sm opacity-80\">本月支出</p>\n          <p class=\"text-3xl font-bold mt-1\">¥2,847.50</p>\n          <p class=\"text-sm opacity-80 mt-2\">环比上月 +12.3%</p>\n        </div>\n        <!-- 账单列表 -->\n        <div class=\"space-y-3\">\n          <div onclick=\"showDetail()\" class=\"list-item bg-white p-4 rounded-xl shadow cursor-pointer\">\n            <div class=\"flex justify-between items-center\">\n              <div class=\"flex items-center gap-3\">\n                <div class=\"w-10 h-10 bg-orange-100 rounded-full flex items-center justify-center\">🍔</div>\n                <div>\n                  <p class=\"font-medium\">餐饮</p>\n                  <p class=\"text-gray-400 text-sm\">今天 12:30</p>\n                </div>\n              </div>\n              <p class=\"font-bold text-red-500\">-¥38.50</p>\n            </div>\n          </div>\n          <div onclick=\"showDetail()\" class=\"list-item bg-white p-4 rounded-xl shadow cursor-pointer\">\n            <div class=\"flex justify-between items-center\">\n              <div class=\"flex items-center gap-3\">\n                <div class=\"w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center\">🚇</div>\n                <div>\n                  <p class=\"font-medium\">交通</p>\n                  <p class=\"text-gray-400 text-sm\">今天 09:15</p>\n                </div>\n              </div>\n              <p class=\"font-bold text-red-500\">-¥4.00</p>\n            </div>\n          </div>\n          <div onclick=\"showDetail()\" class=\"list-item bg-white p-4 rounded-xl shadow cursor-pointer\">\n            <div class=\"flex justify-between items-center\">\n              <div class=\"flex items-center gap-3\">\n                <div class=\"w-10 h-10 bg-green-100 rounded-full flex items-center justify-center\">🛒</div>\n                <div>\n                  <p class=\"font-medium\">购物</p>\n                  <p class=\"text-gray-400 text-sm\">昨天 20:45</p>\n                </div>\n              </div>\n              <p class=\"font-bold text-red-500\">-¥156.00</p>\n            </div>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <!-- 记一笔：添加账单表单 -->\n    <section id=\"page-add\" class=\"page hidden\">\n      <div class=\"p-4\">\n        <div class=\"bg-white rounded-2xl p-5 shadow\">\n          <h2 class=\"text-lg font-bold mb-4\">记一笔</h2>\n          <!-- 金额输入 -->\n          <div class=\"flex items-center gap-2 mb-6 border-b pb-4\">\n            <span class=\"text-2xl font-bold\">¥</span>\n            <input id=\"amount-input\" type=\"number\" placeholder=\"0.00\" class=\"text-3xl font-bold flex-1 outline-none\">\n          </div>\n          <!-- 分类选择 -->\n          <div class=\"grid grid-cols-4 gap-3 mb-6\">\n            <div onclick=\"selectCategory(this, '餐饮')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🍔</span>\n              <span class=\"text-xs mt-1\">餐饮</span>\n            </div>\n            <div onclick=\"selectCategory(this, '交通')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🚇</span>\n              <span class=\"text-xs mt-1\">交通</span>\n            </div>\n            <div onclick=\"selectCategory(this, '购物')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🛒</span>\n              <span class=\"text-xs mt-1\">购物</span>\n            </div>\n            <div onclick=\"selectCategory(this, '娱乐')\" class=\"cat-btn flex flex-col items-center p-3 rounded-xl bg-gray-50 cursor-pointer\">\n              <span class=\"text-2xl\">🎮</span>\n              <span class=\"text-xs mt-1\">娱乐</span>\n            </div>\n          </div>\n          <!-- 日期 -->\n          <div class=\"flex items-center justify-between py-3 border-t\">\n            <span class=\"text-gray-500\">日期</span>\n            <span id=\"date-display\" class=\"font-medium\">今天</span>\n          </div>\n          <!-- 提交按钮 -->\n          <button onclick=\"submitExpense()\" class=\"w-full py-3 bg-blue-500 text-white rounded-xl font-medium mt-4\">保存</button>\n        </div>\n      </div>\n    </section>\n\n    <!-- 预算页 -->\n    <section id=\"page-budget\" class=\"page hidden\">\n      <div class=\"p-4\">\n        <div class=\"bg-white rounded-2xl p-5 shadow mb-4\">\n          <div class=\"flex justify-between items-center mb-3\">\n            <span class=\"text-gray-500\">本月预算</span>\n            <span class=\"font-bold text-xl\">¥5,000</span>\n          </div>\n          <div class=\"w-full bg-gray-200 rounded-full h-3\">\n            <div class=\"bg-blue-500 h-3 rounded-full\" style=\"width: 57%\"></div>\n          </div>\n          <p class=\"text-sm text-gray-400 mt-2\">已花费 57% · 剩余 ¥2,152.50</p>\n        </div>\n        <!-- 分类预算 -->\n        <div class=\"bg-white rounded-2xl p-5 shadow space-y-4\">\n          <h3 class=\"font-bold\">分类支出</h3>\n          <div>\n            <div class=\"flex justify-between text-sm mb-1\"><span>🍔 餐饮</span><span>¥1,234/¥2,000</span></div>\n            <div class=\"w-full bg-gray-200 rounded-full h-2\"><div class=\"bg-orange-500 h-2 rounded-full\" style=\"width: 62%\"></div></div>\n          </div>\n          <div>\n            <div class=\"flex justify-between text-sm mb-1\"><span>🛒 购物</span><span>¥980/¥1,500</span></div>\n            <div class=\"w-full bg-gray-200 rounded-full h-2\"><div class=\"bg-green-500 h-2 rounded-full\" style=\"width: 65%\"></div></div>\n          </div>\n          <div>\n            <div class=\"flex justify-between text-sm mb-1\"><span>🚇 交通</span><span>¥234/¥500</span></div>\n            <div class=\"w-full bg-gray-200 rounded-full h-2\"><div class=\"bg-blue-500 h-2 rounded-full\" style=\"width: 47%\"></div></div>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <!-- 我的 -->\n    <section id=\"page-profile\" class=\"page hidden\">\n      <div class=\"p-4\">\n        <div class=\"bg-white rounded-2xl p-5 shadow mb-4\">\n          <div class=\"flex items-center gap-4\">\n            <div class=\"w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center text-2xl\">👤</div>\n            <div>\n              <p class=\"font-bold text-lg username\">未登录</p>\n              <p class=\"text-gray-400 text-sm\">记账第 128 天</p>\n            </div>\n          </div>\n        </div>\n        <div class=\"bg-white rounded-2xl shadow overflow-hidden\">\n          <div class=\"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50\">\n            <span>月度报告</span>\n            <svg class=\"w-5 h-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/></svg>\n          </div>\n          <div class=\"flex justify-between items-center p-4 border-b cursor-pointer hover:bg-gray-50\">\n            <span>预算设置</span>\n            <svg class=\"w-5 h-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/></svg>\n          </div>\n          <div class=\"flex justify-between items-center p-4 cursor-pointer hover:bg-gray-50\">\n            <span>关于我们</span>\n            <svg class=\"w-5 h-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/></svg>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <!-- 账单详情页（浮动层） -->\n    <div id=\"detail-overlay\" class=\"fixed inset-0 bg-black/50 z-50 hidden\">\n      <div class=\"absolute bottom-0 left-0 right-0 bg-white rounded-t-3xl p-5 max-h-[70vh] overflow-y-auto\">\n        <div class=\"flex justify-between items-center mb-4\">\n          <h2 class=\"text-xl font-bold\">账单详情</h2>\n          <button onclick=\"closeDetail()\" class=\"text-gray-400 p-2\">\n            <svg class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/></svg>\n          </button>\n        </div>\n        <div class=\"space-y-3 text-sm\">\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">分类</span><span>餐饮</span></div>\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">金额</span><span class=\"font-bold text-red-500\">¥38.50</span></div>\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">日期</span><span>2026-04-26 12:30</span></div>\n          <div class=\"flex justify-between\"><span class=\"text-gray-500\">备注</span><span>午餐</span></div>\n        </div>\n        <button class=\"w-full py-3 bg-red-50 text-red-500 rounded-xl font-medium mt-4\">删除</button>\n      </div>\n    </div>\n\n  </div>\n\n  <script>\n    let selectedCategory = '';\n\n    function showPage(name) {\n      // 隐藏所有页面\n      document.querySelectorAll('.page').forEach(p => {\n        p.classList.remove('active');\n        p.classList.add('hidden');\n      });\n      // 显示目标页面\n      const target = document.getElementById('page-' + name);\n      if (target) {\n        target.classList.remove('hidden');\n        target.classList.add('active');\n      }\n      // 更新Tab高亮\n      document.querySelectorAll('.tab-btn').forEach(btn => {\n        if (btn.getAttribute('onclick').includes(\"'\" + name + \"'\")) {\n          btn.classList.add('border-blue-500', 'text-blue-500');\n          btn.classList.remove('border-transparent', 'text-gray-500');\n        } else {\n          btn.classList.remove('border-blue-500', 'text-blue-500');\n          btn.classList.add('border-transparent', 'text-gray-500');\n        }\n      });\n      window.scrollTo(0, 0);\n    }\n\n    function selectCategory(el, category) {\n      document.querySelectorAll('.cat-btn').forEach(b => b.classList.remove('bg-blue-100', 'ring-2', 'ring-blue-500'));\n      el.classList.add('bg-blue-100', 'ring-2', 'ring-blue-500');\n      selectedCategory = category;\n    }\n\n    function submitExpense() {\n      const amount = document.getElementById('amount-input').value;\n      if (!amount || !selectedCategory) {\n        alert('请填写金额和选择分类');\n        return;\n      }\n      alert('保存成功：¥' + amount + ' (' + selectedCategory + ')');\n      showPage('home');\n    }\n\n    function showDetail() {\n      document.getElementById('detail-overlay').classList.remove('hidden');\n    }\n\n    function closeDetail() {\n      document.getElementById('detail-overlay').classList.add('hidden');\n    }\n  </script>\n</body>\n</html>\n```\n\n---\n\n# 知识速查\n\n## 需求优先级三剑客\n\n**Kano模型** — 将需求分为基本型（没有就强烈不满）、期望型（越多越满意）、兴奋型（超出预期）。资源有限时优先保基本型。\n\n**RICE评分** — RICE = (影响人数 × 转化率提升 × 信心指数) ÷ 工作量(人天)。按分数排序。\n\n**MoSCoW分类** — Must必须有（核心路径，无则产品不可用，占比约60%）、Should应该有（重要但可延期，占比约20%）、Could可以有（锦上添花，占比约15%）、Won't这次不做（放未来规划，占比约5%）。\n\n## PRD核心结构\n\nPRD的核心不是说清楚要做什么功能，而是说清楚「为什么做、做到什么程度、怎么才算成功」。标准7章：概述→用户与场景→功能需求→非功能需求→数据埋点→风险与依赖→附录。\n\n\n### PRD评审流程\n\n```mermaid\nflowchart TD\n    A([PM起草PRD]) --> B[内部评审\\nPM+设计+开发]\n    B --> C{评审通过?}\n    C -->|否| D[修改PRD]\n    D --> A\n    C -->|是| E[技术方案设计]\n    E --> F[开发任务分解]\n    F --> G[Sprint Planning\\n纳入迭代]\n    G --> H([PRD归档])\n```\n\n\n## AARRR海盗模型\n\nAcquisition获取（新增用户数、获客成本CAC）、Activation激活（新用户激活率、首单转化率）、Retention留存（次日/7日/30日留存率）、Revenue变现（ARPU、LTV）、Referral推荐（NPS、裂变系数K因子）。\n\n\n### 产品KPI体系\n\n```mermaid\nflowchart LR\n    subgraph 获取 Acquisition\n        A1[新增用户] --> A2[获客成本CAC]\n        A1 --> A3[渠道分布]\n    end\n    subgraph 激活 Activation\n        B1[激活率] --> B2[首单转化]\n    end\n    subgraph 留存 Retention\n        C1[次日留存] --> C2[7日留存] --> C3[30日留存]\n    end\n    subgraph 变现 Revenue\n        D1[ARPU] --> D2[LTV]\n    end\n    subgraph 推荐 Referral\n        E1[NPS] --> E2[K因子]\n    end\n    A1 --> B1 --> C1 --> D1 --> E1\n```\n\n\n## Agile/Scrum速查\n\n三个角色：Product Owner负责产品待办列表优先级排序、Scrum Master确保团队遵循Scrum流程清除障碍、Development Team跨职能团队负责交付。\n\n五个仪式：Sprint Planning（每Sprint第一天2-4h规划内容）、Daily Standup（每天15min同步进展识别阻塞）、Sprint Review（每Sprint结束演示成果收集反馈）、Sprint Retrospective（每Sprint结束团队内部复盘）、Backlog Refinement（每周准备下个Sprint需求）。\n\n## Tailwind CSS H5原型速查\n\n> Tailwind CSS 内容已预下载并内联到 HTML 中，生成 H5 原型时无需任何外部依赖。\n\n### 布局\n\n| 类名 | 作用 |\n|------|------|\n| `flex` / `inline-flex` | flex 容器 |\n| `grid` | grid 容器 |\n| `block` / `inline-block` / `hidden` | 块级/行内块/隐藏 |\n| `w-full` / `w-1/2` / `w-32` | 宽度 |\n| `h-full` / `h-screen` | 高度 |\n| `max-w-md` / `max-w-lg` | 最大宽度 |\n| `mx-auto` | 水平居中 |\n| `p-4` / `px-4` / `py-2` | 内边距 |\n| `m-4` / `mb-4` / `mt-2` | 外边距 |\n| `space-y-4` | 子元素垂直间距 |\n| `gap-4` | grid/flex 间距 |\n\n### 移动端适配\n\n| 类名 | 作用 |\n|------|------|\n| `container` | 响应式容器（max-width breakpoints） |\n| `sm:` / `md:` / `lg:` | 响应式断点前缀 |\n| `max-width: 750px` + `mx-auto` | 固定宽度居中（原型基准） |\n\n### 颜色与背景\n\n| 类名 | 作用 |\n|------|------|\n| `bg-white` / `bg-gray-100` / `bg-blue-500` | 背景色 |\n| `text-gray-500` / `text-white` | 文字颜色 |\n| `text-xs` / `text-sm` / `text-base` / `text-lg` | 字号 |\n| `font-bold` / `font-medium` | 字重 |\n| `opacity-50` | 透明度 |\n\n### 边框与阴影\n\n| 类名 | 作用 |\n|------|------|\n| `border` / `border-2` | 边框 |\n| `border-gray-200` | 边框颜色 |\n| `rounded` / `rounded-lg` / `rounded-full` | 圆角 |\n| `shadow` / `shadow-lg` | 阴影 |\n\n### 定位\n\n| 类名 | 作用 |\n|------|------|\n| `relative` / `absolute` / `fixed` | 定位方式 |\n| `top-0` / `bottom-0` / `left-0` / `right-0` | 位置 |\n| `inset-0` | 四边全定位 |\n| `z-10` | 层级 |\n| `fixed bottom-0` | 底部固定导航 |\n\n### 交互状态\n\n| 类名 | 作用 |\n|------|------|\n| `hover:bg-blue-600` | 悬停状态 |\n| `active:bg-blue-700` | 按下状态 |\n| `disabled:opacity-50` | 禁用状态 |\n| `focus:outline-none` | 聚焦状态 |\n\n### 常用 H5 组件\n\n| 组件 | 类名组合 |\n|------|---------|\n| 主按钮 | `px-6 py-2 bg-blue-500 text-white rounded-full hover:bg-blue-600` |\n| 次按钮 | `px-6 py-2 border border-blue-500 text-blue-500 rounded-full` |\n| 输入框 | `border rounded-lg px-4 py-2 w-full focus:outline-none focus:border-blue-500` |\n| 卡片 | `bg-white rounded-xl shadow p-4` |\n| 列表项 | `flex items-center p-4 bg-white border-b border-gray-100` |\n| 底部导航 | `fixed bottom-0 flex justify-around bg-white border-t border-gray-200 py-2` |\n| 徽标/角标 | `absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full px-1.5 py-0.5` |\n| 头像 | `w-10 h-10 rounded-full bg-gray-200` |\n| Tab 栏 | `flex border-b bg-white` |\n| Tab 项 | `flex-1 text-center py-3 text-blue-500 border-b-2 border-blue-500` |\n\n---\n\n# Mermaid图表速查\n\n| 图表 | 关键词 | 用途 |\n|------|--------|------|\n| 流程图 | `flowchart TD/LR` | 用户核心路径和分支 |\n| 时序图 | `sequenceDiagram` | 系统/角色调用顺序 |\n| 状态图 | `stateDiagram-v2` | 实体状态流转 |\n| 甘特图 | `gantt` | 项目计划和时间线 |\n| 架构图 | `flowchart TB` | 系统分层和模块关系 |\n| ER图 | `erDiagram` | 数据库表结构 |\n| 用户旅程 | `journey` | 用户体验全流程情感 |\n\n### 用户登录流程\n\n```mermaid\nflowchart TD\n    A([开始]) --> B[/输入手机号/]\n    B --> C{格式校验}\n    C -->|错误| D[提示格式错误]\n    D --> B\n    C -->|正确| E[获取验证码]\n    E --> F[输入验证码]\n    F --> G{验证正确?}\n    G -->|错误| H[提示验证码错误]\n    H --> F\n    G -->|正确| I[登录成功]\n    I --> J([跳转首页])\n```\n\n### 订单状态流转\n\n```mermaid\nstateDiagram-v2\n    [*] --> 待支付\n    待支付 --> 已取消: 用户取消/超时\n    待支付 --> 待发货: 支付成功\n    待发货 --> 配送中: 商家发货\n    配送中 --> 待收货: 确认收货\n    待收货 --> 已完成: 用户确认\n    待收货 --> 退货中: 申请退货\n    退货中 --> 已退款: 退款成功\n    已完成 --> [*]\n```\n\n### 产品迭代甘特图\n\n```mermaid\ngantt\n    title 产品v2.0迭代计划\n    dateFormat YYYY-MM-DD\n    section 产品设计\n    需求调研       :d1, 2026-01-01, 14d\n    PRD撰写        :d3, after d1, 10d\n    section 开发\n    核心功能开发   :d6, after d3, 30d\n    辅助功能开发   :d7, after d6, 15d\n    section 测试\n    功能测试       :d9, after d6, 20d\n    回归测试       :d10, after d9, 7d\n    section 上线\n    灰度发布       :d11, after d10, 3d\n    全量发布       :d12, after d11, 2d\n```\n\n### 用户注册时序图\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant FE as 前端\n    participant BE as 后端服务\n    participant DB as 数据库\n    U->>FE: 填写注册信息\n    FE->>BE: POST /api/register\n    BE->>DB: 查询是否已注册\n    DB-->>BE: 返回结果\n    alt 已注册\n        BE-->>FE: 错误：手机号已注册\n        FE-->>U: 显示错误提示\n    else 未注册\n        BE->>DB: 创建用户记录\n        DB-->>BE: 返回用户ID\n        BE-->>FE: 注册成功\n        FE-->>U: 跳转验证页\n    end\n```\n\n### 系统架构图\n\n```mermaid\nflowchart TB\n    subgraph 客户端层\n        WEB[\"Web端 (Vue.js)\"]\n        APP[\"App端 (React Native)\"]\n    end\n    subgraph 网关层\n        GW[\"API网关 (Kong)\"]\n    end\n    subgraph 服务层\n        USER[\"用户服务\"]\n        ORDER[\"订单服务\"]\n        PAY[\"支付服务\"]\n    end\n    subgraph 数据层\n        DB[(\"MySQL\")]\n        REDIS[(\"Redis\")]\n        MQ[\"Kafka\"]\n    end\n    WEB & APP --> GW\n    GW --> USER & ORDER & PAY\n    USER & ORDER --> DB\n    ORDER --> MQ\n```\n\n---\n\n# 避坑指南\n\n## 十大常见误区\n\n| 误区 | 正确做法 |\n|------|---------|\n| ❌「我觉得用户需要这个」凭直觉做决策 | ✅ 用用户访谈、数据分析验证假设 |\n| ❌ 功能越多越好，堆砌功能 | ✅ 少即是多，先做核心路径 |\n| ❌ PRD写完就丢，不跟进落地 | ✅ 持续跟进，上线后跟踪数据 |\n| ❌ 忽略技术边界，拍脑袋定排期 | ✅ 需求评审拉上技术，确认可行性 |\n| ❌ 需求变更口头通知，不走流程 | ✅ 需求变更走正式流程，评估影响 |\n| ❌ 只看转化率，忽略留存 | ✅ 结合留存、NPS、DAU综合评估 |\n| ❌ 竞品有什么我就抄什么 | ✅ 理解定位，找差异化机会 |\n| ❌ 排期过于乐观，不留Buffer | ✅ 评估工期乘以1.5-2倍风险系数 |\n| ❌ 忽视非功能需求 | ✅ 性能/安全/兼容性需求阶段定义 |\n| ❌ 上线无监控，不知道效果 | ✅ 上线前配置埋点和监控告警 |\n\n## PRD写作常见错误\n\n| 错误 | 正确做法 |\n|------|---------|\n| ❌ 背景写成了功能介绍（「我们要做分享功能」） | ✅ 背景说清市场/用户/机会 |\n| ❌ 目标不可量化（「提升用户体验」） | ✅ 「注册转化率从60%提升到75%」 |\n| ❌ 验收标准模糊（「界面美观大方」） | ✅ 「点击按钮后2秒内显示结果」 |\n| ❌ 功能边界不清晰（「等等这个应该不算」） | ✅ 明确定义包含/不包含 |\n\n---\n\n# 快速参考\n\n## 需求优先级\n\n| 级别 | 含义 | 占比 |\n|------|------|------|\n| P0 / Must | 核心路径，无则不可用 | 60% |\n| P1 / Should | 重要但可延期 | 20% |\n| P2 / Could | 锦上添花 | 15% |\n| P3 / Won't | 未来规划，本次不做 | 5% |\n\n## 核心指标\n\n| 维度 | 指标 |\n|------|------|\n| 活跃 | DAU/MAU/日均使用时长 |\n| 留存 | 次日/7日/30日留存率 |\n| 转化 | 注册转化率/付费转化率 |\n| 变现 | ARPU/LTV/客单价 |\n| 口碑 | NPS/评分/评论数 |\n\n## PRD快速清单\n\n- [ ] 背景说清楚了「为什么做」\n- [ ] 目标可量化（数字，不是「提升体验」）\n- [ ] 用户画像明确（不是「所有用户」）\n- [ ] 功能有优先级（P0/P1/P2）\n- [ ] 每个功能有验收标准（可测试）\n- [ ] 非功能需求明确（性能/安全/兼容性）\n- [ ] 风险有应对方案\n- [ ] Mermaid图表涵盖架构图/用户旅程/迭代计划\n\n\n---\n\n# 输出格式规范\n\n## 必须遵守\n\n- 输出必须是一段干净连贯的文字，不能出现「根据参考文档」「第一层/第二层」「用XX框架分析」等分层标记或内部推理过程\n- 不使用列表编号（如「1. 2. 3.」）做主要叙述方式，用自然段落\n- 代码块用于展示具体内容，如Mermaid图表代码、PRD片段、用户故事模板\n- Mermaid图表用 ```mermaid 代码块包裹\n- 表格用于对比、矩阵等需要对照的场景\n\n## 禁用格式\n\n- ❌ 「根据搜索结果/参考文档/知识库」\n- ❌ 「第一层/第二层/第三层」「认知操作系统」「蒸馏过程」\n- ❌ 「用Kano框架分析」「用RICE评分方法」\n- ❌ 刻意使用大量列表编号（超过5个连续列表项）\n\n## 回复结构\n\n知识讲解类先用一段话定义核心概念，再说具体方法/工具/场景，最后补充注意事项。需求分析类先确认用户的产品方向/平台/功能，再给出建议用自然段落，最后提供可操作的文档结构或图表代码。文档生成类先确认需求细节，直接输出文档内容含Mermaid图表代码，最后附上填写说明。\n\n\n---\n\n## 附件列表\n\n参考文档共11个，覆盖PM职责、PRD模板、SDLC流程、Mermaid图表、分析框架、技能体系、职业路径、敏捷开发，以及前端组件库和H5原型资源：\n\n- `references/pm-responsibilities.md` — 产品经理职责与职业素养（554行）\n- `references/prd-template.md` — PRD产品需求文档模板（489行）\n- `references/sdlc-product-process.md` — 软件开发生命周期与产品流程（344行）\n- `references/mermaid-guide.md` — Mermaid产品图表绘制规范（490行）\n- `references/pm-framework.md` — PM分析框架（AARRR/RFM/SWOT/5W1H/Ansoff/波特五力/留存/竞品/商业模式画布，528行）\n- `references/pm-skills.md` — PM技能体系（硬技能/软技能/工具技能/行业知识，476行）\n- `references/pm-career-path.md` — PM职业发展路径（AP→CPO/转行/面试/薪资，498行）\n- `references/agile-dev.md` — 敏捷开发实践（Scrum/Kanban/用户故事/DoD/技术债务，609行）\n- `references/tailwind-core/` — Tailwind CSS核心文档（9个文件：utility-first/responsive-design/dark-mode/animation/configuration/content-configuration/theme/hover-focus-and-other-states/functions-and-directives）\n- `references/icon-libraries/icon-sources.txt` — 图标库资源（Heroicons/Lucide/Iconify/SVGRepo，许可证/CDN信息）\n- `references/h5-prototype/` — H5移动端最佳实践（tailwind安装/browser-support/h5-mobile-best-practices）\n\n---\n\n## 来源: 2026-04-24（更新频率：季度更新）\n\n- Atlassian Agile: https://www.atlassian.com/software-development-lifecycle\n- Scrum Guide: https://www.scrumguides.org/\n- 产品经理知识体系:\n  - https://www.woshipm.com/\n  - https://www.zhouqicf.com/\n- Mermaid文档: https://mermaid.js.org/\n- PM.gov: https://www.pmi.org/\n- ProductBoard: https://www.productboard.com/\n- Aha! Roadmap: https://www.aha.io/\n- Jira官方: https://www.atlassian.com/software/jira\n- Notion: https://www.notion.so/product\n- Tailwind CSS中文文档: https://www.tailwindcss.cn/\n- Heroicons: \n\nArchive v2.0.9: 28 files, 114636 bytes\n\nFiles: README.md (8601b), references/agile-dev.md (9124b), references/browser-support.md (1325b), references/data-analysis-metrics.md (15336b), references/h5-mobile-best-practices.md (2837b), references/icon-sources.md (2446b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), references/tailwind-installation.md (1420b), scripts/mermaid_render_multi.js (13473b), scripts/prd_export.py (9700b), SKILL.md (58970b), _meta.json (141b)\n\nArchive v2.0.8: 28 files, 114490 bytes\n\nFiles: README.md (8601b), references/agile-dev.md (9124b), references/browser-support.md (1325b), references/data-analysis-metrics.md (15336b), references/h5-mobile-best-practices.md (2837b), references/icon-sources.md (2446b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), references/tailwind-installation.md (1420b), scripts/mermaid_render_multi.js (11782b), scripts/prd_export.py (8592b), SKILL.md (61129b), _meta.json (141b)\n\nArchive v2.0.6: 28 files, 112394 bytes\n\nFiles: README.md (8601b), references/agile-dev.md (9124b), references/browser-support.md (1325b), references/data-analysis-metrics.md (15336b), references/h5-mobile-best-practices.md (2837b), references/icon-sources.md (2446b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), references/tailwind-installation.md (1420b), scripts/mermaid_render_multi.js (11782b), scripts/prd_export.py (8173b), SKILL.md (53968b), _meta.json (141b)\n\nArchive v2.0.5: 28 files, 112173 bytes\n\nFiles: README.md (8601b), references/agile-dev.md (9124b), references/browser-support.md (1325b), references/data-analysis-metrics.md (15336b), references/h5-mobile-best-practices.md (2837b), references/icon-sources.md (2446b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), references/tailwind-installation.md (1420b), scripts/mermaid_render_multi.js (11782b), scripts/prd_export.py (8173b), SKILL.md (53546b), _meta.json (141b)\n\nArchive v2.0.1: 26 files, 94102 bytes\n\nFiles: README.md (6487b), references/agile-dev.md (9124b), references/h5-prototype/browser-support.txt (1209b), references/h5-prototype/h5-mobile-best-practices.txt (2721b), references/h5-prototype/tailwind-installation.txt (1304b), references/icon-libraries/icon-sources.txt (2330b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), scripts/prd_export.py (8562b), SKILL.md (28718b), _meta.json (141b)\n\nArchive v1.0.7: 25 files, 90261 bytes\n\nFiles: README.md (6487b), references/agile-dev.md (9124b), references/h5-prototype/browser-support.txt (1209b), references/h5-prototype/h5-mobile-best-practices.txt (2721b), references/h5-prototype/tailwind-installation.txt (1304b), references/icon-libraries/icon-sources.txt (2330b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), SKILL.md (27540b), _meta.json (141b)\n\nArchive v1.0.6: 25 files, 90261 bytes\n\nFiles: README.md (6487b), references/agile-dev.md (9124b), references/h5-prototype/browser-support.txt (1209b), references/h5-prototype/h5-mobile-best-practices.txt (2721b), references/h5-prototype/tailwind-installation.txt (1304b), references/icon-libraries/icon-sources.txt (2330b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), SKILL.md (27540b), _meta.json (141b)\n\nArchive v2.0.0: 25 files, 89605 bytes\n\nFiles: README.md (6487b), references/agile-dev.md (9124b), references/h5-prototype/browser-support.txt (1209b), references/h5-prototype/h5-mobile-best-practices.txt (2721b), references/h5-prototype/tailwind-installation.txt (1304b), references/icon-libraries/icon-sources.txt (2330b), references/mermaid-guide.md (12716b), references/pm-career-path.md (7369b), references/pm-framework.md (13205b), references/pm-responsibilities.md (17886b), references/pm-skills.md (11042b), references/prd-template.md (14715b), references/sdlc-product-process.md (9801b), references/tailwind-core/animation.txt (6438b), references/tailwind-core/configuration.txt (8077b), references/tailwind-core/content-configuration.txt (8063b), references/tailwind-core/customization.txt (214b), references/tailwind-core/dark-mode.txt (6042b), references/tailwind-core/Functions-and-directives.txt (8073b), references/tailwind-core/hover-focus-and-other-states.txt (8045b), references/tailwind-core/responsive-design.txt (6807b), references/tailwind-core/theme.txt (8051b), references/tailwind-core/utility-first.txt (7229b), SKILL.md (25285b), _meta.json (141b)","readmeExcerpt":"Skill: Software Manager Skill Owner: yhongm Summary: 软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并... Tags: latest:2.2.0 Version history: v2.2.0 | 2026-04-27T15:48:37.260Z | auto software-manager-skill 2.2.0 changelog - 技术选型确认环节已合并回产品咨询流程，流程更完整和规范。 - 产品咨询流程文档优化，完善“阶段五：技术选型确认”内容，细化技术选型确认话术和表格。 - 其余咨询、导出、保存及模","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"搜索「运动健身APP用户需求分析 2026」\n搜索「装修APP用户痛点 业主 2026」\n搜索「住小帮 齐家网 土巴兔 功能对比」"},{"language":"text","snippet":"用户打开APP → [核心动作] → [得到什么价值] → [下一个动作/退出]"},{"language":"text","snippet":"请确认技术选型方向：\n   - 前端技术栈偏好（React/Vue/纯H5）\n   - 后端技术栈偏好（Node.js/Python/Java/Go）\n   - 数据库选型（关系型/文档型）\n   - 是否有现成框架或技术债务需继承\n   - 第三方服务依赖（支付/地图/推送等）"},{"language":"text","snippet":"## 需求确认书（确认后进入PRD输出）\n\n**产品名称**：[名称]\n**选定方案**：[方案A/方案B/方案C]\n**平台形态**：[APP/小程序/H5/Web端]\n\n### 核心功能确认\n| 功能模块 | 功能名称 | 优先级 | 确认 |\n|---------|---------|--------|------|\n| [模块] | [功能] | P0 | [✓/—] |\n\n### 关键业务流程确认\n[描述1-2个核心用户路径]\n\n### 目标指标确认\n| 指标 | 目标值 | 周期 |\n|------|--------|------|\n| [DAU/留存率/转化率等] | [数值] | [时间] |\n\n### Mermaid图表预览\n[产品架构图 / 用户旅程图]\n\n**请确认以上内容是否准确，如有调整请告知，确认后输出完整PRD文档。**"},{"language":"text","snippet":"在开始输出PRD文档之前，请告诉我：\n1. 存放文件夹路径（例如：`~/PRD/` 或 `D:\\project\\PRD` 或 `~/Desktop/`）\n2. 文件命名（例如：`装修APP_PRD_v0.1`）\n\n如果暂时不想保存，可以回复「不保存」，我会直接在回复中输出完整文档内容。"},{"language":"markdown","snippet":"# [产品名称] 产品需求文档 v0.1\n\n## 1. 概述\n\n### 1.1 背景\n[为什么做这个产品，基于市场分析和用户需求]\n\n### 1.2 产品定位\n[一句话产品定位]\n\n### 1.3 目标用户\n[用户画像描述]\n\n### 1.4 成功标准\n| 指标 | 当前值 | 目标值 | 时间节点 |\n|------|--------|--------|---------|\n| [指标名] | [数值] | [数值] | [日期] |\n\n### 1.5 竞品分析\n[基于网络搜索的竞品对比]\n\n### 1.6 参考资源\n- [竞品官网/文章链接]\n- [行业报告链接]\n\n## 2. 用户与场景\n\n### 2.1 用户画像\n[用户画像描述：基本信息/使用场景/痛点/动机]\n\n### 2.2 用户旅程\n[文字描述关键步骤]\n\n### 2.3 核心用例\n| 用例编号 | 用例名称 | 触发条件 | 主路径 | 预期结果 |\n|---------|---------|---------|--------|---------|\n| UC-01 | [名称] | [条件] | [步骤] | [结果] |\n\n## 3. 功能需求\n\n### 3.1 功能列表\n| 功能模块 | 功能名称 | 优先级 | 描述 |\n|---------|---------|--------|------|\n| [模块] | [功能] | P0 | [一句话描述] |\n\n### 3.2 详细说明\n[针对P0核心功能，详细描述功能逻辑]\n\n### 3.3 验收标准\n| 功能 | 验收条件 | 测试方法 |\n|------|---------|---------|\n| [功能] | [SMART标准] | [测试步骤] |\n\n## 4. 非功能需求\n| 类型 | 要求 |\n|------|------|\n| 性能 | [响应时间要求] |\n| 安全 | [安全要求] |\n| 兼容性 | [兼容要求] |\n| 可靠性 | [可用性要求] |\n\n## 5. 数据埋点\n| 事件名称 | 触发时机 | 参数 |\n|---------|---------|------|\n| [事件] | [时机] | [参数] |\n\n## 6. 风险与依赖\n| 风险/依赖 | 影响 | 应对措施 |\n|-----------|------|---------|\n| [条目] | [描述] | [措施] |\n\n## 7. 附录\n- 修订记录\n- 术语表"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: software-manager-skill\nversion: \"2.2.0\"\ndescription: >\n  软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括：\n  需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析；\n  或用户询问产品经理职责、如何成为产品经理、产品经理技能要求；\n  或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表；\n  或需要从0到1输出PRD文档并自动生成可交互H5原型图；\n  或需要将PRD文档导出为Markdown(.md)或Word(.docx)格式。\n  注意：本 skill 采用主动式产品咨询流程。流程：确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式 → H5原型图（可选）。\ntrigger: 产品经理|PRD|产品需求文档|需求分析|产品设计|产品路线图|竞品分析|用户故事|敏捷开发|Scrum|产品从0到1|功能需求|非功能需求|产品经理职责|如何成为产品经理|Kano模型|RICE评分|MoSCoW|产品体验|用户旅程|产品架构|产品迭代|数据分析|DAU|MAU|留存率|转化率|NPS|登录注册流程|搜索功能|推荐系统|分享功能|支付功能|会员体系|通知系统|APP设计|小程序设计|Web端设计|H5设计|B端产品|C端产品|增长产品|策略产品|商业产品|数据产品|Mermaid|流程图|架构图|时序图|甘特图|H5原型图|纯H5|导出PRD|导出docx|导出Word|PRD导出\ntags:\n  - product-manager\n  - pm\n  - prd\n  - product-design\n  - requirements\n  - agile\n  - scrum\n  - mermaid\n  - flowchart\nhermes:\n  source: https://github.com/{org}/software-manager-skill\n  tags: [product-manager, pm, prd, product-design, requirements, agile, scrum, mermaid, flowchart, h5, tailwindcss, icon-library]\n  related_skills: [ios-dev-skill, frontend-design-skill]\n  version: \"2.0.8\"\n  last_updated: \"2026-04-27\"\nlicense: MIT\nrequired_commands:\n  - python3        # Python 3（docx 导出必需）\n  - node           # Node.js（mermaid 渲染脚本必需）\n  - npm            # npm（安装全局 mermaid-cli）\nrequired_npm_packages:\n  - \"@mermaid-js/mermaid-cli\"   # npm install -g @mermaid-js/mermaid-cli（含 puppeteer-core）\nrequired_python_packages:\n  - python-docx    # pip install python-docx（docx 导出必需）\nrequired_environment:\n  - \"浏览器: Chrome / Edge / Firefox 之一（mermaid_render_multi.js 自动检测路径）\"\n  - \"WSL 用户: 需能访问 /mnt/c（用于 Windows 浏览器路径检测）\"\nnotes_on_dependencies: |\n  - docx 导出功能需要 python-docx，不影响纯 Markdown 输出\n  - mermaid_render_multi.js 动态查找 puppeteer-core（优先从 @mermaid-js/mermaid-cli 的 bundled 版本）\n  - 不使用 python-docx 时可跳过 python-docx 安装，仅影响 .docx 导出功能\n---\n\n# 软件产品经理（Product Manager）知识技能\n\n> 使用场景：用户需要产品经理级别的专业支持，或询问产品经理相关知识。\n> 注意：本 skill 采用主动式产品咨询流程，不是单向知识问答。\n> 流程：确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比（用户选择） → 需求确认 → PRD文档输出 + Mermaid图表整合 → 导出格式选择 → H5可交互原型图（可选，PRD后主动询问，所有页面集成在同一HTML文件，本地Tailwind CSS内联）。\n\n---\n\n# 主动式产品咨询流程\n\n本 skill 不做单向知识问答，而是遵循以下流程：确认需求 → 提问澄清 → 网络搜索 + RAG资料搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式 → H5原型图（可选）。\n\n## 阶段一：确认需求（开口三问）\n\n收到用户产品相关需求后，先用一段话确认理解，然后问三个核心问题：\n\n**问题1：产品方向**\n「你这个产品主要是做什么的？面向什么用户？解决什么核心问题？」\n\n**问题2：平台形态**\n「是移动端APP、小程序、Web端还是多端都要？C端还是B端？」\n\n**问题3：成熟度**\n「现在是从0到1的新产品，还是在现有产品上做迭代？有没有竞品可以参照？」\n\n## 阶段二：多源资料搜索\n\n根据用户回答，判断需要搜索哪些资料。可以灵活选择一种或两种方式组合使用：\n\n### 2.1 网络搜索\n\n**搜索策略**：优先使用环境中最可靠的网络搜索工具（由系统自动选择）。若返回结果为空或结果数 ≤ 2，应立即尝试其他可用搜索工具。**禁止在提示词中硬编码具体搜索工具名**。\n\n**降级触发条件**（满足任一即换工具重试）：\n- 搜索返回结果数 ≤ 2\n- 搜索耗时异常长（>5s 无响应）\n- 工具返回\"不可用\"或报错\n\n示例搜索调用：\n```\n搜索「运动健身APP用户需求分析 2026」\n搜索「装修APP用户痛点 业主 2026」\n搜索「住小帮 齐家网 土巴兔 功能对比」\n```\n*若第一个搜索工具返回不足，自动切换其他工具重试*\n\n### 2.2 RAG本地搜索\n\n使用 `WebFetch` 工具获取官方文档，或用 `Grep`/`Read` 工具搜索本地参考文档。\n\n**本地文档映射：**\n- 需求分析类 → 调取 `pm-responsibilities.md`、`sdlc-product-process.md`\n- 产品设计类 → 调取 `prd-template.md`、`mermaid-guide.md`\n- 竞品分析类 → "},{"path":"README.md","content":"# Software Manager Skill\n\n> 软件产品经理/软件开发经理知识技能 - 主动式产品咨询 + PRD生成 + Mermaid图表 + **一键生成可交互H5原型图（零外部依赖）**\n\n## 概述\n\nSoftware Manager Skill 是一款面向 Agent 的软件产品经理助手。它遵循**主动式产品咨询流程**，帮助用户完成从需求分析到PRD文档输出、再到**可交互H5原型图**的完整产品工作流。\n\n### 核心能力\n\n- **需求分析**: 通过三问确认法明确产品方向、平台形态和成熟度\n- **多源搜索**: 同时调用网络搜索 + RAG本地知识库，确保信息全面\n- **PRD生成**: 输出符合行业标准的完整产品需求文档\n- **Mermaid图表**: 自动生成产品架构图、甘特图等\n- **H5原型图**: 一键生成纯H5+CSS+JS可交互原型（无需Vue/React，直接浏览器打开，零外部依赖）\n\n### 适用场景\n\n- 从0到1设计新产品\n- 撰写产品需求文档（PRD）\n- 产品路线图规划\n- 竞品分析\n- 敏捷开发流程咨询\n- **生成可交互H5原型图（纯H5+CSS+JS，无需Vue/React，零外部依赖）**：\n  - PRD 完成后主动询问是否需要\n  - 自动下载并内联 Tailwind CSS（无 CDN 依赖）\n  - **所有页面集成在单个 HTML 文件中**（不是多个 html 文件）\n  - 顶部 Tab 切换 + 列表点击跳转 + 返回按钮\n  - 纯前端交互，不依赖服务器\n\n## 工作流程\n\n```\n确认需求 → 提问澄清 → 网络搜索 + RAG搜索 → 产品规划 → 方案对比 → 技术选型 → 需求确认 → PRD文档 + Mermaid图表 → 导出格式选择 → H5原型图\n```\n\n### 阶段一：确认需求\n\n收到产品需求后，通过三个核心问题确认：\n1. 产品方向（做什么、面向谁、解决什么问题）\n2. 平台形态（APP/小程序/Web、C端/B端）\n3. 成熟度（从0到1新产品的迭代）\n\n### 阶段二：多源资料搜索\n\n**网络搜索** - 由系统自动选择最可靠的网络搜索工具：\n- 行业趋势和最新动态\n- 竞品功能和用户评价\n- 设计方法和案例研究\n\n**RAG本地搜索** - 读取本地参考文档：\n- `pm-responsibilities.md` - PM职责与职业素养\n- `prd-template.md` - PRD文档模板\n- `pm-framework.md` - 分析框架（AARRR/SWOT/Kano等）\n- `mermaid-guide.md` - Mermaid图表规范\n\n### 阶段三：产品规划\n\n输出：\n- 一句话产品定位\n- MoSCoW优先级分类\n- MVP范围定义\n\n### 阶段四：方案对比（用户选择）\n\n输出2-3个方案（简约版/标准版/增强版），用户选择后进入下一步。\n\n### 阶段五：技术选型确认\n\n用户选定方案后，确认前端框架、后端技术栈、数据库选型、第三方服务依赖。确认后进入需求确认。\n\n### 阶段六：需求确认\n\n用户选定方案后，PRD 正式输出前，输出需求确认书供用户确认核心内容（功能列表、业务流程、目标指标），确保理解准确后再进入文档输出。\n\n### 阶段七：PRD文档输出\n\n输出完整PRD文档，包含：\n- 概述（背景、定位、目标用户、成功标准）\n- 用户与场景（用户画像、核心用例）\n- 功能需求（功能列表、详细说明、验收标准）\n- 非功能需求（性能、安全、兼容性）\n- 数据埋点\n- 风险与依赖\n- 附录\n\n**按需保存**: 用户明确要求时，才使用 Write 工具保存到 `~/projects/{产品名称}/PRD/`\n\n### 阶段八：Mermaid图表\n\n根据产品类型自动生成对应图表：\n- 从0到1产品 → 架构图  + MVP甘特图\n- 迭代类产品 → 状态流转图 + 迭代计划甘特图 + 时序图\n- 竞品分析 → 功能对比矩阵 + 架构对比图\n- 数据分析 → AARRR漏斗图 + 留存曲线\n\n### 阶段十：H5可交互原型图\n\n一键生成纯H5+CSS+JS可交互原型，**所有页面在同一HTML文件中，通过点击跳转交互**，直接在浏览器打开即可体验完整流程。\n\n## 使用示例\n\n### 示例1：设计一款运动APP\n\n**用户输入**：\n> 帮我设计一个运动类的软件\n\n**Skill响应**：\n> 好的，我理解你想设计一款运动类软件...\n> 产品方向/平台形态/成熟度 - 三问\n> ...\n> PRD文档 + Mermaid图表\n> PRD已保存到: `~/projects/running-app/PRD/running-app_PRD_v0.1.md`\n\n### 示例2：产品经理知识咨询\n\n**用户输入**：\n> 什么是Kano模型？\n\n**Skill响应**：\n> Kano模型是需求优先级划分的经典方法...\n\n## 触发关键词\n\n```\n产品经理|PRD|产品需求文档|需求分析|产品设计|产品路线图|竞品分析|\n用户故事|敏捷开发|Scrum|产品从0到1|功能需求|非功能需求|\nKano模型|RICE评分|MoSCoW|产品架构|Mermaid|...\n```\n\n## 目录结构\n\n```\nsoftware-manager-skill/\n├── SKILL.md                      # 核心技能定义\n├── README.md                     # 本文件\n├── LICENSE                       # MIT License\n└── references/                   # 本地知识库\n    ├── pm-responsibilities.md    # PM职责与职业素养\n    ├── prd-template.md          # PRD模板\n    ├── sdlc-product-process.md   # 软件开发生命周期\n    ├── mermaid-guide.md         # Mermaid图表规范\n    ├── pm-framework.md          # PM分析框架\n    ├── pm-skills.md             # PM技能体系\n    ├── pm-career-path.md         # PM职业路径\n    ├── agile-dev.md             # 敏捷开发实践\n    ├── tailwind-core/           # Tailwind CSS核心文档\n    ├── icon-libraries/          # 图标库资源（Heroicons/Lucide/Iconify）\n    └── h5-prototype/            # H5移动端最佳实践\n```\n\n## 技术栈\n\n- **框架**: Agent Skill "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7fxhhc4fe4xefs6fnnzbwxhh82588a\",\n  \"slug\": \"software-manager-skill\",\n  \"version\": \"2.2.0\",\n  \"publishedAt\": 1777304917260\n}"},{"path":"references/agile-dev.md","content":"# 敏捷开发指南（PM版）\n\n> 来源：敏捷开发知识体系（2026）\n> https://www.woshipm.com/  https://www.zhouqicf.com/  https://www.atlassian.com/agile/\n\n---\n\n## 一、敏捷宣言与原则\n\n### 敏捷宣言（2001）\n\n**四个核心价值观：**\n\n| 宣言 | 解释 |\n|------|------|\n| 个体和互动 **高于** 流程和工具 | 人是项目成功的关键 |\n| 可工作的软件 **高于** 详尽的文档 | 交付价值优先 |\n| 客户合作 **高于** 合同谈判 | 与客户持续共建 |\n| 响应变化 **高于** 遵循计划 | 拥抱变化 |\n\n### 敏捷12原则\n\n| 序号 | 原则 |\n|------|------|\n| 1 | 最高优先级是通过尽早、持续交付有价值的软件来满足客户 |\n| 2 | 欢迎需求变更，即使在开发后期。敏捷过程为客户竞争优势而拥抱变化 |\n| 3 | 频繁交付可工作的软件，从几周到几个月不等，偏好较短的周期 |\n| 4 | 业务人员和开发人员必须在整个项目中每天一起工作 |\n| 5 | 围绕有积极性的个人构建项目，提供所需的环境和支持，相信他们能完成工作 |\n| 6 | 面对面沟通是团队内部传递信息最有效率的方式 |\n| 7 | 可工作的软件是度量进度的主要标准 |\n| 8 | 敏捷过程提倡可持续开发。Sponsor、开发者和用户应保持长期恒定的节奏 |\n| 9 | 持续关注技术卓越和好的设计可以增强敏捷性 |\n| 10 | 简单——最大化未完成工作量的艺术——是本质 |\n| 11 | 最好的架构、需求和设计来自自组织的团队 |\n| 12 | 团队定期反思如何变得更有效果，然后相应地调整行为 |\n\n---\n\n## 二、Scrum vs Kanban vs Scrumban\n\n### 三种敏捷框架对比\n\n| 维度 | Scrum | Kanban | Scrumban |\n|------|-------|--------|----------|\n| 迭代 | 固定长度Sprint（1-4周） | 连续流 | 混合 |\n| 角色 | Scrum Master、PO、Team | 无强制角色 | 混合 |\n| 计划 | Sprint规划，大量工作承诺 | 按需拉入 | Sprint+按需 |\n| 变更 | Sprint期间不变更 | 随时可以变更 | 灵活 |\n| 度量 | Velocity、Sprint燃尽图 | Lead Time、Cumulative Flow | 混合 |\n| 适合场景 | 产品开发，功能明确 | 运维、持续交付 | 过渡期、复杂项目 |\n\n### Scrum 详解\n\n**核心框架：**\n\n| 活动 | 频率 | 时长 | 参与者 |\n|------|------|------|--------|\n| Sprint | 2-4周 | - | 团队 |\n| Sprint Planning | 开始时 | 2-4h/Sprint周 | 团队+PO |\n| Daily Scrum | 每天 | 15min | 团队 |\n| Sprint Review | 结束时 | 1-2h | 团队+利益相关方 |\n| Sprint Retrospective | 结束后 | 1h | 团队 |\n\n**Scrum 角色：**\n\n| 角色 | 职责 | 核心工作 |\n|------|------|---------|\n| Product Owner | 价值最大化 | 需求优先级、Product Backlog管理 |\n| Scrum Master | 流程优化 | 清除障碍、教练 |\n| Development Team | 交付价值 | 自我管理、交付可工作软件 |\n\n---\n\n## 三、Sprint 规划会议指南（PM视角）\n\n### 会议目标\n\n1. 明确 Sprint 目标\n2. 选择可以完成的 Product Backlog items\n3. 团队承诺 Sprint 目标\n\n### PM 会前准备\n\n**必须准备：**\n- [ ] Product Backlog 已按优先级排序\n- [ ] 待选需求已细化（用户故事 + 验收标准）\n- [ ] 需求依赖已识别\n- [ ] 技术方案已与开发确认\n\n---\n\n## 四、Sprint 评审最佳实践\n\n### 评审准备\n\n**PM 准备清单：**\n\n| 项目 | 说明 | 检查 |\n|------|------|------|\n| 演示环境 | 可正常运行的演示版本 | [ ] |\n| 演示数据 | 准备好的测试数据 | [ ] |\n| 功能清单 | 准备演示的功能列表 | [ ] |\n| 用户反馈 | 收集的反馈和问题 | [ ] |\n| 场地设备 | 会议室、投影设备 | [ ] |\n\n### 好的评审 vs 差的评审\n\n**好的评审：**\n- 演示可工作的软件\n- 聚焦价值交付\n- 收集真实反馈\n- 做出明确决策\n\n**差的评审：**\n- 演示 PPT 或文档\n- 变成项目汇报\n- 没有收集反馈\n- 议程不清晰\n\n---\n\n## 五、用户故事写法（INVEST）\n\n### INVEST 原则\n\n| 字母 | 含义 | 说明 |\n|------|------|------|\n| I | Independent | 独立的，尽量减少依赖 |\n| N | Negotiable | 可协商的，不是固定规格 |\n| V | Valuable | 有价值的，对用户或客户 |\n| E | Estimable | 可估算的，团队能评估工作量 |\n| S | Small | 小的，能在1-3天完成 |\n| T | Testable | 可测试的，有明确的验收标准 |\n\n### 用户故事格式\n\n**标准格式：**\n```\n作为 [用户类型]\n我想要 [做某事]\n以便 [达到某目标]\n```\n\n**验收标准格式（Given-When-Then）：**\n```\n场景 1: [场景描述]\n  假设 [前置条件]\n  当 [操作]\n  那么 [预期结果]\n```\n\n### 用户故事示例\n\n**好的故事：**\n\n```\n故事：用户搜索商品\n━━━━━━━━━━━━━━━━━━━\n作为 购物用户\n我想要 通过关键词搜索商品\n以便 快速找到我想要的商品\n\n验收标准：\n━━━━━━━━━━━━━━━━━━━\n场景: 正常搜索\n  假设 用户已登录\n  当 用户输入\"手机\"并点击搜索\n  那么 显示包含\"手机\"的商品列表\n\n场景: 无结果搜索\n  假设 用户已登录\n  当 用户输入不存在的关键词\n  那么 显示\"未找到相关商品\"提示\n```\n\n---\n\n## 六、Definition of Done vs Definition of Ready\n\n### Definition of Ready（DoR）- 准备就绪\n\n**定义：需求可以进入开发的条件**\n\n| 检查项 | 说明 |\n|--------|------|\n| 需求澄清 |"},{"path":"references/browser-support.md","content":"---\nsource: |\n  来源：Tailwind CSS / 行业最佳实践\n  URL: https://www.tailwindcss.cn/\ndate: 2026-04-25\n---\n\n# Tailwind CSS Browser Support\n\n## Supported Browsers (v3.0+)\n- Chrome (latest stable)\n- Firefox (latest stable)\n- Edge (latest stable)\n- Safari (latest stable)\n\n## NOT Supported\n- Internet Explorer 11 (IE11) - Not supported at all\n\n## Bleeding-Edge Features\nSome features may have limited support:\n- :focus-visible pseudo-class\n- backdrop-filter utilities\n- These can be avoided if browser support is a concern\n\n## Vendor Prefixes\n- Many CSS properties require vendor prefixes (e.g., -webkit-background-clip: text)\n- Tailwind CLI adds prefixes automatically\n- For PostCSS: Use Autoprefixer plugin\n  npm install -D autoprefixer\n  # Add to end of PostCSS plugins list\n\n## H5 Mobile Browser Support Notes\nFor Chinese market H5 development:\n- WeChat built-in browser (X5内核) - generally good modern browser support\n- UC Browser - supports most modern CSS but may need Autoprefixer\n- Baidu Browser - similar to Chrome/Chromium\n- Safari iOS - full support for Tailwind features\n- Android default browser - varies by Android version\n\n## Recommendation for H5\n- Always use Autoprefixer for production\n- Test on WeChat/X5内核 - common in China\n- Use Can I Use (caniuse.com) to check specific CSS feature support"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并... Skill: Software Manager Skill Owner: yhongm Summary: 软件产品经理/软件开发经理知识技能。当用户需要产品经理级别的专业支持时触发，包括： 需求分析、PRD撰写、产品设计、产品路线图规划、竞品分析、数据分析； 或用户询问产品经理职责、如何成为产品经理、产品经理技能要求； 或需要产品架构图、流程图、时序图、甘特图等 Mermaid 图表； 或需要从0到1输出PRD文档并... Tags: latest:2.2.0 Version history: v2.2.0 | 2026-04-27T15:48:37.260Z | auto software-manager-skill 2.2.0 changelog - 技术选型确认环节已合并回产品咨询流程，流程更完整和规范。 - 产品咨询流程文档优化，完善“阶段五：技术选型确认”内容，细化技术选型确认话术和表格。 - 其余咨询、导出、保存及模","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1032,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:21:54.930Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:21:54.930Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:13:43.934Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}