A harness-agnostic library of Pi extensions, Claude Code plugins, Agent Skills, prompts, and themes — installable as one Pi package or as a Claude Code marketplace.
| Resource | Type | Purpose |
|---|---|---|
autopilot |
Pi Extension | Approval-gated workflow runner with continuation manifests and v2 flow. |
question |
Pi Extension | Recommendation-first user questions, bounded browser batch questionnaires, and an rpiv-contract TUI exposed as agentic_utilities_ask_user_question. |
conditional-hooks |
Pi Extension | Loads explicit JSON hook policy, including the documented worktree-GC-on-merge example. |
bambu-slicer · plugin |
Skill + Claude Code plugin | End-to-end Bambu Lab pipeline: OpenSCAD design, MakerWorld browsing, OrcaSlicer-backed STL→3MF, plate arrangement, printer control. |
harness-audit |
Skill | Audits a repo for AI-harness readiness across the 10-artifact stack and dispatches surgical fixes. |
grill-with-docs |
Skill | Stress-tests plans against project domain language and captures resolved terms/ADRs. |
scaffold-notes |
Skill | Maintenance helper for adding resources to this repo consistently. |
youtube-analyzer |
Claude Code plugin | Format-aware YouTube video analysis with multi-agent transcript chunking. |
critical-bug-hunt |
Prompt template | Recent-commit audit for high-severity correctness bugs and minimal fixes. |
hello |
Example extension | Smoke-test scaffold exposing /agentic-utilities and agentic_utilities_ping. |
The full catalog (with statuses) lives in docs/catalog.md.
pi -e . # try the package for one Pi run
pi install . # install globally from this checkout
pi install -l . # install into the current project's .pi/settings.jsonAfter edits inside a running Pi session, run /reload.
For Conditional Hooks, put global config in ~/.pi/agent/conditional-hooks.json or trusted project config in .pi/conditional-hooks.json; see extensions/conditional-hooks/README.md.
Once published:
pi install git:github.com/AojdevStudio/agentic-utilities
pi install git:github.com/AojdevStudio/agentic-utilities@v0.1.0The root skills/ directory is compatible with the Agent Skills CLI. To inspect what the CLI sees from this checkout:
npx skills add . --listTo inspect the canonical GitHub repository:
npx skills add AojdevStudio/agentic-utilities --listUse the skills CLI for discovery and repo-page telemetry. For this user's isolated daily setup, copy from this repo into harness-specific inventories (~/.pi/agent/skills, ~/.codex/skills, ~/.claude/skills) instead of relying on a shared ~/.agents bridge. The current CLI can still choose shared Agent Skills paths for some agent targets, so verify install output before using it as an installer.
The skills.sh.json file only customizes the repository page on skills.sh; it does not change install behavior.
Add the marketplace, then install plugins from it:
/plugin marketplace add AojdevStudio/agentic-utilities
/plugin install bambu-slicer@agentic-utilities
/plugin install youtube-analyzer@agentic-utilitiesThe marketplace manifest is .claude-plugin/marketplace.json.
agentic-utilities/
├── .claude-plugin/ # Claude Code marketplace manifest
├── claude-code/plugins/ # Claude Code plugins (bambu-slicer, youtube-analyzer)
├── extensions/ # Pi extensions: TypeScript modules loaded by Pi
│ └── <name>/index.ts
├── skills/ # Agent Skills: each skill owns a SKILL.md
│ └── <name>/SKILL.md
├── prompts/ # Prompt templates, named *.prompt.md
├── themes/ # Pi theme JSON files
├── rules/ # Authoritative rule files (extensions, skills, identity, secrets)
├── docs/ # Catalog, conventions, autopilot reference, GC ritual
└── scripts/ # Local scaffolding (new-extension, new-skill, list-resources)
npm run new:extension -- my-extension "Short description"
npm run new:skill -- my-skill "Use when ..."
npm run list # inventory checkConventions in one breath:
- Extensions →
extensions/<kebab-name>/index.ts. Tool names use snake_case and are globally namespaced (e.g.agentic_utilities_ping). - Skills →
skills/<kebab-name>/SKILL.md, frontmatternamematches the directory. Keep canonical shared skills here, then copy them into harness-specific inventories (~/.pi/agent/skills,~/.codex/skills,~/.claude/skills) when Pi, Codex, and Claude Code should diverge. Use symlinks only when you intentionally want coupled behavior. - Prompts →
prompts/<name>.prompt.md(the.prompt.mdsuffix keeps READMEs out of the prompt list). - Themes →
themes/<name>.json. - Claude Code plugins →
claude-code/plugins/<name>/, registered in.claude-plugin/marketplace.json.
Full conventions: docs/conventions.md. Authoritative rule files: rules/.
| Doc | What it covers |
|---|---|
docs/autopilot.md |
/autopilot command reference and the common v2 flow. |
docs/catalog.md |
Live resource inventory (canonical source for "what's in the box"). |
docs/conventions.md |
Repo conventions for extensions, skills, prompts, themes, and plugins. |
docs/publishing.md |
Publishing notes. |
docs/garbage-collection.md |
Weekly / post-failure GC ritual that converts agent friction into rules, lints, and skills. |
- Pi runtime — declared via
peerDependencies:@mariozechner/pi-coding-agent,@mariozechner/pi-ai,@mariozechner/pi-tui,typebox. - Claude Code — plugins follow the Claude Code marketplace schema.
- Node — runtime npm dependencies used by extensions belong in
dependencies; pin sparingly.
PRs welcome. Before opening one:
- Add or update an entry in
docs/catalog.md. - Run
npm run checkandnpm run pack:dry. - Run
pi -e .to smoke-test against a real Pi session. - Identity-bearing values (GitHub slugs, package names, versions) must be verified against the source of truth — see
rules/identity-verification.md.
MIT © Ossie Irondi.
If a skill, extension, or plugin saved you an afternoon, star the repo so the next person finds it too.