Agent skill

Daily Task Manager

by garrytan in garrytan/gbrain

Task lifecycle management with stable task IDs. An agent skill from garrytan/gbrain.

MITAuto-check: warningsProductivity & Automation

Install Daily Task Manager

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add garrytan/gbrain --skill daily-task-manager -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrytan/gbrain daily-task-manager --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/daily-task-manager .claude/skills/daily-task-manager && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
daily-task-manager
GitHub stars
31k
Token cost
~2.2k tokens
SKILL.md length
1,038 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Task lifecycle management with stable task IDs. An agent skill from garrytan/gbrain.

  • Works in 5 steps: Load. get_page("ops/tasks.md"). First… → Validate. Determine the action via… → Identify the target task… → …
  • Tasks that involve Task management
  • SKILL.md covers Contract, Tool Interface, Action Routing and Phases, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Daily Task Manager is an agent skill from garrytan/gbrain. Task lifecycle management with stable task IDs. Add, complete, defer, remove, and review tasks with deterministic action routing and fail-closed ambiguity handling. Maintains a running task list as a brain page.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Productivity & Automation, covering Task management and Task breakdown. The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.

When your agent uses it

  • Tasks that involve Task management
  • Tasks that involve Task breakdown

Example prompts

  • “/daily-task-manager”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Load. get_page("ops/tasks.md"). First run: if the page does not exist, create it from the Output Format template, then proceed.
  2. Validate. Determine the action via Action Routing. If required fields are missing (see per-action rules), ask ONE concise clarification…
  3. Identify the target task (complete/defer/remove): match by id when given; otherwise fuzzy-match description against ACTIVE tasks only…
  4. Execute
  5. Save. put_page("ops/tasks.md") after any mutation. Diff-mindset: touch only the affected lines; preserve all other content, including…

What it can do on your machine

Read from SKILL.md and the folder at commit fc54831. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Daily Task Manager loads about 2.2k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,038 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningContains instruction-override wording (e.g. “without asking the user”)SKILL.md:117
    ll `gbrain write-request <request_id>`; do not tell the user the task is recorded yet.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrytan/gbrain at commit fc54831, republished under its MIT licence (© garrytan). 1,038 words, ~2,230 tokens.

Download SKILL.mdSave it as .claude/skills/daily-task-manager/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
daily-task-manager
description
Task lifecycle management with stable task IDs. Add, complete, defer, remove, and review tasks with deterministic action routing and fail-closed ambiguity handling. Maintains a running task list as a brain page.
version
2.0.0
triggers
add task, complete task, what are my tasks, task list, defer task
tools
search, get_page, put_page, add_timeline_entry
mutating
true
upstream
daily-task-manager@fc834ee

Daily Task Manager

Contract

This skill guarantees:

  • Tasks stored as a brain page (ops/tasks.md) with structured format and a stable id per task
  • Task lifecycle: add → in-progress → complete | defer | remove
  • Priority levels: P0 (urgent), P1 (today), P2 (this week), P3 (backlog)
  • Completed tasks archived with completion date; deferred tasks carry a target date + reason
  • Mutations never drop unrelated tasks or unknown sections
  • Every action returns the structured result below (Returns)
Returns

After every action, report a structured result so callers (including sub-agents) can chain reliably:

{action, task_id, status: ok|not_found|ambiguous|needs_confirmation, priority, date, page: "ops/tasks.md", saved: true|false}

For review, return the grouped active-task list instead of a single task_id. When invoked with the trigger "task list json", return a JSON array of task objects {id, description, priority, due, status} instead of markdown.

Tool Interface

