A small collection of pi skills, extensions, and subagents for engineering work.
npm install
pi install /absolute/path/to/ai-engineer-workflowThe package loads the local skills, pi-web-access, and the pinned pi-subagents extension, skills, and prompts. Run /reload after changing package resources in an active Pi session.
Install this package instead of the standalone npm:pi-subagents and npm:pi-web-access packages. Remove standalone copies with pi remove npm:pi-subagents and pi remove npm:pi-web-access before installing this repository.
Use for non-trivial work when you want a written contract before implementation. It asks only repo-unanswerable questions, writes a single spec.md (or docs/specs/<slug>.md when that directory exists), includes implementation checkboxes plus an append-only progress log, reads it back for correction, and stops. Implementation is a separate step.
Invoke with phrases such as “spec this out,” “write a spec,” “do this spec-driven,” or “SDD.”
Use to stress-test a plan or design before building. It interviews you one question at a time, explores the decision tree, resolves dependencies, and recommends an answer for each question.
Invoke by asking to grill or stress-test a plan.
Use to learn a new skill or concept over multiple sessions. The current directory becomes a teaching workspace. Learning state lives in MISSION.md, RESOURCES.md, NOTES.md, reference/, learning-records/, lessons/, and assets/ as they are created.
Lessons are short, self-contained HTML files in lessons/, numbered 0001-<dash-case-name>.html. They should be grounded in the mission, use trusted sources, include citations, provide practice and feedback, link to related lessons/reference documents, and remind you to ask follow-up questions. Raw source files are evidence and should remain unchanged.
Invoke by asking to learn or be taught something. This skill is user-invoked and does not run automatically.
Use to review changes since a fixed point such as a commit, branch, tag, or merge-base. It checks the diff along two separate axes: Standards, meaning whether the code follows this repo's documented standards plus baseline code-smell heuristics, and Spec, meaning whether the change matches the originating issue or spec.
Invoke when reviewing a branch, PR, work-in-progress changes, or by asking to “review since X.”
Use for codebase walkthroughs and architecture questions such as “how does this work?”, “where should this live?”, or “which package owns this?”. It explains runtime flow, key concepts, file ownership, and gotchas. It can also critique an architecture after explaining it.
Use for rich explanations of code changes, diffs, branches, or PRs. It produces a self-contained interactive HTML file with diagrams and a multiple-choice quiz.
Always applies when editing prose. It removes common AI writing patterns, vague claims, puffery, filler, and unnecessary jargon while preserving meaning and adding a more natural voice.
Use when adding a clipped article, document, transcript, or source file from raw/ to the local LLM wiki.
Before changing the wiki, read AGENTS.md if one exists in the wiki workspace. Treat raw/ as immutable. Identify sources by canonical or normalized URL first, then domain/path, title, or content similarity. Create or update one summarized page in wiki/sources/, extract durable concepts and entities, add wiki links, update index.md, and append an ingest entry to log.md. Never invent missing facts; mark them TBD or uncertain.
Use when reconciling new versions, changed titles, duplicate sources, conflicting claims, or wiki health.
Keep all raw snapshots unchanged. Compare sources by canonical/normalized URL, source ID, title, and content similarity. Preserve version history and conflicting claims rather than silently replacing older claims. Update related pages, index.md, and log.md. Health checks cover broken wiki links, orphan pages, duplicate concepts, stale claims, missing source index entries, unresolved conflicts, and unsupported claims. Automatically fix only safe link and metadata issues; report substantive judgment calls first.
pi-web-access provides web_search, source_check, fetch_content, and get_search_content. These tools are active when Pi starts. Configure search providers and optional credentials in ~/.pi/web-search.json.
This replaces the repository's Playwright browser extension. It handles web research and content extraction, but it does not automate page clicks, forms, or browser debugging.
The workflow pins pi-subagents and exposes its built-in agents and prompt shortcuts. Its researcher agent can use the tools from pi-web-access for sourced internet research.
- Skill instructions live at
skills/<skill-directory>/SKILL.md. - Web access comes from the pinned
pi-web-accesspackage. - Keep operational metadata and usage guidance here in
README.md. - Do not add
CLAUDE.mdorAGENTS.mdfiles to this repository.