@sentiolabs/pi-arc
Arc issue tracker integration for Pi.
Package details
Install @sentiolabs/pi-arc from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@sentiolabs/pi-arc- Package
@sentiolabs/pi-arc- Version
0.10.1- Published
- May 14, 2026
- Downloads
- 170/mo · 41/wk
- Author
- bfirestone45
- License
- MIT
- Types
- extension, skill, prompt
- Size
- 282.8 KB
- Dependencies
- 2 dependencies · 4 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"prompts": [
"./prompts/*.md"
],
"extensions": [
"./extensions/*.ts",
"./node_modules/@juicesharp/rpiv-todo/index.ts",
"./node_modules/@juicesharp/rpiv-ask-user-question/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi Arc Package
Monorepo location: this package lives at
packages/pi-arcin thepi-nexusworkspace. From the monorepo root, test it withnpm test --workspace @sentiolabs/pi-arcand load it locally withpi -e ./packages/pi-arc.
Arc issue tracker integration for Pi: packaged Arc skills, prompt templates, session context injection, workflow command aliases, bundled checklist support via @juicesharp/rpiv-todo, and optional Arc specialist integration with pi-subagents.
This package is a Pi-native port of the Claude Code Arc plugin at https://github.com/sentiolabs/arc
What is included
- Prompt templates for common Arc CLI workflows:
/arc-create/arc-list/arc-ready/arc-show/arc-update/arc-close/arc-docs- and more under
prompts/
- Skills for Arc workflows:
/skill:arc— general Arc reference/skill:arc-brainstorm/skill:arc-plan/skill:arc-build/skill:arc-debug/skill:arc-review/skill:arc-verify/skill:arc-finish
- Extension commands:
/arc-onboard— runarc onboard/arc-which— runarc which/arc-prime— show cachedarc primecontext/arc-refresh— refresh cachedarc primecontext/arc-plan,/arc-build,/arc-review, etc. — friendly aliases for the corresponding skills
- Auto-materialized Arc specialists for
pi-subagents:@sentiolabs/pi-arcwrites generatedarc-*agent files into pi-subagents user discovery scope on session start.- Users do not need to run
/arc-subagents-syncafter install. /arc-subagents-syncis deprecated for normal activation and remains a repair/backcompat command.
- Session context injection:
- On session start, the extension runs
arc primeand injects its output into the system prompt as<arc-context>. - Before compaction, the extension refreshes
arc prime.
- On session start, the extension runs
- Bundled
@juicesharp/rpiv-todointegration (auto-installed + auto-loaded):todotool for managing in-session checklist items./todoscommand for a quick checklist view/workflow.- Persistent overlay widget for visible, session-level task progress.
- Bundled
@juicesharp/rpiv-ask-user-questionintegration (auto-installed + auto-loaded):- Provides the
ask_user_questiontool for Arc workflow decisions using the packagequestions[]schema. - Supports multi-question dialogs, single-select and multi-select questions, optional per-option previews, and per-option notes.
- Preserves package-provided escape hatches where supported, including
Type something.for custom text andChat about thisfor returning to free-form conversation. - Arc docs should not manually author reserved sentinel labels such as
Type something.,Chat about this,Other, orNextas normal options. - When Arc recommends an option, list it first, append
(Recommended)to the label, and explain why in the description.
- Provides the
arc_agenttool:- Runs bundled Arc specialist prompts from
agents/*.mdin fresh Pi subprocesses. - Supports
builder,code-reviewer,doc-writer,evaluator,issue-manager, andspec-reviewer. - Resolves Arc model tiers (
small,standard,large) to concrete Pi models so orchestrators can right-size subagent dispatches. - Current limitation:
isolation: "worktree"is recognized but not implemented yet.
- Runs bundled Arc specialist prompts from
- Optional
pi-subagentscompanion support:@sentiolabs/pi-arcauto-materializes Arc specialist definitions for any installedpi-subagentsprovider, but does not bundle or load thesubagenttool itself.- Install
pi-subagentsonce if you want async/background runs, chains, or worktree-isolated parallel Arc batches:pi install npm:pi-subagents. - If
pi-subagentsis unavailable, Arc workflows fall back to the bundled sequentialarc_agenttool.
Prerequisites
- Pi installed.
- The
arcCLI available onPATH. - An Arc project initialized or registered for the working directory:
arc init
# or
arc onboard
The package fails gracefully when arc is unavailable or the current directory is not an Arc project.
Install from npmjs.org
@sentiolabs/pi-arc is published publicly on npmjs.org, so npm installs do not require GitHub Packages registry configuration or a GitHub token.
Install globally through Pi:
pi install npm:@sentiolabs/pi-arc
Install into the current project's .pi/settings.json instead of global settings:
pi install -l npm:@sentiolabs/pi-arc
Pin to a released version:
pi install npm:@sentiolabs/pi-arc@0.10.0
Test without installing permanently:
pi -e npm:@sentiolabs/pi-arc
Install from git
Git installs are supported for source checkouts and unreleased refs:
pi install git:git@github.com:sentiolabs/pi-arc
pi install git:git@github.com:sentiolabs/pi-arc@main
pi install git:git@github.com:sentiolabs/pi-arc@v0.10.0
HTTPS works too if your Git credentials are configured:
pi install https://github.com/sentiolabs/pi-arc
Install locally
From a local checkout:
pi install -l .
Use temporary installation for testing:
pi -e .
Usage
Start Pi in an Arc-enabled project and run:
/arc-onboard
/arc-ready
/arc-create "Fix login bug" --type bug --priority 1
/arc-show <issue-id>
/arc-brainstorm
/arc-plan docs/plans/<file>.md
/arc-build <epic-id>
/arc-finish
You can also invoke skills directly:
/skill:arc
/skill:arc-plan
/skill:arc-build
Arc vs todo boundary
Use Arc for persistent, auditable issue tracking across sessions (arc create, arc update, dependencies, plan shares, and closure history). Use bundled rpiv-todo (todo tool + /todos + overlay) for visible, in-session checklists while you execute the current workflow.
Plan review surfaces
/skill:arc-brainstorm writes design docs under docs/plans/ and asks how to register them for review:
- Legacy local planner:
arc plan create <file>for a simple local-only comment thread. - Encrypted local share:
arc share create <file>for encrypted local review with annotations. - Encrypted remote share:
arc share create <file> --remotefor reviewers on other machines.
The brainstorm skill writes a first-line marker like <!-- arc-review: kind=share-remote id=<id> -->; /skill:arc-plan reads that marker to choose the matching arc plan or arc share commands.
Arc model profiles
Use /arc-models to configure Arc's recommended Pi model and thinking level per workflow role. Arc stores profile preferences at ${XDG_CONFIG_HOME:-~/.config}/pi-arc/models.json, with top-level modelProfiles.
Profile keys map directly to the workflow roles: brainstorm, plan, issueManager, builder, codeReviewer, docWriter, specReviewer, and evaluator.
{
"version": 1,
"modelProfiles": {
"brainstorm": {
"model": "openai-codex/gpt-5.5",
"thinking": "high"
},
"issueManager": {
"model": "openai-codex/gpt-5.4-mini",
"thinking": "off"
},
"builder": {
"model": "openai-codex/gpt-5.3-codex",
"thinking": "medium"
},
"codeReviewer": {
"model": "openai-codex/gpt-5.5",
"thinking": "high"
}
}
}
/arc-models lists only models returned by Pi's active model registry. If a configured model is unavailable, it prompts you to choose a replacement before saving.
The same modelProfiles shape works for plan, docWriter, specReviewer, and evaluator profiles.
Legacy arc.modelTiers settings in ~/.pi/agent/settings.json or project .pi/settings.json remain supported as a compatibility fallback, but new configuration should use /arc-models and modelProfiles.
Arc specialists in pi-subagents
Arc writes generated specialists to ~/.agents/ by default. Legacy user scope ~/.pi/agent/agents/ is reserved for compatibility. Project .pi/agents/arc-*.md files have higher precedence and can shadow fresh user-scope files; if Arc warns about a shadow, inspect or remove the project-local generated file intentionally.
@sentiolabs/pi-arc does not bundle or load pi-subagents; install pi-subagents separately when you want the subagent tool. The Arc extension still auto-materializes Arc specialists into pi-subagents user scope, so /arc-subagents-sync is deprecated for normal activation and remains only a repair/backcompat command.
Generated specialists include:
arc-builderarc-doc-writerarc-spec-reviewerarc-code-reviewerarc-evaluatorarc-issue-manager
Install pi-subagents as a normal Pi package if you want these specialists available through the subagent tool:
pi install npm:pi-subagents
Existing standalone installs under ~/.pi/agent/extensions/subagent also work. Because @sentiolabs/pi-arc no longer loads its own copy, project-local Arc installs should not conflict with a global subagent tool.
For repair/backcompat only, /arc-subagents-sync project can explicitly refresh legacy project-scope generated files under <cwd>/.pi/agents/; normal activation writes user-scope files automatically.
The issue-manager agent uses the issueManager profile (recommended gpt-5.4-mini with thinking off) and stays phased: create the epic first, then child tasks next, then dependencies/labels after all IDs exist. It prints phase-level timing/progress lines for bulk issue creation. This is sequencing only; true parallel issue creation is not enabled yet.
Generated files include a marker comment so reruns can safely update Arc-managed files while preserving manual edits in user-authored files.
To confirm installed/discovered agents, use:
subagent({ action: "list" })
/agents
Use /subagents-status to monitor active/recent async Arc specialist runs after launch. It does not list idle installed agents.
For Arc gates (especially spec compliance), use Arc specialists (arc-spec-reviewer, etc.) instead of generic worker/reviewer agents.
- Keep
arc_agentas the self-contained fallback when Arcpi-subagentsdefinitions are unavailable. - Claude-style team deployment is intentionally not ported to Pi.
Execution lanes
- Sequential Arc build: use when tasks overlap, dependencies are linear, or
pi-subagentsis unavailable. - Parallel Arc batch: use when
/arc-planprovides a T0 foundation, file ownership matrix, parallel batch manifest, and validation matrix. - Ant Colony: future/optional lane for large exploratory work; not a replacement for Arc gates in this iteration.
Naming differences from the Claude plugin
Claude plugin commands used names like /arc:create. Pi prompt templates are filename-based, so this package uses hyphenated names:
| Claude plugin | Pi package |
|---|---|
/arc:create |
/arc-create |
/arc:list |
/arc-list |
/arc:ready |
/arc-ready |
/arc:show |
/arc-show |
/arc:plan |
/arc-plan or /skill:arc-plan |
/arc:build |
/arc-build or /skill:arc-build |
Current implementation status
Implemented:
- Pi package manifest
- Prompt template migration with
/arc-*names - Skill migration with collision-safe
arc-*skill names - Arc context extension (
arc primecache + system prompt injection) - Workflow command aliases
- Bundled agent prompt references under
agents/ - Bundled
@juicesharp/rpiv-ask-user-questionpackage for interactive workflow decisions - Pi-native
arc_agentcustom tool for sequential subagent execution - Auto-materialized Arc specialists in pi-subagents user scope;
/arc-subagents-syncis deprecated repair/backcompat only - Optional
pi-subagentsintegration for worktree-isolated evaluator runs, independent parallel builder batches, and phased issue-manager creation - Maintainer-only
/arc-source-syncworkflow for syncing from the Claude Arc plugin source
Not yet implemented:
- Native
arc_agentworktree isolation for parallel Arc builders. - Arc issue autocomplete in the Pi editor.
Intentionally not ported:
- Claude-style team deployment. Pi does not provide Claude's persistent team/task primitives.
Development
Install package dependencies without auto-installing Pi peer dependencies:
npm ci
Run tests and inspect the publish tarball:
npm test
npm run pack:dry-run
Maintainer source sync
This repo includes a maintainer-only /arc-source-sync skill/command for syncing Pi resources from the Claude Arc plugin source while preserving Pi-specific behavior.
Use the skill when asking an agent to evaluate and apply upstream changes:
/arc-source-sync
/arc-source-sync ~/devspace/personal/sentiolabs/agent-nexus/claude-marketplace/plugins/arc
Regenerate migrated resources directly from the default source path:
python3 scripts/migrate-arc-plugin.py
Or pass an explicit Claude Arc plugin source path:
python3 scripts/migrate-arc-plugin.py ~/foo/bar/arc
python3 scripts/migrate-arc-plugin.py --source ~/foo/bar/arc
Smoke test in Pi:
PI_OFFLINE=1 pi -e . --list-models
Useful checks:
rg '/arc:' skills prompts
rg 'TaskCreate|TodoWrite|AskUserQuestion|Claude Code' skills prompts
Release process
Release Please manages package.json, package-lock.json, Git tags, GitHub releases, and CHANGELOG.md. The first official release is bootstrapped to v0.1.0.
Use Conventional Commits on main so Release Please can determine the next version:
feat: add an Arc workflow capability
fix: correct an Arc command edge case
When a Release Please PR is merged, .github/workflows/release-please.yml creates the GitHub release and publishes the package to npmjs.org using npm Trusted Publishing (OIDC) with provenance.
Before the first automated npm release, configure npm Trusted Publishing for the package:
- Package:
@sentiolabs/pi-arc - Publisher: GitHub Actions
- Repository owner/user:
SentioLabs - Repository:
pi-arc - Workflow filename:
release-please.yml - Environment: leave blank unless a GitHub Environment is intentionally required
npm Trusted Publishing requires an existing package to configure from package settings. If @sentiolabs/pi-arc has not been published before, publish a one-time public 0.0.0 bootstrap version or configure the trusted publisher with npm trust after the package exists, then let Release Please publish the first official v0.1.0 release.