33c898ff9a80201d5115cb7995aa3893619497c9
The async startJob previously relied on Node.js event listeners in the CLI process to capture child output and finalize the job file. But the CLI process exits immediately after returning the job ID, killing the event loop before the close handler fires — leaving jobs stuck at 'running' forever. Fix: startJob now spawns a companion watcher process (job-watcher.ts) that is itself detached and outlives the CLI. The watcher: - Spawns the actual client (codex/claude/opencode) - Captures stdout/stderr - Writes the final job record to disk on child exit - Has its own 10-minute timeout safety net The CLI returns the job ID immediately. The watcher independently finalizes the job. The CLI no longer needs to stay alive. Also updates tests to mock the watcher spawn via injectable spawnWatcher option.
stef-openclaw-skills
A curated collection of practical OpenClaw skills by Stefano.
This repository contains practical OpenClaw skills and companion integrations. Install the repo (or a single path), then use each skill through OpenClaw and each integration as a local helper CLI.
Where to get information
- Skill docs index:
docs/README.md - Skill implementation files:
skills/<skill-name>/ - Per-skill runtime instructions:
skills/<skill-name>/SKILL.md - Integration implementation files:
integrations/<integration-name>/ - Integration docs:
docs/*.md - Tool implementation files:
tools/<tool-name>/ - Tool docs:
docs/*.md
Skills
| Skill | What it does | Path |
|---|---|---|
amazon-shopping |
Search Amazon.com product results with bounded web-automation, price/unit-price/width/Prime/delivery filters, specs, ratings, review metadata, and chat-safe result blocks with direct links. | skills/amazon-shopping |
flight-finder |
Collect structured flight-search inputs, run bounded multi-source travel searches, rank results in USD, and gate fixed-template PDF/email delivery through Luke’s sender path. | skills/flight-finder |
gitea-api |
Interact with Gitea via REST API (repos, issues, PRs, releases, branches, user info). | skills/gitea-api |
nordvpn-client |
Install, log in to, connect, disconnect, and verify NordVPN sessions across Linux CLI and macOS NordLynx/WireGuard backends. | skills/nordvpn-client |
portainer |
Manage Portainer stacks via API (list, start/stop/restart, update, prune images). | skills/portainer |
property-assessor |
Assess a residential property from an address or listing URL with CAD/public-record enrichment, Zillow-first/HAR-fallback photo review, carry-cost/risk analysis, and fixed-template PDF output. | skills/property-assessor |
searxng |
Search through a local or self-hosted SearXNG instance for web, news, images, and more. | skills/searxng |
spotify |
Search Spotify tracks, manage playlists, and import songs from text files, M3U playlists, or music folders through the Spotify Web API. | skills/spotify |
us-cpa |
Federal individual 1040 workflow for tax questions, case intake, preparation, review, and draft e-file-ready export. | skills/us-cpa |
web-automation |
One-shot extraction plus broader browsing/scraping with CloakBrowser, including unit-aware Zillow/HAR discovery and dedicated listing-photo extractors. | skills/web-automation |
Integrations
| Integration | What it does | Path |
|---|---|---|
google-maps |
Traffic-aware ETA and leave-by calculations using Google Maps APIs. | integrations/google-maps |
google-workspace |
Gmail and Google Calendar helper CLI for profile, mail, attachment-capable send, calendar search, and event creation. | integrations/google-workspace |
Tools
| Tool | What it does | Path |
|---|---|---|
ai-cli-dispatch |
Dispatch AI CLI coding tasks to available clients (Codex, Claude Code, OpenCode) with automatic discovery, version checking, and execution. | tools/ai-cli-dispatch |
Operator docs
| Doc | What it covers |
|---|---|
docs/openclaw-acp-orchestration.md |
ACP orchestration setup for Codex and Claude Code on the gateway host |
Install ideas
- Install the whole repo as a skill source.
- Install a single skill by path (example:
skills/gitea-api).
(Exact install command can vary by OpenClaw/ClawHub version.)
Description
Languages
TypeScript
58.1%
JavaScript
21.7%
Python
16%
Shell
4.2%