关于 ops-projects
ops-projects 是基于本地注册表展示 GSD 项目组合的仪表板技能,呈现项目阶段、状态、分支和健康信息,适合追踪多个项目,并可按需刷新注册表。
主要功能
- 01根据项目注册表生成组合仪表板
- 02概览项目阶段与状态
- 03展示分支、未提交更改和阻塞项
- 04深入查看单个项目
- 05按需同步项目注册表
适用场景
- 01查看多个 GSD 项目的状态
- 02检查项目阶段与阻塞项
- 03查看前刷新项目数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill ops-projects安装后在 Claude Code 中输入/ops-projects确认已加载。
详细介绍
运行时上下文
渲染前,加载:
- 偏好设置:
cat ${OPS_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json— 读取owner、timezone - 守护进程健康状态:
cat ${OPS_DATA_DIR}/daemon-health.json— 在仪表板页脚显示服务状态 - GSD 注册表:
cat ${OPS_DATA_DIR}/registry.json— 主要项目索引(由守护进程每天更新两次,也可通过 --sync 按需更新)
OPS ► 项目 — GSD 项目组合仪表板
快速命令
# Refresh registry data on demand
bash ${CLAUDE_PLUGIN_ROOT}/scripts/ops-gsd-registry-sync.sh
# Show registry contents
cat ${OPS_DATA_DIR}/registry.json
# Show health summary
cat ${OPS_DATA_DIR}/cache/projects_health.json
数据流
~/Projects/ ~/gsd-workspaces/
│ │
▼ ▼
[project]/.planning/ [project]/.planning/
│ │
├── HANDOFF.json ├── HANDOFF.json ← active-phase projects
├── STATE.md ├── MILESTONES.md
├── ROADMAP.md └── STATE.md
└── MILESTONES.md
│
▼ ops-gsd-registry-sync.sh (daemon: 6am + 6pm)
│
▼
${OPS_DATA_DIR}/
├── registry.json ← all projects, sorted by priority
└── cache/
└── projects_health.json ← health summary
│
▼ ops-projects skill reads this
仪表板输出
从 ${OPS_DATA_DIR}/cache/projects_health.json 构建仪表板(若文件缺失,则回退到 ${OPS_DATA_DIR}/registry.json)。显示:
╔══════════════════════════════════════════════════════════════╗
║ OPS ► PROJECTS [owner] [date] [daemon status] ║
╠══════════════════════════════════════════════════════════════╣
║ GSD Portfolio — 23 projects ║
║ ║
║ 🟢 EXECUTING (3) ║
║ my-webapp Phase 12 [executing] branch: main 0 dirty ║
║ my-plugin Phase 16 [executing] branch: main 2 dirty ║
║ my-saas-app Phase 39 [executing] branch: dev 0 dirty ║
║ ║
║ 🟡 PAUSED (4) ║
║ my-project-a Phase 08 [paused] branch: feat 1 dirty ║
║ my-project-b Phase 3 [verifying] branch: main 0 dirty ║
║ ... ║
║ ║
║ 🔴 BLOCKED (1) ║
║ my-ecommerce Phase 7 [await-UAT] branch: prod 0 dirty ║
║ ║
║ ⚪ IDLE / UNTRACKED (15) ║
║ my-side-project Phase 1 [complete] branch: main 0 dirty ║
║ my-other-app — — branch: dev 3 dirty ║
║ ... ║
╠══════════════════════════════════════════════════════════════╣
║ ⚡ Services: message-listener ● | inbox-digest ⏱ 2h | gsd-registry ⏱ 12h ║
╚══════════════════════════════════════════════════════════════╝
状态指示器(来自 status 字段,不区分大小写)
- executing → 🟢
- paused / verifying / phase_complete → 🟡
- human / uat / blocked / pending → 🔴
- 状态为空且有阶段 → ⚪(空闲)
- 无阶段、无状态 → ⚪(未跟踪/无 GSD)
每个项目的列:别名 | 阶段 | 状态 | 分支 | 脏状态 | 下一步操作
项目深入查看
如果 $ARGUMENTS 包含项目别名,在注册表中查找该项目并显示:
╔══════════════════════════════════════════════════════════════╗
║ PROJECT — [alias] ║
╠══════════════════════════════════════════════════════════════╣
║ Path: ~/Projects/[alias]/ ║
║ Phase: [phase] Status: [status] ║
║ Milestone: [milestone name] ║
║ Branch: [branch] Dirty: [N] Unpushed: [N] ║
║ Blockers: [N] ║
║ Next: [next_action text] ║
║ ║
║ GSD files: ✓ ROADMAP ✓ MILESTONES [HAS_HANDOFF] STATE ║
╚══════════════════════════════════════════════════════════════╝
Actions:
[1] Open project directory
[2] Continue GSD (/gsd-next [alias])
[3] Git: branch / status / log
[4] Run /ops projects (back to portfolio)
列出编号操作,并让用户输入编号或操作名称进行选择。
--sync 标志
如果传入 --sync 或 --refresh,先运行注册表同步脚本,再显示更新后的仪表板:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/ops-gsd-registry-sync.sh 2>&1
运行期间显示“正在刷新...”,随后呈现完整的更新后仪表板。
错误状态
- 如果
registry.json缺失或为空:显示一次性同步提示No project registry found. Run /ops projects --sync to build it. - 如果守护进程健康状态显示
action_needed:在警告横幅中提示
CLI 参考(手动使用)
| 命令 | 功能 |
|---|---|
/ops projects | 显示完整项目组合 |
/ops projects [alias] | 深入查看单个项目 |
/ops projects --sync | 强制刷新注册表并显示仪表板 |
/ops:setup registry | 打开注册表设置(未来功能) |
评论
支持 Markdown