Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Tui Inspector

ASecurity

Records terminal UIs with VHS and deterministic snapshots. Use when debugging TUI rendering, reproducing visual regressions, or sharing keyboard-driven UI behavior.

22 stars
0 votes
0 copies
0 views
Added 9/20/2026
testingrustgobashsqldebugginggitdatabase

Works with

terminalmcp

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add lev-os/agents --skill tui-inspector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tui Inspector?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Tui Inspector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lev-os-tui-inspector/badge)](https://www.skillsdirectory.com/skills/lev-os-tui-inspector)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: tui-inspector
description: >-
  Records terminal UIs with VHS and deterministic snapshots. Use when
  debugging TUI rendering, reproducing visual regressions, or sharing
  keyboard-driven UI behavior.
---

# TUI Inspector

Use this skill to create reproducible TUI video + screenshot artifacts with the
tooling in `/dp/tui_inspector`.

## Quick Start

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh \
  --profile analytics-seeded \
  --binary /data/tmp/cargo-target/debug/mcp-agent-mail \
  --project-dir /data/projects/mcp_agent_mail_rust
```

Outputs:

- MP4 video at `--output`
- PNG snapshot at `<output_basename>.png` (unless `--no-snapshot`)

## Workflow

- [ ] Confirm dependencies: `vhs`, `ttyd`, and optional `ffmpeg`
- [ ] Pick a profile (`analytics-empty`, `analytics-seeded`, `messages-seeded`, `tour-seeded`)
- [ ] Run capture with explicit `--binary`, `--project-dir`
- [ ] Inspect generated PNG first for quick verification
- [ ] Share MP4 plus run metadata for full playback context

## Why This Is Reliable

- Forces MCP mode (`unset AM_INTERFACE_MODE`)
- Uses isolated runtime state:
  `DATABASE_URL='sqlite:///.../storage.sqlite3'` and per-run `STORAGE_ROOT`
- Optional live seeding via MCP HTTP JSON-RPC to avoid empty captures
- Avoids flaky captures from locked/shared local DB files

## Commands

List profiles:

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh --list-profiles
```

Empty-state baseline:

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh \
  --profile analytics-empty \
  --binary /data/tmp/cargo-target/debug/mcp-agent-mail \
  --project-dir /data/projects/mcp_agent_mail_rust
```

Seeded analytics:

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh \
  --profile analytics-seeded \
  --binary /data/tmp/cargo-target/debug/mcp-agent-mail \
  --project-dir /data/projects/mcp_agent_mail_rust
```

Seeded messages:

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh \
  --profile messages-seeded \
  --binary /data/tmp/cargo-target/debug/mcp-agent-mail \
  --project-dir /data/projects/mcp_agent_mail_rust
```

Custom key script:

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh \
  --profile analytics-empty \
  --keys "#,sleep:6,?,sleep:2,q"
```

Suite mode:

```bash
bash /dp/tui_inspector/scripts/run_mcp_agent_mail_tui_suite.sh \
  --profiles analytics-empty,analytics-seeded,messages-seeded \
  --suite-name nightly_smoke
```

Report generation from existing suite:

```bash
bash /dp/tui_inspector/scripts/generate_tui_inspector_report.sh \
  --suite-dir /tmp/tui_inspector/suites/nightly_smoke
```

Doctor checks:

```bash
bash /dp/tui_inspector/scripts/doctor_tui_inspector.sh
```

## Common Flags

- `--jump-key "#"`: switch to analytics screen (legacy alias mode)
- `--boot-sleep 6`: wait for TUI boot before keypress
- `--capture-sleep 8`: hold legacy jump target before quit
- `--snapshot-second 9`: timestamp to extract PNG frame
- `--no-snapshot`: skip PNG extraction
- `--seed-demo`: enable live JSON-RPC data seeding
- `--seed-messages 12`: increase data density
- `--run-name my_case`: stable artifact directory name
- `--seed-required`: fail run when seeding fails
- `--snapshot-required`: fail run when snapshot extraction fails

## Operating Modes

Use these explicit modes to avoid accidental misuse:

1. Empty-state regression mode:
   `--profile analytics-empty` when validating layout/text/chrome behavior independent of data.
2. Seeded-state behavior mode:
   `--profile analytics-seeded` or `messages-seeded` when validating data visibility and event-driven changes.
3. End-to-end smoke mode:
   suite runner with `--fail-fast` and strict pass-through flags (`--seed-required`, `--snapshot-required`).
4. Forensic mode:
   preserve full run artifacts and inspect `run_meta.json`, `vhs.log`, and seeder logs before reruns.

## Decision Matrix

Use this fast selection guide:

- Need to verify a static rendering bug quickly:
  use single run + `analytics-empty`.
- Need to prove data does not display:
  use `analytics-seeded` with `--seed-required`.
- Need confidence across multiple screens:
  use suite mode with `tour-seeded`.
- Need CI signal quality:
  use suite mode + strict flags + deterministic `--suite-name`.

## Artifacts

Each run stores:

- `capture.tape` (exact tape used)
- `vhs.log`
- `run_summary.txt`
- `run_meta.json`
- `capture.mp4`
- `snapshot.png` (unless disabled)
- `seed.log` + stdout/stderr logs when seeding is enabled
- suite-level outputs:
  `suite_summary.txt`, `suite_manifest.json`, `report.json`, `index.html`

Default root:

```text
/tmp/tui_inspector/runs/<timestamp>_<profile>/
```

## Metadata Contract

`run_meta.json` should be treated as the canonical machine-readable outcome.
Core fields to trust:

- `status`
- `duration_seconds`
- `vhs_exit_code`
- `seed_exit_code`
- `snapshot_status`
- `video_exists`
- `snapshot_exists`
- `video_duration_seconds`

In suite mode, use:

- `suite_summary.txt` for human quick scan
- `suite_manifest.json` for machine consumption
- `report.json` for report-backed pipelines

## Validation

```bash
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh --help
bash /dp/tui_inspector/scripts/capture_mcp_agent_mail_tui.sh --list-profiles
bash /dp/tui_inspector/scripts/run_mcp_agent_mail_tui_suite.sh --help
bash /dp/tui_inspector/scripts/generate_tui_inspector_report.sh --help
bash /dp/tui_inspector/scripts/doctor_tui_inspector.sh --help
validate-skill.py /cs/tui-inspector/ --verbose
```

## CI and Automation Defaults

Recommended strict CI invocation:

```bash
bash /dp/tui_inspector/scripts/run_mcp_agent_mail_tui_suite.sh \
  --profiles analytics-empty,analytics-seeded,messages-seeded \
  --suite-name "ci_${GITHUB_RUN_ID:-manual}" \
  --fail-fast \
  -- --seed-required --snapshot-required
```

Recommended post-step bundle:

```bash
suite_dir="/tmp/tui_inspector/suites/ci_${GITHUB_RUN_ID:-manual}"
tar -czf "${suite_dir}.tar.gz" -C "$(dirname "$suite_dir")" "$(basename "$suite_dir")"
```

## Anti-Patterns

- Running seeded profiles without `--seed-required` when outcome strictness matters.
- Comparing screenshots without retaining `run_meta.json` and `vhs.log`.
- Reusing ambiguous run names in CI.
- Treating a passing MP4 generation as success when `seed_exit_code` failed.
- Skipping doctor checks after dependency or environment changes.

## Fast Incident Workflow

1. Run doctor:
   `bash /dp/tui_inspector/scripts/doctor_tui_inspector.sh`
2. Run single strict seeded capture:
   `capture_mcp_agent_mail_tui.sh --profile analytics-seeded --seed-required --snapshot-required`
3. If failure:
   inspect `run_meta.json` first, then `vhs.log`, then `seed.stderr.log`.
4. Run minimal suite for blast-radius check:
   `analytics-empty,messages-seeded`.
5. Generate report and attach bundle to issue/PR.

## Preserved Baseline Content

The following baseline content is intentionally preserved (reorganized only):

- Quick-start capture command for analytics
- Output contract (`--output`, `<output_basename>.png`)
- Workflow checklist (deps, run, inspect PNG, share MP4)
- Reliability rationale (MCP mode + isolated runtime state)
- Common flags (`--jump-key`, `--boot-sleep`, `--capture-sleep`, `--snapshot-second`, `--no-snapshot`)
- Validation command pattern

## References

- Operational playbook: [PLAYBOOK.md](references/PLAYBOOK.md)
- Suite/report cookbook: [SUITE_AND_REPORT.md](references/SUITE_AND_REPORT.md)
- Failure triage map: [TROUBLESHOOTING.md](references/TROUBLESHOOTING.md)
- Mode selection matrix: [MODE_SELECTION.md](references/MODE_SELECTION.md)
- CI contract: [CI_CONTRACT.md](references/CI_CONTRACT.md)
- Anti-pattern catalog: [ANTI_PATTERNS.md](references/ANTI_PATTERNS.md)
- Forensics handbook: [FORENSICS.md](references/FORENSICS.md)
- Command catalog: [COMMAND_CATALOG.md](references/COMMAND_CATALOG.md)

## Reference Index

- [PLAYBOOK.md](references/PLAYBOOK.md)
- [SUITE_AND_REPORT.md](references/SUITE_AND_REPORT.md)
- [TROUBLESHOOTING.md](references/TROUBLESHOOTING.md)
- [MODE_SELECTION.md](references/MODE_SELECTION.md)
- [CI_CONTRACT.md](references/CI_CONTRACT.md)
- [ANTI_PATTERNS.md](references/ANTI_PATTERNS.md)
- [FORENSICS.md](references/FORENSICS.md)
- [COMMAND_CATALOG.md](references/COMMAND_CATALOG.md)

Attribution

lev-oslev-os
View sourceMore from lev-os →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Screen Reader Testing

Practical guide to testing web applications with screen readers for comprehensive accessibility validation.

393431 votes

Python Testing

使用pytest、TDD方法、夹具、模拟、参数化和覆盖率要求的Python测试策略。

2456590 votes

Tdd Workflow

在编写新功能、修复错误或重构代码时使用此技能。强制执行测试驱动开发,包含单元测试、集成测试和端到端测试,覆盖率超过80%。

2456590 votes

Springboot Tdd

使用JUnit 5、Mockito、MockMvc、Testcontainers和JaCoCo进行Spring Boot的测试驱动开发。适用于添加功能、修复错误或重构时。

2456590 votes

Eval Harness

克劳德代码会话的正式评估框架,实施评估驱动开发(EDD)原则

2456590 votes
View all in testing →