Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Claw Code Harness

FSecurity

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.

81 stars
0 votes
0 copies
0 views
Added 9/19/2026
toolspythonrustgobashgitapi

Works with

claude codecliapi

Security Analysis

F38/100
criticalPipes output to a shell interpreter
mediumUses curl or wget to download content
criticalDownloads and executes remote scripts — classic supply chain attack
mediumInstalls packages at runtime which could introduce malicious dependencies

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add reason-machines/trending-skills --skill claw-code-harness --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Claw Code Harness?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Claw Code Harness
[![Security: F — Skills Directory](https://www.skillsdirectory.com/api/skills/reason-machines-claw-code-harness/badge)](https://www.skillsdirectory.com/skills/reason-machines-claw-code-harness)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: claw-code-harness
description: 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.
triggers:
  - "set up claw-code harness"
  - "use claw-code to inspect tools"
  - "run parity audit claw-code"
  - "claw-code manifest summary"
  - "claw-code command inventory"
  - "claw-code python harness"
  - "claw-code subsystems list"
  - "claw-code tool port metadata"
---

# Claw Code Harness

> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.

Claw Code is a clean-room Python (with Rust port in progress) rewrite of the Claude Code agent harness. It provides tooling to inspect the port manifest, enumerate subsystems, audit parity against an archived source, and query tool/command inventories — all via a CLI entrypoint and importable Python modules.

---

## Installation

```bash
# 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
```

No PyPI package yet — use directly from source.

---

## Repository Layout

```
.
├── 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 suite
```

---

## CLI Reference

All commands are invoked via `python3 -m src.main <command>`.

### `summary`
Render the full Python porting summary.
```bash
python3 -m src.main summary
```

### `manifest`
Print the current Python workspace manifest (file surface + subsystem names).
```bash
python3 -m src.main manifest
```

### `subsystems`
List known subsystems, with optional limit.
```bash
python3 -m src.main subsystems
python3 -m src.main subsystems --limit 16
```

### `commands`
Inspect mirrored command inventory.
```bash
python3 -m src.main commands
python3 -m src.main commands --limit 10
```

### `tools`
Inspect mirrored tool inventory.
```bash
python3 -m src.main tools
python3 -m src.main tools --limit 10
```

### `parity-audit`
Run parity audit against a locally present (gitignored) archived snapshot.
```bash
python3 -m src.main parity-audit
```
> Requires the local archive to be present at its expected path (not tracked in git).

---

## Core Modules & API

### `src/models.py` — Dataclasses

```python
from 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.py` — Tool Port Metadata

```python
from 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.py` — Command Port Metadata

```python
from src.commands import get_commands, CommandMeta

commands: list[CommandMeta] = get_commands()
for c in commands[:5]:
    print(c.name, c.ported)
```

### `src/query_engine.py` — Porting Summary Renderer

```python
from src.query_engine import render_summary

summary_text: str = render_summary()
print(summary_text)
```

### `src/port_manifest.py` — Manifest Access

```python
from src.port_manifest import get_manifest, ManifestEntry

entries: list[ManifestEntry] = get_manifest()
for entry in entries:
    print(entry.path, entry.status)
```

---

## Common Patterns

### Pattern 1: Check how many tools are ported

```python
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")
```

### Pattern 2: Find unported subsystems

```python
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}")
```

### Pattern 3: Programmatic summary pipeline

```python
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}")
```

### Pattern 4: Run tests before contributing

```bash
python3 -m unittest discover -s tests -v
```

### Pattern 5: Using as part of an OmX/agent workflow

```bash
# 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.txt
```

---

## Rust Port (In Progress)

The Rust rewrite is on the [`dev/rust`](https://github.com/instructkr/claw-code/tree/dev/rust) branch.

```bash
# 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 -- summary
```

> The 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.

---

## Troubleshooting

| Problem | Cause | Fix |
|---|---|---|
| `ModuleNotFoundError: No module named 'src'` | Running from wrong directory | `cd` to repo root, then `python3 -m src.main ...` |
| `parity-audit` exits with "archive not found" | Local snapshot not present | Place the archive at the expected local path (see `port_manifest.py` for the path constant) |
| Tests fail with import errors | Missing `__init__.py` | Ensure `src/__init__.py` exists; re-clone if needed |
| `--limit` flag not recognized | Old checkout | `git pull origin main` |
| Rust build fails | Toolchain not installed | Run `curl https://sh.rustup.rs -sSf \| sh` then retry |

---

## Key Design Notes for AI Agents

- **No external runtime dependencies** for the core Python modules — safe to run in sandboxed environments.
- **`query_engine.py`** is the single aggregation point — prefer it over calling individual modules when you need a full picture.
- **`models.py` dataclasses** are the canonical data shapes; always import types from there, not inline dicts.
- **`parity-audit` is read-only** — it does not modify any tracked files.
- The project is **not affiliated with Anthropic** and contains no proprietary Claude Code source.

Attribution

reason-machinesreason-machines
View sourceMore from reason-machines →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

ucoz-landing-skill

Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...

107 votes

Paperclip

Interact with the Paperclip control plane API to manage tasks, coordinate with other agents, and follow company governance. Use when you need to check assignments, update task status, delegate work, post comments, set up or manage routines (recurring scheduled tasks), or call any Paperclip API endpoint. Do NOT use for the actual domain work itself (writing code, research, etc.) — only for Paperclip coordination.

798221 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes

Caveman Compress

Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"

1023330 votes
View all in tools →