원클릭으로
metrics-report
Produce a formatted metrics report with key indicators, trends, and recommendations
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Produce a formatted metrics report with key indicators, trends, and recommendations
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Discover team members, delegate tasks, and track progress to completion
Prepare structured meeting agendas and pre-reads from task board, artifacts, and team context
Classify, prioritize, and route incoming incidents based on severity, category, and affected components
Classify incoming requests and route to the appropriate specialist agent
How to communicate with other agents on the system. Use when you need to ask questions, share information, or coordinate.
Compare options against weighted criteria with scored matrix, sensitivity analysis, and quantified recommendation
SOC 직업 분류 기준
| name | metrics-report |
| description | Produce a formatted metrics report with key indicators, trends, and recommendations |
Use this skill when tasked with producing a metrics report, dashboard summary, or performance assessment with quantitative data.
# Metrics Report: [Subject]
**Period:** [start date] to [end date]
**Author:** [agent name]
**Date:** YYYY-MM-DD
## Key Metrics
| Metric | Value | Previous | Change | Status |
|--------|-------|----------|--------|--------|
| [name] | [current] | [prior period] | [+/-N%] | [up/down/stable] |
## Trends
[Analysis of patterns over time]
## Recommendations
1. **[Action]** — because [metric] shows [specific value/trend]
2. **[Action]** — because [metric] shows [specific value/trend]
From task board:
echo "=== Task Metrics ==="
# Total tasks by status
bash /home/shared/scripts/task.sh list 2>/dev/null | jq '
group_by(.status) | map({status: .[0].status, count: length})
' 2>/dev/null
# Tasks completed per agent
bash /home/shared/scripts/task.sh list --status completed 2>/dev/null | jq '
group_by(.owner) | map({owner: .[0].owner, completed: length})
' 2>/dev/null
# Average time to completion (if timestamps available)
bash /home/shared/scripts/task.sh list --status completed 2>/dev/null | jq '
[.[] | select(.created_at and .completed_at) |
((.completed_at | split("T")[0] | split("-") | .[2] | tonumber) -
(.created_at | split("T")[0] | split("-") | .[2] | tonumber))
] | if length > 0 then {avg_days: (add/length), count: length} else "no timing data" end
' 2>/dev/null
From log files:
echo "=== Log Metrics ==="
LOG_DIR="${1:-/var/log}"
# Error rate
TOTAL=$(wc -l "$LOG_DIR"/*.log 2>/dev/null | tail -1 | awk '{print $1}')
ERRORS=$(grep -ci 'error\|fail\|exception' "$LOG_DIR"/*.log 2>/dev/null | awk -F: '{sum+=$2}END{print sum}')
echo "Total log lines: $TOTAL"
echo "Error lines: $ERRORS"
[ "$TOTAL" -gt 0 ] && echo "Error rate: $(echo "scale=2; $ERRORS * 100 / $TOTAL" | bc)%"
From system metrics:
echo "=== System Metrics ==="
# Disk usage
df -h / 2>/dev/null | awk 'NR==2{print "Disk used:", $3, "of", $2, "("$5")"}'
# Process count
ps aux 2>/dev/null | wc -l | xargs -I{} echo "Running processes: {}"
# Memory (Linux)
free -h 2>/dev/null | awk '/^Mem:/{print "Memory used:", $3, "of", $2}'
From git history:
cd ~/workspace 2>/dev/null
echo "=== Development Metrics ==="
# Commits per day (last 7 days)
for i in $(seq 0 6); do
DATE=$(date -d "$i days ago" +%Y-%m-%d 2>/dev/null || date -v-${i}d +%Y-%m-%d 2>/dev/null)
COUNT=$(git log --oneline --after="$DATE 00:00" --before="$DATE 23:59" 2>/dev/null | wc -l | tr -d ' ')
echo " $DATE: $COUNT commits"
done
# Lines changed (last 7 days)
git diff --shortstat "HEAD@{7 days ago}" HEAD 2>/dev/null
For each metric, compute:
# Example: compute change
CURRENT=42
PREVIOUS=38
if [ "$PREVIOUS" -gt 0 ]; then
CHANGE=$(echo "scale=1; ($CURRENT - $PREVIOUS) * 100 / $PREVIOUS" | bc)
echo "Change: ${CHANGE}%"
if [ "$(echo "$CHANGE > 5" | bc)" -eq 1 ]; then
STATUS="up"
elif [ "$(echo "$CHANGE < -5" | bc)" -eq 1 ]; then
STATUS="down"
else
STATUS="stable"
fi
echo "Status: $STATUS"
fi
If baselines exist:
BASELINE_FILE="/home/shared/metrics-baseline.json"
if [ -f "$BASELINE_FILE" ]; then
echo "=== Baseline Comparison ==="
jq -r 'to_entries[] | "\(.key): \(.value)"' "$BASELINE_FILE"
else
echo "No baseline found — current values will become the baseline"
fi
Rules for metrics presentation:
Every recommendation must reference a specific metric:
| Pattern | Recommendation Template |
|---|---|
| Error rate increasing | "Reduce error rate (currently N%) by [specific action]" |
| Task throughput decreasing | "Increase task completion rate (N/week, down from M) by [action]" |
| Resource usage high | "Address disk usage (N% full) by [action] before reaching capacity" |
| Metric missing data | "Instrument [component] to collect [metric] for visibility" |
REPORT_FILE="/home/shared/metrics-report-$(date +%Y%m%d).md"
cat > "$REPORT_FILE" <<'EOF'
# Metrics Report: [Subject]
**Period:** YYYY-MM-DD to YYYY-MM-DD
**Author:** [agent name]
**Date:** YYYY-MM-DD
## Key Metrics
| Metric | Value | Previous | Change | Status |
|--------|-------|----------|--------|--------|
| Tasks completed | N | N | +N% | up |
| Error rate | N% | N% | -N% | down (good) |
| Avg completion time | Nh | Nh | +Nh | up (bad) |
## Trends
- [Trend 1: what is happening over time and why it matters]
- [Trend 2]
## Detailed Breakdown
### [Metric Category 1]
| Sub-metric | Value | Notes |
|------------|-------|-------|
| ... | ... | ... |
### [Metric Category 2]
...
## Recommendations
1. **[Specific action]** — [metric] is at [value], which indicates [interpretation]. [Action] would improve this to approximately [target].
2. **[Specific action]** — [metric] shows [trend], suggesting [interpretation].
## Data Sources
- [Source 1: path/command used]
- [Source 2: path/command used]
EOF
# Register as artifact
bash /home/shared/scripts/artifact.sh register \
--name "metrics-report" \
--type "report" \
--path "$REPORT_FILE" \
--description "Metrics report for $(date +%Y-%m-%d)"