Agent skill

Generate Release Screenshots

by oocx in oocx/tfplan2md

Generate PNG screenshots for release notes using the repository's HtmlRenderer and ScreenshotGenerator tools.

MITAuto-check passedDevelopment

Install Generate Release Screenshots

skills CLI
$ npx skills add oocx/tfplan2md --skill generate-release-screenshots -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install oocx/tfplan2md generate-release-screenshots --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/oocx/tfplan2md.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/generate-release-screenshots .claude/skills/generate-release-screenshots && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
generate-release-screenshots
GitHub stars
174
Token cost
~3.7k tokens
SKILL.md length
1,146 words
Files
1
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Generate PNG screenshots for release notes using the repository's HtmlRenderer and ScreenshotGenerator tools.

  • Works in 7 steps: Install Playwright (PREREQUISITE —… → Understand What Screenshots Are Needed → Choose the Appropriate Script → …
  • Asked to add screenshots to release notes
  • SKILL.md covers Purpose, Hard Rules, Golden Example and Actions, plus 3 more sections
  • Calls dotnet, pwsh and npx

What it does

Generate Release Screenshots is an agent skill from oocx/tfplan2md. Generate PNG screenshots for release notes using the repository's HtmlRenderer and ScreenshotGenerator tools. Use when asked to add screenshots to release notes or documentation.

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. It works with Playwright. The repository describes itself as: Convert terraform plans (json) into human readable markdown for easier review of changes in pull requests. The licence is MIT.

When your agent uses it

  • Asked to add screenshots to release notes
  • Tasks that involve Changelog and release notes

Example prompts

  • “/generate-release-screenshots”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Install Playwright (PREREQUISITE — REQUIRED)
  2. Understand What Screenshots Are Needed
  3. Choose the Appropriate Script
  4. Generate the Screenshots
  5. Verify Generation Success
  6. Add Markdown References
  7. Handle Failures

What it can do on your machine

Read from SKILL.md and the folder at commit 88d5240. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet
    • pwsh
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Generate Release Screenshots loads about 3.7k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,146 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from oocx/tfplan2md at commit 88d5240, republished under its MIT licence (© oocx). 1,146 words, ~3,696 tokens.

Download SKILL.mdSave it as .claude/skills/generate-release-screenshots/SKILL.md (or your agent's skills folder).
name
generate-release-screenshots
description
Generate PNG screenshots for release notes using the repository's HtmlRenderer and ScreenshotGenerator tools. Use when asked to add screenshots to release notes or documentation.

Skill Instructions

Purpose

Provide clear, actionable guidance for generating actual PNG screenshot files for release notes and documentation, preventing common mistakes like creating markdown links to source files or referencing non-existent images.

Hard Rules

Must
  • Install Playwright before generating screenshots: Build the ScreenshotGenerator project (dotnet build src/tools/Oocx.TfPlan2Md.ScreenshotGenerator/), then install the browser via pwsh src/tools/Oocx.TfPlan2Md.ScreenshotGenerator/bin/Debug/net10.0/playwright.ps1 install chromium --with-deps. Do NOT use npx playwright install — the npm version differs from the .NET package version.
  • Generate actual PNG files, NOT markdown links to source files or empty image references.
  • Use scripts/generate-release-screenshots.sh for release note screenshots (includes retry logic and error reporting).
  • Use scripts/generate-screenshot.sh for individual screenshots with full control (light/dark themes, DPI, crops).
  • Verify generated PNG files exist at expected paths before adding markdown references.
  • Verify screenshots show the intended content (not blank pages or errors) — visually inspect each screenshot.
  • Use focused, small screenshots for release notes: max 580×400 pixels.
  • Use only *-crop*.png files in release notes, or generate single screenshots using the release wrapper.
  • Use absolute raw.githubusercontent.com URLs in release notes — relative paths like ./image.png do NOT work in GitHub Release pages. Use format: https://raw.githubusercontent.com/oocx/tfplan2md/v{VERSION}/docs/{path}/image.png where {VERSION} is the release tag.
  • Choose selectors that capture the visual change: Match the selector to what the feature/fix actually changes (see Selector Guide below).
  • Generate the report with --details open so resource details blocks are expanded in screenshots — unless you specifically want to capture a collapsed resource.
  • Add one metadata comment per screenshot in release notes using <!-- release-screenshot: selector="..." ; focus="..." --> or target-resource-id="..." so PR validation can confirm the capture intent.
Must Not
  • Add ![Screenshot](path/to/image.png) syntax to markdown before verifying the PNG file exists.
  • Replace actual screenshots with markdown links to source files (e.g., [View in file.md (lines X-Y)]).
  • Use text descriptions or placeholders instead of actual PNG files.
  • Proceed with release if screenshot generation fails due to timeouts or tooling issues.
  • Use relative paths (e.g., ./image.png) in release notes — they break in GitHub Release pages.
  • Reference filenames that don't exist — always verify the actual generated filename matches the markdown reference.
  • Omit screenshot targeting metadata from release notes — the release-note guardrail rejects screenshot entries without it.

Golden Example

For Release Notes (Preferred Method)
bash
# Generate focused screenshots for release notes
scripts/generate-release-screenshots.sh \
  --plan examples/comprehensive-demo/plan.json \
  --output-prefix feature-name \
  --output-dir docs/features/NNN-feature-slug/ \
  --selector "details:has(summary:has-text('resource_name'))"

# This script:
# - Includes retry logic (3 attempts with 5-second delays)
# - Provides detailed error reporting and troubleshooting guidance
# - Generates focused crop screenshots suitable for release notes
Alternative Methods
Using Markdown File as Input
bash
scripts/generate-release-screenshots.sh \
  --markdown-file artifacts/comprehensive-demo.md \
  --output-prefix demo-screenshot \
  --output-dir docs/features/NNN-feature-slug/ \
  --target-resource-id "azurerm_firewall_network_rule_collection"
For Individual Screenshots with Full Control
bash
# Generate with light/dark themes, DPI options, and custom crops
scripts/generate-screenshot.sh \
  --plan examples/comprehensive-demo/plan.json \
  --output-prefix feature-name \
  --selector "details:has(summary:has-text('resource_name'))" \
  --thumbnail-width 580 --thumbnail-height 400 \
  --lightbox-width 1200 --lightbox-height 900 \
  --render-target azdo \
  --open-details-selector "details"

# This generates 12 variants:
# - Thumbnail and lightbox crops
# - Light and dark themes
# - 1x and 2x DPI versions

Actions

0. Install Playwright (PREREQUISITE — REQUIRED)

Before any screenshot generation, ensure the correct Chromium browser is installed for the .NET Playwright package:

bash
# 1. Build the ScreenshotGenerator project first
dotnet build src/tools/Oocx.TfPlan2Md.ScreenshotGenerator/

# 2. Install Chromium using the .NET project's Playwright script
pwsh src/tools/Oocx.TfPlan2Md.ScreenshotGenerator/bin/Debug/net10.0/playwright.ps1 install chromium --with-deps

⚠️ Do NOT use npx playwright install — the npm Playwright version differs from the .NET Microsoft.Playwright NuGet package version, causing browser version mismatches (e.g., the .NET package expects chromium_headless_shell-1200 but npm installs chromium_headless_shell-1208). Always use the .NET project's playwright.ps1 script to ensure version compatibility.

1. Understand What Screenshots Are Needed

Clarify with the user:

  • What content should the screenshots show?
  • Are they for release notes (small, focused) or documentation (detailed)?
  • What resources or sections should be highlighted?
2. Choose the Appropriate Script

For release notes: Use scripts/generate-release-screenshots.sh

  • Includes retry logic and error handling
  • Generates focused, appropriately-sized screenshots
  • Best for user-facing release documentation

For full control: Use scripts/generate-screenshot.sh

  • Supports light/dark themes
  • Supports multiple DPI levels (1x, 2x)
  • Supports custom crop sizes
  • Best for website and detailed documentation
3. Generate the Screenshots

Run the chosen script with appropriate parameters:

  • Specify input source (--plan or --markdown-file)
  • Set output prefix and directory
  • Use selectors to focus on specific content
  • For release notes, ensure max 580×400 pixel size
  • Generate the report with --details open so resource attribute tables are visible in the screenshot — unless you specifically want to capture a collapsed resource
4. Verify Generation Success

Before proceeding:

  • Check that PNG files exist at the expected paths
  • Open or view the screenshots to confirm they show correct content
  • Verify no blank pages or error messages in screenshots
  • Confirm file sizes are appropriate for release notes
5. Add Markdown References

Only after verification, use absolute URLs for release notes:

markdown
<!-- release-screenshot: selector="summary:has-text('resource_type.resource_name')"; focus="Shows the changed summary line" -->
![Feature demonstration](https://raw.githubusercontent.com/oocx/tfplan2md/v{VERSION}/docs/features/NNN-feature-slug/feature-name.png)

Never use relative paths in release notes — they break in GitHub Release pages.

6. Handle Failures

If screenshot generation fails:

  • DO NOT proceed with release or commit broken image references
  • Report the failure to the Maintainer with full error details
  • Document the specific error (timeout, CDN failure, tooling issue)
  • Wait for tooling fix or Maintainer guidance
Show full SKILL.md (459 more words)Show less

Selector Guide — Choosing What to Capture

The selector determines which part of the rendered HTML page is captured. Choosing the wrong selector is a common mistake that results in screenshots showing irrelevant content.

How selectors work
  • --selector captures the bounding box of all matching elements
  • --target-terraform-resource-id finds the <details> block for a specific Terraform resource and captures its full content (attribute tables, body changes, etc.)
Matching selector to visual change type
What changedWhat to showRecommended selector
Summary line (emoji, spacing, icons in collapsed view)The <summary> element showing the change--selector "summary:has-text('resource_type.resource_name')"
Resource details (attribute rendering, body layout)The expanded <details> block--target-terraform-resource-id "resource_type.resource_name"
Section header (module icons, heading format)The heading element--selector "h3:has-text('Module:')" or --selector "h4:has-text('Section Name')"
Tags renderingThe tags section within a resource--selector "p:has-text('Tags:')"
Table formattingA specific table--selector "table:near(summary:has-text('resource'))"
Multiple elements (before/after, several fixes)Wider section containing all changes--selector "article" or use a parent container
❌ Common mistake: Using --target-terraform-resource-id for summary-line changes

If a fix only changes the collapsed <summary> line (e.g., emoji spacing like 2 🔧), do NOT use --target-terraform-resource-id — this captures the entire expanded resource details block, which shows attribute tables instead of the summary where the fix is visible.

✅ Correct: Use a targeted CSS selector
bash
# To capture wrench icon spacing fix in summary:
--selector "summary:has-text('azurerm_network_security_group')"

# To capture tags emoji addition:
--selector "p:has-text('🏷️ Tags:')"

# To capture module icon fix:
--selector "h3:has-text('📦 Module:')"

Image URLs for Release Notes

❌ Wrong: Relative paths (break in GitHub Release pages)
markdown
![Screenshot](./screenshot.png)
![Screenshot](docs/features/NNN/screenshot.png)

Relative paths work when browsing the file in the GitHub repository, but GitHub Release pages render the markdown body without a file context, so relative paths produce broken images.

✅ Correct: Absolute raw.githubusercontent.com URLs
markdown
![Screenshot](https://raw.githubusercontent.com/oocx/tfplan2md/v1.20.0/docs/issues/086/screenshot.png)

Use the release tag (e.g., v1.20.0) in the URL. Since the release notes are committed before the tag exists, use the tag that will be created by the release pipeline. The format is:

https://raw.githubusercontent.com/oocx/tfplan2md/v{VERSION}/docs/{work-item-folder}/{filename}.png

Important: The release notes file is committed to main before the tag is created. The release workflow copies release-notes.md as the GitHub Release body. Since the tag is created by Versionize on the same commit, the file will be accessible at the tag URL.

Common Mistakes to Avoid

❌ Wrong: Adding references before generating files
markdown
# Release notes created first
![Screenshot](docs/features/072/screenshot.png)

# Then trying to generate the screenshot
# Result: Broken link if generation fails
✅ Correct: Generate first, then reference
bash
# 1. Generate the screenshot
scripts/generate-release-screenshots.sh --plan ... --output-prefix feature-name

# 2. Verify it exists
ls -lh docs/features/NNN/feature-name-crop-light-1x.png

# 3. Then add the metadata + markdown reference
cat >> release-notes.md <<'EOF'
<!-- release-screenshot: selector="summary:has-text('resource_type.resource_name')"; focus="Shows the updated summary line" -->
![Feature](https://raw.githubusercontent.com/oocx/tfplan2md/v{VERSION}/docs/features/NNN/feature-name-crop-light-1x.png)
EOF
markdown
See the changes in [comprehensive-demo.md (lines 45-67)](comprehensive-demo.md#L45-L67)
✅ Correct: Using actual PNG screenshots
markdown
<!-- release-screenshot: target-resource-id="azurerm_network_security_group.example"; focus="Shows the rendered resource details that changed" -->
![Network security rules demonstration](https://raw.githubusercontent.com/oocx/tfplan2md/v1.20.0/docs/features/072/nsg-rules.png)
❌ Wrong: Referencing filenames that don't exist
markdown
![Before](https://raw.githubusercontent.com/oocx/tfplan2md/abc123/docs/features/072/before-screenshot.png)
# But the actual file is named "nsg-rules.png", not "before-screenshot.png"
✅ Correct: Verify actual filenames before referencing
bash
# 1. Generate screenshots
scripts/generate-release-screenshots.sh --plan ... --output-prefix nsg-rules --output-dir docs/features/072/

# 2. List actual generated files
ls docs/features/072/*.png

# 3. Use the exact filename in markdown with targeting metadata
# Output: docs/features/072/nsg-rules.png
❌ Wrong: Skipping Playwright installation or using npx
bash
# Wrong: Skipping installation entirely
scripts/generate-release-screenshots.sh --plan ... --output-prefix feature ...
# Result: "Browser not found" error

# Wrong: Using npx (version mismatch with .NET Playwright package)
npx playwright install chromium --with-deps
scripts/generate-release-screenshots.sh --plan ... --output-prefix feature ...
# Result: "Executable doesn't exist at chromium_headless_shell-1200" (npm installed -1208)
✅ Correct: Install via .NET Playwright script
bash
dotnet build src/tools/Oocx.TfPlan2Md.ScreenshotGenerator/
pwsh src/tools/Oocx.TfPlan2Md.ScreenshotGenerator/bin/Debug/net10.0/playwright.ps1 install chromium --with-deps
scripts/generate-release-screenshots.sh --plan ... --output-prefix feature ...

Technical Details

How Screenshot Generation Works
  1. Markdown → HTML: src/tools/Oocx.TfPlan2Md.HtmlRenderer renders markdown to HTML
  2. HTML → PNG: src/tools/Oocx.TfPlan2Md.ScreenshotGenerator (Playwright) captures PNG screenshots
  3. Repository scripts wrap these tools with:
    • Retry logic for network failures
    • Error reporting and troubleshooting guidance
    • Batch generation for multiple variants
For Website Screenshots

Use the website-visual-assets skill (.agents/skills/website-visual-assets/SKILL.md) for:

  • Website-specific screenshot workflows
  • Screenshot inventory management (website/_memory/screenshots.md)
  • Website asset organization (website/assets/screenshots/)

References

  • Scripts: scripts/generate-release-screenshots.sh, scripts/generate-screenshot.sh
  • Tools: src/tools/Oocx.TfPlan2Md.HtmlRenderer, src/tools/Oocx.TfPlan2Md.ScreenshotGenerator
  • Related skill: .agents/skills/website-visual-assets/SKILL.md (for website screenshots)

© oocx, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/generate-release-screenshots of oocx/tfplan2md.

Open the folder on GitHubat commit 88d5240

Compare with similar skills

Generate Release Screenshots next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Generate Release Screenshots compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Generate Release Screenshots this skilloocx/tfplan2md174—~3.7kAutomated safety check: PassMIT
Releaseankit/stylebot1.6k—~897Automated safety check: PassMIT
Project Docs Maintainerswimmwatch/cloakbrowser-mcp164—~569Automated safety check: PassMIT
Project Releaseswimmwatch/cloakbrowser-mcp164—~1.9kAutomated safety check: PassMIT
Michel UI Demo RecorderPackmindHub/packmind317—~6.4kAutomated safety check: PassApache-2.0
Release Processpadamson/playwright-rust154—~4.1kAutomated safety check: PassApache-2.0

Similar skills

  • Release

    ankit/stylebot

    Cut a Stylebot release — CHANGELOG entry, version bump, release PR, tag, and store zips.

    1.6k GitHub stars~897 tokensUpdated today
    DevelopmentAuto-check passed
  • Project Docs Maintainer

    swimmwatch/cloakbrowser-mcp

    Maintain, organize, consolidate, or audit the cloakbrowser-mcp documentation set only when the user explicitly requests project documentation maintenance or an authorized public change requires it.

    164 GitHub stars~569 tokensUpdated today
    DevelopmentAuto-check passed
  • Project Release

    swimmwatch/cloakbrowser-mcp

    Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.

    164 GitHub stars~1.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Michel UI Demo Recorder

    PackmindHub/packmind

    Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.

    317 GitHub stars~6.4k tokensUpdated today
    Media & CreativeAuto-check passed
  • Release Process

    padamson/playwright-rust

    End-to-end release runbook for playwright-rust — version bump, supply-chain refresh, per-crate CHANGELOGs, tag-prefix routing for the three workspace crates, the safer push-then-tag workflow that…

    154 GitHub stars~4.1k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Screenshots Marketing

    nexu-io/open-design

    Generate marketing screenshots with Playwright. An agent skill from nexu-io/open-design.

    100k GitHub stars~301 tokensUpdated today
    Frontend & DesignAuto-check passed

More from oocx/tfplan2md

All 28 skills in this repo
  • Create Agent Skill

    oocx/tfplan2md

    Create a new Agent Skill following project standards and templates.

    174 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Detect and analyze edge crossings and overlaps in SVG workflow diagrams using geometric intersection algorithms and visual analysis.

    174 GitHub stars~4.3k tokensUpdated yesterday
    Auto-check passed
  • Git Rebase Main

    oocx/tfplan2md

    Safely rebase the current feature branch on top of the latest origin/main.

    174 GitHub stars~456 tokensUpdated yesterday
    Auto-check passed
  • Next Issue Number

    oocx/tfplan2md

    Determine the next available issue number across all change types (feature, fix, workflow, website) by checking both local docs and remote branches, then reserve it by pushing an empty branch.

    174 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Run Uat

    oocx/tfplan2md

    Run User Acceptance Testing by creating a PR with rendered markdown on GitHub or Azure DevOps.

    174 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Convert the mermaid diagram in docs/workflow.md to a blueprint-styled SVG for the website.

    174 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Generate Release Screenshots

What does Generate Release Screenshots do?

Generate PNG screenshots for release notes using the repository's HtmlRenderer and ScreenshotGenerator tools. Generate Release Screenshots is an agent skill from oocx/tfplan2md. Generate PNG screenshots for release notes using the repository's HtmlRenderer and ScreenshotGenerator tools.

When should I use Generate Release Screenshots?

Generate Release Screenshots fits situations like: asked to add screenshots to release notes; tasks that involve Changelog and release notes.

How do I install Generate Release Screenshots in Claude Code?

Run `npx skills add oocx/tfplan2md --skill generate-release-screenshots -a claude-code`. Or copy the skill folder (.agents/skills/generate-release-screenshots in oocx/tfplan2md) into .claude/skills/generate-release-screenshots in your project. Claude Code loads it when a task matches its description.

How do I install Generate Release Screenshots in Codex?

Run `npx skills add oocx/tfplan2md --skill generate-release-screenshots -a codex`. Or copy the skill folder (.agents/skills/generate-release-screenshots in oocx/tfplan2md) into .agents/skills/generate-release-screenshots in your project. Codex loads it when a task matches its description.

Can I use Generate Release Screenshots in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oocx/tfplan2md --skill generate-release-screenshots -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/generate-release-screenshots, .gemini/skills/generate-release-screenshots, .github/skills/generate-release-screenshots and .opencode/skills/generate-release-screenshots in your project.

What does Generate Release Screenshots need to run?

Going by SKILL.md and its folder, Generate Release Screenshots needs the command-line tools its instructions call (dotnet, pwsh and npx). Our summary lists: Node.js.

Does Generate Release Screenshots access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Generate Release Screenshots safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Generate Release Screenshots use?

Generate Release Screenshots is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Generate Release Screenshots use?

About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Generate Release Screenshots?

Skills that share tags, products or a category with Generate Release Screenshots: Release (ankit/stylebot, 1.6k stars), Project Docs Maintainer (swimmwatch/cloakbrowser-mcp, 164 stars), Project Release (swimmwatch/cloakbrowser-mcp, 164 stars) and Michel UI Demo Recorder (PackmindHub/packmind, 317 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Generate Release Screenshots?

oocx (a GitHub user) maintains it in oocx/tfplan2md, which has 174 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 7, 2026.

Source: oocx/tfplan2md on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.