dev-status

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Dev Status Report

开发状态报告

Scan all features in the
.dev/
folder, generate a status report, and offer to archive completed or stale features.
扫描
.dev/
文件夹中的所有功能,生成状态报告,并提供归档已完成或停滞功能的选项。

Agents

Agent

This skill uses a specialized agent for status scanning:
  • feature-batch-scanner (blue) — Scans a batch of feature folders and extracts status for each
Agent definition is in
plugins/dev-workflow/agents/
.
本技能使用专门的Agent进行状态扫描:
  • feature-batch-scanner(蓝色)—— 扫描一批功能文件夹并提取每个功能的状态
Agent定义位于
plugins/dev-workflow/agents/
目录下。

Step 0: Determine Project Root

步骤0:确定项目根目录

Before proceeding, determine the project root directory:
  1. If this is a git repository, use:
    git rev-parse --show-toplevel
  2. If not a git repository, use the initial working directory from the session context
Store this as
$PROJECT_ROOT
and use it for all
.dev/
path references throughout this skill.
开始操作前,先确定项目根目录:
  1. 如果是Git仓库,使用命令:
    git rev-parse --show-toplevel
  2. 如果不是Git仓库,使用会话上下文的初始工作目录
将其存储为
$PROJECT_ROOT
,并在本技能的所有
.dev/
路径引用中使用该变量。

Step 1: Discover Features

步骤1:发现功能

Find all feature directories, excluding the archive folder:
bash
find "$PROJECT_ROOT/.dev" -maxdepth 1 -type d ! -name ".dev" ! -name ".dev-archive" | sort
Also check for archived features:
bash
find "$PROJECT_ROOT/.dev-archive" -maxdepth 1 -type d ! -name ".dev-archive" 2>/dev/null | sort
If no
.dev/
directory exists
: Inform the user "No
.dev/
directory found. Use
/dev-plan
to start a new feature."
If
.dev/
exists but has no feature folders
: Inform the user "No features found in
.dev/
. Use
/dev-plan
to start a new feature."
Store the list of feature folder paths for the next step.
查找所有功能目录,排除归档文件夹:
bash
find "$PROJECT_ROOT/.dev" -maxdepth 1 -type d ! -name ".dev" ! -name ".dev-archive" | sort
同时检查已归档的功能:
bash
find "$PROJECT_ROOT/.dev-archive" -maxdepth 1 -type d ! -name ".dev-archive" 2>/dev/null | sort
如果不存在
.dev/
目录
:告知用户"未找到
.dev/
目录。使用
/dev-plan
启动新功能。"
如果
.dev/
目录存在但无功能文件夹
:告知用户"
.dev/
目录中未找到任何功能。使用
/dev-plan
启动新功能。"
存储所有功能文件夹路径,用于下一步操作。

Step 2: Calculate Batches

步骤2:计算批次

Distribute feature folders across agents (maximum 5 agents):
  • If N ≤ 5 features: Launch N agents, 1 folder each
  • If N > 5 features: Launch 5 agents, distribute folders round-robin
Batch distribution algorithm (for N > 5):
Agent 1: folders[0], folders[5], folders[10], ...
Agent 2: folders[1], folders[6], folders[11], ...
Agent 3: folders[2], folders[7], folders[12], ...
Agent 4: folders[3], folders[8], folders[13], ...
Agent 5: folders[4], folders[9], folders[14], ...
将功能文件夹分配给多个Agent(最多5个):
  • 如果功能数量N ≤5:启动N个Agent,每个Agent处理1个文件夹
  • 如果功能数量N >5:启动5个Agent,使用轮询方式分配文件夹
批次分配算法(当N>5时):
Agent 1: folders[0], folders[5], folders[10], ...
Agent 2: folders[1], folders[6], folders[11], ...
Agent 3: folders[2], folders[7], folders[12], ...
Agent 4: folders[3], folders[8], folders[13], ...
Agent 5: folders[4], folders[9], folders[14], ...

Step 3: Launch Parallel Agents

步骤3:启动并行Agent

Launch all feature-batch-scanner agents in parallel using the Task tool.
For each agent, provide a prompt like:
"Scan these feature folders and return status for each:
- $PROJECT_ROOT/.dev/feature-a
- $PROJECT_ROOT/.dev/feature-b
- $PROJECT_ROOT/.dev/feature-c

For each folder, determine: Status (Active/Complete/Stale/No PRD), Progress (phases and steps), Last Checkpoint date, and Next Action."
Use
subagent_type=dev-workflow:feature-batch-scanner
and
model=haiku
for each agent.
IMPORTANT: Launch all agents in a single message with multiple Task tool calls to run them in parallel.
使用Task工具并行启动所有feature-batch-scanner Agent。
为每个Agent提供如下提示:
"扫描以下功能文件夹并返回每个功能的状态:
- $PROJECT_ROOT/.dev/feature-a
- $PROJECT_ROOT/.dev/feature-b
- $PROJECT_ROOT/.dev/feature-c

针对每个文件夹,确定:状态(活跃/已完成/停滞/无PRD)、进度(阶段和步骤)、最后检查点日期,以及下一步操作。"
为每个Agent设置
subagent_type=dev-workflow:feature-batch-scanner
model=haiku
重要提示:在一条消息中通过多个Task工具调用启动所有Agent,以实现并行运行。

