{
  "schemaVersion": "1.0",
  "item": {
    "slug": "context-switcher",
    "name": "context-switcher",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/Taha2053/context-switcher",
    "canonicalUrl": "https://clawhub.ai/Taha2053/context-switcher",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/context-switcher",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=context-switcher",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "switch.sh",
      "creative.md",
      "personal.md",
      "README.md",
      "current-context.json",
      "summarize.sh"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "context-switcher",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T19:37:26.813Z",
      "expiresAt": "2026-05-08T19:37:26.813Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=context-switcher",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=context-switcher",
        "contentDisposition": "attachment; filename=\"context-switcher-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "context-switcher"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/context-switcher"
    },
    "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/context-switcher",
    "agentPageUrl": "https://openagent3.xyz/skills/context-switcher/agent",
    "manifestUrl": "https://openagent3.xyz/skills/context-switcher/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/context-switcher/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Context Switcher",
        "body": "A skill that shifts your entire OpenClaw experience based on the mode of life you're in. Not just a label — each mode reshapes priorities, filters notifications, loads the right memory, and auto-restores when the session ends."
      },
      {
        "title": "External Endpoints",
        "body": "EndpointPurposeData SentNoneThis skill is fully localNothing leaves your machine\n\nThis skill does not call any external APIs. All state is stored locally in ~/.openclaw/skills/context-switcher/."
      },
      {
        "title": "Security & Privacy",
        "body": "No external calls. Zero data is sent outside your machine.\nNo credentials required. No API keys, tokens, or env vars needed.\nLocal state only. Mode state is written to current-context.json on your local filesystem.\nNotification control relies on OpenClaw's built-in notification layer — no third-party access.\nCalendar reading uses OpenClaw's existing calendar integration if connected — this skill does not add new calendar permissions.\n\nTrust Statement: This skill operates entirely on your local machine. No data is transmitted to any external service. Install with confidence."
      },
      {
        "title": "Model Invocation Note",
        "body": "This skill may be invoked autonomously by OpenClaw when a trigger phrase is detected in your messages, or when a calendar event title matches a known mode keyword. You can disable auto-invocation at any time by saying \"turn off context-switcher auto-trigger\"."
      },
      {
        "title": "🧠 Work / Focus",
        "body": "Trigger phrases: \"work mode\", \"focus mode\", \"I need to focus\", \"starting deep work\", \"heads down\", \"switch to work\"\n\nBehavior:\n\nMute all non-urgent notifications (personal messages, social, news)\nSurface today's work tasks, open threads, and meeting schedule from modes/work.md\nLoad work memory: current projects, deadlines, blockers, team context\nRespond concisely — task-oriented, no small talk, bullet points are fine\nProactively flag time conflicts or approaching deadlines if detected\nSet auto-restore timer to next calendar event end time, or user-specified duration\n\nAuto-trigger from calendar: event titles containing \"standup\", \"sprint\", \"review\", \"interview\", \"deadline\", \"sync\", \"planning\""
      },
      {
        "title": "🏠 Personal",
        "body": "Trigger phrases: \"personal mode\", \"personal time\", \"I'm off the clock\", \"home mode\", \"family time\", \"done for the day\"\n\nBehavior:\n\nMute work-related notifications (work Slack, GitHub, work email)\nSurface personal tasks: errands, upcoming events, health goals from modes/personal.md\nLoad personal memory: household tasks, personal goals, important people\nRespond warmly and conversationally — no corporate tone\nDo not proactively surface work items unless explicitly asked\n\nAuto-trigger from calendar: event titles containing \"gym\", \"dinner\", \"family\", \"personal\", \"vacation\", \"appointment\", \"errand\""
      },
      {
        "title": "🎨 Creative",
        "body": "Trigger phrases: \"creative mode\", \"creative session\", \"I'm creating\", \"brainstorm mode\", \"ideation time\", \"let's build\"\n\nBehavior:\n\nMute all notifications — zero interruptions\nSurface creative context from modes/creative.md: active projects, saved ideas, references\nLoad creative memory: current projects, style notes, open creative loops\nRespond expansively — \"yes, and...\" style, encourage tangents and exploration\nNever filter or critique ideas unless explicitly asked\nOffer unexpected connections and lateral thinking prompts\n\nAuto-trigger from calendar: event titles containing \"writing\", \"design\", \"recording\", \"art\", \"brainstorm\", \"creative\", \"draft\""
      },
      {
        "title": "🔕 Do Not Disturb",
        "body": "Trigger phrases: \"DND\", \"do not disturb\", \"going dark\", \"don't bother me\", \"full silence\", \"leave me alone\"\n\nBehavior:\n\nMute ALL notifications without exception\nDo not proactively surface anything\nOnly respond if directly addressed by name or keyword\nLog all incoming messages and tasks silently to snapshots/dnd-log.json for review on exit\nNo auto-restore unless user sets an explicit timer\n\nAuto-trigger from calendar: event titles containing \"blocked\", \"deep work\", \"no meetings\", \"offline\", \"focus block\", \"DND\""
      },
      {
        "title": "Switching Logic",
        "body": "When a context switch is detected (via phrase or calendar):\n\nIdentify target mode from trigger phrase or calendar event title\nSave current state — snapshot active memory focus to snapshots/pre-switch-state.json\nApply mode profile — load the correct modes/*.md, apply notification rules, set response style\nConfirm switch with a brief, mode-appropriate message (see Confirmation Messages below)\nSet auto-restore — use calendar event end time, or ask user for duration if unclear\nOn restore — un-mute, reload previous state, deliver catch-up summary"
      },
      {
        "title": "Confirmation Messages",
        "body": "Short and mode-appropriate:\n\nWork/Focus: \"Focus mode on. Notifications muted. Here's what needs your attention: [task summary]. I'll restore at [time].\"\nPersonal: \"Personal mode on. Work notifications paused. Here's your afternoon: [personal summary].\"\nCreative: \"Creative mode. Silence on. Let's build something. What are we working on?\"\nDND: \"DND on. I'll log everything. See you on the other side.\""
      },
      {
        "title": "Auto-Restore",
        "body": "When a session ends (timer fires or calendar event ends):\n\nUn-mute notifications and restore previous memory context\nDeliver a brief \"while you were away\" summary — messages received, tasks that came in, anything time-sensitive\nAsk if user wants to stay in current mode or switch back"
      },
      {
        "title": "Example Interactions",
        "body": "\"Switch to focus mode for 2 hours\"\n→ Mutes notifications, surfaces work tasks, sets 2hr restore timer\n\n\"Creative mode — working on my novel\"\n→ Loads creative memory, silences everything, responds expansively\n\n\"DND until my next meeting\"\n→ Reads calendar, sets restore to next event start, full silence\n\n\"Personal time, I'm done for the day\"\n→ Pauses work channels, surfaces evening personal tasks\n\n\"What mode am I in?\"\n→ Reports current mode, time active, scheduled restore\n\n\"Exit focus mode early\"\n→ Restores previous state, delivers catch-up summary"
      },
      {
        "title": "File Structure",
        "body": "context-switcher/\n├── SKILL.md                          ← You are here\n├── README.md                         ← Install guide\n├── current-context.json              ← Live mode state tracker\n├── modes/\n│   ├── work.md                       ← Customize your work profile\n│   ├── personal.md                   ← Customize your personal profile\n│   └── creative.md                   ← Customize your creative profile\n├── scripts/\n│   ├── switch.sh                     ← Core switching logic\n│   ├── restore.sh                    ← Auto-restore handler\n│   └── summarize.sh                  ← Catch-up summary generator\n└── snapshots/\n    ├── pre-switch-state.json         ← State saved before each switch\n    └── dnd-log.json                  ← Messages logged during DND"
      },
      {
        "title": "Setup",
        "body": "On first run, OpenClaw will prompt you to:\n\nCustomize each mode profile in modes/*.md — add your actual projects, priorities, and people\nSet default durations per mode (fallback if no calendar event found)\nOptionally connect your calendar for auto-trigger support\n\nYou can re-run setup at any time by saying: \"reconfigure context-switcher\"."
      }
    ],
    "body": "Context Switcher\n\nA skill that shifts your entire OpenClaw experience based on the mode of life you're in. Not just a label — each mode reshapes priorities, filters notifications, loads the right memory, and auto-restores when the session ends.\n\nExternal Endpoints\nEndpoint\tPurpose\tData Sent\nNone\tThis skill is fully local\tNothing leaves your machine\n\nThis skill does not call any external APIs. All state is stored locally in ~/.openclaw/skills/context-switcher/.\n\nSecurity & Privacy\nNo external calls. Zero data is sent outside your machine.\nNo credentials required. No API keys, tokens, or env vars needed.\nLocal state only. Mode state is written to current-context.json on your local filesystem.\nNotification control relies on OpenClaw's built-in notification layer — no third-party access.\nCalendar reading uses OpenClaw's existing calendar integration if connected — this skill does not add new calendar permissions.\n\nTrust Statement: This skill operates entirely on your local machine. No data is transmitted to any external service. Install with confidence.\n\nModel Invocation Note\n\nThis skill may be invoked autonomously by OpenClaw when a trigger phrase is detected in your messages, or when a calendar event title matches a known mode keyword. You can disable auto-invocation at any time by saying \"turn off context-switcher auto-trigger\".\n\nModes\n🧠 Work / Focus\n\nTrigger phrases: \"work mode\", \"focus mode\", \"I need to focus\", \"starting deep work\", \"heads down\", \"switch to work\"\n\nBehavior:\n\nMute all non-urgent notifications (personal messages, social, news)\nSurface today's work tasks, open threads, and meeting schedule from modes/work.md\nLoad work memory: current projects, deadlines, blockers, team context\nRespond concisely — task-oriented, no small talk, bullet points are fine\nProactively flag time conflicts or approaching deadlines if detected\nSet auto-restore timer to next calendar event end time, or user-specified duration\n\nAuto-trigger from calendar: event titles containing \"standup\", \"sprint\", \"review\", \"interview\", \"deadline\", \"sync\", \"planning\"\n\n🏠 Personal\n\nTrigger phrases: \"personal mode\", \"personal time\", \"I'm off the clock\", \"home mode\", \"family time\", \"done for the day\"\n\nBehavior:\n\nMute work-related notifications (work Slack, GitHub, work email)\nSurface personal tasks: errands, upcoming events, health goals from modes/personal.md\nLoad personal memory: household tasks, personal goals, important people\nRespond warmly and conversationally — no corporate tone\nDo not proactively surface work items unless explicitly asked\n\nAuto-trigger from calendar: event titles containing \"gym\", \"dinner\", \"family\", \"personal\", \"vacation\", \"appointment\", \"errand\"\n\n🎨 Creative\n\nTrigger phrases: \"creative mode\", \"creative session\", \"I'm creating\", \"brainstorm mode\", \"ideation time\", \"let's build\"\n\nBehavior:\n\nMute all notifications — zero interruptions\nSurface creative context from modes/creative.md: active projects, saved ideas, references\nLoad creative memory: current projects, style notes, open creative loops\nRespond expansively — \"yes, and...\" style, encourage tangents and exploration\nNever filter or critique ideas unless explicitly asked\nOffer unexpected connections and lateral thinking prompts\n\nAuto-trigger from calendar: event titles containing \"writing\", \"design\", \"recording\", \"art\", \"brainstorm\", \"creative\", \"draft\"\n\n🔕 Do Not Disturb\n\nTrigger phrases: \"DND\", \"do not disturb\", \"going dark\", \"don't bother me\", \"full silence\", \"leave me alone\"\n\nBehavior:\n\nMute ALL notifications without exception\nDo not proactively surface anything\nOnly respond if directly addressed by name or keyword\nLog all incoming messages and tasks silently to snapshots/dnd-log.json for review on exit\nNo auto-restore unless user sets an explicit timer\n\nAuto-trigger from calendar: event titles containing \"blocked\", \"deep work\", \"no meetings\", \"offline\", \"focus block\", \"DND\"\n\nSwitching Logic\n\nWhen a context switch is detected (via phrase or calendar):\n\nIdentify target mode from trigger phrase or calendar event title\nSave current state — snapshot active memory focus to snapshots/pre-switch-state.json\nApply mode profile — load the correct modes/*.md, apply notification rules, set response style\nConfirm switch with a brief, mode-appropriate message (see Confirmation Messages below)\nSet auto-restore — use calendar event end time, or ask user for duration if unclear\nOn restore — un-mute, reload previous state, deliver catch-up summary\nConfirmation Messages\n\nShort and mode-appropriate:\n\nWork/Focus: \"Focus mode on. Notifications muted. Here's what needs your attention: [task summary]. I'll restore at [time].\"\nPersonal: \"Personal mode on. Work notifications paused. Here's your afternoon: [personal summary].\"\nCreative: \"Creative mode. Silence on. Let's build something. What are we working on?\"\nDND: \"DND on. I'll log everything. See you on the other side.\"\nAuto-Restore\n\nWhen a session ends (timer fires or calendar event ends):\n\nUn-mute notifications and restore previous memory context\nDeliver a brief \"while you were away\" summary — messages received, tasks that came in, anything time-sensitive\nAsk if user wants to stay in current mode or switch back\nExample Interactions\n\"Switch to focus mode for 2 hours\"\n→ Mutes notifications, surfaces work tasks, sets 2hr restore timer\n\n\"Creative mode — working on my novel\"\n→ Loads creative memory, silences everything, responds expansively\n\n\"DND until my next meeting\"\n→ Reads calendar, sets restore to next event start, full silence\n\n\"Personal time, I'm done for the day\"\n→ Pauses work channels, surfaces evening personal tasks\n\n\"What mode am I in?\"\n→ Reports current mode, time active, scheduled restore\n\n\"Exit focus mode early\"\n→ Restores previous state, delivers catch-up summary\n\nFile Structure\ncontext-switcher/\n├── SKILL.md                          ← You are here\n├── README.md                         ← Install guide\n├── current-context.json              ← Live mode state tracker\n├── modes/\n│   ├── work.md                       ← Customize your work profile\n│   ├── personal.md                   ← Customize your personal profile\n│   └── creative.md                   ← Customize your creative profile\n├── scripts/\n│   ├── switch.sh                     ← Core switching logic\n│   ├── restore.sh                    ← Auto-restore handler\n│   └── summarize.sh                  ← Catch-up summary generator\n└── snapshots/\n    ├── pre-switch-state.json         ← State saved before each switch\n    └── dnd-log.json                  ← Messages logged during DND\n\nSetup\n\nOn first run, OpenClaw will prompt you to:\n\nCustomize each mode profile in modes/*.md — add your actual projects, priorities, and people\nSet default durations per mode (fallback if no calendar event found)\nOptionally connect your calendar for auto-trigger support\n\nYou can re-run setup at any time by saying: \"reconfigure context-switcher\"."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Taha2053/context-switcher",
    "publisherUrl": "https://clawhub.ai/Taha2053/context-switcher",
    "owner": "Taha2053",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/context-switcher",
    "downloadUrl": "https://openagent3.xyz/downloads/context-switcher",
    "agentUrl": "https://openagent3.xyz/skills/context-switcher/agent",
    "manifestUrl": "https://openagent3.xyz/skills/context-switcher/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/context-switcher/agent.md"
  }
}