By infinri
Enforce a structured development workflow with automated agents for exploration, planning, test writing, implementation, and code review. Advances phases (design, plan, tests) via explicit approval and runs lifecycle hooks for task tracking and validation.
Reviews an implementation diff for code quality. Runs AFTER spec-compliance review passes, per plan Section 7.1 review ordering. Reports Critical/Important/Minor findings.
Explores a codebase to understand project structure, framework, existing patterns, and relevant files for a task. Read-only -- cannot modify files. Use before planning.
Implements all files listed in an approved plan. Writes production code, configuration, and updates test implementations. Use after test skeleton approval.
Designs implementation plans for coding tasks. Writes plan.md and capabilities.md to the project root. Use after exploration, before test writing.
Reviews an implementation diff for compliance with the approved spec. Runs BEFORE code-quality review per plan Section 7.1 review ordering. Reports structured findings per spec requirement.
Matches all tools
Hooks run on every tool call, not just specific ones
Executes bash commands
Hook triggers when Bash tool is used
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub infinri/writ --plugin writBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Modifies files
Hook triggers on file write and edit operations
Modifies files
Hook triggers on file write and edit operations
A Claude Code harness that gives every coding session two helpers: a fast librarian that picks the rules that fit the current task, and a process keeper that blocks risky writes until you have approved a plan and tests.
At the live 276-rule production corpus (post Phase 1-5 public-rulebook expansion), the librarian returns ranked results in 0.590 ms at the 95th percentile. At the 10,000-rule synthetic scale, it still holds at 0.557 ms while reducing context tokens by 726 times versus loading the whole rulebook every turn.
See CHANGELOG.md for the v1.2.0 release notes (proactive context-window management, hook hot-path latency consolidation, friction-log mode canonicalization, PostToolUse banner fix) and the v1.0.0 + v1.0.1 + v1.1.0 history of capabilities shipped.
Four self-contained HTML pages render the whole system. No clone or install required: open any link below and walk the diagrams. A sticky top nav inside each page cross-links to the other three, so you can flip between layers without coming back to the README.
writ-session.py subcommand, and every HTTP endpoint, tabbed by group with live filter.These four pages live at the repo root (writ-complete-overview.html, writ-architecture-flowchart.html, writ-workflow-flowchart.html, writ-commands.html) and are served by GitHub Pages from main. Clone and open locally for offline browsing, or follow the links above straight from a browser tab.
Writ is published as a single-plugin marketplace in this repo.
Prerequisites
jq, curl, envsubstInstall
claude plugin marketplace add infinri/Writ
claude plugin install writ@writ
One-time bootstrap. Creates the venv at ${CLAUDE_PLUGIN_DATA:-$HOME/.cache/writ}/.venv, brings up Neo4j, ingests the rule bible, and starts the FastAPI daemon:
bash $(claude plugin path writ)/scripts/bootstrap-plugin.sh
Restart Claude Code. Verify with:
curl http://localhost:8765/health
# {"status":"healthy"}
Patch global config (plugin mode only). Plugin installs do not write to ~/.claude/settings.json or ~/.claude/CLAUDE.md. The Writ-specific Bash allowlist that suppresses permission prompts for read-only and onboarding commands is missing, and the mandatory-workflow instructions that Writ relies on are not installed either. Run this once after bootstrap to bring ~/.claude/ up to the state a standalone install would produce:
bash $(claude plugin path writ)/scripts/patch-global-config.sh
# Use --dry-run first to preview the diff.
The script does two things: merges the cross-mode allow and deny entries into ~/.claude/settings.json (existing ordering preserved), and renders templates/CLAUDE.md into ~/.claude/CLAUDE.md. Both steps are idempotent (no-op when already in sync) and back up any pre-existing file before writing. Standalone-install users do not need to run it; scripts/install-harness-config.sh already produces the same output.
The plugin's hooks degrade gracefully until bootstrap completes. The SessionStart hook prints clear setup instructions on every fresh session where any prerequisite is missing, but the session itself is never blocked.
The standalone install path at ~/.claude/skills/writ/ remains supported; see "Quick start" below if you prefer that mode.
Three things break when you give a coding agent a large rulebook the obvious way (paste it all into the prompt):
Unified Claude Code plugin merging superpowers workflows (TDD, debugging, planning) with everything-claude-code productivity (agents, learning, hooks, rules)
Standardize AI-generated projects with Ralph autonomous loop, persistent memory, and quality gates. Supports 28 languages, 17 frameworks, 13 MCP modules, and 20 services.
Opinionated workflow guides and best practices - the preacher's proven patterns for Claude Code projects
Automatic context engineering — observes your coding sessions and generates rules, suggestions, skills, and hooks so Claude gets smarter on your codebase over time
Harness engineering for Claude Code — hook-enforced dual review, state-machine gates, and fail-closed safety where it counts.
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review