Skip to content
Back to skills

Morning Standup Brief Generator

ASecurity

Compile local notes, tasks, and project files into a structured standup brief — no connectors required. Use when preparing for morning standup, daily sync, or team check-in. Triggers: 'morning standup brief', 'daily brief', 'prepare me for standup', 'подготовь меня к стендапу', 'дейли бриф', 'утренний бриф'.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 27, 2026
data-aiapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add KirKruglov/claude-skills-kit --skill morning-standup-brief-generator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Morning Standup Brief Generator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Morning Standup Brief Generator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kirkruglov-morning-standup-brief-generator/badge)](https://www.skillsdirectory.com/skills/kirkruglov-morning-standup-brief-generator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: morning-standup-brief-generator
description: "Compile local notes, tasks, and project files into a structured standup brief — no connectors required. Use when preparing for morning standup, daily sync, or team check-in. Triggers: 'morning standup brief', 'daily brief', 'prepare me for standup', 'подготовь меня к стендапу', 'дейли бриф', 'утренний бриф'."
version: 1.0.0
---

# Morning Standup Brief Generator

This skill compiles local notes, task files, and project documents into a structured daily standup brief in the format: **Yesterday / Today / Blockers / Questions**. It works entirely from local files — no MCP connectors, external APIs, or technical setup required.

**Input:**
- Path to a working directory (or Cowork session folder) containing `.md` and/or `.txt` files

**Output:**
- Standup brief displayed in chat
- File `standup-brief-YYYY-MM-DD.md` saved to the working directory

---

## Language Detection

Detect the user's language from their message:
- If Russian (or contains Cyrillic): respond in Russian
- If English (or other Latin-script language): respond in English
- If ambiguous: respond in the language of the trigger phrase used

---

## Instructions

### Step 1: Validate Input

1. Check if the user has provided a working directory path.
   - If no path is provided and no Cowork session folder is active: stop and report: "Please provide the path to your working folder. Example: /Users/yourname/work-notes/"
   - If path is provided but does not exist: report "Folder not found: [path]. Please check the path and try again."

2. Check for readable files (`.md` and `.txt`) in the directory.
   - If the folder exists but contains no `.md` or `.txt` files: report "No readable files found (.md, .txt). Add notes or task files to the folder and try again."

3. Check if a `standup-brief-YYYY-MM-DD.md` file for today's date already exists.
   - If it exists: ask "A standup brief for today already exists. Overwrite it?"
   - If user confirms: proceed. If user declines: stop cleanly.

### Step 2: Discover and Filter Files

1. List all `.md` and `.txt` files in the directory (non-recursive; top level only).
2. Apply time filter: prioritize files **modified in the last 48 hours**.
   - If no files modified in last 48 hours: include all files and note "No recent changes found — using all files in folder."
   - If more than 20 files match: limit to those modified in the last 48 hours and notify: "Found [N] files — filtered to [M] recently modified (last 48h)."
3. Build a list of files to process. For each file, note its name and modification date.

### Step 3: Extract Task Signals

Read each selected file and extract the following:

1. **Completed items** (for Yesterday section):
   - Lines containing `- [x]`, `[x]`, `✓`, `DONE`, `COMPLETED`
   - Include the item text (trim markers)

2. **Open tasks** (for Today section):
   - Lines containing `- [ ]`, `[ ]`, `TODO`, `#task`, `#todo`
   - Order by earliest deadline if dates are present (e.g., `(due YYYY-MM-DD)`, `by [date]`)

3. **Blockers** (for Blockers section):
   - Lines containing `BLOCKER`, `BLOCKED`, `#blocked`, `waiting on`, `waiting for`, `depends on`, `stuck`
   - Also: open tasks with no progress markers that appear in multiple files or are repeated

4. **Questions / Awaiting response** (for Questions section):
   - Lines containing `?`, `ASK`, `#question`, `waiting for [name]`, `@[name]`, `ожидаю`, `вопрос:`

**Edge Cases:**
- If a file contains no structured task markers: extract bullet points and short sentences as candidate items; mark section as `(extracted from notes — no formal task markers found)`.
- If a file contains mixed languages (EN + RU): process all markers in both languages; output in the dominant language of the file content.

### Step 4: Prioritize and Deduplicate

1. Remove duplicate items (same text appearing in multiple files — keep once).
2. Sort Today items:
   - Items with explicit deadlines first (nearest deadline at top)
   - Then remaining open tasks in order of file appearance
3. Limit sections to reasonable length:
   - Yesterday: max 7 items
   - Today: max 7 items
   - Blockers: list all (no cap)
   - Questions: list all (no cap)
4. If a section has no items: write `— none` under that section header.

### Step 5: Compose and Output Brief

1. Build the standup brief using the Output Format template below.
2. Insert today's date (YYYY-MM-DD) in the title.
3. Add a footer line listing all source files processed.
4. Display the full brief in chat.
5. Save as `standup-brief-YYYY-MM-DD.md` in the working directory.
   - Confirm save with: "Brief saved to: [path]/standup-brief-YYYY-MM-DD.md"

---

## Output Format

```markdown
# Standup Brief — YYYY-MM-DD

## Yesterday (Done)
- [completed item 1]
- [completed item 2]

## Today (Plan)
- [open task 1]
- [open task 2]

## Blockers
- [blocker 1]
— none (if no blockers found)

## Questions / Awaiting Response
- [question or pending action 1]
— none (if nothing pending)

---
*Generated: YYYY-MM-DD | Sources: [file1.md, file2.md, ...]*
```

**Field rules:**
- Each item is one line, starting with `- `
- No sub-bullets (keep scannable for standup format)
- Completed items: state what was finished, not the task description alone
- Today items: actionable verb + object (e.g., "Review PR #42", "Send status update to Alex")
- Blockers: name the blocker and who/what is blocking
- Questions: include the recipient if known (e.g., "Awaiting answer from @Maria on API spec")

---

## Negative Cases

- **No path provided + no active Cowork folder:** Stop. Report: "Please provide the path to your working folder."
- **Folder not found at path:** Stop. Report: "Folder not found: [path]. Check the path and retry."
- **Folder is empty (no .md/.txt):** Stop. Report: "No readable files (.md, .txt) found in [path]. Add notes or task files first."
- **All files are binary or unreadable:** Skip unreadable files silently; if all files are unreadable, report: "Could not read any files in [path]. Files may be in unsupported formats."
- **Today's brief already exists (user declines overwrite):** Stop cleanly. Report: "Keeping existing brief at [path]/standup-brief-YYYY-MM-DD.md."

Files in this skill

  • README.md4.4 KB
  • README.ru.md6.8 KB
  • SKILL.md6.1 KB
  • docs/USER-GUIDE.md6.2 KB
  • docs/USER-GUIDE.ru.md10 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.