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.
# Add to your Claude Code skills
git clone https://github.com/MichaelKinsy/PiGLast scanned: 9/27/2026
{
"issues": [
{
"file": "README.md",
"line": 35,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://pi-in-go.dev/install.sh | sh\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-09-27T09:50:16.044Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how PiG compares with popular alternatives.
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 578 GitHub stars.
Yes. PiG passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
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!
⚠️ 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.
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 is a pre-stable 0.x release. Core paths are ported and checked against Pi 1.0.3 with paired parity scenarios; edge cases are still hardening. See the port status and file map for current scope and evidence.
If PiG behaves differently from Pi, that is either a bug or a documented divergence. Windows support is a preview.
On macOS, Linux, or Android with Termux (arm64):
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
Interactive /login masks secret input by default. Turn off Mask secret input in /settings to restore Pi's plain-text typing and submitted input (D80). See login privacy.
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 docs/project/GOVERNANCE.md and docs/project/MAINTAINERS.md.
PiG adds a Go implementation to the Pi ecosystem and follows the Pi reference implementation.
The pinned Pi release is 0.99.1 at commit d86654abb8862e201933517d6f1fce9f88dd117f. The pin names the behavior oracle. It does not claim that every upstream change is already ported: test/parity/coverage.md reports verified behavior, and the upgrade ledgers under test/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
docs/parity/PORT_MAP.md for the exact boundary.
piggithub.com/MichaelKinsy/PiG~/.pig/, or PIG_HOME~/.pig/agent, or PIG_CODING_AGENT_DIRinternal/coding/pigversion/pigversion.go.upstream/current/make checkmake verifypig --version prints PiG's version as <PiG release>+<Pi release>, for example 0.3.0+0.99.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. |
test/parity/ |
Pinned Pi correspondence, scenarios, inventories, and generated evidence. |
test/ |
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/ |
Build, generation, CI, release, layout, and maintainer tooling. |
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. docs/parity/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 yo