agentleFS
pahlevikunpahlevikun/levistack/skills/focus/standup/SKILL.md

standup

Skill0 starsChanged 18 days agoMITView on GitHub

Write today's standup from what you actually did yesterday: machine history, browser history, GitLab or GitHub (MRs, reviews, comments, reactions), Jira movement, then a final Lark polish. Handles weekends and holidays. Use when the user says standup, daily update, what did I do yesterday, yesterday summary, or standup report. Also runs a read-only multi-branch consolidation room when asked to reconcile worktrees, branches or PRs. Not for rebuilding your own context before you start work (use handoff, recall mode).

55 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use close-day, meeting-prep and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • vantageos-agencySkill

    close-day

    End-of-day routine: close tasks with their time, leave the repository and the disk clean, write the diary, harvest friction, and hand over to tomorrow. Use this skill whenever the user says "close day", "end of day", "fin de journée", "bonne nuit", "wrap up", "call it a day", "close session", "daily close", or mentions ending their work session -- even if they don't say "close-day" explicitly.

    Also in 3 projects that use this

  • OpenAISkill

    meeting-prep

    Use when creating Public Equity Investing meeting prep briefs. Do not use for private diligence, IB, FP&A, legal, or scheduling-only tasks.

    Also in 5 projects that use this

  • jasonmichaelbell78-creatorSkill

    todo

    Cross-session todo management with interactive menu, JSONL-backed persistence, and AI-powered context capture. Manages ideas, tasks, and insights that emerge during sessions so they survive across sessions. Independent of GSD.

    Also in 3 projects that use this

  • takleb3rrySkill

    kickoff

    Initialize a new project by analyzing source documents and generating requirements.md and design.md

    Also in 3 projects that use this

  • asterkinSkill

    adr

    Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.

    Also in 4 projects that use this

  • GitHubSkill

    refactor

    Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 51 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Evidence only: Every bullet traces to something collected.

    line 56
  2. Distinctive:

    Leave Today empty for the user.

    line 156
  3. Very specific:

    Write the standup to <outputDir>/<end>.md (default ~/standups), where <end> is the last day reported.

    line 162

“Common” is measured: kept by at least 6 in 10 of the 51 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

standup

Two jobs share this name. Pick by what the user asked:

  • Daily summary (default): "standup", "what did I do yesterday". Collect evidence, write the update. Everything below.
  • Branch room: "reconcile these worktrees / branches / PRs into one". Read references/branch-room.md and follow it instead.

How this works

Memory is a poor record of yesterday; machines keep a better one. Collect from the most local source outward, then write.

  1. Machine history: shell, git, AI-coding sessions
  2. Browser history
  3. GitLab / GitHub: MRs and PRs, reviews, comments, reactions
  4. Jira: tickets moved, created, assigned, commented
  5. Lark last, to polish: meetings, docs and chats that name and explain the work

Earlier sources find leads, later ones confirm them. A browser visit to a ticket is a lead; a status change by the user is a fact.

Rules

  • Evidence only. Every bullet traces to something collected. Nothing invented, nothing inflated: "looked at" is not "worked on", "MR open" is not "shipped".
  • Local and read-only. Collection reads files and calls read APIs. Never post, comment, transition, or send anything unless the user asks, and confirm recipient and text first.
  • Private by default. Browser and shell data stay on this machine. Only work-matched sites are read; the collector withholds secret-looking commands and strips URL query strings. Do not paste raw history into the output or into a message.
  • A configured source that fails stops the run. Say what broke, give the exact fix, and let the user fix it or say "skip X". A source that was never configured is skipped quietly and noted at the end.

Workflow

- [ ] 0 Config and readiness
- [ ] 1 Date range
- [ ] 2 Machine history
- [ ] 3 Browser history
- [ ] 4 GitLab / GitHub
- [ ] 5 Jira
- [ ] 6 Lark (polish)
- [ ] 7 Compose
- [ ] 8 Save

0. Config and readiness

Settings live in ~/.config/standup/config.json (or $STANDUP_CONFIG). If the file is missing, this is a first run: read references/setup.md, ask the user for the few values it lists (repo folders, forge host and username, Jira domain, output folder), and write the file. Do not guess usernames or hosts.

Then see what is available, in one pass:

for t in git sqlite3 gh glab lark-cli jq; do command -v $t >/dev/null && echo "ok  $t" || echo "--  $t"; done
gh auth status 2>&1 | head -2; glab auth status 2>&1 | head -2
lark-cli auth status 2>&1 | grep -q '"ok": *true' && echo "ok  lark auth" || echo "--  lark auth"

