runtime/skills/builtin/reload/SKILL.md
Reinstall piclaw from workspace source and force-restart the running process. Use after making code changes to piclaw.
npx skillsauth add rcarmo/piclaw reloadInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reinstall the piclaw package from workspace source and restart the running process immediately. The new process takes over on the same port.
⚠️ Important (container runtime): Always install to
/usr/local/lib/bun/install/global/node_modules/piclaw. Do not deploy to/home/agent/.bun/...in this container, or Supervisor may keep running an older build.
Use the repo's canonical Makefile path:
cd /workspace/piclaw && make local-install
This is the authoritative reload/install workflow for this project in the container. It already does the right thing for this environment:
make build-piclaw — builds vendor assets, web bundles, and TypeScriptbun pm pack — creates a tarball from /workspace/piclaw/runtime/usr/local/lib/bunBuild only:
cd /workspace/piclaw && make build-piclaw
Build vendor bundle only:
cd /workspace/piclaw && make vendor
Restart only (after install is already done):
cd /workspace/piclaw && make restart
The restart script (restart-piclaw.sh) auto-detects the service manager and restarts
piclaw through it. Detection order (first match wins):
| Priority | Check | Method |
|----------|-------|--------|
| 0 | PICLAW_SERVICE_MANAGER env var set | Use its value directly (supervisor, systemd, manual) |
| 1 | supervisorctl binary exists AND a piclaw program is registered | supervisorctl restart piclaw |
| 2 | systemctl binary exists AND a piclaw.service user unit exists | systemctl --user restart piclaw.service |
| 3 | Neither found | Manual kill + start fallback |
Before restarting, the script:
/agent/statusresume_pending IPC task so interrupted turns can resume after restartThis recovery path is intended to work the same under Supervisor and systemd --user: once piclaw is back up, startup recovery plus the IPC watcher use the persisted SQLite + PICLAW_DATA/ipc/tasks state to resume pending work.
Uses supervisorctl -c <config> restart piclaw. The config path is auto-detected:
/workspace/.piclaw/supervisor/supervisord.conf (preferred)/etc/supervisor/supervisord.conf (fallback)PICLAW_SUPERVISORCTL_CONFIGIf supervisorctl is found but the restart fails, the script aborts (exit 1) to avoid
conflicting with Supervisor's own restart logic.
Uses systemctl --user restart piclaw.service. Override the unit name with
PICLAW_SYSTEMD_UNIT.
If the restart fails, the script aborts.
Kills the old process (via PID file or OLD_PID arg), waits for the port to free up,
and starts piclaw --port 8080 in a tiny supervisor loop (5 retries). Override the
command with -- piclaw --port 8080.
| Variable | Default | Description |
|----------|---------|-------------|
| PICLAW_SERVICE_MANAGER | (auto) | Force supervisor, systemd, or manual |
| PICLAW_SUPERVISOR_SERVICE | piclaw | Supervisor program name |
| PICLAW_SUPERVISORCTL_BIN | supervisorctl | supervisorctl binary |
| PICLAW_SUPERVISORCTL_CONFIG | (auto) | Supervisor config path |
| PICLAW_SYSTEMD_UNIT | piclaw.service | systemd --user unit name |
| PICLAW_WEB_PORT | 8080 | Port to wait for / pass to piclaw |
| PICLAW_RELOAD_LOG | /tmp/restart-piclaw-force.log | Async log file |
| PICLAW_RELOAD_ASYNC | 1 | Set 0 for sync (foreground) mode |
make local-install over hand-written pack/install/restart command sequences./usr/local/lib/bun (root-owned).make restart / restart-piclaw.sh)./tmp/restart-piclaw-force.log if something goes wrong.documentation
Resolve Teams or SharePoint document links to canonical metadata.
development
Search the web via SearXNG and optionally convert result pages to Markdown.
development
Search via SearXNG, fetch top results, and return quick summaries plus markdown.
testing
Fetch a user's recent tweets (tweets, replies, retweets) using Playwright + Nitter fallbacks and produce compact JSON/Markdown summaries.