showroom/skills/blog-generate/SKILL.md
This skill should be used when the user asks to "turn this lab into a blog post", "write a blog post from this module", "generate a blog from my Showroom content", "convert my workshop to a blog", "write a Red Hat Developer blog post", or "create a blog post from my demo".
npx skillsauth add rhpds/rhdp-skills-marketplace showroom:blog-generateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrates agents to transform completed Red Hat Showroom lab or demo content into blog posts for Red Hat Developer, internal blogs, or marketing platforms.
This skill is an orchestrator. Transformation and review are delegated to agents:
showroom:file-generator (Sonnet) — reads source .adoc files, transforms to blog Markdownshowroom:module-reviewer (Sonnet) — quality check on generated blog postSee @showroom/docs/SKILL-COMMON-RULES.md for source traceability and attribution rules.
Let's set up your blog post. Answer what you know:
Source modules (file paths to completed .adoc modules — can be multiple):
Target platform:
1. Red Hat Developer (developers.redhat.com)
2. Internal Red Hat (Source, Memo, The Stack)
3. Medium / dev.to / Hashnode
4. Marketing / announcement
Blog type:
1. Technical tutorial ("How to...")
2. Product announcement ("Introducing...")
3. Thought leadership ("Why...")
4. Case study / success story
5. Quick start guide
Technical depth:
1. Highly technical (code-heavy, for developers)
2. Moderately technical (balanced)
3. Marketing-focused (business benefits, light on code)
Target word count: 500-800 / 1000-1500 / 2000+ (or leave blank for auto)
Showroom link for "Try it yourself" CTA (optional):
Writing style (optional — skip for standard Red Hat technical blog style):
Describe: "storytelling-first, relatable analogies, humor where appropriate"
OR paste 1-3 paragraphs from a blog post you wrote
OR give a URL to a published post you authored
Saved profile? Point to: ~/.claude/context/my-writing-style.md
Confirm in one line:
📋 Blog plan: [type] for [platform] — [depth] — [word count]
Source: [N modules]
Generating blog post...
Task tool:
subagent_type: showroom:file-generator
prompt: |
TARGET_FILE: <output path, e.g. blog-post.md>
FILE_TYPE: blog
CONTENT_TYPE: <workshop|demo>
LAB_TYPE: <ocp|rhel|vm|ai|unknown>
REPO_PATH: <repo root if known, else none>
FULL_SPEC:
source_files: [<list of .adoc paths>]
blog_type: <tutorial|announcement|thought-leadership|case-study|quick-start>
platform: <redhat-developer|internal|medium|marketing>
technical_depth: <highly-technical|moderately-technical|marketing-focused>
word_count: <500-800|1000-1500|2000+>
showroom_link: <URL or null>
lab_name: <auto-detected from source>
The file-generator agent applies blog-specific quality checks internally. After it returns, verify:
Fix any issues inline before delivering.
✅ Blog post generated: <filename> (<word_count> words)
Quality: 0 Critical, 0 High, N Warnings
[list warnings if any]
Platform guidance:
Red Hat Developer: Submit at developers.redhat.com/write-for-us
Internal: Post to Source or Memo
| Source | Blog type | What changes | |---|---|---| | Workshop | Tutorial | Exercises → narrative how-to, keep code | | Workshop | Quick start | First module only, condensed | | Demo Know | Announcement | Business value extraction | | Demo Show | Case study | Capability walkthrough | | Any | Thought leadership | Patterns + trends, minimal code |
/showroom:create-lab — create workshop content/showroom:create-demo — create demo content/showroom:verify-content — verify content qualitytools
Writes validate.yml playbooks using the validation_check Ansible plugin. Takes the content-reader task report and solve-writer actions as input, producing checks that verify student progress without manual steps or navigation instructions.
tools
Writes solve.yml playbooks from the structured task report produced by ftl:content-reader. Uses the automation priority ladder (k8s_exec → k8s → uri → wait_for → Playwright) to generate Ansible tasks that replicate what the student does in the lab.
development
Pushes solve.yml and validate.yml to a live RHDP showroom, restarts the pod, and runs the full test cycle (fresh validate → solve → validate again → idempotency check). Reports pass/fail per task with full output for debugging.
tools
AsciiDoc reader agent for the FTL lab validator. Reads a showroom .adoc module file, extracts executable code blocks (role="execute"), classifies each step by automation type, and outputs a structured task report for the solve-writer and validate-writer agents.