By lfnovo
Claude Code skills and agent for using harny in any repository — capture learnings, run post-mortems, evaluate repo readiness, and orchestrate harness runs from natural language.
Walk a repo through the harny readiness checklist. Score 10 dimensions Red/Yellow/Green, surface anti-signals, output a scorecard + prep checklist. Use when adopting harny in a new repo, or troubleshooting why it struggles in a familiar one.
Triage accumulated learnings from the local harny inbox into GitHub Issues, CLAUDE.md edits, or discards. Walks one entry at a time, verifies claims against current code, opens issues with provenance. Sister of /learn.
Onboarding and router for the harny plugin. Teaches the harny mental model (run anatomy, .harny/ state, architect role) and routes to focused skills. Use when adopting harny or unsure where to start.
Append a one-line learning to the local harny inbox. Fast, non-analytical capture — copies text verbatim, no analysis, no follow-ups. Use when the user wants to note something about harny adoption mid-conversation without breaking flow.
Orchestrate a release cycle across multiple harny runs. Dispatch with product-vision prompts, parallelize when safe, code-review every merge, triage findings into NOW-blocks/NOW-quick/BACKLOG. Use as release manager across N runs.
Uses power tools
Uses Bash, Write, or Edit tools
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 claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
The agentic-workflow execution platform — auto-evolving, explainable (auditable), with structured observation and automated improvement-proposal — built for teams that want to extract more value from their AI investments, especially with Claude Code.
The thesis: as AI does more of the implementation work, the human role splits into two — make decisions or evolve the workflow the AI uses. Iterating the dev pipeline itself becomes the dominant work of practically every dev. Harny is built to be the place where that work happens.
The mechanism: a planner → developer → validator discipline that catches bad output, structured observation of every run (state.json, transcripts, history, ML features), and a meta-loop that uses those observations to propose harder prompts, missing tooling, missing docs.
# Run feature-dev workflow against the current directory.
bunx @lfnovo/harny "build me a calculator CLI in calc.py"
# All runs in this directory + any registered cross-project assistants.
bunx @lfnovo/harny ls
# Visual viewer with run timeline, plan, sibling-branch warnings, Phoenix deep-links.
bunx @lfnovo/harny ui
harny requires Bun >= 1.3. The first bunx invocation installs the package; subsequent ones run instantly. For frequent use:
bun add -g @lfnovo/harny
harny "<prompt>"
A run goes through three phases by default (feature-dev workflow):
plan.json).On pass, harny composes the commit message and commits. On fail, the developer's session resumes with the validator's feedback. After N failed retries, the tree is reset and a fresh developer session starts. Every step is captured in <cwd>/.harny/<slug>/state.json — single source of truth, atomic writes, inspectable any time.
Other built-in workflows:
bunx @lfnovo/harny --workflow docs --input intent.json "document the CLI"
bunx @lfnovo/harny --workflow issue-triage --input issue.json "triage this issue"
bunx @lfnovo/harny --workflow feature-dev-engine "build me X" # XState-based engine workflow (v0.2.0 preview)
A quick map of the moving parts. Solid arrows are control flow; dotted arrows are data / observation.
flowchart TB
User(("User / Claude Code"))
subgraph CLI["harny CLI"]
Runner["runner.ts<br/>parse args + subcommands<br/>(ls · show · answer · ui · clean)"]
end
subgraph Core["Core harness"]
Orch["orchestrator.ts<br/>git worktree · branch · state init<br/>lifecycle: dispatch · recover · exit"]
Engine["engine runtime<br/>runEngineWorkflow<br/>XState createActor + subscribe"]
Machine[["Workflow Machine (XState)<br/>feature-dev · auto · echoCommit · custom"]]
Dispatchers[["Dispatchers<br/>agentActor · commandActor<br/>humanReviewActor · commitActor"]]
end
subgraph Ext["External effects"]
SDK["Claude Agent SDK<br/>runPhase → structured output"]
Git[("git worktree / branch / commit")]
end
subgraph Persist[".harny/<slug>/"]
StateFile[("state.json<br/>single source of truth")]
PlanFile[("plan.json<br/>feature-dev only")]
end
subgraph Obs["Observation"]
Viewer["Viewer UI<br/>harny ui"]
Phoenix["Phoenix traces<br/>opt-in (HARNY_PHOENIX_URL)"]
end
User --> Runner
Runner --> Orch
Runner --> Viewer
Orch --> Engine
Engine --> Machine
Machine --> Dispatchers
Dispatchers -- "agentActor" --> SDK
Dispatchers -- "commitActor · commandActor" --> Git
Orch --> Git
Orch -. init .-> StateFile
Machine -. "phases[] · history[]" .-> StateFile
Machine -. write .-> PlanFile
Viewer -. read .-> StateFile
Viewer -. read .-> PlanFile
Orch -. withRunSpan .-> Phoenix
Dispatchers -. "phase spans" .-> Phoenix
Reading the diagram:
A development plugin for the Product on Rails methodology
npx claudepluginhub lfnovo/harny --plugin harnyUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.