Agent skill

Pi Extension Development

by HazAT in HazAT/pi-config

Defines the local standard for standalone Pi extension repositories.

MITAuto-check passedDevelopment

Install Pi Extension Development

skills CLI
$ npx skills add HazAT/pi-config --skill pi-extension-development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HazAT/pi-config pi-extension-development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/HazAT/pi-config.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pi-extension-development .claude/skills/pi-extension-development && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pi-extension-development
GitHub stars
451
Token cost
~1.5k tokens
SKILL.md length
624 words
Files
4 (incl. references)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Defines the local standard for standalone Pi extension repositories.

  • Works in 8 steps: Establish the task → Read only the needed reference → Verify the development tools → …
  • Manually invoked to create
  • SKILL.md covers Step 1: Establish the task, Step 2: Read only the needed…, Step 3: Verify the development… and Step 4: Use the canonical…, plus 5 more sections
  • Calls git

What it does

Pi Extension Development is an agent skill from HazAT/pi-config. Defines the local standard for standalone Pi extension repositories. Use when manually invoked to create, audit, test, publish, or release an extension with Git-backed installation, local loading, and Vite+ linting and formatting.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/extension-guidelines.md`, `references/release-workflow.md` and `references/repository-structure.md`).

It sits in Development, covering Browser extensions and Linting and formatting. It works with Vite, Git and Homebrew. The repository describes itself as: My personal pi coding agent configuration - skills and extensions. The licence is MIT.

When your agent uses it

  • Manually invoked to create
  • Release an extension with Git-backed installation
  • Vite+ linting and formatting

Example prompts

  • “Use the pi-extension-development skill to define the local standard for standalone Pi extension repositories”
  • “/pi-extension-development”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Establish the task
  2. Read only the needed reference
  3. Verify the development tools
  4. Use the canonical package model
  5. Implement the minimum extension
  6. Configure local loading
  7. Verify before publishing
  8. Publish and install

What it can do on your machine

Read from SKILL.md and the folder at commit 655acd4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pi Extension Development loads about 1.5k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 624 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from HazAT/pi-config at commit 655acd4, republished under its MIT licence (© HazAT). 624 words, ~1,488 tokens.

Download SKILL.mdSave it as .claude/skills/pi-extension-development/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
pi-extension-development
description
Defines the local standard for standalone Pi extension repositories. Use when manually invoked to create, audit, test, publish, or release an extension with Git-backed installation, local loading, and Vite+ linting and formatting.
disable-model-invocation
true

Pi Extension Development

Build standalone Pi extensions as Git-backed Pi packages with consistent local development, verification, and release workflows. Never publish these repositories to npm.

Step 1: Establish the task

Interpret the arguments appended to the skill invocation as an operation and optional path:

  • create <path-or-name> — scaffold a standalone extension repository.
  • audit <path> — compare an existing repository against this standard.
  • release <version> — apply the standardized release workflow to the current repository.
  • No operation — ask what repository and outcome the user wants.

Before creating files, inspect the target path and read its AGENTS.md, CLAUDE.md, and applicable rule files. Never overwrite an existing repository or unrelated work.

Step 2: Read only the needed reference

OperationRead
Create or restructure a repositoryreferences/repository-structure.md
Implement or review extension codereferences/extension-guidelines.md
Release or add a release skillreferences/release-workflow.md

For Pi APIs, read the installed Pi documentation completely before implementation:

  • Extensions: /opt/homebrew/lib/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md
  • Packages: /opt/homebrew/lib/node_modules/@earendil-works/pi-coding-agent/docs/packages.md
  • Skills: /opt/homebrew/lib/node_modules/@earendil-works/pi-coding-agent/docs/skills.md
  • TUI, when needed: /opt/homebrew/lib/node_modules/@earendil-works/pi-coding-agent/docs/tui.md

Follow relevant links and examples referenced by those documents.

Step 3: Verify the development tools

Use the globally installed Vite+ CLI:

bash
command -v pi
command -v vp
vp --version

If vp is absent, report that and stop before adding a substitute formatter or linter. Do not install standalone Oxlint, Oxfmt, ESLint, Prettier, or Vitest when Vite+ provides the needed command.

Use Vite+ for package operations and checks:

bash
vp install
vp add -D vite-plus
vp check
vp check --fix
vp fmt --check
vp lint

The global vp executable drives the workflow. Keep vite-plus in devDependencies because vite.config.ts imports defineConfig; Git package production installs omit it.

Step 4: Use the canonical package model

Require:

  • A standalone Git repository under ~/Projects/ unless the user specifies another location.
  • A package.json with private: true, keywords: ["pi-package"], peer dependencies for Pi-provided imports, and an explicit pi manifest.
  • TypeScript source loaded directly by Pi; do not add a build or bundled dist/ directory unless runtime requirements make one necessary.
  • Installation through pi install git:github.com/OWNER/REPO, never npm publication.
  • A checked-in .pi/settings.json that disables an installed copy while loading checkout-local resources.
  • Vite+ configuration, editor settings, and a checked-in vp staged pre-commit hook.
  • A manual-only repository release skill under .pi/skills/release/.
Show full SKILL.md (294 more words)Show less

Step 5: Implement the minimum extension

Prefer one focused extension entry point and split files only when the implementation has real independent concerns. Reuse Pi APIs and Node built-ins before adding dependencies.

For custom tools:

  • Use strict TypeBox schemas and StringEnum for string enums.
  • Set executionMode: "sequential" for stateful, desktop-control, or otherwise conflicting operations.
  • Honor AbortSignal and set bounded timeouts for subprocesses or network work.
  • Truncate output to Pi limits and preserve full output in a temporary file when truncated.
  • Throw errors to produce failed tool results.
  • Return native image blocks for generated screenshots or previews.
  • Start long-lived resources only after session_start or on demand, and close them during session_shutdown.

Do not request permissions, perform destructive setup, or mutate unrelated user configuration without explicit approval.

Step 6: Configure local loading

Verify both paths:

bash
# Explicit checkout loading
pi -e ./pi-extension/EXTENSION/index.ts --skill ./skills/SKILL/SKILL.md

# Git installation
pi install git:github.com/OWNER/REPO

When developing inside the checkout, .pi/settings.json must prevent duplicate global and local resources.

Step 7: Verify before publishing

Run, at minimum:

bash
vp check
pi --no-extensions -e "$PWD" --no-skills --list-models '__load_check__'
git diff --check
git status --short

Also execute the registered tool through Pi's extension loader or a fresh Pi session with a safe real scenario. Verify failure propagation, cancellation or timeout behavior, truncation when applicable, and cleanup of temporary artifacts.

Step 8: Publish and install

Before any commit, read and follow the global commit skill. Create a focused conventional commit. Create or push a public GitHub repository only when the user authorizes publication.

After pushing, install from Git and verify the installed checkout rather than relying only on source-tree tests:

bash
pi install git:github.com/OWNER/REPO
pi --no-context-files --list-models '__installed_load_check__'

Report repository URL, commit SHA, install command, verification evidence, and any remaining manual permission step.

Exit criteria

Finish only when:

  • vp check passes.
  • Pi loads the local package and the Git-installed package.
  • The repository and installed checkout are clean.
  • No temporary test files remain.
  • Documentation contains install, local development, permissions or prerequisites, verification, and release instructions.

© HazAT, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/pi-extension-development of HazAT/pi-config.

  • SKILL.md
  • references/extension-guidelines.md
  • references/release-workflow.md
  • references/repository-structure.md

Open the folder on GitHubat commit 655acd4

Compare with similar skills

Pi Extension Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pi Extension Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pi Extension Development this skillHazAT/pi-config451—~1.5kAutomated safety check: PassMIT
Lint Commit PRTresjs/tres3.8k—~1.1kAutomated safety check: PassMIT
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause
Qt Cpp ReviewSerial-Studio/Serial-Studio7.2k—~4.3kAutomated safety check: PassCustom licence
Qt Qml ReviewSerial-Studio/Serial-Studio7.2k—~3.7kAutomated safety check: PassCustom licence
Qt6 QML Code Reviewerx-tools-author/x-tools1.1k1 repos~3.6kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Lint Commit PR

    Tresjs/tres

    Lint local changes, auto-fix, conventional commit, and optionally create PR

    3.8k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated today
    DevelopmentAuto-check passed
  • Qt Cpp Review

    Serial-Studio/Serial-Studio

    Qt6/C++ deep code review for Serial Studio. An agent skill from Serial-Studio/Serial-Studio.

    7.2k GitHub stars~4.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Qt Qml Review

    Serial-Studio/Serial-Studio

    Qt6/QML deep code review for Serial Studio. An agent skill from Serial-Studio/Serial-Studio.

    7.2k GitHub stars~3.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Qt6 QML Code Reviewer

    x-tools-author/x-tools

    Runs a 47-rule deterministic QML linter, then six parallel deep-analysis passes over bindings, layout, loaders, delegates, states, and performance.

    1.1k GitHub starsUsed in 1 repo~3.6k tokens
    DevelopmentAuto-check passed
  • PR Push

    icebear0828/codex-proxy

    Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…

    1.8k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check: notes

More from HazAT/pi-config

All 10 skills in this repo
  • Session Reader

    HazAT/pi-config

    Efficiently read and analyze pi agent session JSONL files. An agent skill from HazAT/pi-config.

    451 GitHub stars~808 tokensUpdated 1 mo ago
    Auto-check passed
  • Superconductor

    HazAT/pi-config

    Operates the super.engineering/Superconductor sc CLI for app-managed agents, teams, sessions, layouts, worktrees, and review threads.

    451 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Plan

    HazAT/pi-config

    Interactively investigate a request, compare approaches, and write the selected implementation plan to a supplied Markdown path.

    451 GitHub stars~528 tokensUpdated 1 mo ago
    Auto-check passed
  • Review

    HazAT/pi-config

    Coordinate a model-diverse local code review, automatically repair actionable findings with sequential workers, and re-review to a final verdict.

    451 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Configures a repository for super.engineering with repo-owned worktree setup and development-server scripts.

    451 GitHub stars~999 tokensUpdated 1 mo ago
    Auto-check passed
  • Worker

    HazAT/pi-config

    Implement one todo or review-fix task supplied by a coordinator, verify it, create one focused commit, and report evidence through the current Superconductor session.

    451 GitHub stars~679 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Pi Extension Development

What does Pi Extension Development do?

Defines the local standard for standalone Pi extension repositories. Pi Extension Development is an agent skill from HazAT/pi-config. Defines the local standard for standalone Pi extension repositories.

When should I use Pi Extension Development?

Pi Extension Development fits situations like: manually invoked to create; release an extension with Git-backed installation; vite+ linting and formatting.

How do I install Pi Extension Development in Claude Code?

Run `npx skills add HazAT/pi-config --skill pi-extension-development -a claude-code`. Or copy the skill folder (skills/pi-extension-development in HazAT/pi-config) into .claude/skills/pi-extension-development in your project. Claude Code loads it when a task matches its description.

How do I install Pi Extension Development in Codex?

Run `npx skills add HazAT/pi-config --skill pi-extension-development -a codex`. Or copy the skill folder (skills/pi-extension-development in HazAT/pi-config) into .agents/skills/pi-extension-development in your project. Codex loads it when a task matches its description.

Can I use Pi Extension Development in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HazAT/pi-config --skill pi-extension-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pi-extension-development, .gemini/skills/pi-extension-development, .github/skills/pi-extension-development and .opencode/skills/pi-extension-development in your project.

What does Pi Extension Development need to run?

Going by SKILL.md and its folder, Pi Extension Development needs the command-line tools its instructions call (git).

Does Pi Extension Development access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Pi Extension Development safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pi Extension Development use?

Pi Extension Development is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pi Extension Development use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Pi Extension Development?

Skills that share tags, products or a category with Pi Extension Development: Lint Commit PR (Tresjs/tres, 3.8k stars), Saleor Commit Workflow (saleor/saleor, 23k stars), Qt Cpp Review (Serial-Studio/Serial-Studio, 7.2k stars) and Qt Qml Review (Serial-Studio/Serial-Studio, 7.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pi Extension Development?

HazAT (a GitHub user) maintains it in HazAT/pi-config, which has 451 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on August 25, 2026.

Source: HazAT/pi-config on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.