Use when a user wants to visualize or present Shipkit content as HTML. Triggers: 'create presentation', 'visualize this', 'HTML report'.
Purpose: Create beautiful, visual HTML reports from any ShipKit Lite content for presentations, sharing, or visual review.
What it does: Reads markdown content from .shipkit/, generates styled HTML with purple gradient theme, archives old reports, creates latest.html.
User triggers:
Use cases:
Optional (depends on what user wants to visualize):
.shipkit/architecture.json - For architecture decisions.shipkit/codebase-index.json - For component/route docs.shipkit/stack.json - For tech stack overview.shipkit/specs/{todo,active}/*.json - For specs.shipkit/plans/{todo,active}/*.json - For implementation plansNo strict prerequisites - Can create HTML from any content.
Before generating anything, ask user what they want to visualize:
Present options:
What would you like to visualize as HTML?
1. Architecture Decisions - Visual timeline of decisions
2. Project Status - Complete health dashboard
3. Quality Checklist - Pre-ship verification
4. Component Documentation - All components/routes
5. Feature Specs - Active specifications
6. Implementation Plans - Current plans
7. Tech Stack - Visual stack overview
8. Custom - You specify the files
Choose a number or describe what you need:
Wait for user response.
Based on user choice, identify which .shipkit/ files to read:
| Choice | Files to Read | Description Word |
|--------|---------------|------------------|
| 1. Architecture Decisions | .shipkit/architecture.json | architecture-decisions |
| 2. Project Status | Glob .shipkit/**/*.json | project-health |
| 3. Quality Checklist | .shipkit/codebase-index.json, .shipkit/specs/{todo,active}/*.json | quality-checklist |
| 4. Component Documentation | .shipkit/codebase-index.json | component-docs |
| 5. Feature Specs | .shipkit/specs/{todo,active}/*.json | feature-specs |
| 6. Implementation Plans | .shipkit/plans/{todo,active}/*.json | implementation-plans |
| 7. Tech Stack | .shipkit/stack.json | tech-stack |
| 8. Custom | User-specified files | User-specified description |
Description word: Used for archive filename (2-4 kebab-case words)
Use Read tool to load source markdown files.
FOR COMPREHENSIVE REPORTS (Project Status), USE PARALLEL READS:
Launch these Read operations IN PARALLEL (single message, multiple tool calls):
1. Read: .shipkit/architecture.json
2. Read: .shipkit/stack.json
3. Read: .shipkit/codebase-index.json
4. Read: .shipkit/schema.json
5. Glob + Read: .shipkit/specs/{todo,active}/*.json
6. Glob + Read: .shipkit/plans/{todo,active}/*.json
Why parallel: All file reads are independent - no dependencies between them. Parallel reads significantly speed up comprehensive report generation.
Examples for single-source reports:
For architecture decisions:
Read: .shipkit/architecture.json
For quality checklist:
Read: .shipkit/codebase-index.json
Glob: .shipkit/specs/{todo,active}/*.json
IMPORTANT: Actually read files - don't generate placeholder content.
Check if .shipkit/communications/latest.html already exists:
If latest.html exists:
1. Get current timestamp: YYYYMMDD-HHMM format
2. Create archive filename: YYYYMMDD-HHMM-{description}.html
Example: 20251228-1430-architecture-decisions.html
3. Use Read tool to read latest.html content
4. Use Write tool to create archive:
Path: .shipkit/communications/archive/{timestamp}-{description}.html
Content: [contents of old latest.html]
5. Proceed to generate new latest.html
If latest.html does NOT exist:
1. Proceed directly to generate new latest.html
Archive naming examples:
20251228-1430-architecture-decisions.html20251228-1515-project-health.html20251228-1620-quality-checklist.htmlCreate beautiful, styled HTML using the template structure.
Complete HTML template: See references/html-template.md
Key template features:
#667eea → #764ba2)Template variables to replace:
{Report Title} - Main title{Report Subtitle} - Subtitle{Current DateTime} - Full timestamp{Current Date} - Date only{CONVERTED MARKDOWN CONTENT HERE} - HTML-converted contentContent Conversion Rules:
Markdown to HTML: Convert markdown content to semantic HTML
# Header → <h2>## Header → <h3>### Header → <h4>**bold** → <strong>*italic* → <em><ul> / <ol><pre><code><code><table>Special Sections: Wrap important sections in cards
.card div.card with warning style.cardMermaid Diagrams: Detect markdown code blocks with mermaid language:
```mermaid
graph TD
A --> B
```
Convert to:
<div class="mermaid">
graph TD
A --> B
</div>
Timestamps: Use current datetime in header
Report Title Examples:
Use Write tool to create:
Location: .shipkit/communications/latest.html
Content: Complete HTML generated in Step 5
Example Write call:
Write tool:
File: .shipkit/communications/latest.html
Content: [Full HTML from Step 5]
After creating HTML, tell user:
✅ Visual HTML report created
📁 Location: .shipkit/communications/latest.html
📊 Report type: {Description}
{IF ARCHIVED}
🗄️ Previous report archived:
.shipkit/communications/archive/{timestamp}-{description}.html
{END IF}
👉 Open latest.html in your browser to view the report.
This skill creates:
.shipkit/
communications/
latest.html # Always current report
archive/
20251228-1430-architecture-decisions.html # Previous reports
20251228-1515-project-health.html
20251228-1620-quality-checklist.html
Always one latest.html - Easy to find current report
Archive preserves history - Never lose previous visualizations
Copy and track:
Source: .shipkit/architecture.json
Converts to: Visual timeline with cards for each decision, showing:
Good for: Team alignment, onboarding, documentation
Source: All .shipkit/**/*.json files
Converts to: Comprehensive dashboard with:
Good for: Stakeholder updates, weekly reviews
Source: .shipkit/codebase-index.json + specs
Converts to: Interactive checklist with:
Good for: Pre-ship reviews, QA handoff
Source: .shipkit/codebase-index.json
Converts to: Component catalog with:
Good for: Developer reference, onboarding
Before shipkit-communications:
.shipkit/ content/shipkit-engineering-definition → Visualize decisionsverify manually → Visualize checklistdocument components manually → Visualize docsAfter shipkit-communications:
When to use:
Depends on visualization type (see Step 2):
.shipkit/architecture.json - Architecture decisions.shipkit/codebase-index.json - Components/routes.shipkit/stack.json - Tech stack.shipkit/specs/{todo,active,parked,shipped}/*.json - Specifications.shipkit/plans/{todo,active,parked,shipped}/*.json - Implementation plans.shipkit/**/*.json - Custom/comprehensiveLazy loading: Only reads what's needed for chosen visualization
Run-scoped output (parallel-safe). communications/ is a transient artifact. When
running under the orchestration engine, write under the run root
(<runDir>/communications/…) per install/shared/references/run-artifacts.md; with no
run context it stays at .shipkit/communications/… (back-compatible). Readers resolve
the same base.
Creates/Updates:
.shipkit/communications/latest.html - OVERWRITE AND REPLACE
Archives:
.shipkit/communications/archive/{timestamp}-{description}.html - APPEND
Never modifies source files: All .shipkit/*.json context files are read-only inputs
Guardrails Check: Before moving to next task, verify:
.shipkit/?/shipkit-work-memory for continuity.Natural capabilities (no skill needed): Implementation, debugging, testing, refactoring, code documentation.
Suggest skill when: User needs to make decisions, create persistence, or check project status.
<!-- /SECTION:after-completion --> <!-- SECTION:success-criteria -->Visualization is complete when:
User: "Visualize the architecture decisions"
Claude:
1. Ask confirmation (already clear)
2. Read: .shipkit/architecture.json
3. Check for latest.html (exists)
4. Archive old: archive/20251228-1430-architecture-decisions.html
5. Generate HTML with:
- Timeline of decisions
- Each decision as a card
- Rationale highlighted
- Alternatives in tables
6. Write: latest.html
7. Confirm: "✅ Architecture decisions visualized. Open .shipkit/communications/latest.html"
User: "Create HTML report for weekly update"
Claude:
1. Ask: "What type of report?"
2. User: "Project status"
3. Glob: .shipkit/**/*.json
4. Read all markdown files
5. No existing latest.html (first time)
6. Generate comprehensive dashboard HTML
7. Write: latest.html
8. Confirm: "✅ Project status dashboard created"
User: "Show me quality checklist as HTML"
Claude:
1. Ask confirmation
2. Read: codebase-index.json + specs/{todo,active}/*.json
3. Check latest.html (exists)
4. Archive: archive/20251228-1620-quality-checklist.html
5. Generate checklist HTML with:
- All acceptance criteria
- Component verification
- Quality gates
6. Write: latest.html
7. Confirm with next steps
Choose the right type:
When to regenerate:
Archive benefits:
Sharing tips:
Quick reference:
# → <h2>, ## → <h3>, ### → <h4>**bold** → <strong>, *italic* → <em>, `code` → <code>- → <ul><li>, 1. → <ol><li>```mermaid → <div class="mermaid">Remember: This skill is about making ShipKit Lite content beautiful and shareable. Always read actual content, never generate placeholders. Archive old reports to preserve history.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer