Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Workday Summary

ASecurity

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.

4 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgoshellbashnodedebugginggitapi

Works with

cliapimcp

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add mostafa-drz/claude-skills --skill workday-summary --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Workday Summary?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Workday Summary
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mostafa-drz-workday-summary/badge)](https://www.skillsdirectory.com/skills/mostafa-drz-workday-summary)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: workday-summary
description: >-
  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.
argument-hint: "[--today | --yesterday | --week | --since \"date\"] [--format bullets|table|full-markdown|plain]"
disable-model-invocation: true
allowed-tools:
  - AskUserQuestion
  - Bash(git *)
  - Bash(gh *)
  - Bash(date *)
  - Bash(find *)
  - Bash(fc *)
  - Bash(pbcopy *)
  - Bash(echo *)
  - Read
  - Glob
  - Grep
  - Write
  - mcp__claude_ai_Linear__list_issues
  - mcp__claude_ai_Linear__get_issue
  - mcp__claude_ai_Linear__list_teams
  - mcp__claude_ai_Linear__get_user
metadata:
  trigger: "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."
---

# 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:
```bash
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:
```bash
git log --since="{window_start} 00:00" --oneline --author="$(git config user.email)" 2>/dev/null
```

Also check for uncommitted work:
```bash
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:
```bash
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)

```bash
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:
```bash
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:
```bash
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)
```markdown
## 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
```markdown
## 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":
```bash
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.

Attribution

mostafa-drzmostafa-drz
View sourceMore from mostafa-drz →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →