Agent skill

Maa CLI Operate

by duorua in duorua/narutomobile

Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output.

AGPL-3.0Auto-check passedMobile

Install Maa CLI Operate

skills CLI
$ npx skills add duorua/narutomobile --skill maa-cli-operate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install duorua/narutomobile maa-cli-operate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/duorua/narutomobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/maa-cli-operate .claude/skills/maa-cli-operate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
maa-cli-operate
GitHub stars
335
Token cost
~981 tokens
SKILL.md length
481 words
Files
3 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output.

  • Works in 5 steps: Run the pinned version check and require… → Use --json for every non-help operation… → Check resource status before OCR. Treat… → …
  • Scripted device discovery
  • SKILL.md covers Choose the runtime, Prepare safely, Validate and run Pipeline and Observe, act, verify, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Maa CLI Operate is an agent skill from duorua/narutomobile. Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output. Use for low-context, repeatable or scripted device discovery, ADB/Win32/PlayCover/wlroots connections, OCR and recognition, screenshots and guarded actions, named sessions, Pipeline validation or execution, resource checks, and CI-friendly Maa automation; route persistent exploratory debugging to MaaMCP instead.

Its SKILL.md is about 980 tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/command-contract.md`).

It sits in Mobile, covering Mobile testing and debugging. It works with Windows. The licence is AGPL-3.0.

When your agent uses it

  • Scripted device discovery
  • ADB/Win32/PlayCover/wlroots connections
  • OCR and recognition
  • Screenshots and guarded actions

Example prompts

  • “/maa-cli-operate”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Run the pinned version check and require the tested version.
  2. Use --json for every non-help operation that supports it. Parse stdout as JSON; keep stderr for diagnostics.
  3. Check resource status before OCR. Treat download-ocr as an explicit network and disk mutation.
  4. Discover devices before connecting. Resolve an exact ADB address, Win32 title/handle, PlayCover application, or wlroots target instead of…
  5. Use a named --on session whenever more than one command or device is involved. Record whether the daemon or session existed before the task.

What it can do on your machine

Read from SKILL.md and the folder at commit c950473. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Maa CLI Operate loads about 981 tokens when it runs, and up to ~1.7k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 481 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~981
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from duorua/narutomobile at commit c950473, republished under its AGPL-3.0 licence (© duorua). 481 words, ~981 tokens.

Download SKILL.mdSave it as .claude/skills/maa-cli-operate/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
maa-cli-operate
description
Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output. Use for low-context, repeatable or scripted device discovery, ADB/Win32/PlayCover/wlroots connections, OCR and recognition, screenshots and guarded actions, named sessions, Pipeline validation or execution, resource checks, and CI-friendly Maa automation; route persistent exploratory debugging to MaaMCP instead.

Maa CLI Operate

Use the pinned external maafw-cli runtime. Read references/command-contract.md before composing commands or interpreting output.

Choose the runtime

Use maafw-cli for one-shot, repeatable operations with compact JSON output: device discovery, resource checks, Pipeline validation, scripted recognition/action sequences, and CI jobs.

Use MaaMCP instead when the task benefits from a long-lived exploratory session, repeated visual inspection, interactive Pipeline debugging, or an MCP-native tool schema. Do not run both against the same device session unless the user deliberately wants separate controllers.

Prepare safely

  1. Run the pinned version check and require the tested version.
  2. Use --json for every non-help operation that supports it. Parse stdout as JSON; keep stderr for diagnostics.
  3. Check resource status before OCR. Treat download-ocr as an explicit network and disk mutation.
  4. Discover devices before connecting. Resolve an exact ADB address, Win32 title/handle, PlayCover application, or wlroots target instead of guessing.
  5. Use a named --on session whenever more than one command or device is involved. Record whether the daemon or session existed before the task.

Validate and run Pipeline

  1. Run pipeline validate PATH before loading or executing a Pipeline.
  2. Inspect the returned nodes and resolve the intended entry explicitly when more than one entry is plausible.
  3. Use pipeline load and pipeline show NODE for inspection without task execution.
  4. Use pipeline run PATH ENTRY only after the controller, resource paths, entry node, and expected device effects are known.
  5. Pass runtime overrides as one valid JSON object through --override. Do not rewrite source Pipeline files for a temporary runtime change.
  6. Route Pipeline authoring problems to $maa-pipeline-guide, graph questions to $maa-pipeline-graph, and behavior validation to $maa-pipeline-testing.
Show full SKILL.md (205 more words)Show less

Observe, act, verify

  1. Prefer ocr, reco, or screenshot before an action.
  2. Prefer the returned element reference over raw coordinates when the reference is current and unambiguous.
  3. Treat element references as session-scoped and short-lived. Re-observe after navigation, scrolling, window changes, or unexpected output.
  4. For clicks, typing, keys, swipes, long presses, and shell actions, state the expected effect and perform the smallest action needed.
  5. Re-run an observation after the action and verify the expected state. Stop on ambiguity instead of issuing compensating clicks.

Handle advanced features

  • Inspect Python files before custom load; loading them executes local code in the runtime.
  • Treat action shell as arbitrary command execution on the selected controller. Use it only when explicitly required and scoped.
  • Do not use session close-all, daemon stop, or daemon restart as routine cleanup. Close only sessions created for the current task; leave a pre-existing daemon running.
  • Never download resources, connect to a device, or execute a Pipeline merely to answer a read-only architecture question.

Report results

Report the pinned CLI version, selected session/controller, command category, JSON result, screenshot path when present, and verification outcome. Separate tool failures from recognition misses and Pipeline task failures. Preserve stderr and any output paths needed for diagnosis.

© duorua, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .agents/skills/maa-cli-operate of duorua/narutomobile.

  • SKILL.md
  • agents/openai.yaml
  • references/command-contract.md

Open the folder on GitHubat commit c950473

Compare with similar skills

Maa CLI Operate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Maa CLI Operate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Maa CLI Operate this skillduorua/narutomobile335—~981Automated safety check: PassAGPL-3.0
Maaend Test ImageMaaEnd/MaaEnd4k—~1.3kAutomated safety check: PassAGPL-3.0
Apple Crash Log .NET Symbolicationdotnet/skills5.6k1 repos~2.4kAutomated safety check: PassMIT
VPhone Guest ControlLakr233/vphone-cli15k—~1.6kAutomated safety check: PassMIT
Slay the Amethyst Feedback DiagnosisModinMobileSTS/SlayTheAmethystModded402—~2.6kAutomated safety check: PassCustom licence
Windows QA EngineerCodeAlive-AI/ai-driven-development157—~1.4kAutomated safety check: PassMIT

Similar skills

  • Maaend Test Image

    MaaEnd/MaaEnd

    为 MaaEnd 添加、导入或补充节点识别测试截图,并按仓库约定脱敏图片、放入 tests/MaaEndTestset、维护 tests//test.json 和运行 pnpm check/pnpm test 验证。用户提到“添加测试图片/截图”“把截图加入 ADB 或 Win32 测试集”“给节点补正例或反例”“更新 hits/box”“UID…

    4k GitHub stars~1.3k tokensUpdated today
    MobileAuto-check passed
  • Official

    Resolves .NET runtime frames in Apple .ips crash logs to function names, source files and line numbers using dSYM symbols, atos and the Microsoft symbol server.

    5.6k GitHub starsUsed in 1 repo~2.4k tokens
    MobileAuto-check passed
  • VPhone Guest Control

    Lakr233/vphone-cli

    Drives a virtual iPhone running on an Apple Silicon Mac through the vphone-launchpad-cli, from checking host setup and starting a machine to tapping, typing and installing apps in the guest.

    15k GitHub stars~1.6k tokensUpdated today
    MobileAuto-check passed
  • Slay the Amethyst Feedback Diagnosis

    ModinMobileSTS/SlayTheAmethystModded

    Reads Slay the Amethyst diagnostics bundles to decide whether a problem comes from the launcher, a mod or the device, citing exact files and lines.

    402 GitHub stars~2.6k tokensUpdated yesterday
    MobileAuto-check passed
  • Windows QA Engineer

    CodeAlive-AI/ai-driven-development

    A skill your agent uses when testing Windows 11 desktop apps (WinForms/WPF/UWP) via UFO UIA/Win32 automation MCP.

    157 GitHub stars~1.4k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Use Appclaw CLI

    appclawhq/AppClaw

    Use the AppClaw CLI to run YAML flows, start the interactive TUI shell, explore apps, record/replay sessions, configure devices, and troubleshoot.

    116 GitHub stars~4.6k tokensUpdated 1 mo ago
    MobileAuto-check: notes

More from duorua/narutomobile

All 11 skills in this repo
  • Maa Project Init

    duorua/narutomobile

    Scan and initialize a MaaFramework game or app automation project for Maa skills and MaaMCP workflows.

    335 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Maa Pipeline Generate

    duorua/narutomobile

    Generate MaaFramework Pipeline nodes and recognition snippets from screenshots or observed UI state.

    335 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Maa Pipeline Option

    duorua/narutomobile

    Add runtime UI options (select/checkbox/switch/input) to MaaFramework option surfaces such as assets/interface.json or assets/resource/tasks//.json.

    335 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Maa Workflow Build

    duorua/narutomobile

    Orchestrate ambiguous end-to-end MaaFramework automation requests into verified implementations.

    335 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Maa Pipeline History Audit

    duorua/narutomobile

    Audit a MaaFramework/Maa-series project's Git history to learn how Pipeline JSON, interface options, Python AgentServer CustomAction code, and related data tables evolved.

    335 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Maa Pipeline Testing

    duorua/narutomobile

    Test and validate MaaFramework Pipeline JSON, recognition nodes, action nodes, CustomAction/CustomRecognition wiring, resource loading, and end-to-end task behavior.

    335 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Maa CLI Operate

What does Maa CLI Operate do?

Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output. Maa CLI Operate is an agent skill from duorua/narutomobile. Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output.

When should I use Maa CLI Operate?

Maa CLI Operate fits situations like: scripted device discovery; ADB/Win32/PlayCover/wlroots connections; OCR and recognition; screenshots and guarded actions.

How do I install Maa CLI Operate in Claude Code?

Run `npx skills add duorua/narutomobile --skill maa-cli-operate -a claude-code`. Or copy the skill folder (.agents/skills/maa-cli-operate in duorua/narutomobile) into .claude/skills/maa-cli-operate in your project. Claude Code loads it when a task matches its description.

How do I install Maa CLI Operate in Codex?

Run `npx skills add duorua/narutomobile --skill maa-cli-operate -a codex`. Or copy the skill folder (.agents/skills/maa-cli-operate in duorua/narutomobile) into .agents/skills/maa-cli-operate in your project. Codex loads it when a task matches its description.

Can I use Maa CLI Operate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add duorua/narutomobile --skill maa-cli-operate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maa-cli-operate, .gemini/skills/maa-cli-operate, .github/skills/maa-cli-operate and .opencode/skills/maa-cli-operate in your project.

What does Maa CLI Operate need to run?

SKILL.md names no scripts, command-line tools or credentials: Maa CLI Operate is instructions for the agent only. Our summary lists: Python 3.

Does Maa CLI Operate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Maa CLI Operate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Maa CLI Operate use?

Maa CLI Operate is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Maa CLI Operate use?

About 981 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 762 tokens, read only when the agent opens those files.

What are the alternatives to Maa CLI Operate?

Skills that share tags, products or a category with Maa CLI Operate: Maaend Test Image (MaaEnd/MaaEnd, 4k stars), Apple Crash Log .NET Symbolication (dotnet/skills, 5.6k stars), VPhone Guest Control (Lakr233/vphone-cli, 15k stars) and Slay the Amethyst Feedback Diagnosis (ModinMobileSTS/SlayTheAmethystModded, 402 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Maa CLI Operate?

duorua (a GitHub user) maintains it in duorua/narutomobile, which has 335 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.

Source: duorua/narutomobile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.