Back/Personal/Claude
AdvancedPersonal

How to Build a Personalized Task Manager with Claude Code and Markdown

Build a task system from plain Markdown files, a small metadata schema, and a `/today` command that assembles overdue work, tasks due today, active ideas, and the research digest in one view.

How to Build a Personalized Task Manager with Claude Code and Markdown

Teresa runs `/today`, opens the generated file in Obsidian, and shows how Claude creates and tags individual task files from natural language.

Before you start

What you need

  • A local folder or Obsidian vault
  • Claude Code
  • A small YAML schema for tasks and ideas
  • Optional Trello or research integrations

What you’ll make

A daily Markdown page that collects overdue tasks, work due today, active ideas, and any connected digests from individual task files.

Tools used

Step by step

The workflow

Follow the sequence once, then adapt the prompts, checks, and handoffs to your own setup.

3 steps

Step01

Create a Custom `/today` Slash Command

Create a /today command that reads your task and idea folders, then writes a dated Markdown page. Put overdue tasks first, followed by work due today, active ideas, and optional sections such as the latest research digest. Make the command list malformed files separately so they do not disappear silently.

Example prompt
Create a `/today` command for this vault. Read individual Markdown files under tasks and ideas. Generate today.md with sections for overdue tasks, tasks due today, active ideas, and today's research digest when present. Do not modify source files. At the bottom, list any skipped file and the metadata error that caused it.

This requires setting up a shell alias or a custom script in your terminal's configuration file (`.zshrc`, `.bash_profile`, etc.) to execute your Python script.

Step02

Structure Tasks as Individual Markdown Files

Store each task as its own Markdown file with consistent YAML front matter. Start with type, status, due date, and tags, then keep notes and checklists in the body. Define the schema and allowed tag taxonomy in the project CLAUDE.md so Claude can apply them consistently.

Example prompt
---
type: task
status: open
due_date: 2026-08-05
tags:
  - podcast
  - follow-up
---
# Send Claire a thank-you note

How I AI was a blast.

- [ ] Draft note
- [ ] Send note

Keeping tasks as individual files allows an LLM like [Claude](https://claude.ai) to perform powerful semantic searches across your entire task history, far beyond simple keyword matching.

Step03

Manage Tasks Using Natural Language

Keep Claude Code open on the vault and manage work in natural language. Ask it to create, reschedule, complete, or annotate tasks. It should search for related files first, use the documented schema, and refresh the daily page after material changes.

Example prompt
Create a task to send Claire a thank-you note today. Note that How I AI was a blast. Search for an existing related task first, use the project task schema and tag taxonomy, then refresh today.md.

You can define a taxonomy of tags in a project-specific `claude.md` file to help Claude automatically and consistently categorize new tasks.

What good looks like

  • Running `/today` produces a dated file without changing the source tasks.
  • New tasks receive a due date and consistent tags without manual file editing.
  • Overdue items and work due today are clearly separated.
  • Claude can answer questions across task history using the stored Markdown files.

Build your next product with ChatPRD

Turn an idea into a PRD, user stories, and a plan.

Try ChatPRD free

After the steps

Runbook notes

How to recover when the loop fails and where human judgment helps.

Recover

If it goes sideways

Task files use inconsistent fields
Define the allowed front matter fields and tag taxonomy in the project CLAUDE.md, then ask Claude to normalize existing files before generating the next daily page.
The daily page misses tasks that should appear
Inspect the missing file for an invalid date, status, or type value. Make the command report skipped files and the reason each one was skipped.
Natural language updates create duplicate tasks
Before creating a file, have Claude search open and recently completed tasks for the same subject. Update the existing file when the request is a continuation.

Start shipping
better products.

Join 100,000+ product managers who use ChatPRD to write better docs, align teams faster, and build products users love.

Free to start
No credit card
SOC 2 certified
Enterprise ready