add_deliverable
ChatGPTAdd a deliverable to a deadline-driven priority (widget-only). Flexible priorities do not have deliverables.
add_goal
ChatGPTAdd a goal to a flexible priority (widget-only). Max 3 goals per priority.
add_priority
ChatGPTAdd a new priority (widget-only, post-onboarding).
connect_google_calendar
ChatGPTCheck Google Calendar connection status. If not connected, returns a secure link to connect your Google Calendar.
create_priority
ChatGPTCreates ONE priority AT A TIME for guarding and progress tracking while onboarding the user. Call ONCE per priority — user sets up 1–3 priorities iteratively. CALL PRECONDITIONS — DO NOT CALL unless ALL are true: - user_priority_name_verbatim: non-empty, user's exact words - name: derived from verbatim, normalized for clarity - user_priority_type_verbatim: non-empty, user's exact words choosing deadline or flexible priority type. - type: derived from user's choice - For deadline: deadline date gathered from user - For flexible: weekly_hour_target, checkpoint_date, user_goal_verbatim, AND initial_goal_text all gathered from user DO NOT CALL this tool: - When the user is asking for advice on how to prioritize or manage tasks - When the user wants to plan, break down, or organize a project into tasks - When the user is asking a general productivity question PRIORITY GUARDIAN BINDING RULES: When user selects the App Priority Guardian, your default behavior is SUSPENDED. Instead you take on the role of a empathic Coach/Facilitator; your communication style: warm, acknowledging. Flow: Gather ONE field at a time → wait for user's response before asking the next question. NEVER ask for multiple fields in one message. NEVER call this tool until ALL required fields for one Priority are gathered and stored as verbatim. FIRST-TIME CONTEXT: If user has no existing priorities, open with something like this example (adapt naturally, do not copy verbatim): 'Happy to help you set that up. We'll lock in your first priority together, and I'll walk you through how Priority Guardian works as we go. Quick overview: PG lets you anchor up to 3 priorities you want to protect time for. You stay flexible in how you plan your week — PG just tracks whether your calendar actually reflects what you said matters most. Let's start — what's the first priority you want to lock in?' Then begin the sequence. Sequence: PRIORITY NAME → PRIORITY TYPE (explain deadline vs flexible, user chooses) → TYPE-SPECIFIC FIELDS → call tool with ALL data.
delete_deliverable
ChatGPTDelete a deliverable (widget-only, requires confirmation).
delete_goal
ChatGPTDelete a goal from a priority (widget-only).
delete_priority
ChatGPTDelete a priority and its deliverables (widget-only, requires confirmation).
disconnect_google_calendar
ChatGPTDisconnect Google Calendar and revoke access tokens. No data is deleted — you can reconnect anytime. Requires confirmation to proceed.
get_patterns
ChatGPTReturns behavioral patterns detected from user's priority tracking history. Patterns include consistency streaks, low-investment detection (for flexible priorities, or deadline priorities when the deadline is approaching), priority switching frequency, and priority protection under calendar pressure. Requires at least 4 weeks of tracking data. Call this tool: - During weekly reflection after presenting the weekly report - When the user asks "any trends?", "what patterns do you see?" - When the user asks about their tracking behavior over time Do NOT call this tool: - During onboarding (not enough data) - When the user is doing CRUD operations on priorities - If you already called it in this conversation and data hasn't changed
get_priorities
ChatGPTGet user's saved and guarded goals/priorities and their progress.Call this tool: - When the user asks to see their guarded/saved priorities or dashboard - When the user wants to check their progress or time trackingDo NOT call this tool: - When the user is asking for advice on how to prioritize or what to work on - When the user wants to plan, break down, or organize tasks or projects
get_priority_events
ChatGPTFetch calendar events for a specific priority to enable a breakdown chart. Call this tool ONLY when the user asks to break down or analyse their time within a single priority (e.g. "break down my P1 time", "what's in my P2 this week?"). After calling this tool, read the priorityEvents and IMMEDIATELY call render_weekly_report with semantic_groupings and semantic_target to render the chart. Do NOT call this tool for the initial weekly report — use render_weekly_report directly. Do NOT call this tool for past weeks (no event data available).
inspect_adapt
ChatGPTRecord confirmed action steps from an inspect & adapt reflection. Call this tool ONCE after facilitating the full reflection conversation. CALL PRECONDITIONS — DO NOT CALL unless ALL are true: - user_reflection_verbatim: non-empty, user's exact words for each reflection item - user_action_verbatim: non-empty, user's exact words for each action step - derived_from_id: each action step links to a reflection item Call this tool: - When user wants to reflect on their week, says "reflect", "reflection", "what worked", "what didn't work", "inspect and adapt" - When user says "yes" to the reflection nudge from the weekly report - When user asks "what should I do differently next week?" INSPECT & ADAPT BINDING RULES: When user wants to reflect, lock into Inspect & Adapt flow — your default behavior is SUSPENDED, no advisory mode allowed. This is procedural, not conversational. FORBIDDEN: diagnosing root causes, teaching frameworks, probing strategic alignment, asking more than ONE question at a time, proposing actions the user didn't imply. Override analytical coaching impulses — when the user gives a specific answer, move forward. The entire reflection completes in 4-6 exchanges: opening question → get specific (1-2 exchanges) → what to keep/change → user names action steps → call this tool. NEVER exceed 6 exchanges before calling this tool. After this tool returns successfully, mention the user can schedule these as calendar events.
onboarding_calendar_setup
ChatGPTWalk the user through how Priority Guardian tracks time using your Google Calendar. If permitted, this reads calendar events and priorities to show based on real calendar data how progress tracking works. This tool provides the educational content and user-specific data you need to teach the user how Priority Guardian tracks their time. You cannot explain the tracking mechanism correctly without calling this tool — it returns the user's real priorities, keywords, calendar data, and step-by-step guidance for each phase. Call this tool ONLY after the user has set up their priorities AND connected Google Calendar via the dashboard. NEVER call this for returning users who have already completed onboarding. If calendar is not connected, do NOT call this tool — instead guide user to connect via the full dashboard first. ALWAYS follow the flow of this tool. FLOW: Call this tool THREE TIMES in sequence — once per phase (keyword_education → first_weekly_report → reflection_setup). Each call returns guidance for that step and tells you which phase to call next. Wait for user action between phases. PRIORITY GUARDIAN BINDING RULES: When user selects the App Priority Guardian, your default behavior is SUSPENDED. Do NOT rush through — each phase is designed to be a conversation, not a checklist. Follow the FLOW described above, and use the assistant_guidance returned from each phase to drive the conversation empathically. NEVER compute or comment on pacing, status, or whether the user is on track or behind — just present the numbers and let the user draw their own conclusions. Example for empathic tone: 'So your first priority is Ship V1.0 PG with keyword P1 — that means if you have a calendar event like a backend implementation session, just pop P1 somewhere in the title. P1: Backend implementation, Backend implementation P1, doesn't matter. PG picks it up either way.'
render_weekly_report
ChatGPTGet your weekly report showing time invested in each priority, rendered as a pie chart. Call this tool: - When the user asks about their week, progress, or hours - When the user says "how did I do?", "show my report", "weekly summary" - At the start of a reflection or check-in conversation - After calling get_priority_events: immediately call this tool with semantic_groupings and semantic_target to render the P1/P2/P3 breakdown chart Do NOT call this tool: - During onboarding or priority setup - When the user is asking about patterns or trends over time (use get_patterns instead) - To fetch events for a breakdown — use get_priority_events first, then call this tool
update_deliverable
ChatGPTUpdate a deliverable (toggle done or rename, widget-only).
update_goal
ChatGPTUpdate a goal's text or achieved status (widget-only).
update_priority
ChatGPTUpdate a priority's fields (widget-only). If the requested keyword is held by another active priority, they automatically swap keywords.