Compare against the config. Report every configured-but-broken source together, with the fix from setup.md, before collecting anything.

1. Date range

node "${CLAUDE_SKILL_DIR}/scripts/collect.mjs" range

Gives start, end, ISO bounds with the local offset, and unix bounds. The window runs from the last working day through yesterday: Tuesday to Friday is yesterday alone, Monday is Friday to Sunday, and days listed in holidays are walked back over. The collector cannot know holidays it was not told. If the whole window turns out empty, ask whether the user was off, and add the dates to holidays.

2. Machine history

node "${CLAUDE_SKILL_DIR}/scripts/collect.mjs" machine --start <start> --end <end>

Shell commands, commits by the user across every branch of the repos under repoRoots, uncommitted edits, and AI-coding sessions with their opening prompts. Commits are the strongest signal; sessions and shell history say what the time went on. Details and manual fallbacks: references/machine-and-browser.md.

3. Browser history

node "${CLAUDE_SKILL_DIR}/scripts/collect.mjs" browser --start <start> --end <end>

Pages visited on work sites: MRs, PRs, tickets, docs, dashboards, runbooks. Use it to find what to look up in steps 4 to 6, and to catch work that left no commit (reading, investigating, reviewing). If it reports permission errors, tell the user how to grant access and offer to continue without. Same reference file.

4. GitLab / GitHub

Cover each forge in the config; if none is configured, infer hosts from the git remote of the repos found in step 2. Collect what the user raised (MRs/PRs opened, updated, merged), what they reviewed (approvals, changes requested), comments they wrote, and reactions they gave. Commands for both, with the pagination and timezone traps: references/forge.md.

5. Jira

Tickets the user moved, created, were assigned, or commented on. Prefer the Atlassian MCP when it is connected; otherwise:

node "${CLAUDE_SKILL_DIR}/scripts/jira.mjs" --start <start> --end <end>

Without Jira access, infer keys from branch names, commit subjects, MR titles and browser titles ([A-Z][A-Z0-9]+-\d+) and mark them inferred. See references/jira.md.

6. Lark, last

Calendar, meetings and notes, chats, docs the user created or edited. Use them to polish, not to pad: give a meeting or doc its real name, say what was decided, connect a ticket to the discussion behind it, and catch work the other sources missed. Commands and scopes: references/lark.md.

7. Compose

Merge before writing. One piece of work usually shows up as a branch, commits, an MR, a ticket, some browser tabs and a Lark doc. Join them on ticket key or branch name into one bullet.

# Standup: <weekday>, <date>

## What I worked on (<label from step 1>)
- <one bullet per piece of work, ticket key first when there is one>

## Today
-

## Tickets
- **[KEY-123]** <summary>: <status change>, <MR/PR refs>

## Reviews
- !<number> `<repo>`: <title>, <approved | commented | changes requested>

## Blockers
- <waiting-on items, or "nothing blocking">

Write like a person typing in chat: first person, contractions, plain verbs ("worked on", not "executed"), specifics over adjectives. Short. For a multi-day window group by theme, not by day, and mention a day off in half a sentence. Skip weekend lines when there was no weekend activity. If the user has a writing-style skill or notes, apply them.

Leave Today empty for the user. In your reply, offer two or three carry-overs (open MRs, tickets still in progress) as suggestions only.

Examples across day types: references/examples.md.

8. Save

Write the standup to <outputDir>/<end>.md (default ~/standups), where <end> is the last day reported. Then show it. Close with one line per skipped source: _Jira not included (not configured)._

When data is thin

  • One source empty after auth is fine: skip that section.
  • Everything empty: ask whether the user was off. Do not fabricate a day.
  • Jira unavailable: infer keys, label them, continue.
  • Shell history without timestamps: say so; the other sources still stand.

Files

FileUse
scripts/collect.mjsrange, machine, browser; read-only, no dependencies
scripts/jira.mjsJira activity by the token's owner
scripts/room.mjsBranch room CLI
references/setup.mdConfig file, per-tool install and auth, troubleshooting
references/machine-and-browser.mdWhat the collector reads, privacy, fallbacks
references/forge.mdGitLab and GitHub commands
references/jira.mdJira queries and the MCP path
references/lark.mdLark commands and the polish pass
references/examples.mdSample standups
references/branch-room.md, references/agent-brief.mdBranch room mode

Related skills

  • handoff: read the last note to recover yesterday's context.
  • polyglot-copywriter: polish the final message.
  • create-tickets: a done item has no ticket.
  • later-list: read the later list for what is next.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.