adversary-yaml-creator SKILL.md skillA

adversary-yaml-creator from grisuno/lazyown is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add grisuno/lazyown/adversary-yaml-creator@git:20261031.1c4f270

Pins git:20261031.1c4f270 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
grisuno/lazyown
Path
skills/adversary-yaml-creator/SKILL.md
Versions recorded
1
Latest version
git:20261031.1c4f270, committed Oct 31, 2026
Size
7,010 bytes
Repository stars
300
License
AGPL-3.0

Create LazyOwn adversary YAMLs in one shot: APT playbooks (playbooks/apt_*.yaml), orchestration chains (chains/*.yaml) and exploit definitions (exploits/*.yaml). Knows the exact schemas, token grammars and the four validation gates. For lazyaddons use /lazyaddon-creator instead.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# /adversary-yaml-creator

Given an adversary name, a target service, or a CTF goal, write the YAML that makes
LazyOwn act on it: one exploit definition, one orchestration chain, and (for APT
groups) one playbook. No iteration: copy the real schema below, run the self-checks,
write the files. The three engines reload catalogs on load, so a valid file is
production on the next rank/sweep.

## What to create for each input

| Input | Files |
|-------|-------|
| APT group (not yet in playbooks/) | `playbooks/apt_<slug>.yaml` + `chains/apt_<slug>.yaml` |
| Exploitable service/CVE (not yet in exploits/) | `exploits/<id>.yaml` |
| CTF goal / lab path (not yet in chains/) | `chains/<goal>.yaml` (+ paired fallback chain when the path has a quieter variant) |
| Operator tool (installed CLI, GitHub tool) | use `/lazyaddon-creator` instead |

Naming: `^[a-z][a-z0-9_]{0,63}$`, filename equals the identifier. One file per
artifact. Never guess versions or exploit outcomes: `versions: []` means any.

## File 1 — playbooks/apt_<slug>.yaml

Schema consumed by modules/apt_playbooks.py (AptPlaybookEngine). Keys are slugified
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add grisuno/lazyown/adversary-yaml-creator@sha256:fa494fcecefe15dc

The line at the top of this page pins the label git:20261031.1c4f270, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_a2hfknpk7a5b2xle.svg)](https://markdownregistry.com/a/art_a2hfknpk7a5b2xle)

1 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Oct 31, 2026.

versioncommittedcommitsizeaudit
git:20261031.1c4f270 latest2026-10-31 1c4f270 7,010 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (7010 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

grisuno/lazyown · 300 stars · license AGPL-3.0 · pushed 2026-11-01 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_a2hfknpk7a5b2xle
GET https://markdownregistry.com/api/v1/resolve?ref=grisuno/lazyown/adversary-yaml-creator
GET https://markdownregistry.com/api/v1/blob/fa494fcecefe15dcea77af5157b17ffa69def102bd9e6c14464046a9269c445b

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from grisuno/lazyown

readmenator-ask SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-ask/SKILL.md · Answer questions about a ReadMenator-indexed codebase with GraphRAG retrieval (BM25 + Personalized PageRank over files…
git:20261008.72e5054 · audit A · 300 stars
readmenator-change SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-change/SKILL.md · Safe-change protocol for ReadMenator-indexed repositories. Use before editing, refactoring, deleting, or adding code…
git:20261008.72e5054 · audit A · 300 stars
readmenator-memory SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-memory/SKILL.md · Persist and recall cross-session project knowledge (business rules, decisions and their reasons, workflow, constraints…
git:20261008.72e5054 · audit A · 300 stars
readmenator-orient SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-orient/SKILL.md · Start-of-session orientation for any repository that has ReadMenator outputs (readmenator-agent/, readmenator-wiki/…
git:20261022.f2f4471 · audit A · 300 stars
readmenator-receipts SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-receipts/SKILL.md · Ingest deploynator release receipts into the repository knowledge base and turn observed release evidence into graph…
git:20261022.f2f4471 · audit A · 300 stars
run-lazyown SKILL.md skill
grisuno/lazyown · .claude/skills/run-lazyown/SKILL.md · Build, launch, and drive the LazyOwn red-team framework (the cmd2 shell in lazyown.py). Use when asked to run, start…
git:20261007.c43c781 · audit A · 300 stars
AGENTS.md AGENTS.md file
grisuno/lazyown · AGENTS.md
git:20261030.230476b · audit A · 300 stars
CLAUDE.md CLAUDE.md file
grisuno/lazyown · CLAUDE.md
git:20261030.230476b · audit A · 300 stars
llms.txt@readmenator-maps llms.txt file
grisuno/lazyown · readmenator-maps/llms.txt
git:20261031.1c4f270 · audit A · 300 stars
apt-emulation SKILL.md skill
grisuno/lazyown · skills/apt-emulation/SKILL.md · Emulate APT adversaries end-to-end in LazyOwn: research MITRE ATT&CK techniques, translate them to Atomic Red Team…
git:20261016.87c0ac4 · audit A · 300 stars
atomic-exploit SKILL.md skill
grisuno/lazyown · skills/atomic-exploit/SKILL.md · Extend the autonomous loop's arsenal without touching Python: add one exploits/<id>.yaml per exploit (service triggers…
git:20261016.87c0ac4 · audit A · 300 stars
awesome-windows-security SKILL.md skill
grisuno/lazyown · skills/awesome-windows-security/SKILL.md · Route a Windows offensive objective to the right tool and run it inside LazyOwn. Uses chryzsh/awesome-windows-security…
git:20261021.9f1ab88 · audit B · 300 stars

Every file in grisuno/lazyown

Browse by kind, by grade A, or by owner.