@raquezha/norpiv
Bundled RPIV workflow skills for Pi, Claude, and Codex-style coding agents
Package details
Install @raquezha/norpiv from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@raquezha/norpiv- Package
@raquezha/norpiv- Version
0.0.7- Published
- Jul 5, 2026
- Downloads
- 743/mo · 31/wk
- Author
- raquezha
- License
- MIT
- Types
- skill
- Size
- 83.7 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"skills": [
"triage",
"frame",
"grill-with-docs",
"plan",
"implement",
"verify",
"sync",
"update-docs",
"post-merge-prune",
"distill"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
norpiv (Lean RPIV Workflow Engine)
RPIV: a gated workflow for reliable AI coding agents.
RPIV is one implementation of the broader nothing Workflow Contract. The contract defines the generic shape for workflows such as RPIV and Research, focusing on 3 Real Modes (Chat, Research, RPIV) tracked by .workflow/active.json.
Standalone package usage still works: @raquezha/norpiv includes the RPIV skills, distill, and helper scripts needed for handoff. The local Research workflow lives separately under packages/workflows/noresearch. The platform-level contract lives in the source repo at https://github.com/raquezha/nothing/blob/main/docs/workflow.md.
🔁 The Lifecycle
The RPIV engine splits task execution into separate, focused phases:
| Phase | Command | Purpose | Input / Output Files |
|---|---|---|---|
| 1. Ingest | /triage [source]:[id] |
Initial task verification and workspace setup. | Creates .workflow/tasks/[source-id]/WORK.md & metadata.json |
| 2. Scoping | /frame |
Author a clear, structured task brief. | Populates WORK.md ➔ [BRIEF] section |
| 3. Interrogate | /grill-with-docs |
Stress-test brief against rules and docs. | Records decisions in WORK.md ➔ [GRILL] |
| 4. Strategy | /plan |
Draft thin, independently testable slices. | Writes checkbox items in WORK.md ➔ [PLAN] |
| 5. Coding | /implement |
Execute one approved plan slice (needs permission). | Modifies code; records updates in WORK.md ➔ [LOG] |
| 6. Truth Test | /verify |
Run tests, lint, and verify quality. | Appends results to [LOG] |
| 7. Close | /sync |
Bridge local progress with external trackers. | Posts summary updates to Jira, GitHub, or GitLab |
Auxiliary hygiene:
| Command | Purpose | Input / Output Files |
|---|---|---|
/post-merge-prune |
Delete stale local branches after a PR/MR is merged, prune remote refs, and clean completed task folders. | Post-merge branch cleanup plus safe task-folder cleanup |
notrace relationship
notrace is an optional retrospective layer around RPIV.
Rules:
- RPIV must work without notrace.
- notrace may attach to RPIV when task state exists.
WORK.mdremains the RPIV source of truth whether notrace is installed or not..notrace/owns notrace artifacts..workflow/owns RPIV task state.- notrace artifacts and reviews may be referenced from
WORK.md [LOG], but RPIV phases must not depend on those files being present.
🛡️ Critical Guardrails
- Measure Twice, Cut Once: Never implement code during scoping or planning. The agent will wait for an explicit
EXECUTEstatement before modifying files. - One Source of Truth: All task state belongs in
.workflow/tasks/[source-id]/WORK.md. Avoid creating separatePROBLEM.mdorPLAN.mdfiles. - Safe Branching: Triage and planning happen on the main branch. Create the feature branch (
feat/*orfix/*) only when starting/implement.
📦 Install as a skill bundle
From GitHub with npx skills add
Best for trying or handing off RPIV skills without installing the full nothing setup:
npx -y skills add raquezha/nothing --full-depth -g -a pi \
-s triage frame grill-with-docs plan implement verify sync post-merge-prune update-docs distill \
-y
From npm
npm install -g @raquezha/norpiv
Install the bundled skills for your agent runtime:
# Pi default: ~/.pi/agent/skills/{triage,frame,plan,...}
norpiv-install
# Other adapters
norpiv-install --target claude
norpiv-install --target codex
norpiv-install --target all
Targets:
pilinks skills into~/.pi/agent/skills.claudelinks skills into~/.claude/skills.codexinstalls the skill docs under~/.codex/skills/norpivand writes anAGENTS.mdadapter because Codex-style environments do not universally auto-loadSKILL.mdbundles.
norpiv-install also installs the shared helper scripts under a sibling scripts/ directory so skill references like ../scripts/triage_helper.sh resolve after installation.
🧢 Hats
| Hat | Purpose |
|---|---|
pi --rpiv |
Full RPIV workflow. Loads triage, frame, grill-with-docs, plan, implement, verify, sync, post-merge-prune, and update-docs. |
pi --notes |
Conversation distiller. Saves useful thinking to Obsidian without RPIV ceremony. |
📝 Pre-RPIV note capture
distill
Converts the current conversation into a durable Obsidian-ready markdown note.
Trigger: /distill, "distill this", "save the useful parts", "save this as a note"
Output: A single .md file written to $OBSIDIAN_VAULT/distilled/ or ~/notes/distilled/
Use when: The conversation produced useful thinking that should survive outside chat — an idea, a research thread, a decision, a concept — but is not yet ready for RPIV or a PRD.
Does not: Create PRDs, start RPIV, require a ticket, or ask the user to classify their idea.
Relationship to RPIV:
conversation → /distill → Obsidian note (pre-commitment)
Obsidian note → /triage → RPIV (only when ready to commit)
distill is the missing layer before RPIV. Use pi --notes to load it.
Research is a separate local workflow bundle in packages/workflows/noresearch and is loaded by the full nothing setup with pi --research.
🚀 Quick Start Example
Activate the RPIV Hat from the full
nothingsetup:pi --rpivIf installed via
npx skills addornorpiv-install, invoke the skills directly in your agent instead.Triage an Issue:
/triage github:45Frame the Work:
/frameVerify Constraints:
/grill-with-docsWrite the Plan Slices:
/planAuthorize Execution: Provide the agent explicit permission to implement:
EXECUTE /implementVerify & Close:
/verify /sync /post-merge-prune
🧭 Shared helper scripts
The bundle includes helper scripts used by the workflow skills:
scripts/triage_helper.shscripts/validate_active_task.shscripts/reposcry-bootstrap.shscripts/reposcry-task-context.shscripts/reposcry-refresh.sh
When skills are loaded directly from this package, relative references like ../scripts/... resolve against the package root. When skills are installed with norpiv-install, the same layout is recreated under the target runtime.
🔎 Optional RepoScry integration
RepoScry is an optional repo-memory layer for RPIV. norpiv does not require it.
If reposcry is installed:
./scripts/reposcry-bootstrap.sh
./scripts/reposcry-task-context.sh "fix dependency graph rebuild"
# edit code
./scripts/reposcry-refresh.sh main
reposcry validate main HEAD
Typical usage by phase:
/triage: optionally seed.reposcry/withscripts/reposcry-bootstrap.sh/frame: optionally generate.reposcry/AI_CONTEXT.mdwithscripts/reposcry-task-context.sh/grill-with-docs: optionally usereposcry query_graph,get_architecture_overview, andget_impact_radius/implement: optionally runscripts/reposcry-refresh.shafter edit batches/verify: optionally addreposcry validate main HEADand affected-flow output as extra evidence
If RepoScry is absent, the helpers no-op and RPIV continues with normal repo reading, grep, and tests.
RepoScry guardrails:
.reposcry/is generated local cache and must not be committed.scripts/reposcry-bootstrap.shautomatically adds.reposcry/to the project.gitignorebefore initializing RepoScry.- If
.reposcry/is already tracked or staged, bootstrap stops and tells you to remove it from the index. .reposcryignoreis indexing policy, not cache. Review and commit it when you want stable RepoScry behavior across machines.