pdd-skills 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1478 -0
- package/bin/pdd.js +354 -0
- package/config/bpmn-rules.yaml +166 -0
- package/config/checkstyle.xml +105 -0
- package/config/eslint.config.js +48 -0
- package/config/pmd.xml +91 -0
- package/config/prd-rules.yaml +113 -0
- package/config/ruff.toml +45 -0
- package/config/sqlfluff.cfg +82 -0
- package/hooks/hook-executor.js +332 -0
- package/index.js +43 -0
- package/lib/api-routes.js +750 -0
- package/lib/api-server.js +408 -0
- package/lib/cache/cache-config.js +209 -0
- package/lib/cache/system-cache.js +852 -0
- package/lib/config-manager.js +373 -0
- package/lib/generate.js +528 -0
- package/lib/grpc/grpc-routes.js +1134 -0
- package/lib/grpc/grpc-server.js +912 -0
- package/lib/grpc/proto-definitions.js +1033 -0
- package/lib/init.js +172 -0
- package/lib/iteration/auto-fixer.js +1025 -0
- package/lib/iteration/auto-reviewer.js +923 -0
- package/lib/iteration/controller.js +577 -0
- package/lib/list.js +130 -0
- package/lib/mcp-server.js +548 -0
- package/lib/openclaw/api-integration.js +535 -0
- package/lib/openclaw/cli-integration.js +567 -0
- package/lib/openclaw/data-sync.js +845 -0
- package/lib/openclaw/openclaw-adapter.js +783 -0
- package/lib/plugin/example-plugins/code-stats/index.js +332 -0
- package/lib/plugin/example-plugins/code-stats/plugin.json +1 -0
- package/lib/plugin/example-plugins/custom-linter/index.js +472 -0
- package/lib/plugin/example-plugins/custom-linter/plugin.json +1 -0
- package/lib/plugin/example-plugins/hello-world/index.js +86 -0
- package/lib/plugin/example-plugins/hello-world/plugin.json +1 -0
- package/lib/plugin/plugin-manager.js +655 -0
- package/lib/plugin/plugin-sdk.js +565 -0
- package/lib/plugin/sandbox.js +627 -0
- package/lib/quality/rules/maintainability.js +418 -0
- package/lib/quality/rules/performance.js +498 -0
- package/lib/quality/rules/readability.js +441 -0
- package/lib/quality/rules/robustness.js +504 -0
- package/lib/quality/rules/security.js +444 -0
- package/lib/quality/scorer.js +576 -0
- package/lib/report.js +669 -0
- package/lib/sdk-base.js +301 -0
- package/lib/sdk-js.js +446 -0
- package/lib/sdk-python/README.md +546 -0
- package/lib/sdk-python/examples/basic_usage.py +450 -0
- package/lib/sdk-python/pdd_sdk/__init__.py +180 -0
- package/lib/sdk-python/pdd_sdk/client.py +1170 -0
- package/lib/sdk-python/pdd_sdk/events.py +423 -0
- package/lib/sdk-python/pdd_sdk/exceptions.py +158 -0
- package/lib/sdk-python/pdd_sdk/models.py +518 -0
- package/lib/sdk-python/pdd_sdk/utils.py +759 -0
- package/lib/token/budget-alert.js +367 -0
- package/lib/token/budget-manager.js +485 -0
- package/lib/update.js +54 -0
- package/lib/utils/logger.js +88 -0
- package/lib/verify.js +741 -0
- package/lib/version.js +52 -0
- package/lib/vm/README.md +102 -0
- package/lib/vm/dashboard/api-routes.js +669 -0
- package/lib/vm/dashboard/server.js +391 -0
- package/lib/vm/dashboard/sse.js +358 -0
- package/lib/vm/dashboard/static/css/dashboard.css +1378 -0
- package/lib/vm/dashboard/static/index.html +118 -0
- package/lib/vm/dashboard/static/js/app.js +949 -0
- package/lib/vm/dashboard/static/js/charts.js +913 -0
- package/lib/vm/dashboard/static/js/kanban-view.js +1053 -0
- package/lib/vm/dashboard/static/js/pipeline-view.js +463 -0
- package/lib/vm/dashboard/static/js/quality-view.js +598 -0
- package/lib/vm/dashboard/static/js/system-view.js +1021 -0
- package/lib/vm/data-provider.js +1191 -0
- package/lib/vm/event-bus.js +402 -0
- package/lib/vm/hooks/extract-hook.js +307 -0
- package/lib/vm/hooks/generate-hook.js +374 -0
- package/lib/vm/hooks/hook-interface.js +458 -0
- package/lib/vm/hooks/report-hook.js +331 -0
- package/lib/vm/hooks/verify-hook.js +454 -0
- package/lib/vm/models.js +1003 -0
- package/lib/vm/reconciler.js +855 -0
- package/lib/vm/scanner.js +988 -0
- package/lib/vm/state-schema.js +955 -0
- package/lib/vm/state-store.js +733 -0
- package/lib/vm/tui/components/card.js +339 -0
- package/lib/vm/tui/components/progress-bar.js +368 -0
- package/lib/vm/tui/components/sparkline.js +327 -0
- package/lib/vm/tui/components/status-light.js +294 -0
- package/lib/vm/tui/components/table.js +370 -0
- package/lib/vm/tui/input.js +335 -0
- package/lib/vm/tui/renderer.js +548 -0
- package/lib/vm/tui/screens/kanban-screen.js +397 -0
- package/lib/vm/tui/screens/overview-screen.js +357 -0
- package/lib/vm/tui/screens/quality-screen.js +336 -0
- package/lib/vm/tui/screens/system-screen.js +379 -0
- package/lib/vm/tui/tui.js +805 -0
- package/package.json +1 -0
- package/scripts/cso-analyzer.js +198 -0
- package/scripts/eval-runner.js +359 -0
- package/scripts/i18n-checker.js +109 -0
- package/scripts/linter/activiti-linter.js +272 -0
- package/scripts/linter/prd-linter.js +162 -0
- package/scripts/linter/report-generator.js +207 -0
- package/scripts/linter/run-linters.js +285 -0
- package/scripts/linter/sql-linter.js +166 -0
- package/scripts/token-analyzer.js +162 -0
- package/scripts/vm-test.js +180 -0
- package/skills/core/official-doc-writer/LICENSE +21 -0
- package/skills/core/official-doc-writer/README.md +232 -0
- package/skills/core/official-doc-writer/SKILL.md +475 -0
- package/skills/core/official-doc-writer/_meta.json +1 -0
- package/skills/core/official-doc-writer/document_generator.py +580 -0
- package/skills/core/official-doc-writer/evals/default-evals.json +1 -0
- package/skills/core/official-doc-writer/examples.md +150 -0
- package/skills/core/official-doc-writer/fonts/FONTS_LIST.md +45 -0
- package/skills/core/official-doc-writer/fonts/README.md +141 -0
- package/skills/core/official-doc-writer/fonts/SIMFANG.TTF +0 -0
- package/skills/core/official-doc-writer/fonts/SIMHEI.TTF +0 -0
- package/skills/core/official-doc-writer/fonts/SIMKAI.TTF +0 -0
- package/skills/core/official-doc-writer/fonts/SIMSUN.TTC +0 -0
- package/skills/core/official-doc-writer/fonts//346/226/271/346/255/243/345/260/217/346/240/207/345/256/213GBK.TTF +0 -0
- package/skills/core/official-doc-writer/references/GBT_9704-2012_/345/205/232/346/224/277/346/234/272/345/205/263/345/205/254/346/226/207/346/240/274/345/274/217.md +422 -0
- package/skills/core/official-doc-writer/scripts/__pycache__/generate_official_doc.cpython-313.pyc +0 -0
- package/skills/core/official-doc-writer/scripts/dialog_manager.py +564 -0
- package/skills/core/official-doc-writer/scripts/generate_official_doc.py +252 -0
- package/skills/core/official-doc-writer/scripts/install_fonts.py +390 -0
- package/skills/core/official-doc-writer/scripts/smart_prompts.py +363 -0
- package/skills/core/pdd-ba/SKILL.md +305 -0
- package/skills/core/pdd-ba/_meta.json +1 -0
- package/skills/core/pdd-ba/evals/default-evals.json +1 -0
- package/skills/core/pdd-code-reviewer/SKILL.md +378 -0
- package/skills/core/pdd-code-reviewer/_meta.json +1 -0
- package/skills/core/pdd-code-reviewer/evals/default-evals.json +1 -0
- package/skills/core/pdd-doc-change/SKILL.md +350 -0
- package/skills/core/pdd-doc-change/_meta.json +1 -0
- package/skills/core/pdd-doc-change/evals/default-evals.json +1 -0
- package/skills/core/pdd-doc-gardener/SKILL.md +248 -0
- package/skills/core/pdd-doc-gardener/_meta.json +1 -0
- package/skills/core/pdd-doc-gardener/evals/default-evals.json +1 -0
- package/skills/core/pdd-entropy-reduction/SKILL.md +360 -0
- package/skills/core/pdd-entropy-reduction/_meta.json +1 -0
- package/skills/core/pdd-entropy-reduction/evals/default-evals.json +1 -0
- package/skills/core/pdd-entropy-reduction/references/entropy-report-template.md +287 -0
- package/skills/core/pdd-entropy-reduction/references/golden-principles.md +573 -0
- package/skills/core/pdd-entropy-reduction/scripts/entropy_scan.py +712 -0
- package/skills/core/pdd-extract-features/SKILL.md +320 -0
- package/skills/core/pdd-extract-features/_meta.json +1 -0
- package/skills/core/pdd-extract-features/evals/default-evals.json +1 -0
- package/skills/core/pdd-generate-spec/SKILL.md +418 -0
- package/skills/core/pdd-generate-spec/_meta.json +1 -0
- package/skills/core/pdd-generate-spec/evals/default-evals.json +1 -0
- package/skills/core/pdd-implement-feature/SKILL.md +332 -0
- package/skills/core/pdd-implement-feature/_meta.json +1 -0
- package/skills/core/pdd-implement-feature/evals/default-evals.json +1 -0
- package/skills/core/pdd-main/SKILL.md +540 -0
- package/skills/core/pdd-main/_meta.json +1 -0
- package/skills/core/pdd-main/evals/default-evals.json +1 -0
- package/skills/core/pdd-main/evals/evals.json +215 -0
- package/skills/core/pdd-verify-feature/SKILL.md +474 -0
- package/skills/core/pdd-verify-feature/_meta.json +1 -0
- package/skills/core/pdd-verify-feature/evals/default-evals.json +1 -0
- package/skills/core/pdd-vm/evals/default-evals.json +1 -0
- package/skills/core/traffic-accident-assessor/LICENSE +29 -0
- package/skills/core/traffic-accident-assessor/SKILL.md +439 -0
- package/skills/core/traffic-accident-assessor/evals/evals.json +1 -0
- package/skills/core/traffic-accident-assessor/references/accident-types.md +369 -0
- package/skills/core/traffic-accident-assessor/references/liability-rules.md +287 -0
- package/skills/core/traffic-accident-assessor/references/traffic-laws.md +226 -0
- package/skills/core/traffic-accident-assessor/references//351/253/230/345/260/224/345/244/253/350/257/264/346/230/216/344/271/246.pdf +32576 -106
- package/skills/core/traffic-accident-assessor/scripts/generate_official_statement.py +588 -0
- package/skills/core/traffic-accident-assessor/scripts/generate_report.py +495 -0
- package/skills/core/traffic-accident-assessor/scripts/generate_statement.py +528 -0
- package/skills/core/traffic-accident-assessor.zip +0 -0
- package/skills/entropy/expert-arch-enforcer/SKILL.md +292 -0
- package/skills/entropy/expert-arch-enforcer/_meta.json +1 -0
- package/skills/entropy/expert-arch-enforcer/evals/default-evals.json +1 -0
- package/skills/entropy/expert-auto-refactor/SKILL.md +327 -0
- package/skills/entropy/expert-auto-refactor/_meta.json +1 -0
- package/skills/entropy/expert-auto-refactor/evals/default-evals.json +1 -0
- package/skills/entropy/expert-code-quality/SKILL.md +468 -0
- package/skills/entropy/expert-code-quality/_meta.json +1 -0
- package/skills/entropy/expert-code-quality/evals/default-evals.json +1 -0
- package/skills/entropy/expert-code-quality/evals/evals.json +109 -0
- package/skills/entropy/expert-code-quality/references/code-smells.md +605 -0
- package/skills/entropy/expert-code-quality/references/design-patterns.md +1111 -0
- package/skills/entropy/expert-code-quality/references/refactoring-catalog.md +1281 -0
- package/skills/entropy/expert-code-quality/references/solid-principles.md +524 -0
- package/skills/entropy/expert-entropy-auditor/SKILL.md +276 -0
- package/skills/entropy/expert-entropy-auditor/_meta.json +1 -0
- package/skills/entropy/expert-entropy-auditor/evals/default-evals.json +1 -0
- package/skills/expert/expert-activiti/SKILL.md +497 -0
- package/skills/expert/expert-activiti/_meta.json +1 -0
- package/skills/expert/expert-mysql/SKILL.md +832 -0
- package/skills/expert/expert-mysql/_meta.json +1 -0
- package/skills/expert/expert-performance/SKILL.md +379 -0
- package/skills/expert/expert-performance/_meta.json +1 -0
- package/skills/expert/expert-performance/evals/default-evals.json +1 -0
- package/skills/expert/expert-ruoyi/SKILL.md +472 -0
- package/skills/expert/expert-ruoyi/_meta.json +1 -0
- package/skills/expert/expert-security/SKILL.md +1341 -0
- package/skills/expert/expert-security/_meta.json +1 -0
- package/skills/expert/expert-security/evals/default-evals.json +1 -0
- package/skills/expert/software-architect/SKILL.md +350 -0
- package/skills/expert/software-architect/_meta.json +1 -0
- package/skills/expert/software-engineer/SKILL.md +437 -0
- package/skills/expert/software-engineer/_meta.json +1 -0
- package/skills/expert/software-engineer/architecture.md +130 -0
- package/skills/expert/software-engineer/patterns.md +151 -0
- package/skills/expert/software-engineer/testing.md +135 -0
- package/skills/expert/system-architect/SKILL.md +628 -0
- package/skills/expert/system-architect/_meta.json +1 -0
- package/skills/expert/system-architect/assets/templates/ARCHITECTURE.md +25 -0
- package/skills/expert/system-architect/assets/templates/README.md +44 -0
- package/skills/expert/system-architect/references/js-ts-standards.md +18 -0
- package/skills/expert/system-architect/references/python-standards.md +19 -0
- package/skills/expert/system-architect/references/scaffolding.md +61 -0
- package/skills/expert/system-architect/references/security-checklist.md +21 -0
- package/skills/openspec/openspec-apply-change/SKILL.md +156 -0
- package/skills/openspec/openspec-apply-change/_meta.json +1 -0
- package/skills/openspec/openspec-archive-change/SKILL.md +114 -0
- package/skills/openspec/openspec-archive-change/_meta.json +1 -0
- package/skills/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
- package/skills/openspec/openspec-bulk-archive-change/_meta.json +1 -0
- package/skills/openspec/openspec-continue-change/SKILL.md +118 -0
- package/skills/openspec/openspec-continue-change/_meta.json +1 -0
- package/skills/openspec/openspec-explore/SKILL.md +288 -0
- package/skills/openspec/openspec-explore/_meta.json +1 -0
- package/skills/openspec/openspec-ff-change/SKILL.md +101 -0
- package/skills/openspec/openspec-ff-change/_meta.json +1 -0
- package/skills/openspec/openspec-new-change/SKILL.md +74 -0
- package/skills/openspec/openspec-new-change/_meta.json +1 -0
- package/skills/openspec/openspec-onboard/SKILL.md +554 -0
- package/skills/openspec/openspec-onboard/_meta.json +1 -0
- package/skills/openspec/openspec-sync-specs/SKILL.md +138 -0
- package/skills/openspec/openspec-sync-specs/_meta.json +1 -0
- package/skills/openspec/openspec-verify-change/SKILL.md +168 -0
- package/skills/openspec/openspec-verify-change/_meta.json +1 -0
- package/skills/pr/pdd-multi-review/SKILL.md +534 -0
- package/skills/pr/pdd-multi-review/_meta.json +1 -0
- package/skills/pr/pdd-pr-batch/SKILL.md +303 -0
- package/skills/pr/pdd-pr-batch/_meta.json +1 -0
- package/skills/pr/pdd-pr-create/SKILL.md +344 -0
- package/skills/pr/pdd-pr-create/_meta.json +1 -0
- package/skills/pr/pdd-pr-merge/SKILL.md +286 -0
- package/skills/pr/pdd-pr-merge/_meta.json +1 -0
- package/skills/pr/pdd-pr-review/SKILL.md +217 -0
- package/skills/pr/pdd-pr-review/_meta.json +1 -0
- package/skills/pr/pdd-task-manager/SKILL.md +636 -0
- package/skills/pr/pdd-task-manager/_meta.json +1 -0
- package/skills/pr/pdd-template-engine/SKILL.md +306 -0
- package/skills/pr/pdd-template-engine/_meta.json +1 -0
- package/templates/behavior-shaping/iron-law-template.md +87 -0
- package/templates/behavior-shaping/rationalization-template.md +62 -0
- package/templates/behavior-shaping/red-flags-template.md +70 -0
- package/templates/bilingual-template.md +139 -0
- package/templates/config/default.yaml +47 -0
- package/templates/project/default/README.md +31 -0
- package/templates/project/frontend/README.md +46 -0
- package/templates/project/java/README.md +48 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pdd-extract-features
|
|
3
|
+
description: 从PRD文档体系中提取功能点矩阵。当用户想要提取功能点、识别功能需求或分析业务功能时调用此Skill。支持中文触发:提取功能点、功能点提取、PRD分析、需求拆解。
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: 需要业务分析报告和PRD文档
|
|
6
|
+
metadata:
|
|
7
|
+
author: "neuqik@hotmail.com"
|
|
8
|
+
version: "2.1"
|
|
9
|
+
parent: pdd-main
|
|
10
|
+
triggers:
|
|
11
|
+
- "提取功能点" | "功能点矩阵" | "FP-"
|
|
12
|
+
- "从PRD提取" | "功能点分析"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# PDD-Extract Features - 功能点提取技能 / Feature Extraction Skill
|
|
16
|
+
|
|
17
|
+
## 核心概念 / Core Concepts
|
|
18
|
+
|
|
19
|
+
### 🇨🇳
|
|
20
|
+
|
|
21
|
+
从业务分析结果和PRD文档中提取功能点,生成标准化的功能点矩阵。
|
|
22
|
+
|
|
23
|
+
**输入**: 业务分析报告/PRD文档 | **输出**: feature-matrix.md(功能点矩阵) | **不负责**: 规格编写/代码实现
|
|
24
|
+
|
|
25
|
+
### 🇺🇸
|
|
26
|
+
|
|
27
|
+
Extract feature points from business analysis results and PRD documents, generating a standardized feature matrix.
|
|
28
|
+
|
|
29
|
+
**Input**: Business Analysis Report/PRD Document | **Output**: feature-matrix.md (Feature Matrix) | **Not Responsible For**: Specification writing/Code implementation
|
|
30
|
+
|
|
31
|
+
## 功能点分类 / Feature Classification
|
|
32
|
+
|
|
33
|
+
### 🇨🇳 按复杂度分类
|
|
34
|
+
|
|
35
|
+
| 复杂度 | 代码 | 说明 | 开发时间 | 人工参与 |
|
|
36
|
+
|--------|------|------|---------|---------|
|
|
37
|
+
| **核心业务** | P0 | 核心业务流程,涉及多方审批 | 3-5天 | 高 |
|
|
38
|
+
| **重要功能** | P1 | 重要业务功能,有替代方案 | 1-2天 | 中 |
|
|
39
|
+
| **辅助功能** | P2 | 辅助性功能,易于实现 | 0.5天 | 低 |
|
|
40
|
+
|
|
41
|
+
### 🇺🇸 Classification by Complexity
|
|
42
|
+
|
|
43
|
+
| Complexity | Code | Description | Dev Time | Human Involvement |
|
|
44
|
+
|-----------|------|-------------|----------|-------------------|
|
|
45
|
+
| **Core Business** | P0 | Core business process, multi-party approval | 3-5 days | High |
|
|
46
|
+
| **Important Feature** | P1 | Important business function, has alternatives | 1-2 days | Medium |
|
|
47
|
+
| **Auxiliary Function** | P2 | Auxiliary feature, easy to implement | 0.5 day | Low |
|
|
48
|
+
|
|
49
|
+
### 🇨🇳 按操作类型分类
|
|
50
|
+
|
|
51
|
+
C(Create新增) | R(Read查询/详情) | U(Update修改) | D(Delete删除) | B(Batch批量操作) | A(Approve审批流程) | E(Export数据导出) | F(Flow状态流转)
|
|
52
|
+
|
|
53
|
+
### 🇺🇸 Classification by Operation Type
|
|
54
|
+
|
|
55
|
+
C (Create) | R (Read/Detail) | U (Update) | D (Delete) | B (Batch Operations) | A (Approval Process) | E (Data Export) | F (Status Flow/Transition)
|
|
56
|
+
|
|
57
|
+
### 🇨🇳 按AI角色分类
|
|
58
|
+
|
|
59
|
+
AI-L(AI主导/低参与度) | AI-C(AI与人工协作/中参与度) | AI-R(AI辅助审核/高参与度)
|
|
60
|
+
|
|
61
|
+
### 🇺🇸 Classification by AI Role
|
|
62
|
+
|
|
63
|
+
AI-L (AI-led/Low human involvement) | AI-C (AI collaboration/Medium involvement) | AI-R (AI-assisted review/High involvement)
|
|
64
|
+
|
|
65
|
+
## 功能点提取流程 / Feature Extraction Process
|
|
66
|
+
|
|
67
|
+
### 🇨🇳 Step 1: 分析业务用例
|
|
68
|
+
从业务分析报告中提取: 主要参与者 | 用例名称 | 基本流程 | 扩展流程
|
|
69
|
+
|
|
70
|
+
### 🇺🇸 Step 1: Analyze Business Use Cases
|
|
71
|
+
Extract from business analysis report: Main Actors | Use Case Name | Basic Flow | Alternative Flows
|
|
72
|
+
|
|
73
|
+
### 🇨🇳 Step 2: 识别功能操作
|
|
74
|
+
对每个用例识别操作(用例/操作/操作类型/复杂度/AI角色)
|
|
75
|
+
|
|
76
|
+
### 🇺🇸 Step 2: Identify Feature Operations
|
|
77
|
+
Identify operations for each use case (Use Case/Operation/Operation Type/Complexity/AI Role)
|
|
78
|
+
|
|
79
|
+
### 🇨🇳 Step 3: 识别页面/接口
|
|
80
|
+
功能点/页面路径/API路径/方法
|
|
81
|
+
|
|
82
|
+
### 🇺🇸 Step 3: Identify Pages/APIs
|
|
83
|
+
Feature Point/Page Path/API Path/Method
|
|
84
|
+
|
|
85
|
+
### 🇨🇳 Step 4: 生成功能点矩阵
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
# [模块名称] 功能点矩阵
|
|
89
|
+
|
|
90
|
+
## 功能点汇总
|
|
91
|
+
| 功能点ID | 功能名称 | 页面/接口 | 操作类型 | 复杂度 | AI角色 | 依赖功能 |
|
|
92
|
+
|---------|---------|----------|---------|--------|--------|---------|
|
|
93
|
+
| FP-001 | 发起转让申请 | form.vue | C | P0 | AI-C | - |
|
|
94
|
+
| FP-002 | 查看转让申请 | detail.vue | R | P1 | AI-L | FP-001 |
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 🇺🇸 Step 4: Generate Feature Matrix
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
# [Module Name] Feature Matrix
|
|
101
|
+
|
|
102
|
+
## Feature Summary
|
|
103
|
+
| Feature ID | Feature Name | Page/API | Operation Type | Complexity | AI Role | Dependencies |
|
|
104
|
+
|-----------|-------------|----------|---------------|------------|---------|--------------|
|
|
105
|
+
| FP-001 | Initiate Transfer Request | form.vue | C | P0 | AI-C | - |
|
|
106
|
+
| FP-002 | View Transfer Request | detail.vue | R | P1 | AI-L | FP-001 |
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 🇨🇳 Step 5: 功能点详情(P0必填)
|
|
110
|
+
|
|
111
|
+
对每个P0功能点生成详情:
|
|
112
|
+
- **基本信息**: 功能点ID/名称/所属用例/操作类型/复杂度
|
|
113
|
+
- **功能描述**: 功能说明
|
|
114
|
+
- **前置条件/后置条件**
|
|
115
|
+
- **输入字段**(字段名/类型/必填/说明)
|
|
116
|
+
- **输出信息**
|
|
117
|
+
- **业务规则**(规则ID/描述/约束类型/优先级)
|
|
118
|
+
- **测试策略**(正向/异常场景)
|
|
119
|
+
|
|
120
|
+
### 🇺🇸 Step 5: Feature Details (Required for P0)
|
|
121
|
+
|
|
122
|
+
Generate details for each P0 feature point:
|
|
123
|
+
- **Basic Info**: Feature ID/Name/Belonging Use Case/Operation Type/Complexity
|
|
124
|
+
- **Feature Description**: Functional description
|
|
125
|
+
- **Preconditions/Postconditions**
|
|
126
|
+
- **Input Fields** (Field Name/Type/Required/Description)
|
|
127
|
+
- **Output Information**
|
|
128
|
+
- **Business Rules** (Rule ID/Description/Constraint Type/Priority)
|
|
129
|
+
- **Test Strategy** (Positive/Exception scenarios)
|
|
130
|
+
|
|
131
|
+
## 功能点矩阵模板 / Feature Matrix Template
|
|
132
|
+
|
|
133
|
+
### 🇨🇳
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
# [模块名称] 功能点矩阵
|
|
137
|
+
|
|
138
|
+
## 矩阵信息
|
|
139
|
+
| 模块编号 | 模块名称 | 生成日期 | 版本 |
|
|
140
|
+
|
|
141
|
+
## 功能点汇总表
|
|
142
|
+
### 按复杂度统计: P0(N个) | P1(N个) | P2(N个)
|
|
143
|
+
### 按操作类型统计: C/R/U/D/A/E/F 各N个
|
|
144
|
+
|
|
145
|
+
## 详细功能点列表
|
|
146
|
+
| 功能点ID | 功能名称 | 页面/接口 | 操作 | 复杂度 | AI角色 | 依赖 | 测试策略 |
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 🇺🇸
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
# [Module Name] Feature Matrix
|
|
153
|
+
|
|
154
|
+
## Matrix Information
|
|
155
|
+
| Module ID | Module Name | Generated Date | Version |
|
|
156
|
+
|
|
157
|
+
## Feature Summary Table
|
|
158
|
+
### By Complexity: P0 (N) | P1 (N) | P2 (N)
|
|
159
|
+
### By Operation Type: C/R/U/D/A/E/F each N items
|
|
160
|
+
|
|
161
|
+
## Detailed Feature List
|
|
162
|
+
| Feature ID | Feature Name | Page/API | Operation | Complexity | AI Role | Dependencies | Test Strategy |
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Guardrails / 安全护栏
|
|
166
|
+
|
|
167
|
+
### 🇨🇳
|
|
168
|
+
|
|
169
|
+
**必须遵守**: 功能点ID全局唯一 | 每个功能点必须有明确的操作类型 | 必须标注功能点依赖关系 | P0功能点必须有详细描述
|
|
170
|
+
|
|
171
|
+
**避免事项**: ❌ 功能点遗漏关键业务操作 | ❌ 依赖关系形成循环 | ❌ 复杂度评估与实际不符
|
|
172
|
+
|
|
173
|
+
### 🇺🇸
|
|
174
|
+
|
|
175
|
+
**Must Follow**: Feature IDs must be globally unique | Each feature point must have a clear operation type | Feature dependencies must be explicitly declared | P0 features must have detailed descriptions
|
|
176
|
+
|
|
177
|
+
**Avoid**: ❌ Missing key business operations in feature points ❌ Circular dependencies ❌ Complexity assessment does not match reality
|
|
178
|
+
|
|
179
|
+
## 与其他技能协作 / Collaboration with Other Skills
|
|
180
|
+
|
|
181
|
+
### 🇨🇳
|
|
182
|
+
|
|
183
|
+
| 协作技能 | 协作方式 | 传入数据 | 期望输出 |
|
|
184
|
+
|---------|---------|---------|---------|
|
|
185
|
+
| **pdd-ba** | Sequential | 业务分析报告 | 用例和流程 |
|
|
186
|
+
| **pdd-generate-spec** | Sequential | 功能点矩阵 | spec.md |
|
|
187
|
+
|
|
188
|
+
### 🇺🇸
|
|
189
|
+
|
|
190
|
+
| Collaborating Skill | Collaboration Mode | Input Data | Expected Output |
|
|
191
|
+
|-------------------|-------------------|------------|-----------------|
|
|
192
|
+
| **pdd-ba** | Sequential | Business Analysis Report | Use cases and flows |
|
|
193
|
+
| **pdd-generate-spec** | Sequential | Feature Matrix | spec.md |
|
|
194
|
+
|
|
195
|
+
## 人工审核规范 / Human Review Guidelines
|
|
196
|
+
|
|
197
|
+
### 🇨🇳
|
|
198
|
+
|
|
199
|
+
**审核节点**: 功能点矩阵生成完成后需要进行人工审核
|
|
200
|
+
|
|
201
|
+
**审核内容**: 功能点完整性(是否覆盖所有业务功能) | 复杂度评估(P0/P1/P2是否合理) | 测试策略(是否完整) | 依赖关系(是否正确)
|
|
202
|
+
|
|
203
|
+
**审核粒度**:
|
|
204
|
+
- **批量审核**: 快速浏览整体,标记需详细审核的内容
|
|
205
|
+
- **关键功能点详细审核**: P0优先级/复杂状态转换/外部系统集成/敏感数据处理
|
|
206
|
+
|
|
207
|
+
**输出文件**: `review-features.md` | **结果类型**: passed / rejected / conditional
|
|
208
|
+
|
|
209
|
+
### 🇺🇸
|
|
210
|
+
|
|
211
|
+
**Review Point**: Human review is required after feature matrix generation
|
|
212
|
+
|
|
213
|
+
**Review Content**: Feature completeness (covers all business functions) | Complexity assessment (P0/P1/P2 reasonableness) | Test strategy completeness | Dependency correctness
|
|
214
|
+
|
|
215
|
+
**Review Granularity**:
|
|
216
|
+
- **Batch Review**: Quick overview, mark items needing detailed review
|
|
217
|
+
- **Detailed Review for Key Features**: P0 priority / Complex state transitions / External system integration / Sensitive data handling
|
|
218
|
+
|
|
219
|
+
**Output File**: `review-features.md` | **Result Types**: passed / rejected / conditional
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Iron Law / 铁律
|
|
224
|
+
|
|
225
|
+
### 🇨🇳
|
|
226
|
+
|
|
227
|
+
1. **来源可追溯**: 每个功能点必须能追溯到业务分析报告中的具体用例或PRD文档的明确章节,不得凭空创造功能点。
|
|
228
|
+
|
|
229
|
+
2. **粒度适中**: 功能点粒度应保持在"单个可验收的工作单元"级别,过粗(一个FP包含多个独立功能)或过细(将一个操作的步骤拆分为多个FP)都是违规的。
|
|
230
|
+
|
|
231
|
+
3. **依赖关系显式化**: 功能点之间的依赖关系必须明确声明,不得隐含依赖;循环依赖是绝对禁止的。
|
|
232
|
+
|
|
233
|
+
4. **复杂度评估有据可依**: P0/P1/P2的评估必须有明确的判断标准(如涉及审批流程、外部系统集成、核心业务规则等),不得凭感觉随意定级。
|
|
234
|
+
|
|
235
|
+
5. **完整性通过MECE验证**: 提取完成后必须使用MECE原则检验:所有用例的操作是否都被覆盖?是否有遗漏的辅助功能(如导入导出、批量操作)?
|
|
236
|
+
|
|
237
|
+
**违规示例**: ❌ 创建了无法追溯到任何用例的功能点 | ❌ 将"用户管理"作为一个功能点(粒度过粗) | ❌ 将"填写表单第一步/第二步"拆分为两个FP(粒度过细) | ❌ 循环依赖(A→B→A) | ❌ 全部标为P0或全部标为P2
|
|
238
|
+
|
|
239
|
+
**合规示例**: ✅ 每个功能点都标注了"源自UC-xxx" | ✅ FP-001对应"发起申请"这一完整操作 | ✅ 明确标注FP-005(审批)依赖于FP-001(申请) | ✅ P0判定理由:"涉及多级审批工作流和状态机转换" | ✅ 使用MECE清单检验后确认覆盖全部CRUD操作
|
|
240
|
+
|
|
241
|
+
### 🇺🇸
|
|
242
|
+
|
|
243
|
+
1. **Traceable Source**: Every feature point must be traceable to a specific use case in the business analysis report or a clear section in the PRD document. Feature points must not be created out of thin air.
|
|
244
|
+
|
|
245
|
+
2. **Appropriate Granularity**: Feature point granularity should be maintained at the "single acceptable work unit" level. Both too coarse (one FP containing multiple independent functions) and too fine (splitting steps of one operation into multiple FPs) are violations.
|
|
246
|
+
|
|
247
|
+
3. **Explicit Dependencies**: Dependencies between feature points must be explicitly declared. Implicit dependencies are not allowed. Circular dependencies are absolutely prohibited.
|
|
248
|
+
|
|
249
|
+
4. **Evidence-Based Complexity Assessment**: P0/P1/P2 assessments must have clear judgment criteria (e.g., involving approval processes, external system integration, core business rules, etc.). Arbitrary classification based on feeling is not allowed.
|
|
250
|
+
|
|
251
|
+
5. **Completeness Verified via MECE**: After extraction, MECE principle must be used for verification: Are all use case operations covered? Are there missing auxiliary functions (such as import/export, batch operations)?
|
|
252
|
+
|
|
253
|
+
**Violation Examples**: ❌ Created feature points that cannot be traced to any use case | ❌ Treated "User Management" as a single feature point (too coarse granularity) | ❌ Split "Fill Form Step 1/Step 2" into two FPs (too fine granularity) | ❌ Circular dependency (A→B→A) | ❌ Marked everything as P0 or everything as P2
|
|
254
|
+
|
|
255
|
+
**Compliance Examples**: ✅ Each feature point is labeled "Source: UC-xxx" | ✅ FP-001 corresponds to "Initiate Request" as a complete operation | ✅ Clearly marked FP-005 (Approval) depends on FP-001 (Request) | ✅ P0 justification: "Involves multi-level approval workflow and state machine transitions" | ✅ Confirmed full CRUD coverage after MECE checklist verification
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Rationalization Table / 理性化对照表
|
|
260
|
+
|
|
261
|
+
### 🇨🇳
|
|
262
|
+
|
|
263
|
+
| # | 陷阱 | 请问自己 | 应该怎么做 |
|
|
264
|
+
|---|------|---------|-----------|
|
|
265
|
+
| 1 | "这个功能太小了,不值得单独列为FP" / "This feature is too small to be a separate FP" | 即使小的功能也是独立的交付单元,遗漏会导致验收盲区 | 保持统一粒度标准,只要是独立可验收的操作就应列为FP |
|
|
266
|
+
| 2 | "PRD里没写但我觉得应该有这个功能" / "The PRD doesn't mention this but I think it should exist" | 需求外推是有风险的,可能引入不必要的工作量 | 标记为"建议功能"并单独列出,请用户确认是否纳入 |
|
|
267
|
+
| 3 | "依赖关系太复杂了,先不管吧" / "Dependencies are too complex, let's ignore them for now" | 缺失依赖关系会导致实施顺序错误和集成问题 | 至少标注直接依赖,复杂的传递依赖可在实施阶段细化 |
|
|
268
|
+
| 4 | "全部标为P0吧,这样比较保险" / "Let's mark everything as P0, just to be safe" | P0泛滥会让真正重要的功能失去优先级标识的意义 | 严格按评估标准分级,确保P0数量合理(通常不超过总数的30%) |
|
|
269
|
+
| 5 | "测试策略后面再想" / "We'll figure out test strategy later" | 测试策略是功能点定义的重要组成部分,影响后续验证工作 | 为每个P0功能点至少定义正向和异常两个测试场景 |
|
|
270
|
+
|
|
271
|
+
**常见陷阱**:
|
|
272
|
+
1. **"粒度失控"陷阱**: 功能点大小不一,有的过于宏大有的过于琐碎 → 建立粒度参考标准(如:一个FP对应一个完整的用户操作场景)
|
|
273
|
+
2. **"隐含依赖"陷阱**: 只记录了明显依赖,忽略了数据依赖和时序依赖 → 强制执行依赖审查:每个FP的前置条件是什么?
|
|
274
|
+
3. **"P0通胀"陷阱**: 为了引起重视而将本应是P1的功能提升为P0 → 建立量化评估标准(如:P0=涉及审批/支付/核心业务流)
|
|
275
|
+
4. **"测试盲区"陷阱**: 只关注功能描述而忽略测试策略 → 强制要求每个FP至少包含基本测试场景说明
|
|
276
|
+
|
|
277
|
+
### 🇺🇸
|
|
278
|
+
|
|
279
|
+
| # | Trap | Ask Yourself | Action |
|
|
280
|
+
|---|------|-------------|--------|
|
|
281
|
+
| 1 | "This feature is too small to be a separate FP" | Even small features are independent delivery units; omission leads to acceptance blind spots | Maintain consistent granularity; any independently acceptable operation should be listed as an FP |
|
|
282
|
+
| 2 | "The PRD doesn't mention this but I think it should exist" | Requirement extrapolation is risky and may introduce unnecessary workload | Mark as "suggested feature" and list separately; ask user to confirm inclusion |
|
|
283
|
+
| 3 | "Dependencies are too complex, let's ignore them for now" | Missing dependencies cause implementation sequence errors and integration issues | At least mark direct dependencies; complex transitive dependencies can be refined during implementation |
|
|
284
|
+
| 4 | "Let's mark everything as P0, just to be safe" | P0 inflation makes truly important features lose priority significance | Strictly classify by assessment criteria; ensure reasonable P0 count (typically ≤30% of total) |
|
|
285
|
+
| 5 | "We'll figure out test strategy later" | Test strategy is an integral part of feature definition, affecting subsequent verification work | Define at least positive and exception test scenarios for each P0 feature |
|
|
286
|
+
|
|
287
|
+
**Common Traps**:
|
|
288
|
+
1. **"Granularity Out of Control" Trap**: Feature points vary in size, some too grandiose others too trivial → Establish granularity reference standard (e.g., one FP = one complete user operation scenario)
|
|
289
|
+
2. **"Hidden Dependencies" Trap**: Only recorded obvious dependencies, ignored data and timing dependencies → Enforce dependency review: What are the preconditions for each FP?
|
|
290
|
+
3. **"P0 Inflation" Trap**: Elevating P1 features to P0 just to draw attention → Establish quantitative assessment criteria (e.g., P0 = involves approval/payment/core business flow)
|
|
291
|
+
4. **"Test Blind Spot" Trap**: Focused only on feature description while ignoring test strategy → Require each FP to include at least basic test scenario descriptions
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Red Flags / 红旗警告
|
|
296
|
+
|
|
297
|
+
### Layer 1: Input Validation Guards / 输入检查防护
|
|
298
|
+
|
|
299
|
+
- **INPUT-FE-001**: 业务分析报告为空或缺少用例章节 → 🔴 CRITICAL → 终止并提示先完成业务分析 / Terminate and prompt to complete business analysis first
|
|
300
|
+
- **INPUT-FE-002**: PRD文档与业务分析报告的内容存在明显矛盾 → 🟡 WARN → 记录矛盾点,以PRD文档为准并在报告中标注 / Record contradictions, use PRD as primary source and note in report
|
|
301
|
+
- **INPUT-FE-003**: 业务分析报告缺少CRUD矩阵或状态图 → 🔴 CRITICAL → 提示补充完整后再进行功能点提取 / Prompt to supplement before proceeding with feature extraction
|
|
302
|
+
|
|
303
|
+
### Layer 2: Execution Validation Guards / 执行检查防护
|
|
304
|
+
|
|
305
|
+
- **EXEC-FE-001**: 存在无法追溯到用例或PRD的功能点 → 🔴 CRITICAL → 删除无依据的功能点或补充来源引用 / Delete unsupported feature points or add source references
|
|
306
|
+
- **EXEC-FE-002**: 功能点ID重复或不遵循命名规范(FP-XXX-NNN) → 🟡 WARN → 重新编号并保持全局唯一性 / Renumber and maintain global uniqueness
|
|
307
|
+
- **EXEC-FE-003**: 发现循环依赖(A→B→A) → 🔴 CRITICAL → 分析依赖关系,拆解或合并功能点以消除循环 / Analyze dependencies, split or merge feature points to eliminate cycles
|
|
308
|
+
- **EXEC-FE-004**: P0功能点缺少详细描述(输入字段/输出信息/业务规则) → 🔴 CRITICAL → 补充完整详情 / Supplement complete details
|
|
309
|
+
|
|
310
|
+
### Layer 3: Output Validation Guards / 输出检查防护
|
|
311
|
+
|
|
312
|
+
- **OUTPUT-FE-001**: 功能点矩阵缺少汇总统计(按复杂度/按操作类型) → 🔴 CRITICAL → 补充统计表格 / Add summary statistics tables
|
|
313
|
+
- **OUTPUT-FE-002**: 功能点总数为0或明显少于预期 → 🔴 CRITICAL → 重新审视分析报告,确认是否有遗漏 / Re-examine analysis report to confirm no omissions
|
|
314
|
+
- **OUTPUT-FE-003**: 输出的feature-matrix.md格式不符合模板规范 → 🟡 WARN → 调整格式以符合模板要求 / Adjust format to meet template requirements
|
|
315
|
+
|
|
316
|
+
### 🇨🇳 触发Red Flag时的处理流程
|
|
317
|
+
🔴 CRITICAL → 立即停止,报告问题详情,等待指示 | 🟡 WARN → 记录警告到提取日志,尝试自动修复,在最终报告中标注 | 🔵 INFO → 记录信息,正常继续
|
|
318
|
+
|
|
319
|
+
### 🇺🇸 Red Flag Trigger Handling Process
|
|
320
|
+
🔴 CRITICAL → Stop immediately, report problem details, await instructions | 🟡 WARN → Log warning to extraction log, attempt auto-fix, note in final report | 🔵 INFO → Record information, continue normally
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name": "pdd-extract-features", "version": "1.0.0", "category": "core", "description": "Extract structured feature points from PRD documents into a prioritized feature matrix. Invoke this Skill when users want to analyze PRD structure, identify functional requirements, or build feature lists. 支持中文触发:提取功能点、功能矩阵、PRD分析、需求拆解、功能点提取。", "triggers": ["提取功能点", "功能点提取", "PRD分析", "功能矩阵", "需求拆解", "extract features", "feature matrix", "PRD analysis", "requirement breakdown"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"name": "SKILL.md-exists", "description": "技能文件存在", "type": "structure", "checks": {"file_exists": "SKILL.md"}}, {"name": "_meta.json-valid", "description": "元数据有效", "type": "structure", "checks": {"file_exists": "_meta.json"}}, {"name": "has-behavior-shaping", "description": "行为塑造章节完整", "type": "quality", "contains": ["Iron Law", "Red Flags"]}, {"name": "extraction-rules-defined", "description": "定义了功能点提取规则", "type": "content", "contains": ["功能点", "feature", "提取", "规则"]}, {"name": "output-format-defined", "description": "功能矩阵输出格式明确", "type": "content", "contains": ["矩阵", "matrix", "ID", "优先级"]}]
|