Files
moeka-project/.agents/skills/use-vishot-for-airi/SKILL.md
T

48 lines
2.2 KiB
Markdown

---
name: use-vishot-for-airi
description: Run AIRI-owned Vishot scenarios for stage-web or stage-tamagotchi, including skipping first-run onboarding and importing a local Live2D, VRM, or MMD display model before capture. Use when AIRI visual evidence must exercise a contributor-supplied avatar file instead of a preset model.
---
# Use Vishot for AIRI
Invoke `$use-vishot`, `$use-vishot-with-electron`, and `$use-vishot-with-input-file`. Reuse the product helper at `packages/scenarios-stage-tamagotchi-electron/src/scenarios/display-model-from-file.ts`.
## Local model capture
Build Electron, then pass the model path and explicit format through the environment:
```bash
pnpm build:tamagotchi
AIRI_DISPLAY_MODEL_FORMAT=live2d \
AIRI_DISPLAY_MODEL_PATH='/Users/neko/Pictures/Project AIRI 静态资产/形象 - Iru/Live2D/Iru v2.0 @ Project AIRI 运行文件.zip' \
pnpm exec vishot capture \
./packages/scenarios-stage-tamagotchi-electron/src/scenarios/display-model-from-file.ts \
--target electron \
--app-entrypoint ./apps/stage-tamagotchi/out/main/index.js \
--cwd . \
--settle-ms 2500 \
--output-dir ./.vishot/display-model/live2d
```
Use `AIRI_DISPLAY_MODEL_FORMAT=vrm` with a local file such as:
```text
/Users/neko/Pictures/Project AIRI 静态资产/形象 - Iru/VRM/ReLU @ Project AIRI.vrm
```
Use `AIRI_DISPLAY_MODEL_FORMAT=mmd` with `.zip`, `.pmx`, or `.pmd`. A license-readable public candidate is [CG-CA Gene](https://github.com/mmdagent-ex/gene), whose repository provides PMX/PMD models and textures under CC BY 4.0. Prefer a ZIP containing the model and its texture directories.
## Scenario contract
The AIRI helper:
- marks onboarding completed in the test profile and closes an already-open onboarding renderer;
- opens Settings → Models through product-owned window helpers;
- starts waiting for the Playwright file chooser before choosing Live2D, VRM, or MMD;
- correlates the import through the new IndexedDB model key;
- selects the imported card and waits for the main window selection to match;
- captures the main stage and removes the imported fixture afterward.
Treat the capture as failed when it still shows a preset model, an import dialog, a blank stage, or a loading state. Inspect every generated image.