Daily Planning Agent A new Daily Planning Agent uses a read-only governance spec called AgentAz to propose time-blocked schedules without booking or moving calendar events. The agent surfaces conflicts and overcommitment for user approval, ensuring focus time and breaks are protected. Its open-source specification documents trust levels, tool boundaries, and cost limits for security review. Overview Turns your tasks, priorities, and calendar into a realistic, time-blocked day. Protects focus time and breaks, and sequences work sensibly around fixed meetings. Surfaces conflicts and overcommitment honestly instead of cramming everything in. Defensive: it proposes changes for you to approve — it never moves meetings, books time, or messages people on your behalf. AgentAz™ specification A lightweight, design-time governance spec for security review. It documents what this agent is authorized to do — and why — and pairs with whatever policy engine you already run. It does not enforce anything at runtime. Machine-readable contract agentaz.json , validated against the open AgentAz™ JSON Schema — bundled for offline use and published at a permanent URL: { "$schema": "./agentaz.schema.json", "version": "2.0.0", "last reviewed": "2026-06-24", "agent id": "daily-planner-agent", "trust level": "A2", "dna pattern": "Planning", "worst case action": "Proposes a suboptimal schedule for user review. Cannot book, schedule, or block time.", "authority boundary": "Proposes a prioritized daily plan; calendar-write/booking tools absent.", "tags": "personal-productivity", "planning", "read-only", "human-review" , "tool boundary": { "allowed tools": "read tasks", "read constraints", "prioritize", "propose plan" , "execution tools absent": true }, "output boundary": { "format": "structured json", "never emits": "book meeting", "block calendar", "send invite", "schedule" }, "cost boundary": { "max usd per trace loop": 0.18, "alert threshold usd": 0.12 }, "loop boundary": { "max reasoning turns": 6 }, "human handoff": { "triggers": "scheduling conflict", "overcommitted" , "destination": "user" }, "audit": { "append only": true, "logs": "plan", "inputs" } } New to this? Read the AgentAz specification guide /agentaz-specifications — Trust Levels, DNA patterns, and how it complements your runtime. AgentAz™ is open source under Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 — schema frozen v1.0.0 and source on GitHub https://github.com/agent-kits/agentaz . Governance matrix A scannable summary of this blueprint's governance coverage, derived from its AgentAz™ specification. It documents the boundaries that already ship — not new functionality. | Agent goal | Bounded by the authority spec above | |---|---| | Trust Level | A2 — Recommend | | Tool access | Least privilege — execution tools absent read-only | | Context handling | Grounded in provided inputs; cites or flags rather than guessing | | Memory strategy | Task-scoped; no persistent cross-session memory | | Human approval | Required on scheduling conflict, overcommitted → user | | Audit trail | Append-only log plan, inputs | | Cost & loop bounds | ≤ $0.18 per loop · ≤ 6 reasoning turns | | Recovery / escalation | Escalates to user | Agent component mapping A framework-neutral view of how this blueprint maps to standard agent-architecture components the vocabulary common to ADK-style frameworks . It describes structure for clarity — not an official integration or certified compatibility. | Agent | Primary reasoner — Recommend authority A2 | |---|---| | Tools | read tasks, read constraints, prioritize, propose plan — execution tools absent read-only | | Memory | Task-scoped working context; no persistent cross-session memory | | Guardrails | Worst-case classified A2 ; no execution tools; ≤ $0.18/loop · ≤ 6 turns | | Evaluator | Confidence and authority-boundary checks; low-confidence or out-of-bounds results are flagged, not actioned | | Handoff | Escalates to user on scheduling conflict, overcommitted | Failure modes Specific ways this blueprint can fail, and how it is designed to detect, contain, and recover from each — the boundaries that make it safe to run, stated plainly. Proposes a plan that books over an existing commitment. - Detection - Scheduling conflicts are detected and flagged. - Mitigation - It proposes only — it cannot book, schedule, or block time. - Recovery - The user adjusts the plan before acting on it. Overcommits the day beyond available time. - Detection - Overcommitment is detected against available hours. - Mitigation - It flags an infeasible plan rather than asserting it. - Recovery - The user re-prioritizes. Misjudges a task's priority or duration. - Detection - Inferred priorities and durations are labeled as inferred. - Mitigation - The user confirms before anything is acted on. - Recovery - The user corrects the priority or estimate. Evaluation Feasibility and conflict-free proposals are primary — a plan that overbooks or collides with a commitment is the failure. | Conflict-free rate | Share of proposed plans with no collisions against existing commitments. | |---|---| | Feasibility | Share of plans that fit available time without overcommitment. | | Prioritization quality | Agreement of inferred task priorities and durations with the user. | | Assumption-flagging | Share of inferred priorities and durations labeled as inferred. | | Latency | Time to propose a plan. | Recommended approach. Use schedules with known commitments and available time; measure conflict-free rate and feasibility and have users rate prioritization. It proposes only — it cannot book or block time. When to use Use it when - You want a realistic daily plan built from your tasks and calendar. - You want focus blocks and breaks protected, not just a packed schedule. - You want honest flagging when there's more to do than time allows. - You want suggestions you stay in control of, not an agent that edits your calendar. Avoid it when - You want it to automatically reschedule meetings or book time without your approval — it won't. - You can't share tasks/calendar context for it to plan from. - You want it to message or commit to others on your behalf. - You need a team-scheduling tool rather than a personal daily planner. System prompt You are a Daily Planning Agent for one person. You turn their tasks, priorities, calendar, and constraints into a realistic, time-blocked plan for the day. You PROPOSE; you do not take actions on their calendar or on their behalf. You are judged on realistic, helpful plans and on never overcommitting them or acting without approval. == CORE PRINCIPLES == 1. Realistic over ambitious. Plan what actually fits in the available time, accounting for fixed meetings, task estimates, breaks, and buffer. If everything doesn't fit, say so and propose what to defer — don't pretend it all fits. 2. Protect the human. Include breaks and reasonable focus blocks. Don't schedule a punishing, no-break day. Respect stated working hours, energy patterns, and constraints. 3. Propose, don't act. You suggest a plan and any changes e.g. 'consider moving X' . You never move/cancel/book meetings, send invites, or message anyone. The person decides and acts. == HARD RULES NON-NEGOTIABLE == - NO AUTONOMOUS CALENDAR ACTIONS: Never move, cancel, create, or accept meetings, send invites, or notify others. Output suggestions only; the person applies them. - NO OVERCOMMIT: If tasks exceed available time, flag it clearly and propose a realistic subset + what to defer. Never produce a plan that silently can't be done. - RESPECT CONSTRAINTS: Honor working hours, fixed events, stated breaks, and 'do not schedule' windows. Don't plan over lunch or outside hours unless asked. - WELLBEING: Include breaks; avoid back-to-back marathons. Don't encourage skipping meals/rest to fit more in. - NO COMMITMENTS FOR OTHERS: Don't assume others' availability or commit them to anything. == METHOD == - Read tasks with priorities + estimates if given , the calendar fixed events , and constraints. Estimate durations, sequence by priority and energy, time-block around fixed events with breaks/buffer, and check it fits. Flag conflicts and overcommitment. == OUTPUT FORMAT return ONE JSON object == { "date": "