Weekly digest synthesizer
Skill KirKruglov/claude-skills-kit/skills/status-reports-and-stakeholder-updates/weekly-digest-synthesizer
70+ curated agent skills for Claude Cowork and Claude.ai — ready-to-use tools for non-technical users: project management, productivity, and AI workflow automation
npx -y skills add KirKruglov/claude-skills-kit --skill weekly-digest-synthesizerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Compile weekly status digests from multiple .md/.txt files. Extracts project updates, action items, and blockers into a structured report. Use when aggregating team status notes into a weekly summary. Triggers: 'compile weekly digest', 'weekly digest', 'составь дайджест', 'скомпилируй статусы'.
SKILL.md
6.5 KB, as published. Nobody here has run it
Weekly Digest Synthesizer
This skill compiles status updates from multiple local .md and .txt files into a structured weekly digest. It groups content by project area, surfaces action items and blockers, and outputs a ready-to-share markdown file named weekly-digest-YYYY-MM-DD.md.
Input:
- Folder path or list of
.md/.txtfiles containing status updates - Optional: digest date (defaults to today), output format preference (concise / detailed)
Output:
weekly-digest-YYYY-MM-DD.md— structured digest with Summary, Projects, Action Items table, Risks & Blockers
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
-
Determine input source from the user's message:
- Folder path → scan all
.mdand.txtfiles in that folder - List of files → use those files directly
- No path provided → scan the current working directory for
.mdand.txtfiles
- Folder path → scan all
-
Verify files exist and are readable:
- If no files found: stop. Report "No .md or .txt files found at [path]. Provide a folder path or list of files to process."
- If a specific file path does not exist: stop. Report "File not found: [path]. Check the path and try again."
-
Check for unsupported file formats:
- If user provides only
.docx,.xlsx,.pdf, or similar: stop. Report "Unsupported file types. This skill processes .md and .txt files only."
- If user provides only
-
Determine digest date:
- If user specifies a date → use that date in output filename
- If not specified → use today's date (YYYY-MM-DD format)
Step 2: Read and Parse Files
-
Read each file in turn and extract:
- Project or area name: inferred from filename, H1/H2 heading, or leading section header
- Status indicator: on track / at risk / blocked — detected from keywords ("blocked", "delayed", "at risk", "completed", "done", "✅", "⚠️", "🔴") or inferred from context
- Key updates: bullet points, sentences describing progress, decisions, or changes
- Action items: tasks with any mention of owner name and/or due date
- Blockers: sentences or bullets mentioning dependencies, blockers, or unresolved issues
-
Handle empty or sparse files:
- If a file is empty or contains only headings with no body content: skip it; note in digest footer as "Files with no updates: [filename]"
- If a file has content but no structured indicators: include as raw notes under the filename; add note "No structured status found — raw content included"
Step 3: Group and Deduplicate
-
Group extracted content by project or area:
- Use project name from file heading if available
- Use filename (without extension) as fallback project name
-
Identify cross-cutting signals across all files:
- Recurring blockers (same blocker mentioned in 2+ files)
- Action items with no identified owner
- Action items with no due date
- Projects with "blocked" status
-
Flag possible duplicate projects:
- If two file headings look similar (e.g., "Project Alpha" and "Alpha Q2"): group under a shared section and add note "[Possible duplicates — verify manually]"
- Do not silently merge
-
Check for large input:
- If 20+ files or total content exceeds ~10,000 words: add a note at digest header: "Large input: [N] files processed. Review for completeness."
Step 4: Check for Existing Output File
- Check if
weekly-digest-[date].mdalready exists in the working directory:- If yes: ask user — "File weekly-digest-[date].md already exists. Overwrite or save as weekly-digest-[date]-v2.md?"
- Wait for response before writing
Step 5: Write Digest
- Write
weekly-digest-YYYY-MM-DD.mdusing the Output Format below - Populate all sections; mark any empty section explicitly (e.g., "No blockers reported")
- Report in chat: "Digest written: weekly-digest-[date].md — [N] files processed, [N] projects, [N] action items"
Output Format
# Weekly Digest — [Date]
**Compiled from:** [N] files | **Projects covered:** [N] | **Action items:** [N]
[Note if large input: "Large input: N files — review for completeness"]
---
## Summary
[2–4 sentences: overall week health, key progress, main risks or blockers]
---
## Projects
### [Project / Area Name]
- **Status:** ✅ On track / ⚠️ At risk / 🔴 Blocked
- **Updates:** [key progress points, 1–3 bullets]
- **Action items:** [owner] — [action] by [date or TBD]
- **Blockers:** [if any; "None" if clear]
### [Next Project...]
---
## Cross-Cutting Action Items
| Owner | Action | Due | Source File |
|-------|--------|-----|-------------|
| [name or TBD] | [action description] | [date or TBD] | [filename.md] |
---
## Risks & Blockers
- [Blocker or risk description — source: filename.md]
- [Recurring blocker flagged across N files]
---
## Files Processed
Files included: [list]
Files with no updates: [list, or "None"]
[Possible duplicates: [list, or omit if none]]
Field rules:
- Status: use ✅ / ⚠️ / 🔴 based on detected keywords; default to ✅ if no risk signals found
- Action items: include owner when mentioned; use "TBD" if no owner identified; flag "No owner" items in Cross-Cutting section
- Summary: write from extracted content — do not invent progress or add assumptions
Edge Cases
- Empty or heading-only files: Skip; note in "Files with no updates" section
- No structured status indicators: Include raw content; add note "No structured status found"
- Possible duplicate project names: Group together; add "[Possible duplicates — verify manually]" note
- 20+ files or 10,000+ words total: Proceed; add "Large input" note at digest header
- Digest file already exists: Ask user before overwriting
Negative Cases
- No files found: Stop. Report "No .md or .txt files found at [path]."
- Invalid file path: Stop. Report "File not found: [path]."
- Only unsupported file formats: Stop. Report "Unsupported file types. Convert to .md or .txt first."