Claim this agent
agentCLAWHUBUnverified

adversarial-spec

Adversarial specification writer. Takes a brief (from grill-me or user) and produces a structured spec.md with YAML frontmatter, requirements, acceptance criteria, and target files. Git-aware pipeline: each run on its own branch, squash-merge on approval. Skill: adversarial-spec Owner: chpomob Summary: Adversarial specification writer. Takes a brief (from grill-me or user) and produces a structured spec.md with YAML frontmatter, requirements, acceptance criteria, and target files. Git-aware pipeline: each run on its own branch, squash-merge on approval. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-03T18:11:30.582Z | auto - Initial public release of adversarial

OpenClaw

Rank

62

Safety

84

Downloads

2.7k

Updated

Oct 9, 2026

Version

0.1.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 2.7K downloads reported by the source. Last updated 10/9/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
2.7K downloadsadoption · observed Oct 9, 2026
Latest release
0.1.0release · observed Aug 3, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17435m3chty5jmw4jhpkyhnb58brn8g:adversarial-spec
  1. Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chpomob-adversarial-spec/snapshot"

Documentation

CLAWHUB

57,288 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: adversarial-spec
description: "Adversarial specification writer. Takes a brief (from grill-me or user) and produces a structured spec.md with YAML frontmatter, requirements, acceptance criteria, and target files. Git-aware pipeline: each run on its own branch, squash-merge on approval."
version: 1.1.0
author: Hermes Agent
license: 0BSD
platforms: [linux, macos]
metadata:
  hermes:
    tags: [adversarial, spec, planning, specification, requirements]
    related_skills: [grill-me, adversarial-plan, adversarial-code-loop]
---

# Adversarial Spec

**Brief → structured specification.** Two-role adversarial pipeline that transforms a
vague idea (from grill-me or direct input) into a formal spec.md with YAML frontmatter,
requirements, acceptance criteria, and target file descriptions.

## Installation

Requires the `adversarial-common` sibling repo (shared engine). One-line install:

curl -fsSL https://raw.githubusercontent.com/chpomob/adversarial-spec/main/scripts/install.sh | bash

or, from an existing checkout:

bash scripts/install.sh

Both place adversarial-spec and adversarial-common side by side under `~/.hermes/skills` (override the target with `$1` or `$HERMES_HOME`).

## Workflow

```
PHASE 0 ──→ GIT SETUP (branch, stash, init)
PHASE 1 ──→ WRITE  (spec-writer reads brief, writes spec.md)
PHASE 2 ──→ CHALLENGE (spec-challenger critiques for gaps/contradictions)
PHASE 3 ──→ REVISE (spec-writer amends spec.md per findings)
PHASE 4 ──→ VERIFY (spec-challenger checks findings resolved)
MERGE  ──→ squash-merge (APPROVED) or [REJECTED] commit
```

## CLI

```bash
python3 scripts/adversarial_spec.py \
  --brief <file>           # brief file (default: stdin)
  --dev-cmd <cmd>          # default: pi --provider zai --model glm-5.2
  --review-cmd <cmd>       # default: pi --provider deepseek --model deepseek-v4-pro
  --workdir <dir>          # default: .
  --max-loops <N>          # default: 2
  --feature <name>         # default: from brief filename
  --timeout <N>            # default: 600
  --out <dir>              # default: .adversarial-spec
  --provider-config <path> # external provider config (default: ~/.config/adversarial/providers.yaml)
  --no-merge
```

## Pre-flight checklist (orchestrator)

Run these BEFORE writing the brief, especially when contributing to an upstream project:

