A structured routine for managing daily team tasks, progress, and focus.
Install
mkdir -p .claude/skills/today && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13193" && unzip -o skill.zip -d .claude/skills/today && rm skill.zipInstalls to .claude/skills/today
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Guided daily workflow orchestrator. Multi-phase process (standup, team sync, review, focus, wrap-up). Use when user says "today", "start my day", or "daily workflow".Key capabilities
- →Orchestrate a multi-phase daily workflow
- →Capture updates for active projects during standup
- →Process external context like Slack threads and meeting notes
- →Display a cross-project health dashboard
- →Set focus priorities for deep work
- →Summarize the day's activities
How it works
The skill orchestrates a daily workflow by creating interdependent tasks for each phase. It guides the user through interactive steps like standup and team sync, and generates reports for review, focus, and wrap-up.
Inputs & outputs
When to use today
- →Manage daily standup
- →Sync team tasks
- →Review project health
- →Track daily progress
About this skill
/today — Daily Workflow Orchestrator
Guides PMs through a structured daily routine: standup → team sync → review → focus → wrap-up. Reuses existing skill logic (/daily, /meet, /progress) — does NOT duplicate it.
Context
Today's date: !date +%Y-%m-%d
Existing daily: !ls daily/*.md 2>/dev/null | tail -5
Config: @_core/config.yaml Processing logic: @_core/PROCESSING.md Daily template: @_templates/daily.md
Reference skills (for reuse patterns):
- @.claude/skills/daily/SKILL.md — keyword detection, blocker/decision logic
- @.claude/skills/meet/SKILL.md — meeting note parsing
- @.claude/skills/progress/SKILL.md — dashboard aggregation
Input
User input: $ARGUMENTS
Argument Handling
- No args: Start from Phase 1, or resume current phase (detect via TaskList)
status: Show which phase is currently activeskip: Skip current phase, advance to nextwrap: Jump directly to Phase 5 (wrap-up)
Session Task Progress
Create all phase tasks upfront with dependencies:
TaskCreate: "Phase 1: Daily Standup"
description: "Capture updates for all active projects"
activeForm: "Running daily standup..."
TaskCreate: "Phase 2: Team Sync"
description: "Process external context (Slack, meetings, Linear)"
activeForm: "Processing team sync..."
TaskCreate: "Phase 3: Review"
description: "Display cross-project health dashboard"
activeForm: "Generating review dashboard..."
TaskCreate: "Phase 4: Focus"
description: "Display priorities and pause for deep work"
activeForm: "Setting focus priorities..."
TaskCreate: "Phase 5: Wrap-Up"
description: "Summarize the day"
activeForm: "Wrapping up the day..."
Set dependencies:
TaskUpdate: Phase 2, addBlockedBy: [phase-1-id]
TaskUpdate: Phase 3, addBlockedBy: [phase-2-id]
TaskUpdate: Phase 4, addBlockedBy: [phase-3-id]
TaskUpdate: Phase 5, addBlockedBy: [phase-4-id]
Resume Logic (Same Session Only)
Before creating tasks, check TaskList for existing /today phase tasks:
- If tasks exist with
in_progressstatus → resume from that phase - If Phase 4 was completed → start Phase 5 (wrap-up)
- If all phases completed or no tasks exist → start fresh from Phase 1
No persistent state files. The file system is the state — daily notes exist or they don't.
Phase 1: DAILY STANDUP (Interactive)
Purpose: Capture updates for all active projects.
Steps
-
Read
_core/config.yaml→ get active projects list -
For each active project, prompt the user:
{project_name}: What's your update? (shipped/wip/blocked) -
Parse each response using keyword detection (from
/dailyskill):- Shipped: shipped, done, completed, finished, merged, deployed, released
- WIP: wip, working on, in progress, continuing, started, ongoing
- Blocked: blocked, stuck, waiting on, waiting for, need from, dependency
- Decided: decided, going with, chose, selected, agreed
-
Create or update
daily/{date}.md:- If file exists: update each project's
## {Project Name}section - If new: create from template with all project sections
- If file exists: update each project's
-
Auto-detect blockers (per
/dailylogic):- For each blocked item: search
blockers/{project}/*.mdfor similar open blockers - If similar exists: link to it
- If NEW: prompt user —
"Blocker detected: '{text}'. Create blocker note? (y/n/details)"- y: Create with severity=medium at
blockers/{project}/{date}-{slug}.md - details: Prompt for severity, owner, due date
- n: Skip
- y: Create with severity=medium at
- For each blocked item: search
-
Auto-detect decisions:
- For each decision keyword: suggest creating a decision note
- Link to daily if user confirms
Output
✓ Updated daily/{date}.md ({count} projects)
- Shipped: {count} items
- WIP: {count} items
- Blockers: {count} (linked/created)
- Decisions: {count} (detected)
Phase 2: TEAM SYNC (Interactive)
Purpose: Process external context (Slack threads, Linear updates, meeting notes).
Steps
-
Prompt the user:
Any team updates, Slack threads, or meeting notes to process? (paste or 'skip') -
If skip → mark phase complete, advance to Phase 3
-
If content provided:
- Classify content type using keyword detection:
- Meeting signals → route as meeting note (use
/meetpatterns) - Blocker signals → route as blocker
- Decision signals → route as decision
- General → route to inbox
- Meeting signals → route as meeting note (use
- Create appropriate notes with links
- After processing, ask:
"More to process? (paste or 'done')" - Loop until user says 'done' or 'skip'
- Classify content type using keyword detection:
Output
✓ Team sync complete
- Meeting notes: {count}
- Blockers: {count}
- Items routed: {count}
Phase 3: REVIEW (Auto-generated, Read-only)
Purpose: Display a cross-project health dashboard. No files created.
Steps
-
Scan vault and aggregate:
- Open blockers: Glob
blockers/{project}/*.mdfor each active project, read frontmatter for severity/due - Critical items: Blockers with due date < 2 days from today (per
defaults.blocker_critical_days) - Active docs: Glob
docs/{project}/*.md, filter status != shipped - Recent decisions: Glob
decisions/{project}/*.mdfrom last 3 days
- Open blockers: Glob
-
Display formatted dashboard to terminal:
┌─────────────────────────────────────┐
│ TODAY'S DASHBOARD — {date} │
└─────────────────────────────────────┘
BLOCKERS (by severity)
🔴 High ({count})
• [{project}] {title} — due {date}
🟡 Medium ({count})
• [{project}] {title}
🟢 Low ({count})
• [{project}] {title}
(None) — if no blockers exist
ACTIVE DOCS
• [{project}] {title} — {status}
(None) — if no active docs
RECENT DECISIONS (last 3 days)
• [{project}] {title} — {date}
(None) — if no recent decisions
Output
Dashboard displayed to terminal. No files created.
Phase 4: FOCUS (Display & Pause)
Purpose: Show priorities and let the user do deep work.
Steps
-
Extract priorities from today's daily note:
- Top 3 WIP items across all projects
- Critical blockers to address (from Phase 3 data)
- Pending decisions (if any detected)
-
Display priority list:
TODAY'S PRIORITIES
━━━━━━━━━━━━━━━━━━━━━━━━
1. [{project}] {wip item}
2. [{project}] {wip item}
3. [{project}] {wip item}
⚠ NEEDS ATTENTION
• {critical blocker or pending decision}
━━━━━━━━━━━━━━━━━━━━━━━━
Focus time — run /today again when ready to wrap up
- Mark Phase 4 as complete. Exit workflow. User returns when ready.
Phase 5: WRAP-UP (Auto-generated, Read-only)
Purpose: Summarize the day. No files created.
Steps
-
Re-read today's daily note (
daily/{date}.md) -
Scan for blockers created/resolved today
-
Scan for decisions made today
-
Display summary:
TODAY'S SUMMARY — {date}
━━━━━━━━━━━━━━━━━━━━━━━━
SHIPPED ({count})
• [{project}] {item}
IN PROGRESS ({count})
• [{project}] {item}
BLOCKERS
Created: {count}
Resolved: {count}
DECISIONS MADE ({count})
• [{project}] {title}
━━━━━━━━━━━━━━━━━━━━━━━━
Run /push to commit today's updates
Edge Cases
- No projects configured: Display error —
"No active projects in config.yaml. Run /onboard to set up your first project." - Empty vault (no daily note): Create fresh daily note in Phase 1
- No blockers/decisions/docs: Display "(None)" in dashboard sections
- User exits mid-phase: Session tasks preserve progress for same-session resume
/today wrapwith no daily note: Display message —"No daily note for today. Run /today to start your day first."
Graceful Degradation
- Linear MCP not connected: Skip auto-fetch, continue with paste-only in Team Sync
- QMD not available: Not needed (direct file scans only)
- Obsidian not running: No impact (terminal-only output)
Integration
Works with:
/daily— Reuses keyword detection and blocker/decision logic/meet— Routes meeting content in Team Sync phase/progress— Similar dashboard pattern in Review phase/push— Suggested at wrap-up for committing changes/block— Blocker creation follows same patterns/decide— Decision creation follows same patterns
When not to use it
- →When no active projects are configured
- →When the user wants to create persistent state files
- →When the user wants to use QMD or Obsidian
Limitations
- →No persistent state files are created
- →Requires active projects to be configured
- →Does not use QMD or Obsidian
How it compares
This skill provides a structured, guided daily routine that integrates various project management aspects, contrasting with ad-hoc task management or separate tool usage.
Compared to similar skills
today side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| today (this skill) | 0 | 6mo | No flags | Beginner |
| task-execution-engine | 3 | 7mo | Review | Beginner |
| workflow-linear-tracking | 0 | 5mo | Review | Beginner |
| scan-deck | 0 | 1mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
task-execution-engine
davila7
Execute implementation tasks from design documents using markdown checkboxes. Use when (1) implementing features from feature-design-assistant output, (2) resuming interrupted work, (3) batch executing tasks. Triggers on 'start implementation', 'run tasks', 'resume'.
workflow-linear-tracking
riordanpawley
Issue Tracking Skill (`linear-cli` backend)
scan-deck
zauberzeug
Browse the deck — supportive triage view, filtered queues, kanban board, JSON dump, decision Q&A. Read-only by default. AUTO-INVOKE on "what's open", "show me the deck", "kanban view", or "decisions to make" — and ALWAYS before Skill(create-card) to dedup against existing titles.
github-project-management
ruvnet
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
create-plans
glittercowboy
Create hierarchical project plans optimized for solo agentic development. Use when planning projects, phases, or tasks that Claude will execute. Produces Claude-executable plans with verification criteria, not enterprise documentation. Handles briefs, roadmaps, phase plans, and context handoffs.
phasing
WellApp-ai
Group slices into risk-optimized phases with timeline generation