lvtd-llc/skills

go-cli-process-control

Execute and supervise external programs safely from Go CLIs with explicit arguments, typed failure classification, working directories, environments, bounded streams, deadlock-safe pipes, contexts, timeouts, signals, platform adapters, descendant cleanup, runner seams, and lifecycle tests.

Installation

$ npx skills add lvtd-llc/skills --skill go-cli-process-control

Summary

  • Execute and supervise external programs safely from Go CLIs with explicit arguments, typed failure classification, working directories, environments, bounded streams, deadlock-safe pipes, contexts, timeouts, signals, platform adapters, descendant cleanup, runner seams, and lifecycle tests.
  • Use when wrapping a command, diagnosing start or exit failures, hangs, deadlocks, or orphan processes, or implementing cancellable cross-platform CLI workflows.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from lvtd-llc/skills · top by installs.

npx skills add lvtd-llc/skills

Browse all from lvtd-llc/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.3.0
LicenseMIT
CompatibilityCodex, Claude Code, and other Agent Skills-compatible clients.
Declared agents claude-code codex
More metadata
version
0.3.0
displayName
Go CLI Process Control
category
Go
tags
go,golang,cli,os-exec,subprocess,signals,cancellation

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,423 B
  • docs SUMMARY.md 481 B

History

  1. First recorded snapshot · 1 installs

SKILL.md

Go CLI Process Control

Treat child-process lifecycle as correctness. Observe the terminal result, propagate cancellation, and clean up every process, pipe, and temporary resource.

Core Workflow

  1. Define the child executable, argv, environment, directory, streams, and success contract.
  2. Use an explicit shell only when shell semantics are actually required.
  3. Inject a runner boundary and propagate the caller's context.
  4. Observe startup and completion; preserve status and useful redacted stderr.
  5. Bound captured output, cancellation, and shutdown time.
  6. Account for descendants and wait for every pipeline stage.
  7. Test missing tools, bad exits, malformed output, cancellation, signals, and cleanup.

Read Next

Task Load
Implement or repair process supervision guidelines.md, workflows/supervise-external-command.md
Apply modern execution and cancellation rules references/process-control/rules.md
Use runner, pipeline, signal, or cleanup patterns references/process-control/patterns.md
Start from focused code examples references/process-control/examples.md
Review a subprocess boundary references/process-control/checklist.md
Understand lifecycle and shell semantics references/process-control/knowledge.md

Guardrails

  • Pass executable arguments separately; never assume exec.Command invokes a shell.
  • Do not treat Start as success; inspect the terminal result.
  • Do not assume context cancellation terminates an entire process tree.
  • Close owned pipes and wait for every started process.
  • Distinguish lookup, start, exit, timeout, cancellation, and cleanup failures.
  • Treat Cmd.String() as diagnostic text, never shell-safe replay or secret-safe output.
  • Avoid mutable package-level command hooks in concurrent tests.

Source Notes

Guidance is transformed and paraphrased from Ricardo Gerardi, Powerful Command-Line Applications in Go (Pragmatic Bookshelf, 2021), especially Chapter 6. Examples are original adaptations.

Book: https://pragprog.com/titles/rggo/powerful-command-line-applications-in-go/

Verify current behavior against https://pkg.go.dev/os/exec and https://pkg.go.dev/os/signal, including Cmd.Cancel, WaitDelay, and signal.NotifyContext.

Failure taxonomy, pipe ordering, and platform-adapter guidance also incorporates transformed material from Marian Montagnino, Building Modern CLI Applications in Go (Packt, 2023), especially Chapter 6.

In-process cancellation boundary guidance also incorporates transformed material from Inanc Gumus, Go by Example: Programmer's Guide to Idiomatic and Testable Programs (Manning, 2025), Chapters 6-7.