agentsclimarketplace

Workday summary

Skill mostafa-drz/claude-skills/code/workday-summary

Collection of Claude Code and Claude Desktop skills for developer workflows, automation, and productivity

Install
npx -y skills add mostafa-drz/claude-skills --skill workday-summary

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 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

Summarizes work done today into timesheet-ready bullet points. Analyzes conversation history, git commits, Linear tickets, and GitHub PRs. Use when ending a session, filling a timesheet, preparing for standup, writing a daily log, wrapping up for the day, or when asked what was worked on.

SKILL.md

11.0 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it

Workday Summary

Summarize everything you worked on into clean, grouped bullet points — ready for timesheets, standups, or end-of-day logs.

Preferences

Read ~/.claude/skills/workday-summary/preferences.md using the Read tool. If not found, no preferences are set.

Context

On startup, use Bash to gather: current date, git user email (git config user.email), GitHub username (gh api user -q .login), and any git repos under the working directory. Skip any that fail.

Command routing

Check $ARGUMENTS:

  • help → display help then stop
  • config → interactive setup then stop
  • reset → delete ~/.claude/skills/workday-summary/preferences.md, confirm, stop
  • anything else (including empty) → run the summary

Flags

Parse from $ARGUMENTS (use $0, $1 shorthand for positional args):

  • --today (default) — summarize today's work
  • --yesterday — summarize yesterday's work
  • --week — summarize this week's work
  • --since "date" — summarize since a specific date/time
  • --format <fmt> — output format: bullets (default), table, full-markdown, plain
  • --group-by <mode> — grouping: ticket (default), project, chronological, none
  • --no-time-estimates — omit time estimates from output
  • --sources <list> — comma-separated: conversation, git, linear, github (default: all)
  • --concise — summary only, no evidence
  • --detailed — show evidence for each item

Help

Workday Summary — Summarize today's work for timesheets and standups

Usage:
  /workday-summary                       Summarize today's session
  /workday-summary --yesterday           Yesterday's work
  /workday-summary --week                This week's work
  /workday-summary --since "2026-02-28"  Since a specific date
  /workday-summary --format table        Output as timesheet table
  /workday-summary config                Set preferences
  /workday-summary reset                 Clear preferences
  /workday-summary help                  This help

Options:
  --today                  Default. Summarize today.
  --yesterday              Summarize yesterday.
  --week                   Summarize this week (Mon-now).
  --since "date"           Since a specific date or time.
  --format <fmt>           bullets | table | full-markdown | plain
  --group-by <mode>        ticket | project | chronological | none
  --no-time-estimates      Omit time estimates
  --sources <list>         conversation,git,linear,github
  --concise                Summary only
  --detailed               Show evidence for each item

Examples:
  /workday-summary                       End-of-day summary
  /workday-summary --format table        Timesheet-ready table
  /workday-summary --week --concise      Quick weekly recap
  /workday-summary --sources git,linear  Only git + Linear data

Current preferences:
  (read from preferences.md)

Config

Use AskUserQuestion:

Q1 — "Output format?" (Bullets (default), Table, Full Markdown, Plain text)

Q2 — "Group by?" (Ticket/project (default), Chronological, No grouping)

Q3 — "Include time estimates?" (Yes (default), No)

Q4 — "Which sources to include?" (multiSelect: true)

  • Conversation history
  • Git commits
  • Linear tickets
  • GitHub PRs

Q5 — "Detail level?" (Concise — high-level only, Detailed — show evidence (default))

Q6 — "Auto-copy to clipboard?" (Yes, No (default))

Q7 — "Save summary to file? If yes, provide path." (No (default), or a path)

Save to ~/.claude/skills/workday-summary/preferences.md.

Reset

Delete ~/.claude/skills/workday-summary/preferences.md and confirm: "Preferences cleared. Using defaults."

First-time detection

If no preferences file exists, show: "First time using /workday-summary? Run /workday-summary config to set defaults, or continue — I'll use sensible defaults."

Then proceed.

Workflow

1. Determine time window

Based on flags (in priority order):

  1. --since "date" — parse the date
  2. --yesterday — yesterday 00:00 to yesterday 23:59
  3. --week — Monday 00:00 to now
  4. --today or empty — today 00:00 to now

Use Bash to compute the ISO date string for the window start:

date -v-0d +%Y-%m-%d  # today
date -v-1d +%Y-%m-%d  # yesterday
date -v-monday +%Y-%m-%d  # this week's monday

2. Gather context (parallel where possible)

Run all source collection in parallel. Skip any that fail.

A. Conversation history (most important source)

This skill has FULL access to the conversation context. Analyze the conversation to identify:

  • Files read or edited — infer what feature/bug they relate to
  • Bash commands run — what was being tested, built, deployed
  • Tool calls — what MCP tools were used and why
  • Decisions made — architectural choices, debugging conclusions
  • Problems solved — errors encountered and how they were resolved