1. **Check CONTRIBUTING.md** — Project-specific rules for branch naming (`feat/`, `fix/`, `docs/`), commit message format (Conventional Commits), PR template fields, and test requirements. Incorporate these into the spec's acceptance criteria.
2. **Check for pre-existing PR review feedback** — If the feature already has an open PR with reviewer comments (automated or human), read the findings and incorporate them into the brief. The spec should address what the review flagged, not re-propose rejected patterns.
3. **Choose the right parent branch** — For upstream contributions, create a feature branch from `upstream/main` (not your fork's main): `git checkout

README.md

# adversarial-spec

**Brief → structured spec.** Two-role adversarial pipeline that takes a product brief, specification request, or feature idea and produces a `spec.md` with YAML frontmatter, numbered requirements, and acceptance criteria.

For Hermes Agent, Claude Code, Codex, or any LLM CLI.

## How it works

```
PHASE 1 ──→ WRITE     (spec-writer turns brief into structured spec.md)
PHASE 2 ──→ CHALLENGE (spec-challenger attacks for gaps, contradictions, untestable criteria)
PHASE 3 ──→ REVISE    (spec-writer amends per findings)
PHASE 4 ──→ VERIFY    (spec-challenger checks findings resolved)
MERGE  ──→ squash-merge (APPROVED) or [REJECTED] commit
```

## Output format

```yaml
---
name: "feature-name"
version: "1.0"
author: "adversarial-spec"
status: "draft"
targets:
  - file: path/to/file
    description: "What this file must do"
---

## Requirements
- R1: …
- R2: …

## Acceptance criteria
- AC1 (R1): …
- AC2 (R2): …
```

Specs are consumed by `adversarial-plan` for planning and `adversarial-code-loop` for implementation.

## Comparison

| Feature | adversarial-spec | zscole/adversarial-spec |
|---------|-----------------|----------------------|
| Structured frontmatter | ✅ YAML + targets + requirements | ❌ Free-form |
| Acceptance criteria | ✅ Per-requirement ACs | ❌ |
| Git-native pipeline | ✅ Branch-per-spec, squash-merge | ❌ Single file |
| plan/code-loop integration | ✅ Direct feed to plan + loop | ❌ Standalone |

## Quick start

```bash
python3 scripts/adversarial_spec.py \\
  --brief /path/to/brief.md \\
  --dev-cmd "<your-dev-cmd>" \\
  --review-cmd "<your-review-cmd>"
```

## Dependencies

- Python ≥ 3.11
- Git ≥ 2.5
- Two LLM CLIs (spec-writer + spec-challenger)

Uses `adversarial-common` as the shared engine.

## License

0BSD — see [LICENSE](LICENSE).

_meta.json

{
  "ownerId": "kn7e26az9x7m8bgwfwg90q1wkh8bsqw0",
  "slug": "adversarial-spec",
  "version": "0.1.0",
  "publishedAt": 1785780690582
}

references/adversarial-2026-07-14-pre-publication-review.md

# Pre-Publication Adversarial Review — adversarial-spec (2026-07-14)

**Scope:** Full `--project-dir` review of `adversarial-spec` (10 Python files, ~1.8 KLOC).
**Models:** Claude Fable 5 (Architect + Synthesis), Codex GPT-5.6-Sol (Inspector + Cross).
**Privacy pre-scan:** Clean — no hardcoded paths, credentials, or personal info.
**Verdict:** REQUEST_CHANGES (both reviewers, before synthesis).

## Findings Summary

| Bucket | Count | Severities |
|--------|-------|-----------|
| Architect | 10 | 1 major, 5 minor, 4 nit |
| Inspector | 10 | 1 blocker, 7 major, 1 minor, 1 nit |
| **Total unique** | **20** | **1 blocker, 8 major, 6 minor, 5 nit** |

## Architect Findings (Claude Fable 5)

| ID | Severity | File | Summary |
|----|----------|------|---------|
| A1 | **major** | `scripts/adversarial_spec.py:138` | Stash stranded if `_setup_git` fails after `stash_dirty` — error path returns without `stash_id`, `_restore()` in `finally` can't pop it, user's uncommitted work silently lost |
| A2 | minor | `scripts/adversarial_spec.py:260` | Verifier REJECT-with-all-settled causes non-converging re-litigation — `remaining` is empty so `findings` stays at full list, next round revises already-settled findings → exhausts `max_loops` → REJECT |
| A3 | minor | `scripts/adversarial_spec.py:100` | `final.json` contract broken on infra failures — `_phase_failed` returns `EXIT_INFRA` without calling `write_final_json`, caller polls stale or absent artifact |
| A4 | minor | `scripts/adversarial_spec.py:355` | Artifacts dir keyed only by feature name — reruns silently overwrite `final.json`, `ISSUES.md`, etc. across runs of the same feature |
| A5 | minor | `scripts/adversarial_spec.py:165` | APPROVED exit code (0) masks failed squash-merge — `_finish` catches `GitError`, sets `merged=false` in JSON, but still returns 0 |
| A6 | minor | `scripts/adversarial_spec.py:385` | Stash-pop after squash-merge can conflict when user's dirty tree touched the same files — no conflict detection or specific warning |
| A7 | nit | `_retrospective/ISSUES.md:3` | Stale claim that failures are auto-appended to this file — actually goes to `<out_dir>/ISSUES.md` now |
| A8 | nit | `scripts/adversarial_spec.py:78` | `_ensure_ids` dedup generates awkward compound ids like `S1-3-3` |
| A9 | nit | `scripts/phases/phase_verify.py:55` | Prompt hard-codes `git diff HEAD~1..HEAD` — wrong if writer CLI made multiple commits |
| A10 | nit | `scripts/phases/phase_challenge.py:44` | Full spec embedded in prompt with no size guard — large specs can overflow context window |

## Inspector Findings (Codex GPT-5.6-Sol)

| ID | Severity | File | Summary |
|----|----------|------|---------|
| B1 | **blocker** | `scripts/adversarial_spec.py:185` | Git finalization failure still returns exit 0 — CI receives success despite `merged=false` |
| B2 | **major** | `scripts/adversarial_spec.py:127` | Stash restoration failure doesn't change exit result — `_restore` only warns, `main` returns EXIT_APPROVED whil

references/claude-timeout-notes.md

# Claude Fable 5 Timeout Notes

This is a provider-specific operational record, not provider-selection policy.
Provider choice and fallback ordering come from external configuration.

When using Claude Fable 5 as spec-challenger or plan-challenger:

- Extended thinking takes 8-12 min per response
- The default adversarial-spec/adversarial-plan timeout of 600s is often insufficient
- Increase `--timeout` to at least 1200 when Claude is the `--review-cmd`
- Pair with `--hard-timeout 1800` inside the claude-tmux command
- If Claude exits code 3 (REJECT) due to non-parseable JSON, the output artifact
  may contain conversation text instead of JSON — retry using the next eligible
  provider from external configuration

Validated: 2026-07-10, adversarial-spec with Claude Fable 5 succeeded at 1200s timeout.
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/chpomob/skills/adversarial-spec",
      "sourceUrl": "https://clawhub.ai/chpomob/skills/adversarial-spec",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T11:52:55.999Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chpomob-adversarial-spec/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chpomob-adversarial-spec/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T11:52:55.999Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "2.7K downloads",
      "href": "https://clawhub.ai/chpomob/adversarial-spec",
      "sourceUrl": "https://clawhub.ai/chpomob/adversarial-spec",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T11:52:55.999Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "0.1.0",
      "href": "https://clawhub.ai/chpomob/adversarial-spec",
      "sourceUrl": "https://clawhub.ai/chpomob/adversarial-spec",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-03T18:11:30.582Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chpomob-adversarial-spec/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chpomob-adversarial-spec/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 0.1.0",
      "description": "- Initial public release of adversarial-spec: structured, adversarial specification writer. - Transforms a brief into a formal spec.md with YAML frontmatter, requirements, acceptance criteria, and target files. - Git-aware pipeline with automatic branching, phase-driven challenge and revision loop, and squash-merge on approval. - CLI supports selectable writer/reviewer commands, provider registries, and robust configuration. - Emphasizes disk-based, English-only spec handling and clear prompt separation—no embedding of spec text in prompts. - Includes comprehensive pre-flight checklist and persona-based workflow for clear, repeatable spec development.",
      "href": "https://clawhub.ai/chpomob/adversarial-spec",
      "sourceUrl": "https://clawhub.ai/chpomob/adversarial-spec",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-03T18:11:30.582Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 9, 2026.

Sponsored

Ads related to adversarial-spec and adjacent AI workflows.