writeup-generator
Generate comprehensive CTF writeups as blog articles. Use when solving a challenge, documenting solutions, or when /writeup command is invoked.
When & Why to Use This Skill
The CTF Writeup Generator is a specialized Claude skill designed to automate the creation of professional, blog-quality documentation for cybersecurity challenges. It streamlines the reporting process by analyzing solution scripts and challenge files to produce structured writeups that include vulnerability analysis, exploit code, and educational insights, making it an essential tool for security researchers and technical bloggers looking to enhance their SEO presence.
Use Cases
- Case 1: Automatically generating detailed README files for GitHub repositories containing CTF solutions to improve project documentation.
- Case 2: Creating educational blog posts that explain complex cybersecurity concepts and exploit techniques to a beginner audience.
- Case 3: Standardizing technical documentation for security teams after completing training labs or internal penetration testing exercises.
- Case 4: Quickly summarizing the 'TL;DR' and key takeaways from a successful exploit for rapid knowledge transfer within a community.
| name | writeup-generator |
|---|---|
| description | Generate comprehensive CTF writeups as blog articles. Use when solving a challenge, documenting solutions, or when /writeup command is invoked. |
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash |
CTF Writeup Generator
Generate comprehensive, blog-quality writeups for solved CTF challenges.
When to Use
- After solving a CTF challenge
- When
/writeupcommand is invoked - When user asks to document a solution
Output Location
CRITICAL: Save writeup as README.md in the CURRENT WORKING DIRECTORY.
The current working directory should be the challenge directory, e.g.:
challenges/alpacahack/daily/2024-12-14_challenge-name/README.mdchallenges/picoctf/2024/challenge-name/README.mdchallenges/hackthebox/challenges/pwn/challenge-name/README.md
DO NOT save to:
- Repository root
writeups/directory- Any other location
challenges/platform/event/challenge-name/ ← CURRENT DIRECTORY
├── README.md # ← CREATE THIS HERE (tracked)
├── solve.py # Solution script (tracked)
├── dist/ # Challenge files (ignored)
└── work/ # Working files (ignored)
CRITICAL: Use the Template
You MUST use the template at templates/writeup.md.
- Read the template file first
- Fill in EVERY section completely
- Do NOT skip any section
- Do NOT abbreviate content
Required Sections Checklist
Every writeup MUST include ALL of these sections with substantive content:
| Section | Required Content |
|---|---|
| Title | # [Category] Challenge Name with one-liner |
| Overview | Complete table with all 6 fields filled |
| Problem Statement | Original description + files + connection info |
| TL;DR | 3-5 bullet points summarizing the solution |
| Background Knowledge | Explain concepts beginners need to understand |
| Solution Step 1 | Initial reconnaissance with commands and output |
| Solution Step 2 | Vulnerability analysis with code snippets |
| Solution Step 3 | Exploit development with full commented code |
| Solution Step 4 | Flag capture with actual output |
| Tools Used | Table listing all tools and their purpose |
| Lessons Learned | What I Learned + Mistakes Made + Future Improvements |
| References | Links to resources consulted |
| Tags | Relevant tags for searchability |
Quality Requirements
Code Blocks
- Include ALL relevant code with syntax highlighting
- Add comments explaining each step
- Show actual command output where relevant
Background Knowledge
- Target readers who are learning
- Explain concepts, don't just name them
- Include examples where helpful
Solution Steps
- Use numbered steps with descriptive titles
- Explain the "why" not just the "what"
- Include failed attempts if they provide learning value
Lessons Learned
- Be honest about difficulties encountered
- Focus on personal growth and learning
- Reference resources for further study
Instructions
- Read the template:
templates/writeup.md - Gather information:
- Read solve scripts in the challenge directory
- Check
dist/for challenge files - Check
work/for notes and debug output
- Write the writeup:
- Copy template structure exactly
- Fill in every section with detailed content
- Include all code with comments
- Verify completeness:
- Check every section has substantive content
- Verify code is syntax-highlighted
- Ensure tags are relevant
Format Specification
For detailed formatting rules, see format.md.