用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/adamrdrew/ushabti --skill phase-status命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
Bootstrap phase context for Builder. Provides current phase, next step, and full phase file contents.
Bootstrap phase context for Overseer. Provides phase under review with full file contents and card metadata.
Approve a phase — sets status to complete, marks all steps reviewed, updates linked card. Use when declaring a phase green.
正在显示 SKILL.md
| name | phase-status |
| description | Query the status of a phase. Returns structured status information for external consumers. |
| user-invocable | true |
This skill provides a stable public API for external tools (e.g., Pharaoh) to query phase status without directly coupling to Ushabti's internal file structure.
/phase-status [ARGUMENT]
Where ARGUMENT can be:
latest — returns the most recently modified phase (default if empty)0002-welcome-banner)welcome-banner)Find the phase with the most recently modified progress.yaml:
latest_phase=$(find .ushabti/phases -name "progress.yaml" -type f -exec ls -t {} + 2>/dev/null | head -1)
if [ -n "$latest_phase" ]; then
phase_dir=$(dirname "$latest_phase")
else
# No phases found
fi
Match directory names (exact or partial):
slug="$ARGUMENTS"
# Try exact match first
if [ -d ".ushabti/phases/$slug" ]; then
phase_dir=".ushabti/phases/$slug"
else
# Try partial match (first alphabetically)
phase_dir=$(find .ushabti/phases -maxdepth 1 -type d -name "*$slug*" | sort | head -1)
fi
Return exactly this format (parseable structured output):
PHASE_STATUS:
slug: {phase directory name}
status: {planned|building|review|complete}
steps_implemented: {count}
steps_total: {count}
If phase not found:
PHASE_STATUS:
error: Phase not found
Once you have the phase directory:
# Get slug (directory basename)
slug=$(basename "$phase_dir")
# Get status
phase_status=$(grep "^ status:" "$phase_dir/progress.yaml" 2>/dev/null | awk '{print $2}')
# Count implemented steps
steps_implemented=$(grep -c "implemented: true" "$phase_dir/progress.yaml" 2>/dev/null || echo 0)
# Count total steps
steps_total=$(grep -c "implemented:" "$phase_dir/progress.yaml" 2>/dev/null || echo 0)
Then output:
cat <<EOF
PHASE_STATUS:
slug: $slug
status: $phase_status
steps_implemented: $steps_implemented
steps_total: $steps_total
EOF
The output format is a public contract. External tools parse this format. Any change to the structure is a breaking change and must be versioned appropriately.