ui-demo-video-publish
Publish UI demo evidence to Linear after frontend or visible product changes. Use when an agent has already implemented or validated a visible UI flow and needs to record the flow, attach the resultin
SKILL.mdskills/ui-demo-video-publish/SKILL.md
GitHubUI Demo Video Publish
Overview
Run the complete workflow for visible UI work:
- record a short demo
- find the finalized video file
- attach it to Linear
- post a concise comment explaining what the demo proves
This skill is the wrapper. It should call the lower-level skill at:
../ui-demo-video-linear/SKILL.md
Use this skill when
Use it when all are true:
- the issue has visible UI impact
- a short visual proof would help review or handoff
- the target Linear issue is known
Do not use it for:
- backend-only changes
- library or infra work
- tasks with no meaningful UI path to demonstrate
End-to-end workflow
- Decide if the issue deserves a demo.
- Launch the app under test.
- Record the shortest path that proves the change.
- Finalize and locate the video artifact.
- Attach the video to Linear.
- Post a short comment summarizing the evidence.
Recording
Prefer Playwright MCP for browser automation.
Recording rules:
- keep the demo short
- prove one or two target behaviors only
- avoid noisy or unrelated exploration
- close the recording context cleanly so the artifact is finalized
If recording capability is not exposed directly by Playwright MCP in the current environment, fall back to a local Playwright script or skip with a clear reason.
Artifact handling
Use the lower-level skill resources:
find_latest_video.pyprepare_linear_attachment.py
Canonical flow:
- locate the artifact
- validate that it is non-empty and plausibly a video
- prepare attachment payload
- upload to Linear
Linear publication
Preferred publication flow:
- create the attachment on the issue
- add a comment with a short summary
Comment content should answer:
- what was validated
- which flow was shown
- any known limitation or omission
Use:
scripts/build_demo_comment.py
Output contract
A successful run should leave:
- a Linear attachment containing the video
- a short Linear comment summarizing the demo
- a local record of:
- issue id
- video path
- attachment status
- comment body
Failure handling
If recording fails:
- say whether launch, navigation, or video finalization failed
- do not pretend a demo was published
If upload fails:
- preserve the local path to the video
- report whether attachment or comment creation failed
If the video is too large or noisy:
- rerun a shorter scenario instead of publishing a weak artifact
Resources
scripts/
build_demo_comment.py: Generate the standard Linear comment body for a published demo.
references/
linear-publication-flow.md: Canonical publication sequence and operator expectations.