Do NOT just list "read file X" or "ran command Y". Synthesize into accomplishments:

  • "Investigated auth flow to understand token refresh behavior" (not "read auth.ts")
  • "Fixed pagination bug in search results" (not "edited search.tsx line 45")
  • "Set up email notification templates for meeting summaries" (not "wrote 3 files")

B. Git commits

For each git repo the user worked in, run:

git log --since="{window_start} 00:00" --oneline --author="$(git config user.email)" 2>/dev/null

Also check for uncommitted work:

git diff --stat 2>/dev/null
git diff --cached --stat 2>/dev/null

If multiple repos exist under the working directory, scan each. Use Bash to find them:

find /Users/mostafa/Dev/ateam -maxdepth 2 -name .git -type d 2>/dev/null

C. Linear (if MCP available)

Try to fetch issues assigned to me, updated within the time window:

  • Use list_issues with assignee "me", updatedAt filter
  • Note ticket IDs, titles, and status changes

If Linear MCP is unavailable, skip gracefully.

D. GitHub (if gh CLI available)

gh pr list --author @me --state all --limit 20 --json number,title,state,updatedAt,url 2>/dev/null

Filter to PRs updated within the time window.

Also check for PR reviews given:

gh api graphql -f query='{ viewer { contributionsCollection { pullRequestReviewContributions(first: 20) { nodes { pullRequest { number title url repository { nameWithOwner } } } } } } }' 2>/dev/null

E. Recent shell activity (supplementary)

Check bash/zsh history for additional signals:

fc -l -t '%Y-%m-%d %H:%M' -200 2>/dev/null

Filter entries from the time window. Look for patterns (deploy commands, test runs, build commands) that indicate work done.

3. Synthesize

Merge signals from all sources, deduplicating:

  • If a git commit and a conversation both reference the same file/feature, combine them
  • If a Linear ticket and a git branch match (by ticket ID in branch name), group together
  • Prefer the highest-context description (conversation > git message > ticket title)

Group results according to --group-by preference:

  • ticket — group by Linear ticket or project, with an "Other" bucket for ungrouped work
  • project — group by repo or project name
  • chronological — order by time
  • none — flat list

4. Format output

Apply the --format preference:

bullets (default)

## Today's Work — {date}

### What I accomplished
- [High-level accomplishment 1]
- [High-level accomplishment 2]
- [High-level accomplishment 3]

### By Ticket / Project
**AIS-XXX: Ticket Name**
- Specific thing done
- Another thing done

**Codebase Work** (git-based, no ticket)
- Fixed X in file Y
- Added feature Z

### For Timesheet
| Task | Category | Est. Time |
|------|----------|-----------|
| AIS-XXX: Description | Dev | ~2h |
| Code review: PR #123 | Review | ~30m |
| Debugging pipeline issue | Debug | ~1h |

table

## Today's Work — {date}

| Task | Category | Est. Time | Source |
|------|----------|-----------|--------|
| AIS-XXX: Did thing | Dev | ~2h | Git + Linear |
| Reviewed PR #123 | Review | ~30m | GitHub |
| ... | ... | ... | ... |
| **Total** | | **~Xh** | |

full-markdown

Full version with all sections, evidence links, and detailed descriptions.

plain

Minimal plain text, no markdown — suitable for pasting into time tracking tools.

5. Present summary

Output the formatted summary.

If --detailed, include evidence for each item:

  • Git commit hashes
  • File names changed
  • Linear ticket URLs
  • PR URLs

6. Offer post-actions

Use AskUserQuestion (multiSelect: false):

  • "Copy to clipboard" — copy the summary using pbcopy (macOS)
  • "Save to file" — save to a specified path (default: ~/Desktop/workday-summary-{date}.md)
  • "Change format" — re-render in a different format
  • "Add/remove items" — let the user edit the summary
  • "Done" — finish

If the user picks "Copy to clipboard":

echo "{summary}" | pbcopy

Confirm: "Summary copied to clipboard."

If the user picks "Save to file", ask for path (or use default), then write the file.

If the user picks "Add/remove items", let them specify what to change, re-render, and re-offer actions.

7. Learn

Save useful patterns to preferences:

  • If user always uses a specific format, save it
  • If user removes time estimates, save no-time-estimates: true
  • If user always picks specific sources, save as defaults
  • If user corrects a grouping or categorization, note the pattern

Mention what was learned: "Noted: you prefer table format. Saved for next time."

Principles

  • Accomplishments, not activities — say "Fixed pagination bug" not "Edited search.tsx". Synthesize raw signals into meaningful work items.
  • Read-only — this skill only reads conversation history, git logs, and API data. It never modifies code, tickets, or branches.
  • Conversation context is king — the conversation history is the richest source of what was actually done. Git and Linear are supplementary.
  • Graceful degradation — if a source is unavailable, skip it. Never fail because one source is down.
  • Timesheet-ready — the output should be directly pasteable into time tracking tools with minimal editing.
  • Fast — gather all sources in parallel. Don't block on slow API calls.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.