mypac stands for My Personal AI Config.
It is an opinionated package of reusable Pi assets: extensions, prompts, and skills for coding workflows. This repo is both my personal lab and a browsable catalog for people who want to discover, copy, or install useful Pi building blocks.
It is set up to be used with pi.
If you are evaluating this repository, the main things to look at are:
- Extensions that add Pi commands, tools, UI flows, and workflow guardrails
- Skills that encode repeatable repo and GitHub workflows
- Prompts that turn common work modes into slash commands
In short: this is a small shop of reusable Pi assets for planning, implementation, review, GitHub work, and day-to-day repo operations.
Repo-local prompts and skills use the pac- prefix to avoid collisions with other tools and packages.
That is a good tradeoff here because Pi's fuzzy slash-command finder makes the longer names easy to type anyway.
For readability, the skill table below drops the pac- prefix in the display label, while the prompt table keeps the real slash commands you actually type.
| Extension | Surface | What it adds |
|---|---|---|
answer |
/answer, ctrl+. |
Extracts questions from the last assistant message and lets you answer them in an interactive Q&A flow |
ask |
/ask |
Toggles a discussion-only mode so you can think things through without making changes |
btw |
/btw |
Opens an isolated sidechat for planning, exploration, and handoff back to the main thread |
commit |
/commit |
Guides atomic commits that follow the repo's gitmoji and staging rules |
context |
/context |
Shows loaded context and tracks which repo-local skills have been pulled into the session |
files |
/files, shortcuts |
Browses repo and session files, with quick actions like open, reveal, diff, edit, and add to prompt |
ghi |
/ghi |
Creates a GitHub issue in the current repository using gh |
multi-edit |
edit tool override |
Extends Pi's edit tool with batch edits and Codex-style patch support |
review |
/review-start, /review-end |
Reviews uncommitted changes, commits, branches, PRs, or folders from inside Pi |
session-names |
background behavior | Names /pac-lwot sessions from the work context you provide |
shared-agents |
background behavior | Injects shared AGENTS.md guidance into the session system prompt |
slidedeck |
/pac-slidedeck |
Generates a self-contained HTML slidedeck and saves it under ~/.pi/agent/slidedecks/ instead of the repo workspace |
todos |
todo tool, /todos |
Adds a file-based todo system under .pi/todos with claiming, status, and notes |
undo |
/undo |
Rewinds to the previous user message and restores it to the editor |
uv |
bash tool wrapper |
Redirects Python package and interpreter workflows toward uv |
whimsical |
background behavior | Rotates fun working messages while Pi is running |
| Skill | What it is for |
|---|---|
changelog |
Update CHANGELOG.md for notable changes and prepare release sections on request |
commit |
Create, split, or plan commits that follow this repo's branch, staging, and gitmoji workflow |
diagnose |
Diagnose bugs and performance regressions with a disciplined feedback-loop workflow |
github |
Use the gh CLI for issues, PRs, workflow runs, and GitHub API queries |
github-issue-create |
Create well-formed GitHub issues from inside the current repository |
grill-with-docs |
Grill issue-backed work, then persist durable outcomes to GitHub issue comments and sparing local context |
improve-architecture |
Review a codebase for deepening opportunities, then grill a chosen architecture candidate |
librarian |
Cache and refresh remote git repositories locally for future reference work |
openspec-apply-change |
Implement tasks from an OpenSpec change |
openspec-archive-change |
Archive a completed OpenSpec change |
openspec-explore |
Explore ideas, investigate problems, and clarify requirements before coding |
openspec-propose |
Generate a full OpenSpec proposal with design, specs, and tasks |
pi-extension |
Create or refactor Pi extensions safely in this repo's extension layout |
pi-prompt |
Author or update prompt templates under prompts/ |
pi-skill |
Create, rename, or refactor repo-local skills under skills/ |
review |
Review code changes using the repo's review rubric |
triage |
Triage GitHub issues through mypac's label-based issue workflow |
uv |
Prefer uv over pip, python, and venv workflows |
| Prompt | Purpose |
|---|---|
/pac-hello-world |
Quick validation prompt to confirm the package is loaded |
/pac-lwot |
"Let's work on that" — turn a note, issue, PR, todo, or URL into a concrete plan and next steps |
/pac-zoom-out |
Zoom out from a code area and map relevant modules, callers, and system fit |
/pac-ldit |
"Let's do it" — confirm and proceed with already-planned work |
/pac-diagnose |
Diagnose a bug or performance regression with a disciplined feedback-loop workflow |
/pac-grill-with-docs |
Grill issue-backed work and persist durable outcomes to GitHub issue notes and sparing local context |
/pac-triage |
Triage GitHub issues through mypac's label-based issue workflow |
/pac-improve-architecture |
Review a codebase for deepening opportunities, then grill a chosen architecture candidate |
/pac-propose |
Create a new OpenSpec change proposal in one step |
/pac-apply |
Implement tasks from an OpenSpec change |
/pac-explore |
Enter exploration mode to think through a problem before implementation |
/pac-archive |
Archive a completed OpenSpec change |
On a fresh clone, run the setup script from the repository root:
./scripts/install.shLaunch Pi locally with:
mise run piUse OpenSpec for meaningful multi-step work.
OpenSpec artifacts live under openspec/.
To make mypac available from any repository, add this repo as a local Pi package in ~/.pi/agent/settings.json:
{
"packages": [
"/Users/ladislas/dev/ladislas/mypac"
]
}If you already have other packages configured, append this repository path to the existing packages array instead of replacing it.
This keeps Pi using its normal runtime state in ~/.pi/agent/ for auth, settings, and sessions while loading shared resources from this repository.
After install, if Pi is already running, use /reload or restart Pi.
Useful first commands:
/pac-hello-world/pac-lwot [optional text|github issue|github pr|url]/pac-slidedeck turn issue #131 into a review deck
/pac-slidedeck saves the generated HTML outside the repo under ~/.pi/agent/slidedecks/<session-id>/..., so deck artifacts do not pollute your workspace.
Saved-deck replies include a clickable Markdown file:// link, and the shared deck scaffold is based on the preferred issue #85 presentation style.
- Install
misewith Homebrew:brew install mise - Trust the repo tool config:
mise trust - Install repo-managed tools:
mise install - Install the git hook:
mise run hooks - Run the checks on demand:
mise run lint - Auto-fix Markdown lint issues:
mise run lint:fix
The hk configuration lints YAML and Markdown files before commit. If a check fails, fix the reported file and run the hook again or retry the commit.
- Track notable repository changes in
CHANGELOG.md. - For agent-driven work, use
skills/pac-changelog/SKILL.mdto update## [Unreleased]before merge. - Keep entries grouped under headings like
Added,Changed, andFixed.
The main Pi resource directories in this repository are:
prompts/extensions/skills/
If you already have Pi running elsewhere and want it to onboard mypac for you, paste this into Pi:
Please set up the `mypac` repository on this machine.
Important:
- Ask me for any missing values before acting, especially the clone location and whether you should install any missing prerequisites.
- From the cloned repo root, run `./scripts/install.sh` to install repo dependencies, tooling, and hooks.
- Do not replace existing entries in `~/.pi/agent/settings.json`; only add the `mypac` repo path to the `packages` array if it is missing.
- If you hit an auth, permission, or missing-tool problem, stop and tell me exactly what you need from me.
Tasks:
1. Confirm where I want to clone `https://github.com/ladislas/mypac.git`, then clone it there.
2. Read the cloned `README.md` and follow the documented setup for this repo.
3. Ensure `~/.pi/agent/settings.json` exists and that its `packages` array includes the cloned repository path.
4. From the cloned repository root, run `./scripts/install.sh`.
5. Tell me to launch Pi in the repo with `mise run pi`.
6. Once Pi is running from the repo, ask me to try `/pac-hello-world`.
7. Tell me whether I need to restart Pi so it reloads the updated package settings.
8. Summarize what you changed, what you verified, and any follow-up steps for me.
If `mise` is not installed and I want you to install it, use Homebrew: `brew install mise`.
This is meant to be copy-pasted as-is so Pi can handle the repository-specific setup instead of making you translate the README into agent instructions by hand.
- Build a reliable personal AI operating system
- Turn experiments into repeatable workflows
- Keep useful Pi assets in one place instead of rediscovering them
- Document progress and lessons over time
Living repository. Prefer evergreen principles, repeatable experiments, and dated decisions over static vendor snapshots.
Happily stolen, reviewed, modified, or improved from:
- mitsuhiko/agent-stuff — source material and inspiration for several extensions and workflow ideas
- mattpocock/skills — borrowing ideas from his work
- The broader Pi ecosystem and its extension, prompt, and workflow patterns
Released under the MIT License.