Skip to content
Skillv1.0.0

opplan-converter

Convert engagement documents into machine-readable OPPLAN for the ralph loop — objective decomposition, acceptance criteria, MITRE mapping, priority ordering.

by MingyiSecLab(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from MingyiSecLab/Mingyi-Atlas (src/skills/standard/soundwave/opplan-converter/SKILL.md). Install upstream with npx skills add MingyiSecLab/Mingyi-Atlas --skill opplan-converter. Copyright stays with the author.

OPPLAN Converter — CONOPS to Ralph Loop Format

The OPPLAN is the direct analogue of ralph's prd.json — it's the file the autonomous loop reads each iteration to decide what to do next. Each objective must be completable by one agent in one context window.

When to Use

  • After both roe.json and conops.json exist
  • User wants to convert planning docs into executable tasks
  • Starting the autonomous red team loop

Prerequisites

Read both roe.json and conops.json first. The RoE constrains what's allowed; the CONOPS defines the kill chain and threat profile.

See ../references/schema-quick-reference.md for the OPPLAN and Objective schema fields, valid status values, and enum types.

Workflow

Step 1: Extract Kill Chain from CONOPS

Read the CONOPS kill chain phases. Only create objectives for authorized phases.

Step 2: Decompose into Objectives

Each objective must follow the one context window rule — if an agent can't complete it in a single session, it's too big. Split it.

See references/objective-templates.md for recon-phase templates and references/objective-rules.md for the complete decomposition rules.

ID Convention: OBJ-{NUMBER} (auto-generated as OBJ-001, OBJ-002, ...)

Phase → Sub-Agent Routing:

Phase Sub-Agent MITRE Tactics
recon recon TA0043 Reconnaissance
initial-access exploit TA0001 Initial Access, TA0002 Execution
post-exploit postexploit TA0003-TA0009 (Persistence thru Collection)
c2 postexploit TA0011 Command and Control
exfiltration postexploit TA0010 Exfiltration

Step 3: Write Acceptance Criteria

Every objective MUST have three mandatory criteria types:

  1. Scope check — "All targets verified against roe.json in-scope list"
  2. OPSEC check — At least one OPSEC-related criterion (rate limit, timing, etc.)
  3. Output persistence — "Results saved to /recon/..." (or exploit/, post-exploit/) with specific file path

Beyond these, add criteria specific to what the objective accomplishes. Every criterion must be mechanically verifiable — no vague statements like "good coverage."

Step 4: Assign Metadata

For each objective:

  • priority — Sequential, respects kill chain ordering and dependencies
  • mitre — List of MITRE ATT&CK technique IDs (e.g. ["T1190", "T1059.004"])
  • opsec — OPSEC level: loud, standard, careful, quiet, silent
  • opsec_notes — Specific OPSEC constraints for this objective
  • c2_tier — C2 tier matching OPSEC level: interactive, short-haul, long-haul
  • concessions — Pre-authorized assists if objective is blocked (TIBER/CORIE concept)
  • blocked_by — Objective IDs that must complete first

Step 5: Generate OPPLAN

Use add_objective (one at a time, set engagement_name and threat_profile on first call) → list_objectives to review → present for user approval. No mode switching needed — OPPLAN tools are always available.

Step 6: Validate

See references/objective-rules.md validation checklist before finalizing.

Output

Present a summary table showing all objectives with phase, priority, title, OPSEC level, and MITRE mapping. Wait for user approval before starting execution.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/mingyiseclab-mingyi-atlas-opplan-converter/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

mingyiseclab-mingyi-atlas-opplan-converter.ocm.jsonjson
{
  "ocm": "1",
  "id": "mingyiseclab-mingyi-atlas-opplan-converter",
  "kind": "skill",
  "name": "opplan-converter",
  "description": "Convert engagement documents into machine-readable OPPLAN for the ralph loop — objective decomposition, acceptance criteria, MITRE mapping, priority ordering.",
  "publisher": "MingyiSecLab",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "opplan",
      "objectives",
      "ralph-loop",
      "automation",
      "github"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Convert engagement documents into machine-readable OPPLAN for the ralph loop — objective decomposition, acceptance criteria, MITRE mapping, priority ordering."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "github",
      "repository": "https://github.com/MingyiSecLab/Mingyi-Atlas",
      "path": "src/skills/standard/soundwave/opplan-converter/SKILL.md",
      "ref": "0b45282877b81c4025bfdd984c3a8202e6f68d50",
      "url": "https://github.com/MingyiSecLab/Mingyi-Atlas/blob/0b45282877b81c4025bfdd984c3a8202e6f68d50/src/skills/standard/soundwave/opplan-converter/SKILL.md",
      "key": "MingyiSecLab/Mingyi-Atlas/src/skills/standard/soundwave/opplan-converter/SKILL.md"
    },
    "allowed_tools": [
      "Read",
      "Write",
      "Edit"
    ]
  },
  "instructions": "# OPPLAN Converter — CONOPS to Ralph Loop Format\n\nThe OPPLAN is the **direct analogue of ralph's prd.json** — it's the file the autonomous loop reads each iteration to decide what to do next. Each objective must be completable by one agent in one context window.\n\n## When to Use\n\n- After both `roe.json` and `conops.json` exist\n- User wants to convert planning docs into executable tasks\n- Starting the autonomous red team loop\n\n## Prerequisites\n\nRead both `roe.json` and `conops.json` first. The RoE constrains what's allowed; the CONOPS defines the kill chain and threat profile.\n\nSee `../reference",
  "cost": {
    "context_tokens": 818
  }
}

Fetch it by URL: GET /api/v1/registry/mingyiseclab-mingyi-atlas-opplan-converter/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.