EvanZhang008
UserPersonal AI butler powered by Claude — task management, Claude Code sessions, memory system, and web UI. Self-hosted, local-first, open source.
Categories
Indexed Skills (30)
setup-cloud-companion
Set up the self-hosted cloud companion — provision a small always-on VM, wire data sync to it, and get the user's phone working off Wi-Fi. Use when the user says "set up my cloud companion", "I want to reach Walnut from my phone anywhere / away from home", "set up cloud sync", "deploy the cloud box", or asks why their phone only works on the home network.
walnut-self-knowledge
Understand Walnut's task, project, session, messaging, and lifecycle rules. Read when deciding whether to work directly, record a task, start a session for it, message a session that is already running, resolve cwd, or hand work back to the user.
walnut-console-ops
Operating the Walnut web UI (localhost:3456) via Playwright MCP tools — understanding the UI layout, chatting with main agent, interacting with sessions, monitoring status changes. Use when asked to test, verify, or interact with the Walnut web console as a human user would.
walnut-web-frontend
Implementation details for web/src/ (React SPA) — session chat single-timeline model (streaming blocks, render-filter absorption, optimistic dedup, turn watermark), UX patterns (task refs, images, plan cards, slash commands), frontend file structure. MUST read before touching session chat, turn boundaries, or streaming block rendering.
learn
Distill a workflow, doc, or conversation into a reusable skill. Use when the user says "learn this", "save this as a skill", or wants a procedure captured for reuse.
walnut
Walnut is the user's personal AI for tasks, projects, memory, notes, coding sessions, and search. Use for ANY question about Walnut itself or the data it holds: server status, mode, or version; which task or session produced a given commit; what is on the user's plate; creating, updating, completing, searching, or recalling tasks, memory, and notes; starting a coding session for a task, messaging a session that is already running, and getting its answer back; handing finished work back for human review; sending the human a letter (human inbox) when work finishes or a decision is needed. Triggers: "add a task", "put that on my list", "what's on my plate", "did I write anything about X", "which task/session did X", "start a session on this", "tell that other session ...". Read this BEFORE guessing subcommands, running --help, inspecting files, or reaching for git: those guess, this gives the exact call. Works through the `walnut` CLI over Bash (the same `walnut` command works inside managed sessions on any host
walnut-markdown-rendering
How Walnut turns model text into rendered output — the two marked instances and the CJK retunes registered on both, why we extend marked through its public API and never patch it, the rich-HTML block chunker's prefix invariant and blank-line content-model rule, DOMPurify policy per surface, and the marked 15 → 18 upgrade path. MUST read before changing anything in web/src/utils/markdown.ts, rich-blocks.ts, or adding a marked extension.
rich-output
Write replies as rich HTML that the Walnut web console and iOS app render natively while streaming — colored callouts, comparison grids, SVG diagrams, CSS-only steppers/tabs, animations, and sandboxed `html-app` islands for real JavaScript. Load this when explaining something hard (a paper, a codebase, a protocol, a decision) where visual structure beats prose, or when a reply is in rich output mode.
walnut-session-messaging
Talk to the user's OTHER Walnut coding sessions: discover them with `session_list`, send one a message with `session_send`, ask for a result with `expect_reply`, answer a request with `in_reply_to`, and block with `walnut wait` only when you cannot continue without the answer. Use when you need to hand off findings, tell a sibling session that shared work is ready, ask another session a question and get its answer back, or see what else is running. Works on any host that runs a Walnut daemon, inside a Walnut-launched session or a plain terminal.
test-and-verify-walnut
4-agent pipeline: design + implement code tests + Playwright UI tests + quality gate. Reads walnut-console-ops first.
walnut-core-internals
Deep implementation details for src/core/ — task model (5 text fields, phase lifecycle, dependencies, session slots, child tasks), session monitoring (3-layer), message queue & FIFO/JSONL delivery patterns, daemon-uniform file access rule, chat history compaction. Use when implementing or debugging anything in src/core/ or the session data layer.
walnut-logging
Logging system details for src/logging/ — logger API & child loggers, log levels, automatic secret redaction, browser console log persistence (how to investigate frontend issues from disk logs). Use when adding logging or investigating issues via /tmp/open-walnut logs.
walnut-testing
Testing details for the Walnut repo — 5-tier pyramid (unit/integration/e2e/browser/live), per-tier vitest configs & parallelism, how to judge if YOUR change caused a failure (isolated run + HEAD baseline diff), known pre-existing failures, mock-constants helper, live test pattern, Playwright modes. Use when running tests, adding tests, or triaging test failures.
setup-walnut
Hands-on setup agent for Open Walnut. Paste into your OWN Claude Code session. It makes Walnut's Personal AI able to talk on first launch. It mirrors however THIS Claude Code is already authenticated (SSO profile, bearer token, or access keys) into Walnut, installs, starts the server, and proves it works with a real model call. It fixes auth errors itself and asks you only when it truly can't proceed. Use when a user wants to install or set up Open Walnut.
install-plugin
Install, configure, verify, update, and remove trusted Walnut Plugins from Git or npm through the Plugin Store REST API. Use when the user explicitly provides a Plugin share snippet, Git URL, or npm package spec and asks to install, update, remove, or diagnose that Plugin.
walnut-calendar
Read and edit the user's real calendars (macOS Calendar: iCloud, Google, Exchange accounts) through Walnut's /api/calendar REST endpoints. Use when asked about the user's schedule, meetings, or availability, or to create, move, retime, or delete calendar events. Covers listing events in a date range, enumerating calendars, and write-back that syncs to the cloud provider via macOS.
walnut-manage-repos
Manage repository profiles — add, view, edit, or remove registered repositories. Each repo stores name, description, tech stack, host paths, architecture notes, and common commands as structured YAML. Use when user says "add repo", "manage repos", "register repository", "show my repos", "edit repo", or wants to manage repository profiles.
walnut-peer-sessions
Discover and message the user's other Walnut-managed coding sessions with the `walnut` CLI (peer sessions on this or other machines). Use when a session needs to hand off context, notify a sibling session that shared work is ready, or check what other sessions are running. Works on any host that runs a Walnut daemon, inside a Walnut-launched session or a plain terminal.
walnut-register-repo
Deep-explore current codebase and register it as a Walnut repository. Produces a rich profile: what the project does, architecture overview, key components, tech stack, and common workflows. Use when user says "register repo", "add this repo", "/walnut-register-repo", or wants to create a Walnut repository profile for the current project.
walnut-routines
Create and manage routines — scheduled automations that run on a trigger (cron / interval / one-shot) with a pluggable executor (main-agent, walnut-agent, or claude-code session, local or remote host). Use when the user says "every morning", "every weekday", "remind me daily", "schedule", "routine", "automate this", "run X at Y time", or wants to set up a recurring job / virtual employee.
restore-backup
Hands-on disaster-recovery agent for Open Walnut S3 backups. Paste into your OWN Claude Code session — it finds your backup in S3, restores it to a fresh folder, verifies every file and database, and helps you adopt it as the live data folder. Works on a brand-new machine with nothing installed. Use when a user lost their Walnut data, got a new machine, or wants to verify their backups actually restore.
import-external-sessions
Import coding-agent sessions started outside Walnut (terminal `claude`, Claude Desktop, codex TUI, other SDK apps) into Walnut as tasks. Use when the user says "import my sessions", "find sessions opened outside Walnut", asks why a session id isn't in Walnut, or wants the external-session scan run NOW instead of waiting for the background tick.
walnut-demo
Read the Walnut Plugin Demo's state and explain which Plugin capability does what.
suggest-cards
Emit clickable suggest-action cards in the Walnut web console — buttons wired to real Walnut ops (task triage, focus tier moves, scheduling). Load this BEFORE proposing any one-click action the user should approve rather than type out, e.g. "put this task in Focus?", a daily plan draft, or a batch cleanup with per-item buttons.
walnut-plugin-author
Build, verify, and package an Open Walnut Plugin with the public plugin API and author CLI. Use when creating a Plugin, adding a native App or server automation, converting a legacy integration, debugging Plugin lifecycle cleanup, or preparing a Plugin release.
register-repo
Register a repository: start a Claude Code session that explores the codebase and creates a structured profile. Use when the user says "register repo", "add this repo", or wants a repository profile created.
daily-standup
Review recent activity and generate a standup update. Use when the user asks for a standup, "what did I do yesterday", or a daily summary.
triage
Triage and prioritize pending tasks. Use when the user asks to triage, review priorities, clean up stale tasks, or decide what to work on next.
weekly-review
Summarize the week's progress across all projects. Use when the user asks for a weekly review, week summary, or "what happened this week".
hello-greetings
Greet someone using the Hello Walnut plugin's tool. Use when the user asks for a greeting demo, says "greet X", or wants to confirm that plugin-provided tools reach the Personal AI.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.