Step 4: Aggregate Results

步骤4:汇总结果

After all agents return:
  1. Parse each agent's batch results
  2. Combine into a unified list of all features
  3. Sort by status: Active first, then Stale, then Complete, then No PRD
  4. Calculate summary counts
所有Agent返回结果后:
  1. 解析每个Agent的批次结果
  2. 合并为所有功能的统一列表
  3. 按状态排序:先活跃,然后停滞,接着已完成,最后无PRD
  4. 计算汇总统计数

Step 5: Present Report

步骤5:展示报告

Display the status report to the user:
markdown
undefined
向用户展示状态报告:
markdown
undefined

Dev Status Report

开发状态报告

Generated: [ISO 8601 timestamp] Features Scanned: [N]
生成时间:[ISO 8601 时间戳] 扫描的功能数量:[N]

Summary

汇总

StatusCount
Active[X]
Complete[Y]
Stale[Z]
No PRD[W]
状态数量
活跃[X]
已完成[Y]
停滞[Z]
无PRD[W]

All Features

所有功能

FeatureStatusProgressLast ActivityNext Action
[name][status][X/Y phases][date/ago][summary]
...

If there are archived features, add a section:

```markdown
功能状态进度最后活动时间下一步操作
[名称][状态][X/Y 阶段][日期/多久前][摘要]
...

如果存在已归档功能,添加以下章节:

```markdown

Archived Features

已归档功能

[N] features in
.dev-archive/
:
  • [feature-name-1]
  • [feature-name-2]
undefined
.dev-archive/
中有[N]个功能:
  • [feature-name-1]
  • [feature-name-2]
undefined

Step 6: Archive Offer

步骤6:归档选项

If there are any Complete or Stale features, ask the user:
"Would you like to archive any completed or stale features? This moves them to
.dev-archive/
to keep
.dev/
clean."
Present options:
  1. Archive all complete features
  2. Archive all stale features
  3. Archive specific features (list them)
  4. Skip archiving
If user chooses to archive:
  1. Create
    .dev-archive/
    if it doesn't exist:
    bash
    mkdir -p "$PROJECT_ROOT/.dev-archive"
  2. Move each selected feature folder:
    bash
    mv "$PROJECT_ROOT/.dev/[feature-name]" "$PROJECT_ROOT/.dev-archive/"
  3. Confirm what was archived.
If user skips: Proceed to Step 7.
如果存在任何已完成停滞的功能,询问用户:
"是否要归档已完成或停滞的功能?这会将它们移动到
.dev-archive/
目录,以保持
.dev/
目录整洁。"
提供以下选项:
  1. 归档所有已完成功能
  2. 归档所有停滞功能
  3. 归档特定功能(列出它们)
  4. 跳过归档
如果用户选择归档
  1. 如果
    .dev-archive/
    不存在则创建:
    bash
    mkdir -p "$PROJECT_ROOT/.dev-archive"
  2. 移动每个选中的功能文件夹:
    bash
    mv "$PROJECT_ROOT/.dev/[feature-name]" "$PROJECT_ROOT/.dev-archive/"
  3. 确认已归档的内容。
如果用户选择跳过:进入步骤7。

Step 7: Save Report

步骤7:保存报告

Write the status report to
$PROJECT_ROOT/.dev/status-report-YYYY-MM-DD.md
:
markdown
undefined
将状态报告写入
$PROJECT_ROOT/.dev/status-report-YYYY-MM-DD.md
markdown
undefined

Dev Status Report

开发状态报告

Generated: [ISO 8601 timestamp] Project: [project name from git or folder] Features Scanned: [N]
生成时间:[ISO 8601 时间戳] 项目:[来自Git或文件夹的项目名称] 扫描的功能数量:[N]

Summary

汇总

StatusCount
Active[X]
Complete[Y]
Stale[Z]
No PRD[W]
状态数量
活跃[X]
已完成[Y]
停滞[Z]
无PRD[W]

Features

功能

FeatureStatusProgressLast Activity
[name][status][X/Y phases][date]
...
功能状态进度最后活动时间
[名称][状态][X/Y 阶段][日期]
...

Archive Candidates

归档候选

Complete (ready to archive)

已完成(可归档)

  • [feature-name] ...
  • [feature-name] ...

Stale (no activity > 30 days)

停滞(超过30天无活动)

  • [feature-name] ...

Report generated by
/dev-status

Confirm: "Status report saved to `.dev/status-report-YYYY-MM-DD.md`"
  • [feature-name] ...

报告由
/dev-status
生成

确认:"状态报告已保存至`.dev/status-report-YYYY-MM-DD.md`"

Privacy Rules

隐私规则

NEVER include in output or saved reports:
  • Absolute paths containing usernames (e.g.,
    /Users/username/...
    )
  • Secrets, API keys, tokens, or credentials
  • Personal information
ALWAYS use instead:
  • Relative paths from project root (e.g.,
    .dev/feature-name/
    )
  • Feature names without full paths in tables
绝对不要在输出或保存的报告中包含以下内容
  • 包含用户名的绝对路径(例如:
    /Users/username/...
  • 密钥、API密钥、令牌或凭证
  • 个人信息
请始终使用以下替代方式
  • 相对于项目根目录的路径(例如:
    .dev/feature-name/
  • 表格中仅使用功能名称,不包含完整路径