Skip to content
Back to skills

Today

ASecurity

Morning heartbeat — staleness checks, deadline surfacing, and memory curation for your workspace state. Run at the start of each day or after a 12+ hour gap.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agentsgobashgit

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add conorbronsdon/agent-workspace --skill today --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Today?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Today
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/conorbronsdon-today/badge)](https://www.skillsdirectory.com/skills/conorbronsdon-today)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: today
description: Morning heartbeat — staleness checks, deadline surfacing, and memory curation for your workspace state. Run at the start of each day or after a 12+ hour gap.
disable-model-invocation: true
---

# /today — Morning Heartbeat

A daily check-in that catches staleness, surfaces deadlines, and proposes updates —
including gaps left by sessions that closed without `/end`. Designed to run in under 60
seconds.

**Invocation:** user-only (`disable-model-invocation: true`) — the heartbeat is timed by
you (mornings, or after a gap), and the flag keeps this skill out of ambient context.

## Configuration

Read the optional `workspace.yaml` at the project root. Below, `<state_dir>`,
`<sessions_dir>`, and `<task_file>` are its resolved values; defaults are `state/`,
`sessions/`, and `TODO.md`. Staleness thresholds come from `staleness.current_days` (3),
`weekly_days` (5), `blockers_days` (7). Full reference: `docs/state-model.md`.

## Instructions

1. **Establish context.** Get today's date. Read `<state_dir>/heartbeat-log.md` to find the
   last check-in date.

2. **Scan recent activity.** In a git repository, run:
   ```bash
   git log --oneline --since="3 days ago"
   ```
   Then check `<sessions_dir>` for recent logs. This captures work even from sessions that
   closed without `/end`. Outside a git repository, rely on the session logs alone.

3. **Check state freshness.** Same thresholds as `start` step 4 (`staleness.*` from config).

4. **Surface deadlines.** Read `<task_file>` and scan for:
   - Items with dates in the next 7 days
   - Items marked urgent or time-sensitive

5. **Age-check open items.** Read `<state_dir>/current.md` and check the `*(created M/D)*`
   dates on open threads:
   - Items >7 days old: flag as "stale — still relevant?"
   - Items >14 days old: escalate as "likely stale — remove or convert to task?"
   Present proposals. **Do not auto-update.**

6. **Identify memory gaps.** Compare git-log activity against state files:
   - Decisions committed but not in `<state_dir>/decisions.md`?
   - Completed work not reflected in `<state_dir>/current.md`?
   List proposed updates. **Do not auto-update. Wait for approval.**

7. **Output format:**
   ```
   MORNING CHECK-IN — [DATE] ([day of week])
   Last heartbeat: [date] ([N] days ago)

   SINCE LAST CHECK-IN:
   - [N] commits: [brief themes]
   - Session logs: [found/none]

   STATE:
   - current.md — [fresh/N days stale]
   - weekly-priorities.md — [fresh/N days stale]
   - blockers.md — [fresh/N days stale]

   DEADLINES (next 7 days):
   - [items, most urgent first]

   [If stale items found:]
   STALE ITEMS:
   - [item] — [N] days old. [Propose: remove / convert to task]

   [If memory gaps found:]
   MEMORY GAPS:
   - [proposed update]
   ```

8. **Log the heartbeat.** Append to `<state_dir>/heartbeat-log.md`:
   ```markdown
   ## [DATE]
   - Commits since last: [N]
   - State staleness: [summary]
   - Deadlines flagged: [count]
   - Stale items flagged: [count]
   - Memory gaps found: [count]
   - Updates applied: [list or "none — awaiting response"]
   ```

9. **Transition.** Ask: "What's the focus today?"

## Design principles

- **Fast.** Under 60 seconds. If it's slow, it won't get used.
- **Propose, don't act.** Never silently edit state or write memory during the heartbeat.
- **Skip what's clean.** All fresh and no near deadlines → say so in one line.
- **Graceful degradation.** A session that closed without `/end` is caught here; missing
  files are noted, not fatal.

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.