Agent skill

Today

by kv0906 in kv0906/pm-kit

Guided daily workflow orchestrator. An agent skill from kv0906/pm-kit.

MITAuto-check passedProductivity & Automation

Install Today

skills CLI
$ npx skills add kv0906/pm-kit --skill today -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kv0906/pm-kit today --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kv0906/pm-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/today .claude/skills/today && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
today
GitHub stars
138
Token cost
~2.1k tokens
SKILL.md length
736 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

Guided daily workflow orchestrator. An agent skill from kv0906/pm-kit.

  • Works in 5 steps: DAILY STANDUP (Interactive) → TEAM SYNC (Interactive) → REVIEW (Auto-generated, Read-only) → …
  • User says today
  • SKILL.md covers Context, Input, Session Task Progress and Resume Logic (Same Session Only), plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Today is an agent skill from kv0906/pm-kit. 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".

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Meeting notes and agendas. The repository describes itself as: AI-augmented PM workspace for Coding Agents — daily standups, decisions, blockers, docs, and sprint reviews as markdown skills. The licence is MIT.

When your agent uses it

  • User says today
  • Tasks that involve Meeting notes and agendas

Example prompts

  • “start my day”
  • “daily workflow”
  • “/today”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. DAILY STANDUP (Interactive)
  2. TEAM SYNC (Interactive)
  3. REVIEW (Auto-generated, Read-only)
  4. FOCUS (Display & Pause)
  5. WRAP-UP (Auto-generated, Read-only)

What it can do on your machine

Read from SKILL.md and the folder at commit 2cb5d9f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Grep
    • TaskCreate
    • TaskUpdate
    • TaskList
    • TaskGet

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Today loads about 2.1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 736 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kv0906/pm-kit at commit 2cb5d9f, republished under its MIT licence (© kv0906). 736 words, ~2,142 tokens.

