@feng-h/pdca-skill 1.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/CLAUDE.md +108 -0
- package/README.md +131 -0
- package/SKILL.md +438 -0
- package/assets/references/act-agent.md +51 -0
- package/assets/references/check-agent.md +43 -0
- package/assets/references/cron-driving.md +107 -0
- package/assets/references/dashboard-templates.md +436 -0
- package/assets/references/do-agent.md +44 -0
- package/assets/references/exception-handling.md +35 -0
- package/assets/references/feishu-integration.md +494 -0
- package/assets/references/manufacturing-templates.md +31 -0
- package/assets/references/plan-agent.md +52 -0
- package/assets/references/transition-checklist.md +41 -0
- package/assets/templates/project-template.md +109 -0
- package/assets/tests/baseline-test-results.md +146 -0
- package/assets/tests/baseline-test-scenarios.md +111 -0
- package/assets/tests/improvement-analysis-tdd.md +405 -0
- package/assets/tests/improvement-validation-scenarios.md +184 -0
- package/assets/tests/integration-test-scenarios.md +296 -0
- package/assets/tests/tdd-baseline-test-scenarios.md +164 -0
- package/assets/tests/tdd-green-verification.md +156 -0
- package/package.json +31 -0
- package/system/Agent/ActAgent.md +369 -0
- package/system/Agent/CheckAgent.md +327 -0
- package/system/Agent/DoAgent.md +289 -0
- package/system/Agent/PDCA/346/216/247/345/210/266/345/231/250.md +403 -0
- package/system/Agent/PDCA/351/241/271/347/233/256/347/256/241/347/220/206/347/263/273/347/273/237Agent.md +137 -0
- package/system/Agent/PlanAgent.md +404 -0
- package/system//345/210/266/351/200/240/350/264/250/351/207/217/351/241/271/347/233/256/346/250/241/346/235/277.md +122 -0
- package/system//345/267/245/345/205/267/Bitable/345/272/224/347/224/250/346/226/207/346/241/243/346/250/241/346/235/277.md +232 -0
- package/system//345/267/245/345/205/267/Bitable/350/241/250/347/273/223/346/236/204/345/256/232/344/271/211.md +376 -0
- package/system//345/267/245/345/205/267/OpenClow API/351/233/206/346/210/220.md" +109 -0
- package/system//345/267/245/345/205/267//344/273/252/350/241/250/346/235/277/347/224/237/346/210/220/345/231/250.md +274 -0
- package/system//345/267/245/345/205/267//344/273/252/350/241/250/347/233/230/347/273/204/344/273/266/351/205/215/347/275/256.md +66 -0
- package/system//345/267/245/345/205/267//344/273/273/345/212/241/350/207/252/345/212/250/347/224/237/346/210/220/345/231/250.md +365 -0
- package/system//345/267/245/345/205/267//345/267/245/344/275/234/346/265/201/350/207/252/345/212/250/345/214/226/351/205/215/347/275/256.md +119 -0
- package/system//345/267/245/345/205/267//345/274/202/345/270/270/345/244/204/347/220/206/346/214/207/345/215/227.md +441 -0
- package/system//345/267/245/345/205/267//346/224/266/351/233/206/350/241/250/351/205/215/347/275/256/346/214/207/345/215/227.md +70 -0
- package/system//345/267/245/345/205/267//346/231/272/350/203/275/345/267/241/346/243/200/351/242/221/347/216/207.md +374 -0
- package/system//345/267/245/345/205/267//350/241/250/345/215/225/351/205/215/347/275/256/347/224/237/346/210/220/345/231/250.md +221 -0
- package/system//345/267/245/345/205/267//351/230/266/346/256/265/350/275/254/346/215/242/346/243/200/346/237/245/350/241/250.md +281 -0
- package/system//346/250/241/346/235/277//351/241/271/347/233/256/346/250/241/346/235/277.md +418 -0
- package/system//347/273/217/351/252/214/345/272/223.md +57 -0
- package/system//350/247/204/350/214/203/Validators/logic.md +72 -0
- package/system//350/247/204/350/214/203/Validators/smart.md +63 -0
- package/system//350/247/204/350/214/203//346/240/270/345/277/203/350/247/204/350/214/203.md +339 -0
- package/system//351/241/271/347/233/256/347/212/266/346/200/201/350/267/237/350/270/252.md +186 -0
- package/system//351/241/271/347/233/256/347/256/241/347/220/206/347/263/273/347/273/237.md +143 -0
- package/system//351/241/271/347/233/256/347/264/242/345/274/225.md +22 -0
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# 仪表板生成器
|
|
2
|
+
|
|
3
|
+
基于巡检频率定期生成 Wiki 仪表板页面,提供项目进展的可视化概览。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 概述
|
|
8
|
+
|
|
9
|
+
**用途**:按照智能巡检频率定期从 Bitable 读取数据,生成包含核心指标、框架维度进度、任务列表、数据趋势、执行日志和 AI 分析洞察的仪表板页面。
|
|
10
|
+
|
|
11
|
+
**核心价值**:
|
|
12
|
+
- 一站式查看项目全貌,无需切换多个数据源
|
|
13
|
+
- 自动化数据聚合,减少人工汇总工作
|
|
14
|
+
- AI 分析洞察提供决策支持
|
|
15
|
+
- 基于时间序列的趋势可视化
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 仪表板布局
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
┌────────────────────────────────────────────────────────────┐
|
|
23
|
+
│ 📊 [项目名称] 仪表板 │
|
|
24
|
+
├────────────────────────────────────────────────────────────┤
|
|
25
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
26
|
+
│ │ 核心指标区 │ │
|
|
27
|
+
│ │ - 完成度进度条 │ │
|
|
28
|
+
│ │ - 剩余天数倒计时 │ │
|
|
29
|
+
│ │ - 当前阶段标识 │ │
|
|
30
|
+
│ │ - 任务完成率 │ │
|
|
31
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
32
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
33
|
+
│ │ 框架维度进度区 │ │
|
|
34
|
+
│ │ - 各维度任务分布(如 TREND 的 T/R/E/N/D) │ │
|
|
35
|
+
│ │ - 维度完成度对比 │ │
|
|
36
|
+
│ │ - 维度优先级标识 │ │
|
|
37
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
38
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
39
|
+
│ │ 当前阶段任务列表 │ │
|
|
40
|
+
│ │ - 待办任务(高优先级优先) │ │
|
|
41
|
+
│ │ - 进行中任务 │ │
|
|
42
|
+
│ │ - 近期已完成任务 │ │
|
|
43
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
44
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
45
|
+
│ │ 研究数据区(趋势可视化) │ │
|
|
46
|
+
│ │ - 关键指标趋势图 │ │
|
|
47
|
+
│ │ - 基准值 vs 当前值 │ │
|
|
48
|
+
│ │ - 目标达成进度 │ │
|
|
49
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
50
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
51
|
+
│ │ 执行日志区 │ │
|
|
52
|
+
│ │ - 最近 7 条日志(按时间倒序) │ │
|
|
53
|
+
│ │ - 日志类型标识(进展/问题/决策) │ │
|
|
54
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
55
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
56
|
+
│ │ AI 分析洞察区 │ │
|
|
57
|
+
│ │ - 进度异常预警 │ │
|
|
58
|
+
│ │ - 趋势分析建议 │ │
|
|
59
|
+
│ │ - 风险提示 │ │
|
|
60
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
61
|
+
└────────────────────────────────────────────────────────────┘
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 数据来源
|
|
67
|
+
|
|
68
|
+
| 区域 | 数据来源 | API | 说明 |
|
|
69
|
+
|------|---------|-----|------|
|
|
70
|
+
| 核心指标 | 项目主表 | `feishu_bitable_app_table_record.search` | 聚合项目级别统计 |
|
|
71
|
+
| 框架维度进度 | 任务表 | `feishu_bitable_app_table_record.search` | 按「来源维度」分组聚合 |
|
|
72
|
+
| 当前阶段任务 | 任务表 | `feishu_bitable_app_table_record.search` | 筛选当前阶段未完成任务 |
|
|
73
|
+
| 研究数据 | 数据记录表 | `feishu_bitable_app_table_record.search` | 按指标名称分组获取时序数据 |
|
|
74
|
+
| 执行日志 | 日志表 | `feishu_bitable_app_table_record.search` | 获取最近 N 条记录 |
|
|
75
|
+
| AI 分析洞察 | AI 生成 | 基于以上数据分析 | LLM 分析生成建议 |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 生成流程
|
|
80
|
+
|
|
81
|
+
### 1. 读取 Bitable 数据
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
# 伪代码示例
|
|
85
|
+
def fetch_dashboard_data(project_id: str) -> dict:
|
|
86
|
+
"""获取仪表板所需的所有数据"""
|
|
87
|
+
|
|
88
|
+
# 1. 核心指标(项目主表)
|
|
89
|
+
project_data = feishu_bitable_app_table_record.search(
|
|
90
|
+
filter={"项目ID": project_id}
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
# 2. 框架维度进度(任务表聚合)
|
|
94
|
+
tasks_by_dimension = feishu_bitable_app_table_record.search(
|
|
95
|
+
filter={"项目ID": project_id},
|
|
96
|
+
group_by="来源维度"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
# 3. 当前阶段任务
|
|
100
|
+
current_phase_tasks = feishu_bitable_app_table_record.search(
|
|
101
|
+
filter={
|
|
102
|
+
"项目ID": project_id,
|
|
103
|
+
"状态": ["未开始", "进行中"]
|
|
104
|
+
},
|
|
105
|
+
sort_by=["优先级", "截止日期"],
|
|
106
|
+
limit=10
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
# 4. 研究数据(时序)
|
|
110
|
+
data_records = feishu_bitable_app_table_record.search(
|
|
111
|
+
filter={"项目ID": project_id},
|
|
112
|
+
sort_by="记录时间",
|
|
113
|
+
limit=100
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
# 5. 执行日志
|
|
117
|
+
logs = feishu_bitable_app_table_record.search(
|
|
118
|
+
filter={"项目ID": project_id},
|
|
119
|
+
sort_by="记录_time",
|
|
120
|
+
limit=7
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
"project": project_data,
|
|
125
|
+
"dimensions": tasks_by_dimension,
|
|
126
|
+
"tasks": current_phase_tasks,
|
|
127
|
+
"data": data_records,
|
|
128
|
+
"logs": logs
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 2. 计算指标
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
def calculate_metrics(data: dict) -> dict:
|
|
136
|
+
"""计算各区域指标"""
|
|
137
|
+
|
|
138
|
+
project = data["project"]
|
|
139
|
+
|
|
140
|
+
# 核心指标
|
|
141
|
+
metrics = {
|
|
142
|
+
"完成度": project["完成度"],
|
|
143
|
+
"剩余天数": (project["预计结束日期"] - now).days,
|
|
144
|
+
"当前阶段": project["当前阶段"],
|
|
145
|
+
"任务完成率": completed_tasks / total_tasks * 100
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
# 框架维度进度
|
|
149
|
+
dimension_progress = {}
|
|
150
|
+
for dim in data["dimensions"]:
|
|
151
|
+
dimension_progress[dim["来源维度"]] = {
|
|
152
|
+
"总数": dim["total"],
|
|
153
|
+
"已完成": dim["completed"],
|
|
154
|
+
"完成率": dim["completed"] / dim["total"] * 100
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
# 数据趋势
|
|
158
|
+
trend_analysis = analyze_trend(data["data"])
|
|
159
|
+
|
|
160
|
+
return {
|
|
161
|
+
"metrics": metrics,
|
|
162
|
+
"dimensions": dimension_progress,
|
|
163
|
+
"trend": trend_analysis
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 3. 生成 AI 洞察
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
def generate_ai_insights(metrics: dict) -> list[str]:
|
|
171
|
+
"""基于指标生成 AI 分析洞察"""
|
|
172
|
+
|
|
173
|
+
insights = []
|
|
174
|
+
|
|
175
|
+
# 进度异常检测
|
|
176
|
+
if metrics["metrics"]["完成度"] < expected_progress:
|
|
177
|
+
insights.append("⚠️ 进度预警:当前完成度低于预期,建议关注高优先级任务")
|
|
178
|
+
|
|
179
|
+
# 趋势分析
|
|
180
|
+
if metrics["trend"]["direction"] == "declining":
|
|
181
|
+
insights.append("📉 趋势警示:核心指标呈下降趋势,建议检查执行计划")
|
|
182
|
+
|
|
183
|
+
# 维度平衡分析
|
|
184
|
+
unbalanced_dimensions = find_unbalanced_dimensions(metrics["dimensions"])
|
|
185
|
+
if unbalanced_dimensions:
|
|
186
|
+
insights.append(f"⚖️ 维度失衡:{unbalanced_dimensions} 进度滞后,建议调整资源分配")
|
|
187
|
+
|
|
188
|
+
# 风险提示
|
|
189
|
+
if metrics["metrics"]["剩余天数"] < 7 and metrics["metrics"]["完成度"] < 80:
|
|
190
|
+
insights.append("🚨 截止风险:剩余不足 7 天但完成度低于 80%,建议评估延期风险")
|
|
191
|
+
|
|
192
|
+
return insights
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 4. 渲染 Markdown
|
|
196
|
+
|
|
197
|
+
使用模板引擎生成 Markdown 内容(详见 `pdca/references/dashboard-templates.md`)。
|
|
198
|
+
|
|
199
|
+
### 5. 更新 Wiki
|
|
200
|
+
|
|
201
|
+
```python
|
|
202
|
+
def update_dashboard_wiki(project_id: str, content: str):
|
|
203
|
+
"""更新仪表板 Wiki 页面"""
|
|
204
|
+
|
|
205
|
+
# 获取仪表板节点的 node_token
|
|
206
|
+
dashboard_node = get_dashboard_node(project_id)
|
|
207
|
+
|
|
208
|
+
# 调用 feishu_update_doc
|
|
209
|
+
feishu_update_doc(
|
|
210
|
+
node_token=dashboard_node,
|
|
211
|
+
content=content
|
|
212
|
+
)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 更新频率
|
|
218
|
+
|
|
219
|
+
| 项目类型 | 基线频率 | 说明 |
|
|
220
|
+
|---------|---------|------|
|
|
221
|
+
| 健康/体能 (TREND) | 每日 | 数据每天更新 |
|
|
222
|
+
| 制造业 (4M1E) | 每 8 小时 | 跟随生产班次 |
|
|
223
|
+
| 软件开发 (PPTD) | 每日 | 日报节奏 |
|
|
224
|
+
| 学习/教育 (COMET) | 每周 | 周报节奏 |
|
|
225
|
+
| 其他 | 每日 | 最小每日更新 |
|
|
226
|
+
|
|
227
|
+
**频率调整**:
|
|
228
|
+
- 遵循 `_系统/工具/智能巡检频率.md` 中的动态调整策略
|
|
229
|
+
- Do 阶段加倍频率
|
|
230
|
+
- 高优先级项目加倍频率
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Wiki 路径
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
PDCA项目管理/
|
|
238
|
+
└── 📁 [项目名称]/
|
|
239
|
+
└── 📊 仪表板.md
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**创建时机**:项目创建时自动生成仪表板页面
|
|
243
|
+
|
|
244
|
+
**更新方式**:使用 `feishu_update_doc` 覆盖更新
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 与巡检系统集成
|
|
249
|
+
|
|
250
|
+
仪表板生成作为巡检流程的最后一步:
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
巡检循环
|
|
254
|
+
↓
|
|
255
|
+
1. Scrape(Wiki)- 获取项目文档
|
|
256
|
+
↓
|
|
257
|
+
2. Load(Logic)- 加载阶段要求
|
|
258
|
+
↓
|
|
259
|
+
3. Verify - 对比检查
|
|
260
|
+
↓
|
|
261
|
+
4. Message(Card)- 发送预警卡片
|
|
262
|
+
↓
|
|
263
|
+
5. [新增] Generate Dashboard - 更新仪表板
|
|
264
|
+
↓
|
|
265
|
+
完成本次巡检
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 版本历史
|
|
271
|
+
|
|
272
|
+
| 版本 | 日期 | 变更说明 |
|
|
273
|
+
|------|------|---------|
|
|
274
|
+
| v1.0 | 2026-04-04 | 初始版本,定义仪表板生成逻辑和布局 |
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Bitable 仪表盘组件配置
|
|
2
|
+
|
|
3
|
+
## 概述
|
|
4
|
+
|
|
5
|
+
Bitable 仪表盘为项目提供实时的可视化展示,所有组件绑定到 Bitable 数据表作为数据源。
|
|
6
|
+
|
|
7
|
+
## 仪表盘组件列表
|
|
8
|
+
|
|
9
|
+
### 1. 核心指标区
|
|
10
|
+
- **类型**: 指标卡片
|
|
11
|
+
- **数据源**: 项目主表
|
|
12
|
+
- **指标映射**:
|
|
13
|
+
| 指标 | 字段 | 展示方式 |
|
|
14
|
+
|------|------|---------|
|
|
15
|
+
| 目标达成度 | 完成度 | 进度条 (0-100%) |
|
|
16
|
+
| 剩余天数 | 预计结束日期 vs 当前日期 | 计算值 |
|
|
17
|
+
| 当前阶段 | 当前阶段 | 文本标签 |
|
|
18
|
+
| 任务完成率 | 任务表 (状态=已完成的记录数 / 总记录数) | 百分比 |
|
|
19
|
+
|
|
20
|
+
### 2. 框架维度进度区
|
|
21
|
+
- **类型**: 分组柱状图
|
|
22
|
+
- **数据源**: 任务数据表
|
|
23
|
+
- **分组字段**: 来源维度
|
|
24
|
+
- **指标**: 任务状态分布
|
|
25
|
+
- **交互**: 点击维度 → 筛选显示该维度任务
|
|
26
|
+
|
|
27
|
+
### 3. 任务列表区
|
|
28
|
+
- **类型**: 表格视图
|
|
29
|
+
- **数据源**: 任务数据表
|
|
30
|
+
- **筛选条件**: 任务状态 != "已取消"
|
|
31
|
+
- **排序**: 优先级 DESC, 截止日期 ASC
|
|
32
|
+
- **显示字段**: 任务标题、任务状态、负责人、截止日期、完成度
|
|
33
|
+
|
|
34
|
+
### 4. 数据趋势图
|
|
35
|
+
- **类型**: 折线图
|
|
36
|
+
- **数据源**: 数据记录表
|
|
37
|
+
- **X轴**: 记录时间
|
|
38
|
+
- **Y轴**: 数值
|
|
39
|
+
- **系列**: 按指标名称分组
|
|
40
|
+
|
|
41
|
+
### 5. 执行日志区
|
|
42
|
+
- **类型**: 列表视图
|
|
43
|
+
- **数据源**: 执行日志表
|
|
44
|
+
- **排序**: 记录时间 DESC
|
|
45
|
+
- **显示条数**: 最近 10 条
|
|
46
|
+
- **显示字段**: 阶段、日志类型、内容、记录时间
|
|
47
|
+
|
|
48
|
+
### 6. AI 洞察区
|
|
49
|
+
- **类型**: 文本卡片
|
|
50
|
+
- **数据源**: 执行日志表 (筛选 日志类型=AI洞察)
|
|
51
|
+
- **排序**: 记录时间 DESC
|
|
52
|
+
- **显示条数**: 最近 5 条
|
|
53
|
+
|
|
54
|
+
## 配置方式
|
|
55
|
+
|
|
56
|
+
仪表盘通过 Bitable 原生仪表盘功能配置:
|
|
57
|
+
1. 在 Bitable 应用中创建仪表盘视图
|
|
58
|
+
2. 为每个组件选择对应的数据源表
|
|
59
|
+
3. 配置数据绑定和筛选条件
|
|
60
|
+
4. 设置刷新频率(推荐自动刷新)
|
|
61
|
+
|
|
62
|
+
## 注意事项
|
|
63
|
+
|
|
64
|
+
- Bitable 仪表盘组件能力有限,复杂自定义展示需配合 Wiki 页面补充
|
|
65
|
+
- 剩余天数等计算值由 AI 巡检时计算并写入日志,仪表盘从日志表读取
|
|
66
|
+
- 仪表盘数据源变更后需重新配置组件绑定
|