Loading...
Loading...
Better Harness Tools for Claude Code — a Python (and in-progress Rust) rewrite of the Claude Code agent harness, with CLI tooling for manifest inspection, parity auditing, and tool/command inventory.
npx skill4agent add aradotso/trending-skills claw-code-harnessSkill by ara.so — Daily 2026 Skills collection.
# Clone the repository
git clone https://github.com/instructkr/claw-code.git
cd claw-code
# Install dependencies (standard library only for core; extras for dev)
pip install -r requirements.txt # if present, else no external deps required
# Verify the workspace
python3 -m unittest discover -s tests -v.
├── src/
│ ├── __init__.py
│ ├── commands.py # Python-side command port metadata
│ ├── main.py # CLI entrypoint
│ ├── models.py # Dataclasses: Subsystem, Module, BacklogState
│ ├── port_manifest.py # Current Python workspace structure summary
│ ├── query_engine.py # Renders porting summary from active workspace
│ ├── task.py # Task primitives
│ └── tools.py # Python-side tool port metadata
└── tests/ # Unittest suitepython3 -m src.main <command>summarypython3 -m src.main summarymanifestpython3 -m src.main manifestsubsystemspython3 -m src.main subsystems
python3 -m src.main subsystems --limit 16commandspython3 -m src.main commands
python3 -m src.main commands --limit 10toolspython3 -m src.main tools
python3 -m src.main tools --limit 10parity-auditpython3 -m src.main parity-auditRequires the local archive to be present at its expected path (not tracked in git).
src/models.pyfrom src.models import Subsystem, Module, BacklogState
# A subsystem groups related modules
sub = Subsystem(name="tool-harness", modules=[], status="in-progress")
# A module represents a single ported file
mod = Module(name="tools.py", ported=True, notes="tool metadata only")
# BacklogState tracks overall port progress
state = BacklogState(
total_subsystems=8,
ported=5,
backlog=3,
notes="runtime slices pending"
)src/tools.pyfrom src.tools import get_tools, ToolMeta
tools: list[ToolMeta] = get_tools()
for t in tools[:5]:
print(t.name, t.ported, t.description)src/commands.pyfrom src.commands import get_commands, CommandMeta
commands: list[CommandMeta] = get_commands()
for c in commands[:5]:
print(c.name, c.ported)src/query_engine.pyfrom src.query_engine import render_summary
summary_text: str = render_summary()
print(summary_text)src/port_manifest.pyfrom src.port_manifest import get_manifest, ManifestEntry
entries: list[ManifestEntry] = get_manifest()
for entry in entries:
print(entry.path, entry.status)from src.tools import get_tools
tools = get_tools()
ported = [t for t in tools if t.ported]
print(f"{len(ported)}/{len(tools)} tools ported")from src.port_manifest import get_manifest
backlog = [e for e in get_manifest() if e.status != "ported"]
for entry in backlog:
print(f"BACKLOG: {entry.path}")from src.query_engine import render_summary
from src.commands import get_commands
from src.tools import get_tools
print("=== Summary ===")
print(render_summary())
print("\n=== Commands ===")
for c in get_commands(limit=5):
print(f" {c.name}: ported={c.ported}")
print("\n=== Tools ===")
for t in get_tools(limit=5):
print(f" {t.name}: ported={t.ported}")python3 -m unittest discover -s tests -v# Generate summary artifact for an agent to consume
python3 -m src.main summary > /tmp/claw_summary.txt
# Feed into another agent tool or diff against previous checkpoint
diff /tmp/claw_summary_prev.txt /tmp/claw_summary.txtdev/rust# Switch to the Rust branch
git fetch origin dev/rust
git checkout dev/rust
# Build (requires Rust toolchain: https://rustup.rs)
cargo build
# Run
cargo run -- summaryThe Rust port aims for a faster, memory-safe harness runtime. It is not yet merged into main. Until then, use the Python implementation for all production workflows.
| Problem | Cause | Fix |
|---|---|---|
| Running from wrong directory | |
| Local snapshot not present | Place the archive at the expected local path (see |
| Tests fail with import errors | Missing | Ensure |
| Old checkout | |
| Rust build fails | Toolchain not installed | Run |
query_engine.pymodels.pyparity-audit