context-switcher

Switches OpenClaw between life modes (Work/Focus, Personal, Creative, Do Not Disturb). Triggered by natural language or calendar events. Each mode reshapes n...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 398 · 2 current installs · 2 all-time installs
byAlmouthana Taha Khalfallah@Taha2053
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (mode switching, notification/memory shaping) matches what the scripts do: they read mode profiles (modes/*.md), write a local current-context.json and snapshots, and produce summaries. There are no unrelated env vars, binaries, or network accesses requested.
Instruction Scope
SKILL.md and the scripts stay within the stated purpose and operate on local files. One important caveat: actual muting of notifications and calendar-trigger registration are not implemented in the scripts — the skill relies on OpenClaw platform behavior to honor current-context.json and to route calendar/trigger events. That dependency is expected but worth verifying on your installation (the skill does not itself add calendar permissions or a background daemon). The DND behavior logs incoming messages to snapshots/dnd-log.json; the scripts assume OpenClaw or other parts of the agent will supply those messages.
Install Mechanism
No install spec or remote downloads; this is instruction-plus-local-scripts only. No archives or external package installs are fetched.
Credentials
No environment variables, credentials, or external tokens are requested. The scripts access only files within the skill directory (modes/, current-context.json, snapshots/).
Persistence & Privilege
Skill is not forced always-on. It writes only to its own skill directory (creating snapshots and logs there). It does not modify other skills or system-wide settings. Auto-invocation is allowed by default but that is the platform norm; you can disable auto-triggering per the SKILL.md.
Assessment
This skill appears to be what it claims: local-only mode switching implemented via simple shell scripts and markdown profiles. Before installing, confirm these points: (1) OpenClaw on your system will actually honor current-context.json (notification muting and calendar triggers are platform features the skill expects). (2) The skill will store potentially sensitive items (mode profiles, pre-switch snapshots, and a DND log) under ~/.openclaw/skills/context-switcher/ — review and set filesystem permissions accordingly and avoid putting secrets in modes/*.md. (3) Auto-triggering from calendar requires OpenClaw’s calendar integration: ensure you understand what calendar permissions the platform already grants. If you want tighter control, disable auto-triggering or inspect the mode files and snapshots regularly. No network calls or credentials were found in the code; if you see later updates that add downloads, environment variables, or external endpoints, re-evaluate before installing.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk9780q0b8162ty7trw8k1d5n6x81g2nx

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🎯 Clawdis

SKILL.md

Context Switcher

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.


External Endpoints

EndpointPurposeData Sent
NoneThis skill is fully localNothing leaves your machine

This skill does not call any external APIs. All state is stored locally in ~/.openclaw/skills/context-switcher/.


Security & Privacy

  • No external calls. Zero data is sent outside your machine.
  • No credentials required. No API keys, tokens, or env vars needed.
  • Local state only. Mode state is written to current-context.json on your local filesystem.
  • Notification control relies on OpenClaw's built-in notification layer — no third-party access.
  • Calendar reading uses OpenClaw's existing calendar integration if connected — this skill does not add new calendar permissions.

Trust Statement: This skill operates entirely on your local machine. No data is transmitted to any external service. Install with confidence.


Model Invocation Note

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".


Modes

🧠 Work / Focus

Trigger phrases: "work mode", "focus mode", "I need to focus", "starting deep work", "heads down", "switch to work"

Behavior:

  • Mute all non-urgent notifications (personal messages, social, news)
  • Surface today's work tasks, open threads, and meeting schedule from modes/work.md
  • Load work memory: current projects, deadlines, blockers, team context
  • Respond concisely — task-oriented, no small talk, bullet points are fine
  • Proactively flag time conflicts or approaching deadlines if detected
  • Set auto-restore timer to next calendar event end time, or user-specified duration

Auto-trigger from calendar: event titles containing "standup", "sprint", "review", "interview", "deadline", "sync", "planning"


🏠 Personal

Trigger phrases: "personal mode", "personal time", "I'm off the clock", "home mode", "family time", "done for the day"

Behavior:

  • Mute work-related notifications (work Slack, GitHub, work email)
  • Surface personal tasks: errands, upcoming events, health goals from modes/personal.md
  • Load personal memory: household tasks, personal goals, important people
  • Respond warmly and conversationally — no corporate tone
  • Do not proactively surface work items unless explicitly asked

Auto-trigger from calendar: event titles containing "gym", "dinner", "family", "personal", "vacation", "appointment", "errand"


🎨 Creative

Trigger phrases: "creative mode", "creative session", "I'm creating", "brainstorm mode", "ideation time", "let's build"

Behavior:

  • Mute all notifications — zero interruptions
  • Surface creative context from modes/creative.md: active projects, saved ideas, references
  • Load creative memory: current projects, style notes, open creative loops
  • Respond expansively — "yes, and..." style, encourage tangents and exploration
  • Never filter or critique ideas unless explicitly asked
  • Offer unexpected connections and lateral thinking prompts

Auto-trigger from calendar: event titles containing "writing", "design", "recording", "art", "brainstorm", "creative", "draft"


🔕 Do Not Disturb

Trigger phrases: "DND", "do not disturb", "going dark", "don't bother me", "full silence", "leave me alone"

Behavior:

  • Mute ALL notifications without exception
  • Do not proactively surface anything
  • Only respond if directly addressed by name or keyword
  • Log all incoming messages and tasks silently to snapshots/dnd-log.json for review on exit
  • No auto-restore unless user sets an explicit timer

Auto-trigger from calendar: event titles containing "blocked", "deep work", "no meetings", "offline", "focus block", "DND"


Switching Logic

When a context switch is detected (via phrase or calendar):

  1. Identify target mode from trigger phrase or calendar event title
  2. Save current state — snapshot active memory focus to snapshots/pre-switch-state.json
  3. Apply mode profile — load the correct modes/*.md, apply notification rules, set response style
  4. Confirm switch with a brief, mode-appropriate message (see Confirmation Messages below)
  5. Set auto-restore — use calendar event end time, or ask user for duration if unclear
  6. On restore — un-mute, reload previous state, deliver catch-up summary

Confirmation Messages

Short and mode-appropriate:

  • Work/Focus: "Focus mode on. Notifications muted. Here's what needs your attention: [task summary]. I'll restore at [time]."
  • Personal: "Personal mode on. Work notifications paused. Here's your afternoon: [personal summary]."
  • Creative: "Creative mode. Silence on. Let's build something. What are we working on?"
  • DND: "DND on. I'll log everything. See you on the other side."

Auto-Restore

When a session ends (timer fires or calendar event ends):

  1. Un-mute notifications and restore previous memory context
  2. Deliver a brief "while you were away" summary — messages received, tasks that came in, anything time-sensitive
  3. Ask if user wants to stay in current mode or switch back

Example Interactions

"Switch to focus mode for 2 hours"
→ Mutes notifications, surfaces work tasks, sets 2hr restore timer

"Creative mode — working on my novel"
→ Loads creative memory, silences everything, responds expansively

"DND until my next meeting"
→ Reads calendar, sets restore to next event start, full silence

"Personal time, I'm done for the day"
→ Pauses work channels, surfaces evening personal tasks

"What mode am I in?"
→ Reports current mode, time active, scheduled restore

"Exit focus mode early"
→ Restores previous state, delivers catch-up summary

File Structure

context-switcher/
├── SKILL.md                          ← You are here
├── README.md                         ← Install guide
├── current-context.json              ← Live mode state tracker
├── modes/
│   ├── work.md                       ← Customize your work profile
│   ├── personal.md                   ← Customize your personal profile
│   └── creative.md                   ← Customize your creative profile
├── scripts/
│   ├── switch.sh                     ← Core switching logic
│   ├── restore.sh                    ← Auto-restore handler
│   └── summarize.sh                  ← Catch-up summary generator
└── snapshots/
    ├── pre-switch-state.json         ← State saved before each switch
    └── dnd-log.json                  ← Messages logged during DND

Setup

On first run, OpenClaw will prompt you to:

  1. Customize each mode profile in modes/*.md — add your actual projects, priorities, and people
  2. Set default durations per mode (fallback if no calendar event found)
  3. Optionally connect your calendar for auto-trigger support

You can re-run setup at any time by saying: "reconfigure context-switcher".

Files

9 total
Select a file
Select a file to preview.

Comments

Loading comments…