A hands-off morning planning loop for Claude (Cowork or Claude Code). Every weekday it DMs you your to-dos over Slack, builds a prioritized, time-blocked schedule around your existing calendar, waits...
概览
A hands-off morning planning loop for Claude (Cowork or Claude Code). Every weekday it DMs you your to-dos over Slack, builds a prioritized, time-blocked schedule around your existing calendar, waits for your "book it," and then drops the blocks onto your Google Calendar. It runs as that hand off to each other through your Slack DMs: 1. (daily-planner, ~8:00 AM) — reads your PRIORITIES.md and TASKS.md and DMs you your current to-dos, asking for anything to add, change, or mark done (or "use as-is"). 2. (daily-planner-propose, ~8:40 AM) — reads your reply, updates TASKS.md, prioritizes the day (goal alignment, P1/P2/P3, deadlines, deep-work-in-the-morning, quick wins), reads your calendar for busy ranges, fits the to-dos into the open gaps, and DMs you a proposed time-blocked schedule plus anything that didn't fit. 3. (daily-planner-book, ~9:20 AM) — when you reply "book it," it creates the approved blocks on your calendar (color-coded) without double-booking, and DMs a confirmation.
README
Daily Planner Skill
A hands-off morning planning loop for Claude (Cowork or Claude Code). Every weekday it DMs you your to-dos over Slack, builds a prioritized, time-blocked schedule around your existing calendar, waits for your “book it,” and then drops the blocks onto your Google Calendar.
How it works
It runs as three scheduled Claude skills that hand off to each other through your Slack DMs:
- Ask (
daily-planner, ~8:00 AM) — reads yourPRIORITIES.mdandTASKS.mdand DMs you your current to-dos, asking for anything to add, change, or mark done (or “use as-is”). - Propose (
daily-planner-propose, ~8:40 AM) — reads your reply, updatesTASKS.md, prioritizes the day (goal alignment, P1/P2/P3, deadlines, deep-work-in-the-morning, quick wins), reads your calendar for busy ranges, fits the to-dos into the open gaps, and DMs you a proposed time-blocked schedule plus anything that didn’t fit. - Book (
daily-planner-book, ~9:20 AM) — when you reply “book it,” it creates the approved blocks on your calendar (color-coded) without double-booking, and DMs a confirmation.
You stay in control: nothing touches your calendar until you approve the proposal.
What you need
- Claude with scheduled tasks — Cowork or Claude Code.
- A Slack connection (the default chat channel). Used to DM you and read your replies.
- A Google Calendar connection. Used to read busy ranges and create the booked blocks.
- Two markdown files you maintain:
PRIORITIES.md(your goals + time-allocation target) andTASKS.md(your running list). Templates are intemplates/.
Using different tools? See Swapping connectors. The flow only needs a chat tool that can send/read DMs and a calendar tool that can list and create events.
Setup
1. Get the files
git clone https://github.com/businessbarista/daily-planner-skill.git
cd daily-planner-skill
2. Create your planning files
Copy the templates somewhere stable (this is your {{TASKS_DIR}}), then fill them in:
mkdir -p "$HOME/Planner"
cp templates/PRIORITIES.md templates/TASKS.md "$HOME/Planner/"
3. Configure the skills
Open config.example.md and note your three values:
| Placeholder | What it is | Example |
|---|---|---|
{{SLACK_USER_ID}} |
Your own Slack member ID (so DMs reach you) | U08XXXXXXXX |
{{TASKS_DIR}} |
Folder holding PRIORITIES.md and TASKS.md |
/Users/you/Planner |
{{TIMEZONE}} |
Your IANA timezone | America/New_York |
Replace those placeholders in all three files under skills/. On macOS/Linux:
SLACK_USER_ID="U08XXXXXXXX"
TASKS_DIR="$HOME/Planner"
TIMEZONE="America/New_York"
for f in skills/*/SKILL.md; do
sed -i.bak \
-e "s|{{SLACK_USER_ID}}|$SLACK_USER_ID|g" \
-e "s|{{TASKS_DIR}}|$TASKS_DIR|g" \
-e "s|{{TIMEZONE}}|$TIMEZONE|g" "$f" && rm "$f.bak"
done
4. Install the skills
Copy the three skill folders into your Claude scheduled-tasks directory (commonly
~/Documents/Claude/Scheduled):
./scripts/install.sh "$HOME/Documents/Claude/Scheduled"
5. Set up the schedule
Register three weekday schedules. The simplest way is to ask Claude in chat, e.g.:
“Create a scheduled task that runs the
daily-plannerskill at0 8 * * 1-5.”
…and likewise for daily-planner-propose at 40 8 * * 1-5 and daily-planner-book at
20 9 * * 1-5.
| Step | Skill | Cron | Approx time |
|---|---|---|---|
| 1 | daily-planner |
0 8 * * 1-5 |
8:00 AM |
| 2 | daily-planner-propose |
40 8 * * 1-5 |
8:40 AM |
| 3 | daily-planner-book |
20 9 * * 1-5 |
9:20 AM |
Leave enough time between steps to actually reply in Slack. Adjust the times to fit your morning.
Writing tasks
TASKS.md uses light tags so the planner can size and prioritize blocks:
- Prep Q2 board deck [P1] [~2h] [due: 2026-09-25] [deep]
- Review renewal terms [P1] [~45m]
- Record podcast intro [P2] [content]
| Tag | Meaning |
|---|---|
[P1] [P2] [P3] |
Priority (P1 = highest) |
[~30m] [~2h] |
Rough duration — sizes the calendar block |
[due: YYYY-MM-DD] |
Deadline |
[deep] |
Needs focus — protect a long, ideally morning block |
[learning] [content] [marketing] [ai] |
Category — maps to your time-allocation target |
Your time-allocation target lives in PRIORITIES.md (default: an even 25/25/25/25 split). The
planner notes each day how well it lines up with that mix.
Swapping connectors
The skills are written for Slack + Google Calendar, but the logic is tool-agnostic. Each SKILL.md
has a SWAP NOTES comment at the bottom:
- Chat tool — replace
slack_send_message/slack_read_channelwith your chat tool’s send/read calls (Microsoft Teams, Discord, etc.), and set{{SLACK_USER_ID}}to whatever channel/DM identifier that tool expects. - Calendar tool — Step 2 lists events and Step 3 creates them. Swap in any calendar MCP that
can do both for your primary calendar. The color-coding (
colorId) is Google-specific; drop or adapt it elsewhere.
Repository layout
daily-planner-skill/
├── README.md
├── LICENSE # MIT
├── config.example.md # the 3 values to set + the cron schedule
├── .gitignore
├── docs/
│ └── demo.gif # the flow, end to end
├── skills/
│ ├── daily-planner/SKILL.md # Step 1 — ask
│ ├── daily-planner-propose/SKILL.md # Step 2 — propose
│ └── daily-planner-book/SKILL.md # Step 3 — book
├── templates/
│ ├── PRIORITIES.md # goals + time-allocation target
│ └── TASKS.md # running list + tag conventions
└── scripts/
└── install.sh # copy skills into your scheduled-tasks dir
License
MIT — free to use, modify, and share.
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add businessbarista/daily-planner-skill