Skip to content

v0.1.0 — harness-creator

Choose a tag to compare

@tjdwls101010 tjdwls101010 released this 07 Jul 11:54
· 93 commits to main since this release

harness-creator designs, generates, validates, and maintains a complete Claude Code harness for your project — through a structured interview.

ai-agent = model + ai-harness — the model is fixed; the harness (your CLAUDE.md, rules, skills, hooks, permissions, agents, and workflows) is what actually determines how well Claude works in your repo. Building a good one by hand means knowing dozens of non-obvious mechanics. This skill packages that knowledge and the interview that turns your goals into concrete components.

This is the first public release: usable end to end and dogfooded against a real project.

Highlights

  • Interview-driven generation — audits any existing setup, interviews you in stages, and generates only the layers your project actually needs, with a persisted spec (.claude/harness-spec.md) as the source of truth.
  • A layer-routing framework — routes each requirement to the right layer (CLAUDE.md / rules / skills / hooks / permissions / agents / workflows) by asking enforced or advisory? when does it load? what does it cost?
  • Deterministic validation — a generated harness isn't "done" until a free linter passes with zero errors; an optional, consent-gated end-to-end pass grades real headless sessions.
  • Four command-line toolsvalidate_harness.py, audit_harness.py, test_hook.py, run_e2e.py (Python 3.10+, standard library only, no install step).
  • Re-entrant — running it again branches into new / extend / improve / sync instead of regenerating from scratch.

Install

Plugin:

claude plugin marketplace add tjdwls101010/Harness-Creator
claude plugin install harness-creator@harness-creator

Symlink (for local development):

ln -s /path/to/harness-creator/.claude/skills/harness-creator ~/.claude/skills/harness-creator

Then invoke it in any project (/harness-creator:harness-creator, or just ask in natural language). See Getting Started.

Documentation

Known limitations

  • run_e2e.py's headless permission handling is built from documented behavior but not empirically confirmed — treat your first real end-to-end run as the verification.
  • The interview itself can't be auto-tested (AskUserQuestion is unavailable in headless contexts); it's validated by manual use.
  • Local-path plugin installs copy gitignored files into the plugin cache (harmless; GitHub-source installs are clean).

License

MIT