agentleFS
jramsahaijramsahai/obsidian-mcp-brain/standup/SKILL.md

standup

Skill0 starsChanged 59 days agoMITView on GitHub

Generate a standup summary from Obsidian project/task state, on demand or by cron: active projects, overdue and due-soon tasks, waiting states, stale items, pending conversations. Read-mostly synthesis. NOT for: changing task or project state (task-tracking / project-tracking).

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

7 rules. 0 are common, 2 are distinctive, and 5 are 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.

  • 5

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use the shared vault conventions and the obsidian__* tool surface from second-brain.

    line 16
  2. Distinctive:

    When asked to run standup, or when invoked by cron:

    line 32
  3. Very specific:

    Treat Tasks.md as the source for task state.

    line 59
  4. Very specific:

    Treat Projects/[Project Name]/[Project Name].md as the source for project state.

    line 60
  5. Distinctive:

    If task/project state conflicts, report the inconsistency instead of silently resolving it.

    line 61
  6. Very specific:

    Do not mark tasks done, change project status, or create tasks while running standup unless the user explicitly asks.

    line 62
  7. Very specific:

    Use this structure unless the user asks for a different format.

    line 66

“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

Generate a useful standup for the user by inspecting the Obsidian second brain, especially project and task state. This skill synthesizes; it should not mutate project or task source files unless the user explicitly asks. It may update Standup.md with the generated summary.

Data Source

Use the shared vault conventions and the obsidian__* tool surface from second-brain.

Read from:

  • Task state: obsidian__task_query, not a hand-read of Tasks.md — overdue=true for overdue tasks, due_before="YYYY-MM-DD" (today plus 5 days) for due-soon, section="Waiting On Me" for tasks waiting on the user, status="waiting" for tasks waiting on others. Fall back to obsidian__vault_read note="Tasks" only when a section's full wording or layout matters beyond what the query fields give you.
  • Projects/*/[Project Name].md for project status (frontmatter status:), blockers, decisions, waiting items, and related tasks.
  • People/*.md only when pending conversations or waiting-on people need context.
  • Inbox.md for unprocessed actionable captures.
  • The most recent Syntheses/YYYY-MM-DD.md for overnight observations worth surfacing.
  • Recent Daily/YYYY-MM-DD.md notes only when project/task context is thin.
  • Standup.md from the previous run for continuity and diff context.

A missing note or an empty result is the answer, not a malfunction — no daily note on a quiet day and no synthesis before the first nightly run are both normal. Skip the section and move on.

Workflow

When asked to run standup, or when invoked by cron:

  1. obsidian__vault_status — today's local date, note counts, the latest synthesis and daily dates, task counts, and what changed recently. This replaces the old exploratory preamble; do not rediscover any of it by hand.
  2. obsidian__task_query overdue=true for overdue tasks; obsidian__task_query due_after="YYYY-MM-DD" due_before="YYYY-MM-DD" (today through today plus 5 days) for due-soon tasks; obsidian__task_query section="Waiting On Me" for tasks waiting on the user; obsidian__task_query status="waiting" for tasks waiting on others.
  3. obsidian__vault_list type="project" status="Active" for the active projects, then obsidian__vault_read each one worth reporting on.
  4. Reconcile projects and tasks by exact project name / wikilink.
  5. obsidian__vault_read the latest synthesis named by step 1, if there is one.
  6. obsidian__vault_links direction="unresolved" — the nightly hands over any candidate whose times_surfaced has reached 3. Those are names it has proposed repeatedly and cannot resolve on its own; surface them under Decisions Needed so the user can settle each one. Nothing else picks them up, so a candidate you skip here is a candidate nobody ever acts on.
  7. Identify the highest-signal items:
    • active projects and their current state
    • overdue tasks
    • tasks due in the next 3-5 days
    • tasks waiting on the user
    • tasks waiting on other people
    • blocked projects or tasks
    • stale active tasks with no visible update for more than 7 days
    • stale active projects with no visible update for more than 14 days
    • Staleness must come from dated evidence in the notes (due dates, since dates, ✅ completions, Conversation Log / Waiting On dates, synthesis mentions). No dated evidence for an item -> leave it out of Stale rather than guessing.
    • pending conversations or follow-ups
    • unprocessed inbox items that look actionable
  8. obsidian__standup_write content="…" with the generated standup. This is the one note in the vault that is replaced rather than appended to.
  9. Reply in the current channel with the same standup, trimmed for readability.

Five or six tool calls should cover a normal standup. If you find yourself making twenty, re-read step 1 — the information is already in hand.

Relationship Rules

  • Treat Tasks.md as the source for task state.
  • Treat Projects/[Project Name]/[Project Name].md as the source for project state.
  • If task/project state conflicts, report the inconsistency instead of silently resolving it.
  • Do not mark tasks done, change project status, or create tasks while running standup unless the user explicitly asks; route those changes to task-tracking or project-tracking.

Standup Shape

Use this structure unless the user asks for a different format. When an active project carries a goal: field, group its Projects line under that goal's name (obsidian__vault_list type="project" goal="Goal Name" finds the rest); projects with no goal go last under "Unassigned".

**Standup — YYYY-MM-DD**

**Focus**
- The 1-3 things most worth the user's attention today.

**Projects**
- Project Name: current status, recent movement, next obvious action.

**Tasks**
- Overdue: specific task, due date, project.
- Due soon: specific task, due date, project.
- Waiting on the user: specific task and why.
- Waiting on others: who, what, since when.

**Stale / Blocked**
- Item and why it needs attention.

**Overnight**
- Notable observation from the latest synthesis, if any.

**Decisions Needed**
- Name the nightly has proposed 3+ times: create a note for it, or retire it. One line each.

**Pending Conversations**
- Person/topic and project context.

Omit empty sections. If there is not enough data, say so briefly and list the notes checked.

Tone

Be concise, practical, and specific. Prefer action-oriented phrasing over status theater. Do not invent dates, owners, or project states when the vault does not say them. When unsure, mark an item as unclear and include the source note name.

Updating Standup.md

Standup.md is derived from the projects, tasks, and people notes, so yesterday's copy is not history worth keeping — it is the only note in the vault that is regenerated rather than appended to. obsidian__standup_write is the only tool that replaces a note body, and it works on nothing else. Do not reach for a native file write; the global rule in second-brain still holds everywhere, including here.

obsidian__standup_write content="**Focus**\n- …" date="2026-07-31"

It writes the title and keeps the frontmatter; content is everything below the title. date defaults to today in the vault's timezone, which obsidian__vault_status also reports.

Cron Invocation

For scheduled runs, use the same workflow as an on-demand run. Deliver the concise standup to the configured source channel. If a tool returns an error, report it plainly — the message names the fix — rather than retrying the same call or falling back to shell commands. There is no shell fallback for vault work.

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.