원클릭으로
phase-status
Query the status of a phase. Returns structured status information for external consumers.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Query the status of a phase. Returns structured status information for external consumers.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| 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.
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.
Create a phase directory with all required files in one call. Use instead of separate mkdir + Write calls when creating a new phase.
Kick a phase back to building — sets status and adds new step entries to progress.yaml. Use when requesting fixes from Builder.
Mark a step as implemented in progress.yaml with notes and touched files. Use after completing each step instead of manual Edit calls.