plugins/second-brain-workiq/skills/monthly-review/SKILL.md
Generate a monthly retrospective by analyzing weekly reviews, long-term task progress, and deep Microsoft 365 productivity analytics via WorkIQ. Use when the user says: "monthly review", "month summary", "monthly retrospective", "summarize my month"
npx skillsauth add aymenfurter/polyclaw monthly-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a comprehensive monthly retrospective from weekly reviews, daily notes, and deep M365 analytics.
# Current month boundaries
YEAR=$(date +%Y)
MONTH=$(date +%m)
MONTH_NAME=$(date +%B)
START_DATE="${YEAR}-${MONTH}-01"
END_DATE=$(date +%Y-%m-%d)
echo "Monthly review: ${MONTH_NAME} ${YEAR} (${START_DATE} to ${END_DATE})"
ls /data/notes/weekly/*-weekly.md 2>/dev/null | while read f; do
FILE_DATE=$(basename "$f" | cut -d'-' -f1-3)
echo "=== Weekly Review: ${FILE_DATE} ==="
cat "$f"
echo ""
done
YEAR=$(date +%Y)
MONTH=$(date +%m)
ls /data/notes/daily/${YEAR}-${MONTH}-*.md 2>/dev/null | while read f; do
echo "=== $(basename $f .md) ==="
cat "$f"
echo ""
done
Across all daily notes for the month:
workiq ask -q "Provide my detailed productivity analytics for $(date +%B) $(date +%Y): 1) Total meetings and hours, broken down by week, 2) Meeting-free time blocks (deep work hours), 3) Top 10 collaborators with interaction frequency, 4) Email volume trends (sent vs received per week), 5) Teams message activity, 6) Documents I created or edited, 7) My busiest and quietest days, 8) After-hours activity. Format as structured sections."
workiq ask -q "Based on my activity this month ($(date +%B) $(date +%Y)), what topics and projects did I spend the most time on? Analyze my meetings, emails, Teams conversations, and document edits to identify my top 5 focus areas and estimate the relative time spent on each."
find /data/notes/topics/ -name '*.md' -mtime -30 -exec basename {} .md \;
Write to /data/notes/monthly/<year>-<month>-monthly.md:
# Monthly Review: <Month Name> <Year>
## Month at a Glance
- **Days with notes**: X of Y workdays
- **Weekly reviews completed**: X
- **Total tasks created**: X
- **Total tasks completed**: X (Y%)
- **Total meetings**: X (Z hours)
## Key Accomplishments
- <major accomplishment from completed tasks and meetings>
- <accomplishment>
- <accomplishment>
## Focus Areas
| Area | Estimated Time | Trend |
|------|---------------|-------|
| <project/topic> | X hours | up/down/stable |
| <project/topic> | X hours | up/down/stable |
## Productivity Metrics
### Meetings
- **Total**: X meetings, Y hours
- **Weekly breakdown**: W1: Xh, W2: Xh, W3: Xh, W4: Xh
- **Deep work hours** (meeting-free blocks): X hours
### Communication
- **Emails**: X sent / Y received
- **Teams**: X messages
- **Top collaborators**: <name1>, <name2>, <name3>
### After Hours
- **After-hours activity**: X occurrences
- **Pattern**: <observation>
## Task Velocity
- **Week 1**: X created / Y completed
- **Week 2**: X created / Y completed
- **Week 3**: X created / Y completed
- **Week 4**: X created / Y completed
- **Trend**: improving / declining / stable
## Chronic Open Items
(Tasks open for 2+ weeks)
- [ ] <chronic task> -- open since <date>
## Topics and Knowledge Areas
- <topic 1> -- <what changed this month>
- <topic 2> -- <what changed this month>
## Reflections and Goals
### What went well
- (to be filled by user)
### What could improve
- (to be filled by user)
### Goals for next month
- (to be filled by user)
YEAR=$(date +%Y)
MONTH=$(date +%m)
mkdir -p /data/notes/monthly
Write to /data/notes/monthly/${YEAR}-${MONTH}-monthly.md.
Present the monthly highlights to the user, including:
tools
Search the web for information using Playwright browser automation. Use when the user asks to find, look up, or research something online.
content-media
Summarize the content of a given URL. Use when the user provides a link and asks for a summary or key points.
development
Create, read, update, and organize personal notes. Use when the user asks to take a note, jot something down, save information for later, or manage their notes.
development
Generate a daily briefing summarizing recent memory and relevant information. Use when the user asks for a morning briefing or daily summary.