ippclub/dora-ssr/agent-command
Claude Code and agent skill by ippclub/dora-ssr
- community
Checking that the SKILL.md file is still in the repository.
Rules and examples for using execute_command with Lua and Git safely inside the Dora Agent runtime.
Install
npx vskill@latest install ippclub/dora-ssr/agent-commandSKILL.md
Agent Command
Use execute_command only for short engine-side Lua snippets or supported Git operations. Prefer normal file tools for deterministic file edits.
Modes
mode: "lua"runs raw Lua code in the Dora engine.mode: "git"runs a supported Git command through the engine Git client.- Shell syntax is not supported. Do not use pipes, redirects, command chaining, subshells, environment assignments, or
git -C.
Lua Mode
Lua command code runs in a temporary environment:
- Dora API globals are available through the command environment.
projectDiris the current project directory.reportProgress(update)forwards structured progress to the Agent tool UI.print(...)is the only output captured into the tool result.- Return values are not captured.
- Global writes are local to the current command and are not shared with later commands.
- Dora async APIs such as
Content:copyAsync(...),Content:zipAsync(...), andContent:unzipAsync(...)may be called directly. - The tool call waits until the Lua command finishes, including yielding async calls made inside the command.
- Keep commands short. Do not run infinite loops or long CPU-bound work.
- Lua commands default to a 30 second timeout.
timeoutSecondsmay be set explicitly for a bounded engine test. getEntryStatus()returns the current Dora entry status.enterEntryAsync({ entryName?, fileName? })starts a built Lua entry from the current project.fileNameis project-relative, defaults toinit, and may include its source or Lua extension.stopEntry()stops an entry started by this command. The tool also stops it automatically when the command succeeds, fails, is canceled, or times out.- The Dora entry runtime is shared. If another Agent command owns it, do not wait in a loop; report the contention or retry in a later Agent turn.
Progress Reporting
Use reportProgress(...) when the command itself coordinates meaningful stages:
Use progress in the range 0..1; stage and message are optional. Report only meaningful increments. Progress only updates the UI: it does not yield or reset timeouts, and final evidence must still be emitted with print(...).
In-Engine Game Script Validation
Use an in-engine test for gameplay state, scheduling, DoraX updates, input handling, actions, physics, or other runtime behavior. A successful build alone is not runtime validation.
Follow this short path before searching APIs or probing paths:
- Write a focused test entry in the project's authored language. For TS/TSX, build it first and run the generated Lua entry.
- Write the result to a unique marker under the project root
.agent/test-results, not underContent.writablePath. The command-side absolute marker isPath(projectDir, ".agent", "test-results", name). - In an Agent-started entry, the project root is
Content.searchPaths[0]. Attach scheduled nodes toDirector.entry; an unattached node is not driven by the scene scheduler. - Remove a stale marker, start the built entry with
enterEntryAsync, and poll with shortsleep(...)yields plus anApp.runningTimedeadline. - Read the marker, explicitly call
stopEntry(), then verifygetEntryStatus().successandgetEntryStatus().running == falsebefore asserting the result. - Treat only
passedas success. Raise an error for failure text, a missing marker, timeout, or a still-running entry. - Report build and runtime validation separately with the printed command evidence. Do not search Dora APIs first when the template below applies; investigate only a concrete build or runtime error.
Canonical root-level TypeScript test entry (init.ts):
Canonical command after building the entry:
Keep the marker until its evidence has been reported or read, then remove test artifacts. The test entry must yield back to the engine scheduler. A pure CPU loop that never yields blocks the Dora runtime and cannot be interrupted by the command timeout.
After file changes, refresh the Web IDE resource tree:
refreshTree()reloads the full asset tree.refreshTree("relative/file.ext")refreshes one project-relative file.
Lua examples for common file operations that are not covered by the normal Agent file tools:
Move a file without overwriting an existing target:
Copy a file or directory asynchronously:
Remove a generated file or directory:
Create a zip archive, then unzip it into a project folder:
Git Mode
Git mode uses the Dora engine Git client, not a shell. Use it for repository operations such as clone, status, diff, add, commit, fetch, pull, and push when those operations are appropriate for the task.
Rules:
- Existing clone targets are not overwritten.
- Clone should use HTTP or HTTPS remotes.
- Do not use credential prompts.
- Keep command text to a single Git command.
- For Git commands inside a sub-repository, pass
cwdas a project-relative directory. - Do not use
git -C; use the tool'scwdparameter instead. git clonetarget paths are project-relative and are not affected bycwd.
Git examples:
Run status inside that cloned sub-repository with:
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingAssets/Doc/skills/agent-command/SKILL.md
Popularity
- 7-day trend score
- 5
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/ippclub/dora-ssr/agent-command)