/daily — Daily Standup Capture
You are processing a daily standup update. This is an ATOMIC operation: capture → create note → done.
Context
Today's date: !date +%Y-%m-%d
Check existing daily: !ls daily/*.md 2>/dev/null | tail -5
Reference template: @_templates/daily.md
Config: @_core/config.yaml
Processing logic: @_core/PROCESSING.md
Input
User input: $ARGUMENTS
Session Task Progress
Create tasks upfront for visibility:
TaskCreate: "Parse standup input"
activeForm: "Parsing standup input..."
TaskCreate: "Create/update daily note"
activeForm: "Updating daily note..."
TaskCreate: "Process detected items"
activeForm: "Processing blockers and decisions..."
Processing Steps
Parse Input
- Extract project name (before colon or first word)
- If project not provided or invalid, ask user to specify from config.yaml projects
- Segment content by keywords:
- 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
Check Existing
- If daily note for today exists, update the project's section
- If not, create new daily with project sections
Handle Blockers (AUTO-PROMPT)
- For each blocked item detected:
- Search
blockers/{project}/*.md for similar open blockers
- If similar exists: link to it
- If NEW blocker detected:
- PROMPT USER: "Blocker detected: '{text}'. Create blocker note? (y/n/details)"
- If y: Create blocker with severity=medium
- If details: Prompt for severity, owner, due date
- If n: Skip blocker creation
- Blocker path:
blockers/{project}/{date}-{slug}.md
Handle Decisions (AUTO-DETECT)
- For each decision keyword detected:
- Suggest creating a decision note
- Link to daily if user confirms
Create/Update Daily Note
- Filename:
daily/{date}.md — ONE file per day for ALL projects
- If file exists: Update the
## {project} section only
- If new: Create from template
Update Project Index
- Add entry to
01-index/{project}.md if index exists
Append to Vault Log
- Append entry to
01-index/_vault-log.md (see .claude/rules/vault-log.md)
- Action:
daily
- Details: summarize shipped/wip/blocked counts
Output
Updated: daily/{date}.md (section: {project})
- Shipped: {count} items
- WIP: {count} items
- Blockers: {count} (linked/created)
- Decisions: {count} (detected)
1---2name: daily3description: Daily4---56# /daily — Daily Standup Capture78You are processing a daily standup update. This is an ATOMIC operation: capture → create note → done.910## Context1112Today's date: `!date +%Y-%m-%d`13Check existing daily: `!ls daily/*.md 2>/dev/null | tail -5`1415Reference template: @_templates/daily.md16Config: @_core/config.yaml17Processing logic: @_core/PROCESSING.md1819## Input2021User input: $ARGUMENTS2223## Session Task Progress2425Create tasks upfront for visibility:2627```28TaskCreate: "Parse standup input"29 activeForm: "Parsing standup input..."3031TaskCreate: "Create/update daily note"32 activeForm: "Updating daily note..."3334TaskCreate: "Process detected items"35 activeForm: "Processing blockers and decisions..."36```3738## Processing Steps39401. **Parse Input**41 - Extract project name (before colon or first word)42 - If project not provided or invalid, ask user to specify from config.yaml projects43 - Segment content by keywords:44 - **Shipped**: shipped, done, completed, finished, merged, deployed, released45 - **WIP**: wip, working on, in progress, continuing, started, ongoing46 - **Blocked**: blocked, stuck, waiting on, waiting for, need from, dependency47 - **Decided**: decided, going with, chose, selected, agreed48492. **Check Existing**50 - If daily note for today exists, update the project's section51 - If not, create new daily with project sections52533. **Handle Blockers (AUTO-PROMPT)**54 - For each blocked item detected:55 - Search `blockers/{project}/*.md` for similar open blockers56 - If similar exists: link to it57 - If NEW blocker detected:58 - **PROMPT USER**: "Blocker detected: '{text}'. Create blocker note? (y/n/details)"59 - If **y**: Create blocker with severity=medium60 - If **details**: Prompt for severity, owner, due date61 - If **n**: Skip blocker creation62 - Blocker path: `blockers/{project}/{date}-{slug}.md`63644. **Handle Decisions (AUTO-DETECT)**65 - For each decision keyword detected:66 - Suggest creating a decision note67 - Link to daily if user confirms68695. **Create/Update Daily Note**70 - Filename: `daily/{date}.md` — ONE file per day for ALL projects71 - If file exists: Update the `## {project}` section only72 - If new: Create from template73746. **Update Project Index**75 - Add entry to `01-index/{project}.md` if index exists76777. **Append to Vault Log**78 - Append entry to `01-index/_vault-log.md` (see `.claude/rules/vault-log.md`)79 - Action: `daily`80 - Details: summarize shipped/wip/blocked counts8182## Output8384```85Updated: daily/{date}.md (section: {project})86- Shipped: {count} items87- WIP: {count} items88- Blockers: {count} (linked/created)89- Decisions: {count} (detected)90```