/install ctf-writeup
CTF Write-up Generator
Generate a standardized submission-style CTF writeup for a solved challenge.
Default behavior:
- During an active competition, optimize for speed, clarity, and reproducibility
- Keep writeups short enough that a teammate or organizer can validate the solve quickly
- Always produce a
submission-style writeup - Prefer one complete solve script from challenge data to final flag
Workflow
Step 1: Gather Information
Collect the following from the current session, challenge files, and user input:
- Challenge metadata — name, CTF event, category, difficulty, points, flag format
- Solution artifacts — exploit scripts, payloads, screenshots, command output
- Timeline — key steps taken, dead ends, pivots
# Scan for exploit scripts and artifacts
find . -name '*.py' -o -name '*.sh' -o -name 'exploit*' -o -name 'solve*' | head -20
# Check for flags in output files
grep -rniE '(flag|ctf|eno|htb|pico)\{' . 2>/dev/null
Step 2: Generate Write-up
Write the writeup file as writeup.md (or writeup-\x3Cchallenge-name>.md) using the submission template below.
Templates
Submission Format
---
title: "\x3CChallenge Name>"
ctf: "\x3CCTF Event Name>"
date: YYYY-MM-DD
category: web|pwn|crypto|reverse|forensics|osint|malware|misc
difficulty: easy|medium|hard
points: \x3Cnumber>
flag_format: "flag{...}"
author: "\x3Cyour name or team>"
---
# \x3CChallenge Name>
## Summary
\x3C1-2 sentences: what the challenge was and the core technique. Keep it direct.>
## Solution
### Step 1: \x3CAction>
\x3CExplain the key observation in 3-8 short lines. Keep it direct.>
\`\`\`python
\x3Cone complete solving script from provided challenge data to printing the final flag>
\`\`\`
### Step 2: \x3CAction> (optional)
\x3COnly add this when a second short step genuinely helps readability, such as separating the core observation from final verification.>
### Step 3: \x3CAction> (optional)
\x3CUse only if the challenge really needs it. Keep the total number of steps small.>
## Flag
\`\`\`
flag{example_flag_here}
\`\`\`
Guidance:
- Prefer 1-3 short steps total
- Keep code to the smallest complete solving script
- Do not split "recover secret", "derive key", and "decrypt flag" into separate partial snippets
- The script should start from the challenge data and end by printing the flag
- Avoid long background sections
- Avoid dead ends unless they explain a key pivot
- Avoid multiple alternative solves; pick one clean path
- Redact the flag only if the user explicitly asks for redaction
Best Practices Checklist
Before finalizing the writeup, verify:
- Metadata complete — title, CTF, date, category, difficulty, points, author all filled
- Flag handling matches request — keep the real flag unless the user asked for redaction
- Reproducible steps — a reader can follow your writeup and reproduce the solution
- Code is runnable — exploit scripts include all imports, correct variable names, and comments
- No sensitive data — no real credentials, API keys, or private infrastructure details
- Length stays concise — the writeup is short enough for fast review
- Tools and versions noted — mention specific tool versions if behavior depends on them
- Proper attribution — credit teammates, referenced writeups, or tools that were essential
- Grammar and formatting — consistent heading levels, code blocks have language tags
Quality Guidelines
DO:
- Explain just enough for fast verification
- Include one complete solving path, not multiple alternative routes
- Include one complete script that goes all the way to the final flag
- Show actual output (truncated if very long) to prove the approach worked
- Tag code blocks with language (
python,bash,sql, etc.) - Keep the main path front-loaded so a reader can validate it quickly
DON'T:
- Copy-paste raw terminal dumps without explanation
- Paste several partial snippets that force the reader to reconstruct the final solve
- Leave placeholder text in the final writeup
- Include irrelevant tangents that don't contribute to the solution
- Assume the reader knows the specific challenge setup
Challenge
$ARGUMENTS
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install ctf-writeup - 安装完成后,直接呼叫该 Skill 的名称或使用
/ctf-writeup触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Ctf Writeup 是什么?
Generates a single standardized submission-style CTF writeup for competition handoff and organizer review. Use after solving a CTF challenge to document the... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 124 次。
如何安装 Ctf Writeup?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install ctf-writeup」即可一键安装,无需额外配置。
Ctf Writeup 是免费的吗?
是的,Ctf Writeup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Ctf Writeup 支持哪些平台?
Ctf Writeup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Ctf Writeup?
由 gandli(@gandli)开发并维护,当前版本 v1.0.0。