Agent skill
gob
Process manager for long-running background processes. Use when starting development servers, watching files, or running commands that need to continue in the background while agent continues working.
Install this agent skill to your Project
npx add-skill https://github.com/kaofelix/dotfiles/tree/main/pi/.pi/agent/skills/gob
SKILL.md
gob
CLI process manager for long-running background processes. Provides a shared view of background jobs between you and the AI agent, with real-time log streaming.
Core Commands
Running Commands
-
gob run <cmd>- Run command, wait for completion, stream output- Equivalent to
gob add+gob await - Best for: builds, tests, any command where you need the result
- Equivalent to
-
gob add <cmd>- Start background job, returns job ID immediately- Job continues running in background
- Supports flags directly:
gob add npm run --flag - Supports quoted strings:
gob add "make test"
-
gob await <job_id>- Wait for job to finish, stream output, return exit code- Use this to collect results from jobs started with
gob add
- Use this to collect results from jobs started with
Sequential Execution
For commands that must complete before proceeding:
gob run make build
Or use add + await for more control:
gob add make build
gob await <job_id>
Use for: builds, installs, any command where you need the result.
Parallel Execution
For independent commands, start all jobs first:
gob add npm run lint
gob add npm run typecheck
gob add npm test
Then collect results using either:
gob await <job_id>- Wait for a specific job by IDgob await-any- Wait for whichever job finishes first (--timeoutoption)gob await-all- Wait for all jobs to complete (--timeoutoption)
Example with await-any:
gob await-any # Returns when first job finishes
gob await-any # Returns when second job finishes
gob await-any # Returns when third job finishes
Use for: linting + typechecking, running tests across packages, independent build steps.
Job Monitoring
Status:
gob list- List jobs with IDs and status
Output:
gob await <job_id>- Wait for completion, stream output (preferred)gob stdout <job_id>- View stdout (-ffor real-time following)gob stderr <job_id>- View stderr (-ffor real-time following)
Control:
gob stop <job_id>- Graceful stop (SIGTERM)gob stop -f <job_id>- Force kill (SIGKILL)gob restart <job_id>- Stop + startgob remove <job_id>- Remove stopped job
When to Use gob
Use gob for:
- Development servers (e.g.,
npm run dev,python manage.py runserver) - File watchers (e.g.,
npm run watch,webpack --watch) - Build processes that run in the background
- Any long-running task that shouldn't block the agent
- Commands that need to output logs while you continue working
Do NOT use & to background processes - always use gob add instead.
Examples
Good:
gob run make test # Run and wait for completion
gob add npm run dev # Start background server
gob await abc # Wait for specific job by ID
gob add timeout 30 make build # Run with timeout
Bad:
make test # Missing gob prefix
npm run dev & # Never use & - use gob add instead
Common Patterns
Start a dev server and continue working
gob add npm run dev
# Job ID returned, agent continues...
Start multiple background services
gob add npm run dev
gob add npm run api
gob add npm run worker
Run tests in parallel across packages
gob add npm test -- --workspace=packages/a
gob add npm test -- --workspace=packages/b
gob add npm test -- --workspace=packages/c
gob await-all # Wait for all to complete
Build and check results
gob run make build # Waits for completion
Inspect logs from running job
gob list # Get job ID
gob stdout abc # View output
gob stdout abc -f # Follow in real-time
gob stderr abc -f # Follow stderr in real-time
Job IDs
Jobs are identified by short 3-character IDs (e.g., abc, x7f, V3x). Use gob list to see all jobs and their IDs.
Jobs are scoped to directories - you only see jobs in the current working directory.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
fly-sprites
Operate Fly.io Sprites via the `sprite` CLI as persistent remote Linux machines. Use when asked to create, list, select, inspect, use, or destroy a Sprite; run commands with `sprite exec`, open an interactive shell with `sprite console`, install packages, clone repos, edit files, serve or expose an app, check or change a Sprite URL, proxy ports, create/list/inspect/restore checkpoints, or troubleshoot common Sprite workflows including wake-up behavior, wrong target selection, auth, networking, and storage.
beads
Tracks complex, multi-session work using the Beads issue tracker and dependency graphs, and provides persistent memory that survives conversation compaction. Use when work spans multiple sessions, has complex dependencies, or needs persistent context across compaction cycles. Trigger with phrases like "create task for", "what's ready to work on", "show task", "track this work", "what's blocking", or "update status".
ast-grep
Guide for writing ast-grep rules to perform structural code search and analysis. Use when users need to search codebases using Abstract Syntax Tree (AST) patterns, find specific code structures, or perform complex code queries that go beyond simple text search. This skill should be used when users ask to search for code patterns, find specific language constructs, or locate code with particular structural characteristics.
dex
Manage tasks via dex CLI. Use when breaking down complex work, tracking implementation items, or persisting context across sessions.
dex-plan
Create dex task from markdown planning documents (plans, specs, design docs, roadmaps)
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
Didn't find tool you were looking for?