feat(agents): migrate Pi to earendil-works, bump pins; port and update mattpocock/ab-method skills - #216
Merged
Merged
Conversation
…kage pins Rename the deprecated npm scope @mariozechner/pi-coding-agent to @earendil-works/pi-coding-agent in the install commands (setup.ps1, setup.sh, pi/README.md). Bump pi/settings.json pins: pi-web-access 0.17.1 -> 0.27.0, pi-subagents 0.40.0 -> 0.60.0. The pi-subagents bump is a breaking change upstream: the top-level tasks: [...] dispatch call shape was removed at 0.41.0 in favor of workflowScript/runs.all. Update every doc citing the old shape or the old pinned version (pi/README.md, deep-review/DISPATCH.md, storm-research/DISPATCH.md, SKILL-OWNERSHIP.md) to the new call shape, verified against the actual 0.60.0 shipped source rather than changelog prose. deep-review's per-dimension tools: frontmatter dispatch and the outputMode sole-writer default both still hold unchanged at 0.60.0. Not yet exercised as a live smoke test end to end (blocked by an account-wide Codex usage-limit at authoring time, unrelated to these changes) -- flagged as such in the docs. Closes #165
…skills Port two portable skills from github.com/mattpocock/skills (found under skills/in-progress/, not top-level), adapted to this repo's conventions: - implement-spec: implement a whole spec as one pull request, working the ticket frontier with concurrent implementer subagents until every ticket lands. Orchestrates existing portable skills (to-spec, to-tickets, dispatch-implement, review-fix-loop, to-pullrequest) rather than reimplementing their mechanics, so it inherits dispatch-implement's current Claude-Code-only dispatch and sequential-only gate. - retro: conduct a retrospective on a coding session, surfacing improvements to the agent's environment (docs, checks, conventions) rather than to the code itself. References this repo's actual conventions in place of upstream's generic ones (write/writing-great- skills for skill-file candidates, ai-agents/skills/_shared/review- rubric.md for the conventions/review-rubric category, the three-file AGENTS.md/CLAUDE.md steering hierarchy). Adds roster entries to ai-agents/README.md and ai-agents/SKILL-OWNERSHIP.md.
Port critique-plan from github.com/ayoubben18/ab-method (MIT): dispatches one isolated read-only subagent to critique a drafted plan against the project's domain model before any code is written, firing only on five conflict types (terminology drift, wrong bounded context, ADR contradiction, bad dependency edge, reinvented concept). Silence is the expected outcome for a clean plan. Dropped upstream's .ab-method/structure/index.yaml and unresolved-questions.md conventions, which don't exist in this repo; reuses grill-with-docs' CONTEXT.md/ADR-FORMAT.md/CONTEXT-FORMAT.md conventions and this repo's actual plan sources (to-spec, to-tickets) instead. Marked (trial) in ai-agents/README.md, not yet a settled convention.
…kills Match github.com/mattpocock/skills' current design: grilling now owns the interview mechanics, domain-modeling (new) owns the CONTEXT.md/ADR discipline. grill-with-docs becomes a thin pointer invoking both. grilling also adopts upstream's frontier-round interview model (batch the whole frontier of decisions whose prerequisites are settled into one numbered round with a recommended answer each, instead of one question at a time), plus two rules folded in from comparing against the @firstpick/pi-extension-grill-me Pi extension: an explicit per-decision status vocabulary (resolved/open/needs-codebase-check, resolved only on the user's explicit answer) and a session-end wrap-up (agreed decisions, open risks, next decision needed) before implementation starts. domain-modeling is independently model-invocable, unlike the old grill-with-docs (disable-model-invocation stays only on the pointer skill and on grilling). Repoint every reference to the old grill-with-docs/CONTEXT-FORMAT.md and ADR-FORMAT.md paths (critique-plan, improve-codebase-architecture in a separate commit, claude/skills/router) to domain-modeling, and update the skill rosters in README.md and ai-agents/README.md.
Charting the map now fires a subagent per research ticket, invoking /quick-research to resolve it in parallel and capture findings on a throwaway research/<name> branch with a context pointer from the ticket. The one-ticket-per-session rule gains an exception for research tickets: a work session may resolve several, just not several non-research tickets.
Insert a scoping step before the codebase scan: take a user-named direction if given, otherwise walk git log --oneline for hot spots (files/areas that keep recurring) and let those pull attention first, widening the net if changes are scattered. Previously the scan ran unconditionally over the whole codebase. Also repoints its grill-with-docs/CONTEXT-FORMAT.md and ADR-FORMAT.md links to domain-modeling, following the split committed earlier on this branch.
New terminal state for fully-specified work that needs a human rather than an agent (judgment calls, external access, design decisions, manual testing) — same brief structure as an agent-ready ticket, plus a note on why it can't be delegated. Added alongside the existing four states (triaged, ready, needs-info, wontfix), not renaming them. Registered in .agents/workflow.md's label list.
LOGIC-branch output changes from a terminal app to a single self-contained HTML file: a labelled-field state panel, free-play buttons, and guided walkthroughs as scenario tabs, so a non-developer can drive it too. Completion workflow changes from delete-or-absorb to archive: fold any validated decision into the real code, then commit the prototype itself to a throwaway branch (out of main) as a primary source, with a context pointer on the tracking issue. Losing UI variants and the branch switcher move to the throwaway branch instead of being deleted.
New Redact section: replace secrets with <REDACTED> in shown commands, outputs, and captured artifacts; build loops against env vars rather than literal credentials; quote only signal-bearing lines from artifacts that carry auth headers. Wired into Phase 1's completion criterion and the cannot-build-a-loop escalation. Local's existing Hard stops, sibling sweep, and architecture-handoff steps are unaffected.
jinyeow
marked this pull request as ready for review
August 31, 2026 11:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Nine commits, each independently reviewable:
@mariozechner/pi-coding-agentto@earendil-works/pi-coding-agent;bump
pi/settings.jsonpins (pi-web-access0.17.1 → 0.27.0,pi-subagents0.40.0 → 0.60.0, including a rewrite of every doc citingthe old dispatch call shape
pi-subagentsremoved at 0.41.0). Closeschore(pi): migrate to @earendil-works/pi-coding-agent, bump stale package pins #165.
implement-specandretroskills — ported frommattpocock/skillsintoai-agents/skills/.critique-planskill (trial) — ported fromayoubben18/ab-method,marked trial in
ai-agents/README.md.grill-with-docsintogrilling+domain-modeling—matches upstream's current design.
grillingalso adopts upstream'sfrontier-round interview model plus two rules folded in from comparing
against the
pi-extension-grill-mePi extension: an explicitdecision-status vocabulary and a session-end wrap-up.
wayfinder— parallel research-subagent dispatch at charting time,with a one-ticket-per-session exception for research tickets.
improve-codebase-architecture— a git-history hot-spot scopingstep before scanning.
triage— a newready-for-humanstate, added alongside theexisting four.
prototype— LOGIC-branch output moves from a terminal app to ashareable HTML demo; completion moves from delete-or-absorb to
archive-on-a-throwaway-branch.
diagnosing-bugs— a Redact discipline for secrets in showncommands, outputs, and captured artifacts.
Why
Closes #165 (Pi package migration). The skill updates came out of a
comparison of this repo's ported skills against their current upstream
originals (
mattpocock/skills,ayoubben18/ab-method), scoped togenuine behavior changes, not wording drift.
How to verify
pi --versionstill resolves after the scope rename.git log main..HEAD— nine commits, each independently reviewable.pi-subagents@0.60.0shipped source, but not yet exercised as a livesmoke test end to end (blocked earlier by an account-wide Codex
usage-limit, unrelated to these changes) — worth a real
pi -prunagainst
storm-researchbefore relying on it.grill-with-docs/CONTEXT-FORMAT.mdpaths, roster accuracy, triage's existing states left unrenamed) was
checked by a review pass across the full diff.