Files
gh-coalesce-labs-catalyst-p…/commands/report_daily.md
2025-11-29 18:14:44 +08:00

5.5 KiB

description, category, tools, model, version
description category tools model version
Generate daily status report showing yesterday's deliveries, current work, and team members needing assignments pm Task, Read, Write inherit 1.0.0

Report Daily Command

Lightweight daily standup report for quick team status checks.

Focus Areas:

  • What was delivered yesterday (completed issues/PRs)
  • 🔄 What is the team working on RIGHT NOW (active issues)
  • 👥 Who needs work assigned (no open PRs or active issues)
  • ⚠️ Quick blockers/risks (issues blocked or stalled)

Philosophy: Fast, focused report for daily standups. Takes <30 seconds to read. No deep analysis - save that for weekly reports.

Prerequisites Check

# 1. Validate thoughts system (REQUIRED)
if [[ -f "scripts/validate-thoughts-setup.sh" ]]; then
  ./scripts/validate-thoughts-setup.sh || exit 1
else
  # Inline validation if script not found
  if [[ ! -d "thoughts/shared" ]]; then
    echo "❌ ERROR: Thoughts system not configured"
    echo "Run: ./scripts/humanlayer/init-project.sh . {project-name}"
    exit 1
  fi
fi

# 2. Determine script directory with fallback
if [[ -n "${CLAUDE_PLUGIN_ROOT}" ]]; then
  SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"
else
  # Fallback: resolve relative to this command file
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/scripts"
fi

# 3. Check PM plugin prerequisites
if [[ -f "${SCRIPT_DIR}/check-prerequisites.sh" ]]; then
  "${SCRIPT_DIR}/check-prerequisites.sh" || exit 1
else
  echo "⚠️ Prerequisites check skipped (script not found at: ${SCRIPT_DIR})"
fi

Process

Step 1: Gather Configuration

# Determine script directory with fallback
if [[ -n "${CLAUDE_PLUGIN_ROOT}" ]]; then
  SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"
else
  # Fallback: resolve relative to this command file
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/scripts"
fi

source "${SCRIPT_DIR}/pm-utils.sh"

TEAM_KEY=$(get_team_key)
TODAY=$(date +%Y-%m-%d)
YESTERDAY=$(date -v-1d +%Y-%m-%d)

Step 2: Spawn Research Tasks (Parallel)

Spawn 4 research agents in parallel:

Task 1 - Yesterday's Completions:

Use Task tool with catalyst-dev:linear-research agent:
Prompt: "Get issues completed yesterday for team ${TEAM_KEY} (completed after ${YESTERDAY} and before ${TODAY})"
Model: haiku

Task 2 - Current In Progress:

Use Task tool with catalyst-dev:linear-research agent:
Prompt: "List all in-progress issues for team ${TEAM_KEY}"
Model: haiku

Task 3 - Blocked Issues:

Use Task tool with catalyst-dev:linear-research agent:
Prompt: "Get all blocked issues for team ${TEAM_KEY}"
Model: haiku

Task 4 - Team Members:

Use Task tool with catalyst-dev:linear-research agent:
Prompt: "List all issues by assignee for team ${TEAM_KEY}"
Model: haiku

Wait for all 4 research tasks to complete

Step 3: Analyze Results

Combine research results to identify:

  • Team members with no active work
  • Stalled issues (in progress >5 days, no recent updates)
  • Blocker count and duration

Step 4: Format Daily Report

# Team Daily - [Date]

## ✅ Delivered Yesterday (${YESTERDAY})

**Issues Completed** (N):
- TEAM-456: OAuth integration (Alice)
- TEAM-457: Bug fix for login (Bob)
- TEAM-458: Update docs (Charlie)

**PRs Merged** (N):
- #123: OAuth integration → prod (Alice)
- #124: Login bug fix → prod (Bob)

---

## 🔄 Currently Working On

**Alice**:
- TEAM-461: Payment processing (in progress 3 days)
- PR #130: API refactor (in review)

**Bob**:
- TEAM-462: Database migration (in progress 1 day)
- TEAM-463: Performance optimization (in progress 2 days)

**Charlie**:
- TEAM-465: UI redesign (in progress 4 days)

---

## 👥 Available for Work

**Dave**: No active issues or PRs
**Emily**: No active issues or PRs

**Recommendation**: Assign 1-2 backlog issues to Dave and Emily

---

## ⚠️ Blockers & Quick Risks

**Blocked** (1):
- TEAM-461: Waiting on external API approval (Alice, 3 days)

**Stalled** (1):
- TEAM-465: No commits in 2 days (Charlie)

---

**Next Actions**:
1. Check in with Alice on TEAM-461 blocker status
2. Sync with Charlie on TEAM-465 progress
3. Assign work to Dave and Emily from backlog

Step 5: Save Report

REPORT_DIR="thoughts/shared/reports/daily"
mkdir -p "$REPORT_DIR"

REPORT_FILE="$REPORT_DIR/$(date +%Y-%m-%d)-team-daily.md"

# Write formatted report to file
cat > "$REPORT_FILE" << EOF
# Team Daily - $(date +%Y-%m-%d)

[... formatted report content ...]
EOF

echo "✅ Report saved: $REPORT_FILE"

# Update workflow context
if [[ -f "${SCRIPT_DIR}/workflow-context.sh" ]]; then
  "${SCRIPT_DIR}/workflow-context.sh" add reports "$REPORT_FILE" null
fi

Step 6: Display Summary

📅 Team Daily - 2025-01-27

✅ Delivered yesterday: 3 issues, 2 PRs merged
🔄 In progress: 5 issues, 3 PRs open
👥 Need work: Dave, Emily (2 team members)
⚠️  Blockers: 1 issue (TEAM-461)

Quick Actions:
  • Follow up on TEAM-461 blocker (Alice)
  • Assign backlog work to Dave and Emily
  • Check TEAM-465 status with Charlie

Full report: thoughts/shared/reports/daily/2025-01-27-team-daily.md

Success Criteria

Automated Verification:

  • Data fetched from Linear and GitHub successfully
  • Team member workload calculated correctly
  • Report generated in under 10 seconds
  • File saved to expected location

Manual Verification:

  • Yesterday's completions are accurate
  • Current work assignments match reality
  • Team members needing work are correctly identified
  • Report is scannable in <30 seconds
  • Actionable next steps are clear