by MichaelKinsy
PiG (Pi in Go) is a faithful Go port of upstream Pi, the TypeScript codebase behind the Pi coding agent. It is a parity-bound translation, not a rewrite: upstream behavior is the contract, and Go is the implementation language.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/MichaelKinsy/PiGGuides for using ai agents skills like PiG.
See how PiG compares with popular alternatives.
PiG is Pi, the minimal and extensible coding agent for the terminal, rebuilt in Go as one native binary. It starts quickly, needs no Node.js, and runs Pi's TypeScript extensions unchanged. You can also write extensions in Go, Rust, or Python, and bundle extensions, skills, and prompts into a Piglet: one named agent you can share or build into its own executable.
PiG follows Pi 0.87.1 closely. If PiG behaves differently from Pi, that is either a bug or a documented divergence. Windows support is a preview.
On macOS or Linux:
curl -fsSL https://pi-in-go.dev/install.sh | sh
On Windows, in PowerShell:
irm https://pi-in-go.dev/install.ps1 | iex
With npm, on any supported platform:
npm install -g @pi-in-go/pig
With Go:
go install github.com/MichaelKinsy/PiG/cmd/pig@latest
You can also download an archive from GitHub Releases or build from source. pi-in-go.dev/install covers every method, including updates and uninstalling.
Start PiG in the directory where you want it to work, run /login to connect a subscription or set your provider's API key (for example OPENAI_API_KEY), then ask it something:
cd /path/to/project
pig
The documentation covers everything else, starting with the quickstart. You can also ask PiG to explain itself.
Pi is the reference implementation. PiG follows Pi's behavior and design unless a Go constraint or an approved product-neutral requirement makes a difference necessary.
Use the upstream project for Pi itself:
PiG is not an official Pi release. The Pi maintainers do not endorse PiG.
Michael Kinsy created PiG working at Hewlett Packard Enterprise.
PiG is maintained as an independent open-source project. Project decisions, issues, and contributions belong in this repository. See GOVERNANCE.md and MAINTAINERS.md.
PiG adds a Go implementation to the Pi ecosystem and follows the Pi reference implementation.
The pinned Pi release is 0.87.1 at commit f07218c4d4bbc12bef056a7058c3dd49dfe41abe. The pin names the behavior oracle. It does not claim that every upstream change is already ported: parity/coverage.md reports verified behavior, and the upgrade ledgers under parity/upstream-sync/ list each upstream change and its disposition.
PiG's current package scope covers Pi's agent, AI, coding-agent, and TUI
packages. It does not implement Pi's experimental remote Session packages or
its standalone telemetry and evaluation packages. See
PORT_MAP.md for the exact boundary.
piggithub.com/MichaelKinsy/PiG~/.pig/, or PIG_HOME~/.pig/agent, or PIG_CODING_AGENT_DIRcoding/pigversion/pigversion.go.upstream/current/make checkmake verifypig --version prints PiG's version as <PiG release>+<Pi release>, for example 0.2.0+0.87.1 (D63): the Pi release is semver build metadata, so the version sorts as the PiG release. pig version prints the PiG release and the pinned Pi release as separate fields. Neither command reads user configuration.
| Path | Responsibility |
|---|---|
agent/ |
Pi-compatible Agent loop, messages, and harness Session state. |
ai/ |
Pi-compatible providers, model catalog, authentication, and streaming types. |
coding/ |
Public coding-agent SDK, extension contracts, Package support, and Piglet support. |
tui/ |
Public terminal components, rendering, input, and terminal lifecycle. |
cmd/pig/ |
Stock PiG command-line application and RPC process surface. |
internal/ |
Private implementation used by Stock PiG. External modules cannot import it. |
extensions/ |
Go, Rust, Python, and declaration-only TypeScript extension SDKs. |
piglets/ |
Explicit agent compositions such as PiG Standard and Pig Porter. |
parity/ |
Pinned Pi correspondence, scenarios, inventories, and generated evidence. |
tests/ |
Integration, extension-conformance, clean-repository, and upstream-contract tests. |
docs/ |
Maintainer references and the static public documentation site. |
examples/ |
Small extension and embedding examples. |
automation/ |
Reproducible CI image definitions. |
scripts/ |
Checked development, parity, and release-support commands. |
PiG aligns public package boundaries with Pi's agent, ai, coding-agent,
and tui packages. Go files within a package follow cohesive implementation
responsibilities instead of mirroring TypeScript file mechanics. PORT_MAP.md
records every source correspondence.
Stock PiG is the product-neutral binary built from this repository. It does not activate PiG Standard Resources, product authentication, product APIs, or deployment-specific behavior.
A Piglet explicitly selects Resources, tools, discovery, defaults, and environment requirements for one agent. A Package distributes Resources. A Package never owns or activates a Piglet. A Piglet Binary is a direct executable build output for one pinned Piglet composition.
PiG Standard is the explicit Piglet at
piglets/standard/pig-standard.yaml.
It currently selects the extension-provided PiG login, sprite catalogue, and
PiG Runner. Run it from source with:
pig --piglet piglets/standard/pig-standard.yaml
Stock PiG never selects this composition implicitly. A Package can distribute its Resources, but a Package cannot own or activate the Piglet.
See CONTEXT.md and docs/README.md for the project terms and documentation map.
PiG runs with the permissions of the user who starts it. PiG does not provide a security sandbox for model output, tools, extensions, skills, hooks, or shell commands.
Use a container, virtual machine, or another operating-system boundary when you need isolation. Load extensions and project instructions only from sources you trust. See SECURITY.md.
Install the command with npm (Node.js 18 or newer):
npm install -g @pi-in-go/pig
pig --version
Or r
PiG is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by MichaelKinsy. PiG (Pi in Go) is a faithful Go port of upstream Pi, the TypeScript codebase behind the Pi coding agent. It is a parity-bound translation, not a rewrite: upstream behavior is the contract, and Go is the implementation language. It has 59 GitHub stars.
PiG's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/MichaelKinsy/PiG" and add it to your Claude Code skills directory (see the Installation section above).
PiG is primarily written in Go. It is open-source under MichaelKinsy on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh PiG against similar tools.
No comments yet. Be the first to share your thoughts!