helixnow/deep-student/deep-student-tauri-lab
Claude Code and agent skill by helixnow/deep-student
- community
Checking that the SKILL.md file is still in the repository.
Manage Deep Student Tauri desktop test instances through the repo-local tauri-lab CLI. Use when Codex needs to create, start, stop, restart, lease, inspect, or clean up one or many Deep Student Tauri app windows for Computer Use testing, parallel subagents, cloud sync simulations, or local E2E debugging.
Install
npx vskill@latest install helixnow/deep-student/deep-student-tauri-labSKILL.md
Deep Student Tauri Lab
Use this skill to operate the repo-local tauri-lab manager in the current Deep Student checkout.
Rules
- Treat
tauri-labas the control plane. Do not launch Deep Student test instances with genericopen -n. - Use exact
computer-useapp paths returned bytauri-lab; never target the genericDeep Studentapp name when multiple builds exist. - Prefer pools and leases for parallel testing. One Codex agent should own one leased instance.
- For multi-agent cloud sync testing, create 10-15 instances for normal work and lease 2-3 instances per subagent. The local stress run on 2026-05-30 reached 64 simultaneous instances with metrics ready and Computer Use control still working, so 10-15 is a safe default on the current machine.
- The parent agent assigns leases. Subagents must not browse the global app list and pick windows themselves; they may only operate instance ids and exact
.apppaths explicitly assigned to their owner. - Before a subagent uses Computer Use, run
agent targets --owner ...oragent verify ...; if verification fails, do not touch the window. - For long-running subagent tests, the parent must not impose an active timeout just because a subagent is quiet. Cloud sync and real UI flows can legitimately run for about an hour. The parent should sleep or poll passively, give subagents enough time to finish, and only investigate when the user asks, the subagent reports failure, the process exits, or objective evidence shows the assigned app/fixture is gone.
- Use
--wait --metricsbefore driving UI so the app has finished Tauri/backend startup. - Starting or restarting a stopped instance refreshes its app bundle when the registered source app binary is newer. Build the complete source
.app, not only a bare--no-bundlebinary, before expecting a restart to pick up frontend changes. - Stop test instances before finishing unless the user asks to keep them running.
- Read backend, stderr, frontend, and daemon logs before guessing why an instance failed.
- Use
evidence snapshotafter meaningful UI actions or failures so another Codex window can resume with logs, slot state, SQLite summaries, metrics, and credential presence. - Use built-in assertions for post-UI checks instead of hand-rolled shell commands when they cover the case.
- After editing
dstu-test/scripts/tauri-lab.mjs, restart the daemon before trusting new behavior:npm run tauri-lab -- service restart --json. The daemon runs detached and otherwise keeps the old script in memory. - Prefer the default short display names generated by
tauri-labfor Deep Student instances. Long display names can be truncated in macOS window metadata and cause Computer UsecgWindowNotFound; pass--display-nameonly when a scenario explicitly needs it.
Quick Start
If the service was already running before a tauri-lab.mjs edit, restart it:
Create a pool for parallel agents:
For five parallel cloud-sync subagents, use 15 instances so each agent can own up to three devices:
When test data should be preloaded, create or apply a data image before starting instances:
Claim one instance for the current agent:
Pass the returned target.app path to Computer Use.
When an agent needs multiple devices, call agent checkout once per device using the same --owner and a purpose that names the role, such as writer, reader, or restore-target. Share only the instance ids, app paths, metrics addresses, and WebDAV fixture id with the subagent; do not share another agent's leased windows.
Before spawning subagents, save or paste an assignment table with:
- owner
- scenario
- leased instance ids
- exact Computer Use app paths
- WebDAV root/prefix
Ask each subagent to echo its assignment before operating. If a subagent sees an app path not in its assignment, it must ignore it.
Each subagent should verify its own assignment before the first Computer Use call:
Use agent targets instead of computer-use list when a subagent needs to rediscover its own windows after context compaction.
Long-running parent coordination rule:
- Spawn subagents with exact assignments and enough detail to operate independently.
- After spawning, the parent may run lightweight passive checks such as
lease audit,pool status, and fixturestatus, but must not kill or close subagents for slow progress. - A quiet subagent is not a stuck subagent. Treat long cloud-sync scenarios as normal until completion, explicit failure, user interruption, or hard external evidence such as a missing process, stopped fixture, or failed lease verification.
- If status is needed, ask the subagent for a progress update or inspect evidence/logs without touching its assigned windows.
For daemon persistence across future logins, install the macOS LaunchAgent when needed:
If a detached daemon is already running, install --start leaves it alone and installs the agent for future sessions.
Inspection
List app targets:
Read logs:
List reusable data images:
Capture a resumable evidence bundle:
The returned path contains:
- instance status and Computer Use target
- backend/stderr/frontend log tails
- metrics text when reachable
- slot state
- SQLite table/count summary
- cloud credential file presence
Assertions
Use assertions only after a real UI action has been performed through Computer Use:
Treat nonzero assertion exit codes as product or test-state failures until logs prove otherwise.
WebDAV Fixture
Start local cloud storage when Docker Desktop is running:
Use endpoint, username, and root from status; get the password only with the explicit credentials command:
If Docker is not running, the fixture command fails fast with a Docker daemon error; start Docker before retrying.
For high-concurrency cloud-sync matrices, snapshot fixture health at the start, mid-run, and final aggregation:
Do not let subagents stop or restart a shared fixture. If a fixture is found stopped, record the status and evidence first; restart only when the parent has made fixture restart part of the test plan.
Data Images
Use data images to avoid rebuilding test state through the UI on every run. A home image copies the instance HOME, including app data, first-run state, local WebKit state, and test configuration. An app-data image copies only Library/Application Support/com.deepstudent.app and is smaller, but may not preserve first-run UI state.
Create images from stopped instances by default. Use --live only for quick smoke seeds where a potentially mid-write SQLite snapshot is acceptable.
When applying a home image to a different bundle id, tauri-lab rewrites bundle-id-scoped HOME directory names so copied WebKit state can follow the target app bundle. Apply images only to stopped instances; start with --wait --metrics afterward.
Recommended image families:
lh-empty-accepted: agreement accepted, no resources.lh-shell-seed: folders, notes, recent/search/tab data.lh-doc-preview-seed: imported markdown/text/csv/pdf/doc fixtures.lh-exam-one-question: one synthetic question ready for practice lifecycle.sync-webdav-configured: cloud sync settings and credentials ready for sync tests.
Check pool health:
Use lease audit --json as the parent coordination check and agent verify ... --owner ... --app ... as the subagent preflight check. Before a subagent starts UI actions, verify its assigned instance ids are leased to its owner. After it finishes, verify no two active leases point to the same app target and no subagent reports using an unassigned app path.
For high-concurrency health checks, prefer summarized JSON instead of pasting every instance into the thread:
Cleanup
Stop fixtures separately from app instances:
Release a leased instance:
Stop one pool or everything:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdstu-test/skills/deep-student-tauri-lab/SKILL.md
Popularity
- Repository stars
- 251
- Repository forks
- 49
- 7-day trend score
- 28
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/helixnow/deep-student/deep-student-tauri-lab)