From Kestral
Use when the user asks to plan today, start the workday, prioritize from a Kestral brief, use a morning or daily brief, or invokes /kestral:plan-day or $kestral-plan-day.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kestral:plan-dayThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a daily operating plan from Kestral's current daily brief, relevant project/task state, and the user's calendar for
Create a daily operating plan from Kestral's current daily brief, relevant project/task state, and the user's calendar for today plus the next two business days. The plan should make brief context actionable: what changed, what needs attention, what fits today, and what should be deferred.
The Kestral MCP server must be in this session (/mcp). Call whoami first — if it fails, ask the user to
reconnect or authenticate the Kestral MCP server in their app's MCP settings (a browser should open for sign-in).
Do not call other tools until authenticated.
A calendar MCP/app connector should also be available for best results; if calendar access is missing, ask the user for
fixed commitments before finalizing the plan.
Keep Kestral IDs internal unless the user asks for them. In user-facing output:
slug - title when a slug is available, linked with url when the host can render links.url when the host can render links.Unknown member (id: <rawId>).Unknown <entity type> (id: <rawId>).Expected invocations include:
/kestral:plan-day$kestral-plan-dayDefault order:
get_daily_brief..kestral/preferences.md by checking the current workspace folder and then parent folders. Use the first match
as the source for durable user planning preferences, not as a task or project source of truth.Start data gathering after whoami succeeds. Run independent reads in parallel whenever the host supports it: daily
brief, local preferences, calendar, broad task searches, and profile/member lookup do not need to block one another. Do
not parallelize dependent checks; fetch exact tasks or projects only after the brief or search results identify what
needs verification.
Kestral task searches to run when planning needs verification:
urgent tasks due today or overdueblocked tasksstale commitments or tasks not updated recentlytasks due today or in the next two business daysCalendar event searches should use explicit local-day RFC3339 bounds from start-of-day today through end-of-day of the second business day after today, skipping weekends. If today is a weekend, still include today plus the next two weekdays. If only free/busy access is available, use busy windows but state that event details are unavailable. Do not create or update calendar events unless the user explicitly asks.
Treat .kestral/preferences.md as a local memory file for durable day-planning preferences. Find it by walking upward
from the current workspace folder and using the first match.
.kestral/preferences.md silently when a durable preference is clear. This is local memory maintenance, not a
Kestral write-back..kestral/preferences.md in the same turn before finalizing.
Preference-memory writes are local workspace memory maintenance, not Kestral write-backs; do not skip them because the
user declined or redirected Kestral write-back for the day plan..kestral/ and preferences.md in the current workspace folder if no parent preference file exists and a
preference write is needed. Keep the file short, in Markdown, and update existing bullets instead of appending
duplicates.Use the same task rendering posture throughout: verify only decision-relevant tasks, keep raw IDs internal, and name tasks as slug - title when a slug exists. For projects, documents, and other entities, use readable names/titles plus URLs when useful.
Do not ask for constraints before data gathering. Start by loading the Kestral brief, local preferences, calendar, and broad task searches. Run independent reads in parallel whenever the host supports it.
This keeps the first real user question visible in the conversation instead of relying on transient progress or status messages for input that changes the plan.
Summarize the most important inputs before asking the user to plan:
Keep this short enough to scan. Default to a terse operating picture: critical blockers, today's usable windows, and the top tasks that could change the plan.
Resolve contradictions selectively. Verify live state for tasks or projects only when they are blockers, launch-critical, assigned to the user, due soon, or central to the proposed must-win. Do not deep-inspect every referenced task just because it appears in the brief. When generated Project Brain knowledge conflicts with live task/project fields, label the generated knowledge as stale and prefer the live record for planning.
After the Morning Readout, ask for user constraints before drafting the final plan. Prefer one compact question with concrete fields:
If the user already provided these constraints, do not ask again; restate the assumptions and continue.
If the user has not provided constraints, stop after the readout and this question unless they explicitly ask for a best-effort plan.
If the conversation reveals a new durable planning preference, update .kestral/preferences.md as local memory when the
preference is clear. Do not include this in the Kestral write-back approval plan. Ask before writing only when the
preference is ambiguous, one-off, sensitive, or conflicts with existing memory.
Produce a ranked plan with:
Make the plan realistic. Do not fill every free minute. Reserve buffer when the calendar is fragmented or blocker-heavy.
Invite edits before treating the plan as final. Useful adjustment prompts:
When the user revises constraints, update the ranking and explain only the meaningful changes.
Do not write the plan back automatically. Ask before writing.
Default write-back target:
Daily Plan - YYYY-MM-DD when the plan spans multiple projects.Other valid targets:
.kestral/preferences.md memory updates are not Kestral write-backs and do not require the write-back approval table.When updating .kestral/preferences.md, mention the local file path only if useful. After Kestral writes, return the
Kestral link.
If the daily brief is missing, stale, or obviously incomplete:
If calendar access is missing:
If Kestral task/project search is unavailable:
Use this structure unless the user asks for something else:
## Morning Readout
[brief, blockers, decisions, urgent/stale work, calendar pressure]
## Constraints
[known constraints and assumptions]
## Plan
1. [time block or priority] - [outcome]
2. ...
## Quick Wins
- ...
## Defer
- ...
## Write-Back
[ask whether to save/link the final plan]
npx claudepluginhub kestral-team/kestral-plugins --plugin kestralCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.