{
  "schemaVersion": "1.0",
  "item": {
    "slug": "weekly-planner",
    "name": "Weekly Planner",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/tristanmanchester/weekly-planner",
    "canonicalUrl": "https://clawhub.ai/tristanmanchester/weekly-planner",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/weekly-planner",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=weekly-planner",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "assets/planner_template/runbook.toml",
      "assets/planner_template/config.toml",
      "assets/planner_template/inbox.toml",
      "assets/planner_template/scripts/rollover_week.py",
      "assets/planner_template/scripts/validate.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/weekly-planner"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/weekly-planner",
    "agentPageUrl": "https://openagent3.xyz/skills/weekly-planner/agent",
    "manifestUrl": "https://openagent3.xyz/skills/weekly-planner/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/weekly-planner/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Weekly Planner",
        "body": "A lightweight, file-based weekly planner that lives in a workspace folder as plain text (.toml). It supports:\n\nInbox capture (planner/inbox.toml) for fast, append-only task capture\nWeekly plans (planner/weeks/YYYY-Www.toml) with:\n\nscheduled time blocks (can be published to a calendar)\nunscheduled weekly bits / daily bits\nan end-of-week review\n\n\nA runbook (planner/runbook.toml) of recurring blocks copied into each new week\nOptional mode cards (planner/modes/*.md) describing how the user wants to work in different contexts"
      },
      {
        "title": "When to use this skill",
        "body": "Use this skill when the user asks for any of the following:\n\n“Plan my week”, “time-block my week”, “create a weekly plan”, “make a schedule for next week”\n“Capture this in my inbox”, “add this to my planner”, “triage my tasks”\n“Create a new week file”, “roll over last week’s unfinished tasks”\n“Publish/sync my planner to my calendar”, “export an .ics for my week”\n“Do an end-of-week review”\n\nDon’t use this skill for full project-management systems (Jira/Linear/etc.) unless the user explicitly wants that."
      },
      {
        "title": "1) Ensure the planner folder exists",
        "body": "Look for a planner/ folder in the current workspace that contains planner/config.toml.\n\nIf it doesn’t exist, initialise a fresh planner skeleton (safe: refuses to overwrite existing folders):\n\npython3 {baseDir}/scripts/init_planner.py --target ./planner\n\nThis creates:\n\nplanner/config.toml\nplanner/inbox.toml\nplanner/runbook.toml\nplanner/weeks/WEEK_TEMPLATE.toml\nplanner/modes/*.md\nplanner/scripts/new_week.py\nplanner/scripts/rollover_week.py\nplanner/scripts/validate.py\nplanner/scripts/sync_week.py (Google Calendar sync via gog)\nplanner/scripts/export_ics.py (calendar export without Google tooling)\nplanner/logs/"
      },
      {
        "title": "2) Tell the user what to customise",
        "body": "Ask the user to review planner/config.toml and customise:\n\ntimezone (IANA tz name, e.g. Europe/Berlin)\nmodes.* (their mode names + labels)\n(Optional) calendar publish settings (see “Publish to calendar” below)"
      },
      {
        "title": "3) Create (or roll over) a week",
        "body": "Create a new week file:\n\npython3 planner/scripts/new_week.py --week-start 2026-03-02\n\nOr roll over unfinished tasks from the most recent week:\n\npython3 planner/scripts/rollover_week.py --next"
      },
      {
        "title": "4) Validate before “publishing” anything",
        "body": "Run validation after edits (especially before calendar publish):\n\npython3 planner/scripts/validate.py --week planner/weeks/2026-W10.toml"
      },
      {
        "title": "A) Inbox capture",
        "body": "Goal: capture tasks with minimal friction.\n\nRules:\n\nTreat planner/inbox.toml as append-only.\nAdd one [[items]] block per task.\nKeep each entry small; use notes only when it helps.\n\nWhen the user says “add this to my inbox”, append a new item like:\n\n[[items]]\ncreated = \"YYYY-MM-DDTHH:MM:SS+01:00\"\ntext = \"(task description)\"\nmode = \"ops\"               # any key from config.toml [modes.*]\nest_minutes = 30\npriority = \"medium\"        # low|medium|high\nstatus = \"todo\"            # todo|doing|done|dropped\nnotes = \"\"\n\nIf the user doesn’t specify mode, choose a reasonable default (usually their “ops/admin” mode)."
      },
      {
        "title": "B) Triage inbox → weekly plan",
        "body": "Goal: turn raw inbox items into (a) 2–3 outcomes, (b) a small set of scheduled blocks, and (c) a manageable list of unscheduled bits.\n\nProcess:\n\nRead planner/inbox.toml.\nAsk the user for:\n\nhard constraints (deadlines, appointments, travel)\n2–3 outcomes they care about this week\nanything non-negotiable (exercise, family time, admin)\n\n\nConvert inbox items into one of:\n\ntime blocks (must happen at a specific time)\nweekly bits (do sometime this week)\ndaily bits (do sometime on a specific day)\nor mark as dropped if it’s not happening this week\n\nKeep the plan intentionally small:\n\n2–5 focus tasks\nA few high-leverage time blocks\nA short “bits” list the user can realistically finish"
      },
      {
        "title": "C) Create a new week file",
        "body": "Use when the user wants to start planning a new week.\n\nDetermine week_start (a Monday date in YYYY-MM-DD).\n\n\nGenerate the file (copies runbook blocks into [[time_blocks]]):\n\npython3 planner/scripts/new_week.py --week-start 2026-03-02\n\nThen edit planner/weeks/2026-W10.toml:\n\nFill [goals] outcomes (2–3 crisp outcomes)\nAdd focus_tasks (2–5 items max)\nAdd / adjust [[time_blocks]] (scheduled blocks)\nAdd [[weekly_bits]] and [[daily_bits]] for unscheduled tasks"
      },
      {
        "title": "D) Roll over unfinished work (optional)",
        "body": "Use when the user has an existing week file and wants to start the next week without retyping.\n\nTypical flow:\n\npython3 planner/scripts/rollover_week.py --next\n\nThis:\n\nfinds the most recent week in planner/weeks/\ncreates the next week (week_start + 7 days)\ncopies runbook blocks into the new week’s [[time_blocks]]\ncarries over unfinished weekly_bits and daily_bits"
      },
      {
        "title": "E) Publish time blocks to a calendar (optional)",
        "body": "Only [[time_blocks]] are published.\n\nTwo safe options:\n\nOption 1: Google Calendar sync (direct, destructive)\n\nThis workflow is destructive by design — it updates/deletes managed events.\n\nSafety rules (must follow):\n\nOnly ever sync to a dedicated planner calendar (never the user’s main calendar).\nAlways run dry-run first.\nOnly run with --apply if BOTH are true:\n\nThe user explicitly asked you to apply changes.\ncalendar.write_enabled = true in planner/config.toml.\n\nRequirements:\n\ngog CLI installed + authenticated (steipete/gogcli)\n\nDry-run:\n\npython3 planner/scripts/sync_week.py --week planner/weeks/2026-W10.toml\n\nApply:\n\npython3 planner/scripts/sync_week.py --week planner/weeks/2026-W10.toml --apply\n\nOption 2: Export an .ics file (safe, non-destructive)\n\nWorks without Google tooling.\n\npython3 planner/scripts/export_ics.py --week planner/weeks/2026-W10.toml\n\nThis writes planner/weeks/2026-W10.ics, which the user can import into most calendar apps."
      },
      {
        "title": "F) End-of-week review",
        "body": "At the end of the week, help the user fill:\n\nreview.score (0–10)\nreview.wins (1–5 bullets)\nreview.fails (1–5 bullets)\nreview.what_i_learned (short paragraph)\nreview.next_week_focus (1–2 sentences)"
      },
      {
        "title": "Quality gates",
        "body": "Before publishing/syncing:\n\nRun validation:\n\npython3 planner/scripts/validate.py --week planner/weeks/2026-W10.toml\n\nFix all errors.\nTreat warnings as “strong suggestions” (overlaps, out-of-bounds blocks, unknown modes)."
      },
      {
        "title": "References",
        "body": "File formats and schema: references/PLANNER_SCHEMA.md\nCalendar publish & safety model: references/CALENDAR_SYNC.md"
      },
      {
        "title": "“Python can’t import tomllib” / “No module named tomllib”",
        "body": "You’re on Python < 3.11.\n\nFix: install Python 3.11+ and re-run."
      },
      {
        "title": "“gog: command not found”",
        "body": "Google Calendar sync requires the gog CLI.\n\nFix: either install gogcli (see references) or use the .ics export instead."
      },
      {
        "title": "“Refusing to apply changes: calendar.write_enabled is false”",
        "body": "Intentional safety latch.\n\nFix: have the user set calendar.write_enabled = true once they’re confident in the dry-run output."
      }
    ],
    "body": "Weekly Planner\n\nA lightweight, file-based weekly planner that lives in a workspace folder as plain text (.toml). It supports:\n\nInbox capture (planner/inbox.toml) for fast, append-only task capture\nWeekly plans (planner/weeks/YYYY-Www.toml) with:\nscheduled time blocks (can be published to a calendar)\nunscheduled weekly bits / daily bits\nan end-of-week review\nA runbook (planner/runbook.toml) of recurring blocks copied into each new week\nOptional mode cards (planner/modes/*.md) describing how the user wants to work in different contexts\nWhen to use this skill\n\nUse this skill when the user asks for any of the following:\n\n“Plan my week”, “time-block my week”, “create a weekly plan”, “make a schedule for next week”\n“Capture this in my inbox”, “add this to my planner”, “triage my tasks”\n“Create a new week file”, “roll over last week’s unfinished tasks”\n“Publish/sync my planner to my calendar”, “export an .ics for my week”\n“Do an end-of-week review”\n\nDon’t use this skill for full project-management systems (Jira/Linear/etc.) unless the user explicitly wants that.\n\nQuick start\n1) Ensure the planner folder exists\n\nLook for a planner/ folder in the current workspace that contains planner/config.toml.\n\nIf it doesn’t exist, initialise a fresh planner skeleton (safe: refuses to overwrite existing folders):\n\npython3 {baseDir}/scripts/init_planner.py --target ./planner\n\n\nThis creates:\n\nplanner/config.toml\nplanner/inbox.toml\nplanner/runbook.toml\nplanner/weeks/WEEK_TEMPLATE.toml\nplanner/modes/*.md\nplanner/scripts/new_week.py\nplanner/scripts/rollover_week.py\nplanner/scripts/validate.py\nplanner/scripts/sync_week.py (Google Calendar sync via gog)\nplanner/scripts/export_ics.py (calendar export without Google tooling)\nplanner/logs/\n2) Tell the user what to customise\n\nAsk the user to review planner/config.toml and customise:\n\ntimezone (IANA tz name, e.g. Europe/Berlin)\nmodes.* (their mode names + labels)\n(Optional) calendar publish settings (see “Publish to calendar” below)\n3) Create (or roll over) a week\n\nCreate a new week file:\n\npython3 planner/scripts/new_week.py --week-start 2026-03-02\n\n\nOr roll over unfinished tasks from the most recent week:\n\npython3 planner/scripts/rollover_week.py --next\n\n4) Validate before “publishing” anything\n\nRun validation after edits (especially before calendar publish):\n\npython3 planner/scripts/validate.py --week planner/weeks/2026-W10.toml\n\nCore workflows\nA) Inbox capture\n\nGoal: capture tasks with minimal friction.\n\nRules:\n\nTreat planner/inbox.toml as append-only.\nAdd one [[items]] block per task.\nKeep each entry small; use notes only when it helps.\n\nWhen the user says “add this to my inbox”, append a new item like:\n\n[[items]]\ncreated = \"YYYY-MM-DDTHH:MM:SS+01:00\"\ntext = \"(task description)\"\nmode = \"ops\"               # any key from config.toml [modes.*]\nest_minutes = 30\npriority = \"medium\"        # low|medium|high\nstatus = \"todo\"            # todo|doing|done|dropped\nnotes = \"\"\n\n\nIf the user doesn’t specify mode, choose a reasonable default (usually their “ops/admin” mode).\n\nB) Triage inbox → weekly plan\n\nGoal: turn raw inbox items into (a) 2–3 outcomes, (b) a small set of scheduled blocks, and (c) a manageable list of unscheduled bits.\n\nProcess:\n\nRead planner/inbox.toml.\nAsk the user for:\nhard constraints (deadlines, appointments, travel)\n2–3 outcomes they care about this week\nanything non-negotiable (exercise, family time, admin)\nConvert inbox items into one of:\ntime blocks (must happen at a specific time)\nweekly bits (do sometime this week)\ndaily bits (do sometime on a specific day)\nor mark as dropped if it’s not happening this week\n\nKeep the plan intentionally small:\n\n2–5 focus tasks\nA few high-leverage time blocks\nA short “bits” list the user can realistically finish\nC) Create a new week file\n\nUse when the user wants to start planning a new week.\n\nDetermine week_start (a Monday date in YYYY-MM-DD).\n\nGenerate the file (copies runbook blocks into [[time_blocks]]):\n\npython3 planner/scripts/new_week.py --week-start 2026-03-02\n\nThen edit planner/weeks/2026-W10.toml:\nFill [goals] outcomes (2–3 crisp outcomes)\nAdd focus_tasks (2–5 items max)\nAdd / adjust [[time_blocks]] (scheduled blocks)\nAdd [[weekly_bits]] and [[daily_bits]] for unscheduled tasks\nD) Roll over unfinished work (optional)\n\nUse when the user has an existing week file and wants to start the next week without retyping.\n\nTypical flow:\n\npython3 planner/scripts/rollover_week.py --next\n\n\nThis:\n\nfinds the most recent week in planner/weeks/\ncreates the next week (week_start + 7 days)\ncopies runbook blocks into the new week’s [[time_blocks]]\ncarries over unfinished weekly_bits and daily_bits\nE) Publish time blocks to a calendar (optional)\n\nOnly [[time_blocks]] are published.\n\nTwo safe options:\n\nOption 1: Google Calendar sync (direct, destructive)\n\nThis workflow is destructive by design — it updates/deletes managed events.\n\nSafety rules (must follow):\n\nOnly ever sync to a dedicated planner calendar (never the user’s main calendar).\nAlways run dry-run first.\nOnly run with --apply if BOTH are true:\nThe user explicitly asked you to apply changes.\ncalendar.write_enabled = true in planner/config.toml.\n\nRequirements:\n\ngog CLI installed + authenticated (steipete/gogcli)\n\nDry-run:\n\npython3 planner/scripts/sync_week.py --week planner/weeks/2026-W10.toml\n\n\nApply:\n\npython3 planner/scripts/sync_week.py --week planner/weeks/2026-W10.toml --apply\n\nOption 2: Export an .ics file (safe, non-destructive)\n\nWorks without Google tooling.\n\npython3 planner/scripts/export_ics.py --week planner/weeks/2026-W10.toml\n\n\nThis writes planner/weeks/2026-W10.ics, which the user can import into most calendar apps.\n\nF) End-of-week review\n\nAt the end of the week, help the user fill:\n\nreview.score (0–10)\nreview.wins (1–5 bullets)\nreview.fails (1–5 bullets)\nreview.what_i_learned (short paragraph)\nreview.next_week_focus (1–2 sentences)\nQuality gates\n\nBefore publishing/syncing:\n\nRun validation:\npython3 planner/scripts/validate.py --week planner/weeks/2026-W10.toml\n\nFix all errors.\nTreat warnings as “strong suggestions” (overlaps, out-of-bounds blocks, unknown modes).\nReferences\nFile formats and schema: references/PLANNER_SCHEMA.md\nCalendar publish & safety model: references/CALENDAR_SYNC.md\nTroubleshooting\n“Python can’t import tomllib” / “No module named tomllib”\n\nYou’re on Python < 3.11.\n\nFix: install Python 3.11+ and re-run.\n\n“gog: command not found”\n\nGoogle Calendar sync requires the gog CLI.\n\nFix: either install gogcli (see references) or use the .ics export instead.\n\n“Refusing to apply changes: calendar.write_enabled is false”\n\nIntentional safety latch.\n\nFix: have the user set calendar.write_enabled = true once they’re confident in the dry-run output."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tristanmanchester/weekly-planner",
    "publisherUrl": "https://clawhub.ai/tristanmanchester/weekly-planner",
    "owner": "tristanmanchester",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/weekly-planner",
    "downloadUrl": "https://openagent3.xyz/downloads/weekly-planner",
    "agentUrl": "https://openagent3.xyz/skills/weekly-planner/agent",
    "manifestUrl": "https://openagent3.xyz/skills/weekly-planner/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/weekly-planner/agent.md"
  }
}