qa-test
Run an automated QA test flow against a terminal, browser, or native desktop app
Plan and record a demo video of a feature or PR
$ npx -y skills add factory-ai/factory-plugins --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/demoContext preview
What this command does when you run it.
Plan and record a demo video of a feature or PR
description: Plan and record a demo video of a feature or PR argument-hint: '"<PR-number> [-- notes]" or "<description of what to demo>"'
Load skills: **droid-control**.
`$ARGUMENTS` can be:
If a PR reference is found, fetch the PR description, diff, and linked ticket via `gh pr view`. The `-- notes` narrow scope or set constraints.
Determine the deliverable requirements from the arguments. These are **commitments**, not suggestions -- every checked item must be present in the final output:
Effects tiers:
| Tier | What's included | When | |---|---|---| | **utilitarian** | Zoom for readability, keystroke overlay for user actions | Default for all demos | | **full** | All effect types -- spotlight, zoom, callout, keystroke overlay | Default when showcase wrapping is committed | | **none** | No effects | Only if user explicitly says "no effects" |
Do not plan specific effects here -- that's a compose-time decision made after capture, when you have actual recordings to work with.
If showcase wrapping is committed, resolve the **preset** using the first matching rule:
| User keywords | Preset | |---|---| | `factory`, `official`, `branded` | `factory` | | `factory hero`, `factory landing` | `factory-hero` | | `hero`, `landing page`, `social`, `marketing` | `hero` | | `presentation`, `slides`, `deck` | `presentation` | | `minimal`, `inline`, `docs embed` | `minimal` | | _(none of the above — e.g., just "showcase" or "polished")_ | `macos` |
State these commitments (including the resolved preset) in the demo plan. Present the plan and **wait for user approval** before recording.
For each change in the PR, ask: what could a viewer confuse this with?
Design the demo so the viewer sees something that **only happens if the feature works as claimed**. Both states (before/after, old/new, input/result) must appear on screen -- off-camera verification doesn't count.
For simple PRs this is one sentence. For complex ones, sketch a brief table:
| Claim | Confused with | What proves it | |-------|--------------|----------------| | ... | ... | ... |
Use the **droid-control** routing tables. Do all three lookups:
1. **Target route** -- find the row matching your target, read listed driver/target atoms 2. **Stage route** -- load **capture** + **compose** + **verify** (demos always need all three) 3. **Artifact route** -- if showcase or keystroke overlay was committed, also load **showcase**
Script the sequence for each branch:
1. Launch and establish visible baseline 2. Exercise the feature 3. Show the disambiguating result (the thing that rules out the null hypothesis) 4. Stress/edge case if visually interesting 5. Clean exit
For comparison demos, both branches run **identical interactions** -- only the behavior differs. Verify state between steps; don't blindly fire the next key.
Follow the **capture** atom. It owns recording lifecycle, pre-flight, keystroke logging, and evidence collection.
Provide the capture stage with:
Whether capture runs in the parent or in workers is the **droid-control** skill's delegation decision (independent terminal/browser environments may run in workers; a shared desktop stays in the parent). Wait for every clip before composing.
Follow the **compose** atom. It owns the full video assembly pipeline; rendering may be delegated per the droid-control delegation table.
Hand compose a hybrid handoff:
What the viewer should take away. Which moments to hold. How to frame the story. Whether phase cards are warranted. The compose atom uses this -- along with the effects tier -- for editorial decisions: title card phrasing, trim points, emphasis, and choosing specific effects to apply.
Follow the **verify** atom. It checks the final deliverable against the commitments from Parse Arguments.
Official Factory plugins marketplace containing curated skills, droids, and tools.
Run an automated QA test flow against a terminal, browser, or native desktop app
Test a claim about behavior and report whether the evidence supports or refutes it