Individual skill
go-process-cli
Write Go CLIs that manage processes and workloads — daemons, supervisors, job runners, deploy tools, anything that spawns or controls other processes. Use when writing, reviewing, or refactoring Go that handles OS signals, runs children via os/exec, fans out concurrent work, threads context for cancellation, returns exit codes, or builds a flag/cobra command surface. Covers the footguns the standard library makes easy to hit — SIGTERM vs Ctrl-C, SIGKILL-by-default children, orphaned process groups, pipe deadlocks, goroutine leaks, zombie reaping, and os.FindProcess lying about liveness. Triggers whenever the task touches process lifecycle, graceful shutdown, subprocess control, or concurrent workload supervision in Go — even if not named.
skills/.experimental/go-process-cli/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: codex
- operations Derived category
- writing Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
AGENTS.mddoc · 5,214 bytesSKILL.mdcore · 4,654 bytesassets/templates/_template.mddoc · 955 bytesmetadata.jsonasset · 1,393 bytesreferences/_sections.mddoc · 2,784 bytesreferences/cli-execute-context-wires-signals.mddoc · 1,567 bytesreferences/cli-flag-vs-cobra-by-shape.mddoc · 1,803 bytesreferences/cli-rune-return-errors.mddoc · 1,746 bytesreferences/cli-stdlib-subcommand-pattern.mddoc · 1,644 bytesreferences/ctx-cancellable-wait.mddoc · 1,590 bytesreferences/ctx-defer-cancel.mddoc · 1,405 bytesreferences/ctx-explicit-argument.mddoc · 1,654 bytesreferences/err-join-aggregate-workloads.mddoc · 1,449 bytesreferences/err-run-function-for-deferred-cleanup.mddoc · 1,588 bytesreferences/exec-cancel-sigterm-before-kill.mddoc · 2,421 bytesreferences/exec-commandcontext-binds-lifetime.mddoc · 1,426 bytesreferences/exec-exit-code-from-exiterror.mddoc · 1,693 bytesreferences/exec-kill-process-group.mddoc · 1,723 bytesreferences/exec-pipes-without-deadlock.mddoc · 1,597 bytesreferences/sig-notify-context-for-shutdown.mddoc · 1,647 bytesreferences/sig-second-signal-force-quit.mddoc · 1,487 bytesreferences/state-atomic-pidfile.mddoc · 1,784 bytesreferences/state-reap-children-wait.mddoc · 1,581 bytesreferences/state-signal-zero-liveness.mddoc · 1,594 bytesreferences/state-structured-slog-transitions.mddoc · 1,540 bytesreferences/work-bound-concurrency.mddoc · 1,561 bytesreferences/work-errgroup-fan-out.mddoc · 1,561 bytesreferences/work-every-goroutine-has-exit.mddoc · 1,768 bytesreferences/work-sender-closes-channel.mddoc · 1,725 bytes
Read excerpt
# Go Process-Management CLIs
> Make Go command-line tools that spawn, supervise, and shut down processes correctly — the part the stdlib makes easy to get subtly wrong.
## When to Apply
Reach for this skill when building or reviewing a Go CLI whose job is to *control other processes or concurrent workloads*: a daemon, a process supervisor, a job/worker runner, a deploy or migration tool, a test harness that shells out, or any program that must stop cleanly when an orchestrator says so. It targets **Go 1.22+** on **Unix-like systems** (Linux, macOS); a few rules note where Windows differs. It assumes you already know Go — it only corrects the specific defaults that go wrong in this domain.
## Categories
| # | Category | Prefix | What it covers |
|---|----------|--------|----------------|
| 1 | Signals & Graceful Shutdown | `sig` | Binding a context to SIGINT/SIGTERM; second-signal force-quit |
| 2 | Child Processes | `exec` | `os/exec` lifetime, graceful kill, process groups, pipes, exit codes |