feat(sync): add install-skills.sh + install metadata to all 62 plugins
- Add install_name, install_type, dir_category fields to all 62 plugin.json files to resolve name-mapping and skill-vs-command routing issues - Add install-skills.sh: idempotent cross-machine skill sync script - Routes skill→~/.claude/skills/<name>/, command→~/.claude/commands/<name>.md - rsync full skills/ directory (preserves multi-file skills like dev-test, req-deploy) - State file ~/.claude/.installed-skills.json tracks installed versions - Conflict detection: warns before overwriting locally modified files - --dry-run, --category, --force, --cleanup, --list flags - Add 9 new plugins migrated from local ~/.claude (agent-swarm, ai-chat, defect-analysis, executing-plans, finishing-branch, frontend-design, req-audit, req-lookback, req-retro) - Add update-plugin-meta.py helper used to bulk-update plugin.json - Fix siyuan SKILL.md: remove hardcoded server credentials, use env vars Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
11
skills-req/req-audit-plugin/.claude-plugin/plugin.json
Normal file
11
skills-req/req-audit-plugin/.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "req-audit-plugin",
|
||||
"description": "部署后审计。运行时日志检查 + 静态缺陷分析 + 设计偏移检测。可独立调用或由 /req done 自动触发。",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "qiudl"
|
||||
},
|
||||
"install_name": "req-audit",
|
||||
"install_type": "command",
|
||||
"dir_category": "req"
|
||||
}
|
||||
105
skills-req/req-audit-plugin/skills/SKILL.md
Normal file
105
skills-req/req-audit-plugin/skills/SKILL.md
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
name: req-audit
|
||||
description: 部署后审计。运行时日志检查 + 静态缺陷分析 + 设计偏移检测。可独立调用或由 /req done 自动触发。
|
||||
---
|
||||
|
||||
# 部署后审计 (audit)
|
||||
|
||||
对本次部署执行三维度审计:运行时行为、代码缺陷、设计偏移。
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 2a. 运行时检查
|
||||
|
||||
检查部署后是否有新增错误。
|
||||
|
||||
**优先 SSH**:
|
||||
```bash
|
||||
ssh -o ConnectTimeout=3 ${EC2_USER}@${EC2_HOST} \
|
||||
"docker logs ${APP_CONTAINER} --since 10m 2>&1 | grep -i 'error\|panic\|fatal\|traceback'"
|
||||
```
|
||||
|
||||
**降级 1:CI 日志**:
|
||||
```bash
|
||||
RUN_ID=$(gh run list --repo ${OWNER}/${REPO} --limit 1 --json databaseId -q '.[0].databaseId')
|
||||
gh run view ${RUN_ID} --repo ${OWNER}/${REPO} --log 2>&1 | grep -i 'error\|panic\|fatal'
|
||||
```
|
||||
|
||||
**降级 2:N/A + 警告**:
|
||||
```
|
||||
⚠️ 无法获取运行时日志(SSH 不可达 + CI 日志无异常信息),2a 标记为 N/A。
|
||||
运行时问题可能未被发现,建议手动检查服务器日志。
|
||||
```
|
||||
|
||||
### 2b. 静态分析
|
||||
|
||||
调用现有 `/defect-analysis` command,传入变更文件:
|
||||
|
||||
```
|
||||
对以下变更文件执行缺陷分析:
|
||||
{变更文件列表}
|
||||
|
||||
重点关注:运行时行为(不是合并前 CR 的重复,而是部署后复查)
|
||||
```
|
||||
|
||||
输出:缺陷清单(按致命/高/中/低分级)
|
||||
|
||||
### 2c. 设计偏移检测
|
||||
|
||||
1. 读取需求的 PRD 文档(linkRole=prd 的任务文档)
|
||||
2. 读取本次变更的源码
|
||||
3. AI 对比分析:
|
||||
|
||||
```
|
||||
请对比以下 PRD 功能点和实际代码实现:
|
||||
|
||||
PRD 功能点:
|
||||
{从 PRD 提取的功能清单}
|
||||
|
||||
实际代码变更:
|
||||
{变更文件的关键逻辑}
|
||||
|
||||
检查:
|
||||
- 遗漏的功能(PRD 有但代码没实现)
|
||||
- 多做的功能(代码有但 PRD 没提)
|
||||
- 实现方式与 PRD 描述不一致
|
||||
```
|
||||
|
||||
输出:偏移项列表
|
||||
|
||||
### 合并报告
|
||||
|
||||
```markdown
|
||||
## 部署后审计报告
|
||||
|
||||
### 2a 运行时检查
|
||||
| 检查项 | 结果 | 详情 |
|
||||
| 新增错误 | ✅ 无 / ❌ 有 N 条 | ... |
|
||||
|
||||
### 2b 静态分析
|
||||
| 缺陷 | 严重度 | 描述 |
|
||||
(来自 defect-analysis 输出)
|
||||
|
||||
### 2c 设计偏移
|
||||
| 偏移项 | 类型 | 说明 |
|
||||
|
||||
### 结论
|
||||
- 致命/高级缺陷: N 个 → {阻断/通过}
|
||||
- 中/低级缺陷: N 个 → 已创建 backlog
|
||||
- 设计偏移: N 项 → {建议处理方式}
|
||||
```
|
||||
|
||||
### 缺陷分级处理
|
||||
|
||||
| 级别 | 处理 |
|
||||
|------|------|
|
||||
| 致命 | 阻断归档 + 回滚建议 + `ai-proj task create` 创建修复任务并关联需求 |
|
||||
| 高级 | 阻断归档 + 回滚建议 + 创建修复任务 |
|
||||
| 中级 | 警告不阻断 + 创建 backlog 任务 |
|
||||
| 低级 | 记录到报告,不创建任务 |
|
||||
|
||||
## 任务关联
|
||||
|
||||
- linkRole: `code_review`
|
||||
- 任务标题: `【审计】部署后审计: {需求标题}`
|
||||
- 报告附加到任务文档
|
||||
Reference in New Issue
Block a user