Use ONLY the declared tools. get_page("ops/tasks.md") to read, put_page("ops/tasks.md", …) to write, add_timeline_entry for the audit trail, search for cross-referencing. Do not shell out to gbrain CLI verbs from this skill; the tools are the interface. (When the user runs this manually outside an agent, the CLI equivalents are gbrain get ops/tasks / gbrain put ops/tasks — equivalents only, not the skill's interface.)

Action Routing

Map user intent deterministically before touching state:

  • "add / remind me to / put X on my list" → add
  • "done with X / finished X / completed X / ✅ X" → complete
  • "push X / defer X / move X to next week" → defer
  • "delete X / remove X / kill task X" → remove (explicit delete words only — never infer remove)
  • "what are my tasks / task list / what's on my plate (today)" → review ("today" filters to P0+P1)

Phases

  1. Load. get_page("ops/tasks.md"). First run: if the page does not exist, create it from the Output Format template, then proceed.
  2. Validate. Determine the action via Action Routing. If required fields are missing (see per-action rules), ask ONE concise clarification before mutating state. Never fabricate priorities, due dates, or defer reasons.
  3. Identify the target task (complete/defer/remove): match by id when given; otherwise fuzzy-match description against ACTIVE tasks only. Zero matches → return not_found, do not mutate. Multiple matches → list candidates with IDs, return ambiguous, do not mutate.
  4. Execute:
    • Add: Require a description. Priority: use the user's stated/clearly-implied level; otherwise default to P3 and say so in the reply + timeline entry. Due date only if supplied or explicit in the user's words. Mint a new task ID (t-YYYYMMDD-NN, NN = next free ordinal that day). Add a timeline entry.
    • Complete: Mark [x], move to Completed with (completed: YYYY-MM-DD).
    • Defer: Require a target date/timeframe AND a reason; ask if missing. Move to Deferred preserving original text, ID, and priority unless the user changes them.
    • Remove: Destructive — require explicit confirmation unless the user's message already contains it. Prefer suggesting complete or defer.
    • Review: Read-only. Never mutates. Active tasks grouped by priority, IDs shown.
  5. Save. put_page("ops/tasks.md") after any mutation. Diff-mindset: touch only the affected lines; preserve all other content, including sections this skill doesn't recognize.

Edge Cases

  • First run: page missing → create from template before acting; status: ok, note "initialized".
  • Malformed page: if ops/tasks.md exists but doesn't match the schema, do NOT rewrite it wholesale. Append/edit within it minimally, preserve unknown content verbatim, and flag the malformation in the reply.
  • Retry/duplicate add: if an identical description already exists in active tasks, do not add a duplicate — report the existing task ID instead.
  • Dates: ISO 8601 (YYYY-MM-DD) everywhere. Compute "today"/"next week" with code/clock, never guess.
  • Page identifier: always ops/tasks.md (with extension) in tool calls; this is the single canonical location.
  • Single-writer assumption (concurrency limitation). The task cycle is read-modify-write: get_page("ops/tasks.md") → edit → put_page("ops/tasks.md"). put_page replaces the WHOLE page and has no compare-and-swap, so two mutations that interleave are last-writer-wins: the second put_page overwrites the first's change (a completed task reappears, an added task vanishes), and the t-YYYYMMDD-NN minting can hand the same ordinal to two concurrent adds (duplicate IDs). Serialize task edits — never run parallel task mutations (multiple subagents, concurrent chat turns) against ops/tasks.md. If a mutation might race, re-get_page immediately before put_page and re-derive the next free ordinal from the freshly-read page.
Show full SKILL.md (378 more words)Show less

Output Format

Persisted page format

Each task carries a stable ID so later actions can target it safely:

markdown
# Tasks

## P0 — Urgent
- [ ] <!-- id: t-20260115-01 --> {task description} (due: {date})

## P1 — Today
- [ ] <!-- id: {task-id} --> {task description} (due: {date optional})

## P2 — This Week
- [ ] <!-- id: {task-id} --> {task description} (due: {date optional})

## P3 — Backlog
- [ ] <!-- id: {task-id} --> {task description}

## Deferred
- [ ] <!-- id: {task-id} --> {task description} (deferred until: {date}; reason: {reason})

## Completed
- [x] <!-- id: {task-id} --> {task description} (completed: {date})
User-facing response

After a mutation: one concise line — action, task ID, priority/status, relevant date, saved-or-not. For review: active tasks grouped by priority. Keep replies compact; avoid tables on narrow chat surfaces.

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • The tasks page update returns revision_conflict: re-read ops/tasks.md, re-apply the one task change, and save; never overwrite the whole list from an old read.
  • write_pending (exit 10): report saved: false with the pending receipt and poll gbrain write-request <request_id>; do not tell the user the task is recorded yet.
  • Ambiguous or missing task id: return ambiguous / not_found and ask which task; never mutate the closest match.

Anti-Patterns

Each with its corrective action:

  • Adding a task without priority → default P3 and SAY the default was applied (never silent).
  • Mutating on an ambiguous reference → stop, list candidates with IDs, ask.
  • Completing without a completion date → always stamp (completed: YYYY-MM-DD).
  • Deferring without target date + reason → ask for both first.
  • Removing without explicit confirmation → confirm first; offer complete/defer instead.
  • Overwriting the page wholesale / dropping unknown sections → minimal diff edits only.
  • Using undeclared tools or CLI verbs → get_page/put_page/search/add_timeline_entry only.
  • Fabricating due dates, priorities, or reasons → never invent required fields; ask.
  • Unbounded list growth → when Backlog exceeds ~20 items, prompt a weekly review.
  • Storing tasks outside the brain page → everything lives in ops/tasks.md (searchable).
  • Running parallel task mutations against ops/tasks.md → last-writer-wins whole-page put_page silently loses updates and mints duplicate IDs; serialize edits, re-read immediately before writing.

Design Rationale (failure modes this version closes)

  • Interface drift: an earlier version declared get_page/put_page as tools but instructed CLI verbs in the body — models picked one at random. The declared tools are now the interface; CLI is relegated to a human-equivalent note.
  • Unmatchable tasks: without task IDs, "complete the deploy task" against two similar tasks silently mutated the wrong one. Stable t-YYYYMMDD-NN IDs + fail-closed ambiguity handling fix this.
  • First-run crash: assuming ops/tasks.md exists made a missing page undefined behavior. Create-from-template on first run fixes this.
  • Wholesale overwrite risk: "write updated task list" invited full-page rewrites that drop concurrent edits. Minimal-diff mandate + preserve-unknown-content rule fix this.

© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/daily-task-manager of garrytan/gbrain.

  • SKILL.md
  • routing-eval.jsonl

Open the folder on GitHubat commit fc54831

Compare with similar skills

Daily Task Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Daily Task Manager compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Daily Task Manager this skillgarrytan/gbrain31k—~2.2kAutomated safety check: WarnMIT
Daily Task Managerinbrainfun/inbrain142—~444Automated safety check: PassCustom licence
Feishu TaskOPPO-Mente-Lab/X-OmniClaw265—~482Automated safety check: PassApache-2.0
Task Dependency Patternsyonatangross/orchestkit290—~1.9kAutomated safety check: PassMIT
Clickupsundial-org/awesome-openclaw-skills663—~1.6kAutomated safety check: PassNone
No Nonsense Taskssundial-org/awesome-openclaw-skills663—~835Automated safety check: PassNone

Similar skills

  • Daily Task Manager

    inbrainfun/inbrain

    Task lifecycle management. An agent skill from inbrainfun/inbrain.

    142 GitHub stars~444 tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Feishu Task

    OPPO-Mente-Lab/X-OmniClaw

    Feishu task management operations. An agent skill from OPPO-Mente-Lab/X-OmniClaw.

    265 GitHub stars~482 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Task Dependency Patterns

    yonatangross/orchestkit

    Task Management patterns with TaskCreate, TaskUpdate, TaskGet, TaskList tools.

    290 GitHub stars~1.9k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Clickup

    sundial-org/awesome-openclaw-skills

    Interact with ClickUp project management platform via REST API.

    663 GitHub stars~1.6k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • No Nonsense Tasks

    sundial-org/awesome-openclaw-skills

    No-nonsense task manager using SQLite. An agent skill from sundial-org/awesome-openclaw-skills.

    663 GitHub stars~835 tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • AK Plan

    saltbo/agent-kanban

    Breaks a project into dependency-aware Tasks on an Agent Kanban board through Realmroot Toolbox, previews them for approval, then follows each Task through review.

    488 GitHub stars~903 tokensUpdated 7 days ago
    Agent WorkflowsAuto-check passed

More from garrytan/gbrain

All 47 skills in this repo
  • Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Searches and writes a company-wide knowledge brain through the gbrain CLI, so durable decisions and facts about people, projects and history stay findable beyond one session.

    31k GitHub stars~875 tokensUpdated today
    Auto-check passed
  • Idea Ingest

    garrytan/gbrain

    Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.

    31k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Sends what your notes already know about a topic to Perplexity, so the cited web search reports only what is new, such as entity updates or deal changes.

    31k GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skillpack Check

    garrytan/gbrain

    Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.

    31k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Questions about Daily Task Manager

What does Daily Task Manager do?

Task lifecycle management with stable task IDs. An agent skill from garrytan/gbrain. Daily Task Manager is an agent skill from garrytan/gbrain. Task lifecycle management with stable task IDs.

When should I use Daily Task Manager?

Daily Task Manager fits situations like: tasks that involve Task management; tasks that involve Task breakdown.

How do I install Daily Task Manager in Claude Code?

Run `npx skills add garrytan/gbrain --skill daily-task-manager -a claude-code`. Or copy the skill folder (skills/daily-task-manager in garrytan/gbrain) into .claude/skills/daily-task-manager in your project. Claude Code loads it when a task matches its description.

How do I install Daily Task Manager in Codex?

Run `npx skills add garrytan/gbrain --skill daily-task-manager -a codex`. Or copy the skill folder (skills/daily-task-manager in garrytan/gbrain) into .agents/skills/daily-task-manager in your project. Codex loads it when a task matches its description.

Can I use Daily Task Manager in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill daily-task-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/daily-task-manager, .gemini/skills/daily-task-manager, .github/skills/daily-task-manager and .opencode/skills/daily-task-manager in your project.

What does Daily Task Manager need to run?

SKILL.md names no scripts, command-line tools or credentials: Daily Task Manager is instructions for the agent only.

Does Daily Task Manager access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Daily Task Manager safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Daily Task Manager use?

Daily Task Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Daily Task Manager use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Daily Task Manager?

Skills that share tags, products or a category with Daily Task Manager: Daily Task Manager (inbrainfun/inbrain, 142 stars), Feishu Task (OPPO-Mente-Lab/X-OmniClaw, 265 stars), Task Dependency Patterns (yonatangross/orchestkit, 290 stars) and Clickup (sundial-org/awesome-openclaw-skills, 663 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Daily Task Manager?

garrytan (a GitHub user) maintains it in garrytan/gbrain, which has 30,701 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 9, 2026.

Source: garrytan/gbrain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.