Skip to content

feat(agents): migrate Pi to earendil-works, bump pins; port and update mattpocock/ab-method skills - #216

Merged
jinyeow merged 10 commits into
mainfrom
feat/pi-migration-and-skill-imports
Sep 7, 2026
Merged

feat(agents): migrate Pi to earendil-works, bump pins; port and update mattpocock/ab-method skills#216
jinyeow merged 10 commits into
mainfrom
feat/pi-migration-and-skill-imports

Conversation

@jinyeow

@jinyeow jinyeow commented Aug 31, 2026

Copy link
Copy Markdown
Owner

What changed

Nine commits, each independently reviewable:

  1. Pi package migration — rename the deprecated npm scope
    @mariozechner/pi-coding-agent to @earendil-works/pi-coding-agent;
    bump pi/settings.json pins (pi-web-access 0.17.1 → 0.27.0,
    pi-subagents 0.40.0 → 0.60.0, including a rewrite of every doc citing
    the old dispatch call shape pi-subagents removed at 0.41.0). Closes
    chore(pi): migrate to @earendil-works/pi-coding-agent, bump stale package pins #165.
  2. implement-spec and retro skills — ported from
    mattpocock/skills into ai-agents/skills/.
  3. critique-plan skill (trial) — ported from ayoubben18/ab-method,
    marked trial in ai-agents/README.md.
  4. Split grill-with-docs into grilling + domain-modeling
    matches upstream's current design. grilling also adopts upstream's
    frontier-round interview model plus two rules folded in from comparing
    against the pi-extension-grill-me Pi extension: an explicit
    decision-status vocabulary and a session-end wrap-up.
  5. wayfinder — parallel research-subagent dispatch at charting time,
    with a one-ticket-per-session exception for research tickets.
  6. improve-codebase-architecture — a git-history hot-spot scoping
    step before scanning.
  7. triage — a new ready-for-human state, added alongside the
    existing four.
  8. prototype — LOGIC-branch output moves from a terminal app to a
    shareable HTML demo; completion moves from delete-or-absorb to
    archive-on-a-throwaway-branch.
  9. diagnosing-bugs — a Redact discipline for secrets in shown
    commands, 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 to
genuine behavior changes, not wording drift.

How to verify

  • pi --version still resolves after the scope rename.
  • git log main..HEAD — nine commits, each independently reviewable.
  • The Pi dispatch changes are source-verified against the actual
    pi-subagents@0.60.0 shipped source, but not yet exercised as a live
    smoke test end to end (blocked earlier by an account-wide Codex
    usage-limit, unrelated to these changes) — worth a real pi -p run
    against storm-research before relying on it.
  • Cross-reference integrity (no stale grill-with-docs/CONTEXT-FORMAT.md
    paths, roster accuracy, triage's existing states left unrenamed) was
    checked by a review pass across the full diff.

…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 jinyeow changed the title chore(pi): migrate to earendil-works scope, bump pins; import 3 mattpocock/ab-method skills feat(agents): migrate Pi to earendil-works, bump pins; port and update mattpocock/ab-method skills Aug 31, 2026
@jinyeow
jinyeow marked this pull request as ready for review August 31, 2026 11:39
@jinyeow
jinyeow merged commit 92de452 into main Sep 7, 2026
5 checks passed
@jinyeow
jinyeow deleted the feat/pi-migration-and-skill-imports branch September 7, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(pi): migrate to @earendil-works/pi-coding-agent, bump stale package pins

1 participant