From harness
Use this skill whenever the user asks for a project slide, one-page visual summary, project introduction image, or visual overview of a project. Also use when the user wants to present a project visually or create a promotional image for a repository. Do NOT load for: presentation decks (multiple slides), video generation, text-only documentation, or code implementation. Generates project introduction slide images using Nano Banana Pro (Gemini image API) with 3 visual patterns, quality checks, and retries.
npx claudepluginhub tim-hub/powerball-harness --plugin harnessThis skill is limited to using the following tools:
Automatically generates single-slide images that introduce and explain a project, using the Nano Banana Pro (Gemini 3 Pro Image Preview) API.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Automatically generates single-slide images that introduce and explain a project, using the Nano Banana Pro (Gemini 3 Pro Image Preview) API.
Generates 3 patterns x 2 candidates each = 6 images total → quality check per pattern → retry if NG → outputs the best 1 image per pattern, 3 images total.
GOOGLE_AI_API_KEY environment variable is set| Feature | Details |
|---|---|
| Slide Image Generation | See references/slide-generator.md |
| Quality Assessment | See references/slide-quality-check.md |
/generate-slide
|
+--[Step 1] Information Gathering
| +-- User-specified text or automatic codebase analysis (README, package.json, etc.)
| +-- Extract project name, overview, key features, and tech stack
|
+--[Step 2] Specification Confirmation (AskUserQuestion)
| +-- Size and aspect ratio (default: 16:9 / 2K)
| +-- Tone (tech, casual, corporate, etc.)
| +-- Points to emphasize (ask only when ambiguous)
|
+--[Step 3] Generate 3 patterns x 2 images (Nano Banana Pro API x 6 calls)
| +-- Pattern A: Minimalist (2 images)
| +-- Pattern B: Infographic (2 images)
| +-- Pattern C: Hero Visual (2 images)
|
+--[Step 4] Quality check per pattern
| +-- Claude reads the 2 images per pattern via Read
| +-- 5-level scoring → higher score becomes the candidate
| +-- Both score 2 or below → improve prompt and retry (up to 3 times)
| +-- Retry limit reached → report to user, choose to continue or skip
|
+--[Step 5] Output the best 3 images
+-- Copy the best 1 image per pattern to selected/
+-- Present the results list (path + score + evaluation comment) to the user
| Pattern | Concept | Characteristics |
|---|---|---|
| Minimalist | Whitespace and typography focused | clean, whitespace, typography-driven, elegant |
| Infographic | Data/flow visualization | data visualization, metrics, flow diagram, structured |
| Hero Visual | Large visual + catchphrase | bold visual, impactful, hero image, catchy headline |
out/slides/
+-- minimalist_1.png # Pattern A candidate 1
+-- minimalist_2.png # Pattern A candidate 2
+-- infographic_1.png # Pattern B candidate 1
+-- infographic_2.png # Pattern B candidate 2
+-- hero_1.png # Pattern C candidate 1
+-- hero_2.png # Pattern C candidate 2
+-- selected/
| +-- minimalist.png # Pattern A best
| +-- infographic.png # Pattern B best
| +-- hero.png # Pattern C best
+-- quality-report.md # Quality check results report
Collect project information in the following priority order:
README.md — Project overviewpackage.json / Cargo.toml / pyproject.toml — Project name, description, dependenciesCLAUDE.md — Project structure and purposePlans.md — In-progress tasks (if present)Information to extract:
| Item | Example |
|---|---|
| Project name | Claude Code Harness |
| Overview (1-2 sentences) | A plugin for autonomous operation of Claude Code via Plan-Work-Review |
| Key features (3-5) | Skill management, quality checks, parallel execution |
| Tech stack | TypeScript, Node.js, Claude Code Plugin |
| Colors (if available) | Brand colors or inferred |
Confirm the following via AskUserQuestion (only ask when ambiguous, as defaults are available):
Question 1: What size and aspect ratio for the slide?
- 16:9 / 2K (recommended)
- 4:3 / 2K
- 1:1 / 2K
- Custom
Question 2: What tone?
- Tech (dark theme, code aesthetic)
- Casual (bright, friendly)
- Corporate (formal, trustworthy)
- Creative (bold, art-oriented)
Follow the steps in slide-generator.md to generate 3 patterns x 2 images = 6 images.
Since each pattern's generation is independent, run curl in parallel where possible:
# Parallel execution example (3 patterns x 2 images)
for pattern in minimalist infographic hero; do
for i in 1 2; do
# Execute the curl pattern from slide-generator.md
# → Save to out/slides/${pattern}_${i}.png
done
done
Evaluate the 2 images per pattern according to the criteria in slide-quality-check.md:
# Copy the best images to selected/
mkdir -p out/slides/selected
cp out/slides/minimalist_best.png out/slides/selected/minimalist.png
cp out/slides/infographic_best.png out/slides/selected/infographic.png
cp out/slides/hero_best.png out/slides/selected/hero.png
Generate the quality report (out/slides/quality-report.md):
# Slide Quality Report
## Generation Info
- Project: {project_name}
- Generated at: {datetime}
- Aspect ratio: {aspect_ratio}
- Tone: {tone}
## Results Summary
| Pattern | Candidate 1 | Candidate 2 | Selected | Score |
|---------|------------|------------|----------|-------|
| Minimalist | 3/5 | 4/5 | Candidate 2 | 4/5 |
| Infographic | 4/5 | 3/5 | Candidate 1 | 4/5 |
| Hero Visual | 5/5 | 4/5 | Candidate 1 | 5/5 |
## Detailed Evaluation
...
GOOGLE_AI_API_KEY is not set.
Setup instructions:
1. Get an API key from Google AI Studio: https://ai.google.dev/aistudio
2. export GOOGLE_AI_API_KEY="your-api-key"
Present options via AskUserQuestion:
Images for pattern {pattern} did not meet the criteria after 3 retries.
Options:
1. Use the highest-scoring image and continue
2. Skip this pattern
3. Manually specify a prompt and regenerate
generate-video — Product demo video generation (shares the image generation engine)notebookLM — Document and slide generation (different approach)