Skip to content

Targets Guide

DZ Harness Hub adapts canonical skills for several coding agents. Use dz parity for the capability status of your installed version; this guide explains the target layouts. Optional --enrich generates platform-specific metadata where supported.

Anthropic’s official CLI for Claude. The default target.

Property Value
Platform Claude Code (Anthropic)
Skills directory .claude/skills/
Settings file .claude/settings.json
MCP support Yes (native)
SKILL.md Native (no conversion)
Default Yes
Terminal window
# Explicit target (same as default)
dz setup --target claude-code

OpenAI’s Codex CLI agent.

Property Value
Platform Codex (OpenAI)
Skills directory .agents/skills/
Settings file .codex/config.json
MCP support Via adapter
SKILL.md Native (no conversion)
Terminal window
dz setup --target codex

Open-source AI coding agent.

Property Value
Platform OpenCode
Skills directory .opencode/skills/
Settings file .opencode/config.json
MCP support Via adapter
SKILL.md Native (no conversion)
Terminal window
dz setup --target opencode

Hermes AI coding agent.

Property Value
Platform Hermes
Skills directory .hermes/skills/
Settings file .hermes/config.json
MCP support Via adapter
SKILL.md Native (no conversion)
Terminal window
dz setup --target hermes

Open-source Claude-compatible agent.

Property Value
Platform OpenClaude
Skills directory .openclaude/skills/
Settings file .openclaude/config.json
MCP support Via adapter
SKILL.md Native (no conversion)
Terminal window
dz setup --target openclaude

The targets described above use agentskills.io-shaped SKILL.md files. This means:

  • No format conversion required for any target
  • A skill can be reused across supported targets; check the target guide for platform-specific behavior
  • Cross-platform equivalence is verified by the cross-adapter-equivalence test suite

While all platforms natively read SKILL.md, the --enrich flag generates additional platform-specific metadata for richer integration (UI metadata, implicit invocation, agent config):

Platform Enrichment File What It Adds
claude-code (none needed) Native — no enrichment required
openclaude (none needed) Native — no enrichment required
codex agents/openai.yaml UI display name, category, implicit invocation triggers, risk level
opencode .opencode/agents/<id>.md Agent definition with tool permissions
hermes hermes-config.yaml Skill config with timeout and retry settings
cursor .cursor/rules Cursor — skills compiled as project rules
windsurf .windsurf/rules Windsurf — skills compiled as rules (glob/model-decision triggers)
gemini .github/instructions Gemini Code Assist — instruction files
copilot .github/copilot-skills GitHub Copilot — skill instruction files
agents-md AGENTS.md Single managed AGENTS.md file — the lowest-common-denominator target for any agent that reads it
Terminal window
# Initialize with enrichment for Codex
dz init --target codex --preset devops --enrich
# Enrichment for OpenCode
dz init --target opencode --preset meta --enrich

When using --enrich with Codex, DZ Harness Hub computes a 4-axis risk score for each skill and writes it to agents/openai.yaml. The score is informational; Codex does not enforce it as an invocation gate.

The 4 axes:

Axis Description Example
base_tool Intrinsic risk of the primary tool used rm = high, cat = low
file_sensitivity Sensitivity of files the skill reads/writes Secrets = high, docs = low
blast_radius How many files/systems the skill can affect Monorepo-wide = high, single file = low
irreversibility Whether the action can be undone Delete = high, read = low

Risk levels derived from the 4-axis score:

Level Score Range Examples
critical ≥ 0.70 rm -rf, destructive database migrations
high ≥ 0.50 terraform apply, infrastructure changes
medium ≥ 0.30 terraform plan, docker-compose up
low < 0.30 design-thinking, document-checker, read-only skills

(Default thresholds from risk-scoring.ts: medium 0.3, high 0.5, critical 0.7.)

Review the skill’s permissions and the target’s actual approval settings before running sensitive actions. The risk_level metadata alone does not trigger a Codex confirmation.

You can deploy skills to multiple targets simultaneously:

Terminal window
# Set up for Claude Code and Codex
dz init --target claude-code --preset devops
dz init --target codex --preset devops --enrich
Aspect claude-code codex opencode hermes openclaude
Skill format SKILL.md SKILL.md SKILL.md SKILL.md SKILL.md
Skills root .claude/skills/ .agents/skills/ .opencode/skills/ .hermes/skills/ .openclaude/skills/
MCP config settings.json Adapter Adapter Adapter Adapter
Memory path .dz/ (shared) .dz/ (shared) .dz/ (shared) .dz/ (shared) .dz/ (shared)
Enrichment Not needed agents/openai.yaml .opencode/agents/ hermes-config.yaml Not needed
Terminal window
# See which targets are configured and verify health
dz doctor
# Verify the installed skill structure for a target
dz verify --target codex

There is no persistent “default target” setting — pass --target to each command:

Terminal window
# Initialize a different target
dz init --target codex --preset devops
# Initialize Hermes
dz init --target hermes --preset devops