Product Tour Capture
/install product-tour-capture
SKILL: Product Tour Capture
Last used: 2026-03-24 Memory references: 1 Status: Active Version: 1.0 · Author: Loki · Created: 2026-03-24 Proven on: Reddi Agent Protocol (14 steps, agent-protocol.reddi.tech/tour)
What this skill does
Captures a series of Playwright screenshots from a live web app, builds a full-screen clickable slideshow page (/tour), and deploys it. Gives any web app a polished "product tour" in one playbook run.
Inputs
interface TourPlaybookInput {
appRepo: string // local path to Next.js repo
baseUrl: string // deployed app URL (https://...)
outputDir: string // public/tour/ relative to repo
tourPagePath: string // app/tour/page.tsx relative to repo
steps: TourStep[]
}
interface TourStep {
id: string // e.g. "01-landing" — used as filename
url: string // path on the app, e.g. "/"
title: string // sidebar label
caption: string // 1-sentence description shown in tour
scroll?: number // pixels to scroll after load
clickTab?: string // text of a tab to click (shadcn Tabs)
click?: string // text of element to click
fill?: string // text to fill into first textarea
wait?: number // ms to wait after fill/click
}
Outputs
interface TourPlaybookOutput {
screenshotsCapured: number
screenshotsFailed: string[] // IDs of failed captures
tourUrl: string // live URL of the tour page
deployedAt: string // ISO timestamp
}
Multi-agent playbook
Agent roles
| Agent | Task | Input | Output |
|---|---|---|---|
| Orchestrator (Loki) | Receive request, construct step list, spawn agents | User brief | TourPlaybookInput |
| Capture agent (Kit/Finn) | Run Playwright, capture screenshots | TourPlaybookInput | screenshotManifest[] |
| Builder agent (Kit) | Generate /tour page from template + manifest, build, deploy | screenshotManifest[] + TourPlaybookInput | tourUrl |
| QA agent (Oli) | Spot-check screenshots (blank? matching captions?) | screenshotManifest[] | pass/warn/fail report |
Handoff pattern
Loki constructs TourPlaybookInput
→ spawn Kit (capture)
→ node scripts/capture-tour.mjs
→ returns: { captured: 14, failed: [], manifest: [...] }
→ spawn Kit (build)
→ writes app/tour/page.tsx from TOUR_STEPS template
→ npm run build → vercel deploy
→ returns: { tourUrl, httpStatus: 200 }
→ spawn Oli (QA)
→ checks each screenshot isn't blank (file size > 5KB)
→ spot-checks 3 captions match visible page content
→ returns: pass / conditional-pass / fail
Capture script template
Location: scripts/capture-tour.mjs in the target repo.
Key patterns:
page.goto(url, { waitUntil: 'networkidle', timeout: 20000 })- Tab clicks:
page.getByRole('tab', { name: tabName }).first() - Scroll:
page.evaluate(y => window.scrollTo(0, y), scrollY) - Fill + trigger:
textarea.fill(text)→button[generate].click()→waitForTimeout(ms) - Always
waitForTimeout(600)after navigation before screenshot - Viewport:
1280 x 800(16:10, clean for sidebar layout)
Tour page template
Full-screen layout (no scroll):
- Top bar: "Product Tour · X of N" + auto-play toggle + "Try it live →" CTA
- Main: screenshot panel (with prev/next chevrons) + right sidebar (step info + list)
- Progress bar: Solana purple → green gradient
Template component lives in app/tour/page.tsx. TOUR_STEPS is the only thing that changes per app.
When to use this skill
- Any web app that needs a "product tour" page for demos, hackathons, or onboarding
- After a major UI rebuild (re-capture to keep tour current)
- For hackathon submissions — judges can self-tour without a live demo session
Lessons learned (from Reddi Agent Protocol run)
- Tab clicks need
getByRole('tab')— genericgetByTextcan hit non-tab elements - Demo pipeline screenshots:
fill + click + wait(7000)for mid-pipeline,wait(13000)for complete - 23 files in public/tour/ after a re-run — old screenshots persist, that's fine (overwritten)
- Build command: use
node node_modules/next/dist/bin/next buildnotnpx next build— the.bin/nextshim has path issues on Node 24 in some environments - Auto-play at 4s is the right pace — slow enough to read captions, fast enough to feel dynamic
- 14 steps is the sweet spot — fewer feels thin, more feels exhausting for a tour
Playbook architecture notes
This skill is a good test case for the playbook architecture because:
- Clear 3-agent handoff with defined I/O at each step
- Capture agent is stateless (just runs a script)
- Builder agent has a fixed template, only data changes
- QA agent has a simple pass/fail rubric (file size + caption spot-check)
- Total runtime: ~5-8 minutes end-to-end
- Fully parameterisable — works for any Next.js app with any step list
Future extensions
- v2: Accept a Figma URL or sitemap and auto-generate the step list (Archie researches the app first)
- v2: QA agent uses vision model to verify screenshot content matches caption
- v3: Video export — stitch screenshots into a 60s walkthrough video (Finn)
- v3: Embed tour as a modal on the landing page (not just /tour route)
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install product-tour-capture - 安装完成后,直接呼叫该 Skill 的名称或使用
/product-tour-capture触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Product Tour Capture 是什么?
Capture product tour video segments using browser automation and screen recording. Coordinates timing between UI interactions and narration cues for demo and... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 44 次。
如何安装 Product Tour Capture?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install product-tour-capture」即可一键安装,无需额外配置。
Product Tour Capture 是免费的吗?
是的,Product Tour Capture 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Product Tour Capture 支持哪些平台?
Product Tour Capture 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Product Tour Capture?
由 Nissan Dookeran(@nissan)开发并维护,当前版本 v1.0.0。