Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill specs-status명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | specs-status |
| description | 현재 프로젝트의 EARS 스펙 상태 현황 표시 |
| user-invocable | true |
현재 프로젝트 또는 지정된 프로젝트의 스펙 상태를 표시합니다.
specs-status() {
local SPECS_DIR="$HOME/.claude/specs"
local target_project="$1"
local projects=()
# Determine which projects to show
if [[ -z "$target_project" ]]; then
# No argument: use current directory basename
target_project="$(basename "$PWD")"
projects=("$target_project")
elif [[ "$target_project" == "all" ]]; then
# Show all projects
if [[ ! -d "$SPECS_DIR" ]]; then
echo "No specs directory found"
return 0
fi
# Get all subdirectories in specs directory
while IFS= read -r -d '' dir; do
projects+=("$(basename "$dir")")
done < <(find "$SPECS_DIR" -mindepth 1 -maxdepth 1 -type d -print0 | sort -z)
else
# Specific project
projects=("$target_project")
fi
# Exit if no projects found
if [[ ${#projects[@]} -eq 0 ]]; then
echo "No projects found"
return 0
fi
# Process each project
for project in "${projects[@]}"; do
local project_dir="$SPECS_DIR/$project"
echo ""
echo "## Specs Status: $project"
echo ""
# Check if project directory exists
if [[ ! -d "$project_dir" ]]; then
echo "No specs found for project $project"
continue
fi
# Track counts
local pending_count=0 doing_count=0 done_count=0
local pending_specs=() doing_specs=() done_specs=()
# Process each status directory
for status in pending doing done; do
local status_dir="$project_dir/$status"
if [[ ! -d "$status_dir" ]]; then
continue
fi
# Find all .ears.md files in status directory
while IFS= read -r -d '' spec_file; do
local spec_id
spec_id="$(basename "$spec_file" .ears.md)"
local title="" priority="" created=""
# Parse metadata from file using grep for safety
# Extract title (first line with # SPEC-ID: format, e.g., "# 001: Title")
title="$(grep -m1 "^# *[0-9]*: " "$spec_file" 2>/dev/null | sed 's/^# *[0-9]*: //')"
# Extract created date
created="$(grep '^-' "$spec_file" 2>/dev/null | grep 'created:' | sed 's/.*created: *//' | head -1)"
# Extract priority
priority="$(grep '^-' "$spec_file" 2>/dev/null | grep 'priority:' | sed 's/.*priority: *//' | head -1)"
# Default values if not found
[[ -z "$title" ]] && title="(no title)"
[[ -z "$priority" ]] && priority="medium"
[[ -z "$created" ]] && created="(unknown)"
case "$status" in
pending)
((pending_count++))
pending_specs+=("$spec_id|$title|$priority|$created")
;;
doing)
((doing_count++))
doing_specs+=("$spec_id|$title|$priority|$created")
;;
done)
((done_count++))
done_specs+=("$spec_id|$title|$priority|$created")
;;
esac
done < <(find "$status_dir" -maxdepth 1 -type f -name "*.ears.md" -print0 | sort -z)
done
# Display summary table
echo "| Status | Count |"
echo "|---------|-------|"
echo "| Pending | $pending_count |"
echo "| Doing | $doing_count |"
echo "| Done | $done_count |"
echo ""
# Check if any specs found
if [[ $pending_count -eq 0 && $doing_count -eq 0 && $done_count -eq 0 ]]; then
echo "No specs found for project $project"
continue
fi
# Display pending specs
if [[ $pending_count -gt 0 ]]; then
echo "### Pending"
for spec in "${pending_specs[@]}"; do
IFS='|' read -r spec_id spec_title spec_priority spec_created <<< "$spec"
echo "- **$spec_id**: $spec_title ($spec_priority) - created: $spec_created"
done
echo ""
fi
# Display doing specs
if [[ $doing_count -gt 0 ]]; then
echo "### Doing"
for spec in "${doing_specs[@]}"; do
IFS='|' read -r spec_id spec_title spec_priority spec_created <<< "$spec"
echo "- **$spec_id**: $spec_title ($spec_priority) - created: $spec_created"
done
echo ""
fi
# Display done specs
if [[ $done_count -gt 0 ]]; then
echo "### Done"
for spec in "${done_specs[@]}"; do
IFS='|' read -r spec_id spec_title spec_priority spec_created <<< "$spec"
echo "- **$spec_id**: $spec_title ($spec_priority) - created: $spec_created"
done
echo ""
fi
done
}
specs-status "$@"