workday-summary — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited workday-summary (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Summarize everything you worked on into clean, grouped bullet points — ready for timesheets, standups, or end-of-day logs.
_Read ~/.claude/skills/workday-summary/preferences.md using the Read tool. If not found, no preferences are set._
_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._
Check $ARGUMENTS:
~/.claude/skills/workday-summary/preferences.md, confirm, stopParse from $ARGUMENTS (use $0, $1 shorthand for positional args):
bullets (default), table, full-markdown, plainticket (default), project, chronological, noneconversation, git, linear, github (default: all)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)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)
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.
Delete ~/.claude/skills/workday-summary/preferences.md and confirm: "Preferences cleared. Using defaults."
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.
Based on flags (in priority order):
--since "date" — parse the date--yesterday — yesterday 00:00 to yesterday 23:59--week — Monday 00:00 to now--today or empty — today 00:00 to nowUse 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 mondayRun 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:
Do NOT just list "read file X" or "ran command Y". Synthesize into accomplishments:
#### 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/nullAlso check for uncommitted work:
git diff --stat 2>/dev/null
git diff --cached --stat 2>/dev/nullIf 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:
list_issues with assignee "me", updatedAt filterIf 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/nullFilter 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/nullFilter entries from the time window. Look for patterns (deploy commands, test runs, build commands) that indicate work done.
Merge signals from all sources, deduplicating:
Group results according to --group-by preference:
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.
Output the formatted summary.
If --detailed, include evidence for each item:
Use `AskUserQuestion` (multiSelect: false):
pbcopy (macOS)~/Desktop/workday-summary-{date}.md)If the user picks "Copy to clipboard":
echo "{summary}" | pbcopyConfirm: "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.
Save useful patterns to preferences:
no-time-estimates: trueMention what was learned: "Noted: you prefer table format. Saved for next time."
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.