Download SKILL.mdSave it as .claude/skills/today/SKILL.md (or your agent's skills folder).
name
today
description
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".
allowed-tools
Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet
user-invocable
true

/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 active
  • skip: Skip current phase, advance to next
  • wrap: 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_progress status → 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
  1. Read _core/config.yaml → get active projects list

  2. For each active project, prompt the user:

    {project_name}: What's your update? (shipped/wip/blocked)
  3. Parse each response using keyword detection (from /daily skill):

    • 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
  4. 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
  5. Auto-detect blockers (per /daily logic):

    • For each blocked item: search blockers/{project}/*.md for 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
  6. 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
  1. Prompt the user:

    Any team updates, Slack threads, or meeting notes to process? (paste or 'skip')
  2. If skip → mark phase complete, advance to Phase 3

  3. If content provided:

    • Classify content type using keyword detection:
      • Meeting signals → route as meeting note (use /meet patterns)
      • Blocker signals → route as blocker
      • Decision signals → route as decision
      • General → route to inbox
    • Create appropriate notes with links
    • After processing, ask: "More to process? (paste or 'done')"
    • Loop until user says 'done' or 'skip'
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.

Show full SKILL.md (295 more words)Show less
Steps
  1. Scan vault and aggregate:

    • Open blockers: Glob blockers/{project}/*.md for 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}/*.md from last 3 days
  2. 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
  1. 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)
  2. 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
  1. 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
  1. Re-read today's daily note (daily/{date}.md)

  2. Scan for blockers created/resolved today

  3. Scan for decisions made today

  4. 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 wrap with 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

© kv0906, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/today of kv0906/pm-kit.

Open the folder on GitHubat commit 2cb5d9f

Compare with similar skills

Today next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Today compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Today this skillkv0906/pm-kit138—~2.1kAutomated safety check: PassMIT
Meeting Notesoutline/outline41k—~551Automated safety check: PassCustom licence
Management Talkthananon/9arm-skills3.2k—~3.2kAutomated safety check: PassNone
Challenge Baseline ModelAgibotTech/genie_sim1.4k—~2.4kAutomated safety check: PassCustom licence
Handwriting Stand Uplimin112/min-skill362—~2.5kAutomated safety check: PassNone
Daily Journalravila4/claude-adhd-skills157—~2.5kAutomated safety check: PassMIT

Similar skills

  • Meeting Notes

    outline/outline

    Create meeting notes in Outline from a template; use when the user wants an agenda, notes, or a follow-up document for a meeting.

    41k GitHub stars~551 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Management Talk

    thananon/9arm-skills

    Rewrite engineer-to-engineer content for engineering-org leadership (VPs, directors, PMs, release managers, execs in an engineering-savvy company) and shape it for the channel it is going to — JIRA…

    3.2k GitHub stars~3.2k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • Challenge Baseline Model

    AgibotTech/genie_sim

    Provision and launch the Simulation Challenge baseline inference model end to end: clone the inference code from a given git repo/branch, download the checkpoints from ModelScope into the repo's…

    1.4k GitHub stars~2.4k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Handwriting Stand Up

    limin112/min-skill

    Turn a screen recording of handwriting (or a photo of handwritten text) into a single-file HTML "continuation" — the recording plays, the ink lifts off the page as solid 3D letters, a short animated…

    362 GitHub stars~2.5k tokensUpdated 15 days ago
    Productivity & AutomationAuto-check passed
  • Daily Journal

    ravila4/claude-adhd-skills

    Draft, organize, or update development journal entries. An agent skill from ravila4/claude-adhd-skills.

    157 GitHub stars~2.5k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • Granola

    ArtemXTech/claude-code-obsidian-starter

    Query and sync Granola meetings to Obsidian vault. An agent skill from ArtemXTech/claude-code-obsidian-starter.

    224 GitHub stars~905 tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed

More from kv0906/pm-kit

All 26 skills in this repo
  • Mermaid Visualizer

    kv0906/pm-kit

    Transform text content into professional Mermaid diagrams for presentations and documentation.

    138 GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • Gws

    kv0906/pm-kit

    This skill should be used when the user asks to "set up gws", "install Google Workspace CLI", "connect Gmail to Claude", "manage Google Drive from terminal", "send email from CLI", "check my…

    138 GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Jira

    kv0906/pm-kit

    Jira integration via acli CLI. An agent skill from kv0906/pm-kit.

    138 GitHub stars~4.2k tokensUpdated 3 mo ago
    Auto-check: notes
  • Professional Excalidraw diagram generation expert that creates complete, valid .excalidraw.json files based on user descriptions.

    138 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • Ask

    kv0906/pm-kit

    Fast vault Q&A — quick lookups, decision history, blocker status, doc search.

    138 GitHub stars~781 tokensUpdated 3 mo ago
    Auto-check passed
  • Block

    kv0906/pm-kit

    Flag a blocker with severity, owner, and due date. An agent skill from kv0906/pm-kit.

    138 GitHub stars~466 tokensUpdated 3 mo ago
    Auto-check: notes

Questions about Today

What does Today do?

Guided daily workflow orchestrator. An agent skill from kv0906/pm-kit. Today is an agent skill from kv0906/pm-kit. Guided daily workflow orchestrator.

When should I use Today?

Today fits situations like: user says today; tasks that involve Meeting notes and agendas.

How do I install Today in Claude Code?

Run `npx skills add kv0906/pm-kit --skill today -a claude-code`. Or copy the skill folder (.claude/skills/today in kv0906/pm-kit) into .claude/skills/today in your project. Claude Code loads it when a task matches its description.

How do I install Today in Codex?

Run `npx skills add kv0906/pm-kit --skill today -a codex`. Or copy the skill folder (.claude/skills/today in kv0906/pm-kit) into .agents/skills/today in your project. Codex loads it when a task matches its description.

Can I use Today in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kv0906/pm-kit --skill today -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/today, .gemini/skills/today, .github/skills/today and .opencode/skills/today in your project.

What does Today need to run?

SKILL.md names no scripts, command-line tools or credentials: Today is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet.

Does Today access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Today safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Today use?

Today is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Today use?

About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Today?

Skills that share tags, products or a category with Today: Meeting Notes (outline/outline, 41k stars), Management Talk (thananon/9arm-skills, 3.2k stars), Challenge Baseline Model (AgibotTech/genie_sim, 1.4k stars) and Handwriting Stand Up (limin112/min-skill, 362 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Today?

kv0906 (a GitHub user) maintains it in kv0906/pm-kit, which has 138 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on June 29, 2026.

Source: kv0906/pm-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.