Maa CLI Operate
duorua/narutomobile
Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output.
为 MaaEnd 添加、导入或补充节点识别测试截图,并按仓库约定脱敏图片、放入 tests/MaaEndTestset、维护 tests//test.json 和运行 pnpm check/pnpm test 验证。用户提到“添加测试图片/截图”“把截图加入 ADB 或 Win32 测试集”“给节点补正例或反例”“更新 hits/box”“UID…
$ npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MaaEnd/MaaEnd maaend-test-image --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/MaaEnd/MaaEnd.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/maaend-test-image .claude/skills/maaend-test-image && rm -rf skills-srcUse ~/.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/
Install the "maaend-test-image" agent skill from https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-image into .claude/skills/maaend-test-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maaend-test-image", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-imageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MaaEnd/MaaEnd maaend-test-image --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaaEnd/MaaEnd.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/maaend-test-image .agents/skills/maaend-test-image && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "maaend-test-image" agent skill from https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-image into .agents/skills/maaend-test-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maaend-test-image", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MaaEnd/MaaEnd maaend-test-image --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaaEnd/MaaEnd.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/maaend-test-image .cursor/skills/maaend-test-image && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "maaend-test-image" agent skill from https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-image into .cursor/skills/maaend-test-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maaend-test-image", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/MaaEnd/MaaEnd.git --path .agents/skills/maaend-test-image--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MaaEnd/MaaEnd maaend-test-image --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaaEnd/MaaEnd.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/maaend-test-image .gemini/skills/maaend-test-image && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "maaend-test-image" agent skill from https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-image into .gemini/skills/maaend-test-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maaend-test-image", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install MaaEnd/MaaEnd maaend-test-imageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MaaEnd/MaaEnd.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/maaend-test-image .github/skills/maaend-test-image && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "maaend-test-image" agent skill from https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-image into .github/skills/maaend-test-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maaend-test-image", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MaaEnd/MaaEnd maaend-test-image --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MaaEnd/MaaEnd.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/maaend-test-image .opencode/skills/maaend-test-image && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "maaend-test-image" agent skill from https://github.com/MaaEnd/MaaEnd/tree/v2/.agents/skills/maaend-test-image into .opencode/skills/maaend-test-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maaend-test-image", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
maaend-test-image为 MaaEnd 添加、导入或补充节点识别测试截图,并按仓库约定脱敏图片、放入 tests/MaaEndTestset、维护 tests//test.json 和运行 pnpm check/pnpm test 验证。用户提到“添加测试图片/截图”“把截图加入 ADB 或 Win32 测试集”“给节点补正例或反例”“更新 hits/box”“UID…
Maaend Test Image is an agent skill from MaaEnd/MaaEnd. 为 MaaEnd 添加、导入或补充节点识别测试截图,并按仓库约定脱敏图片、放入 tests/MaaEndTestset、维护 tests//test.json 和运行 pnpm check/pnpm test 验证。用户提到“添加测试图片/截图”“把截图加入 ADB 或 Win32 测试集”“给节点补正例或反例”“更新 hits/box”“UID 打码后提交测试图”时使用;即使用户只说把某张游戏截图放进 MaaEnd 测试,也要用本技能避免未脱敏原图进入仓库。
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `evals/evals.json` and `scripts/redact_test_image.py`).
It sits in Mobile, covering Mobile testing and debugging. It works with pnpm, Windows and Git. The repository describes itself as: MaaEnd 终末地小助手:基于视觉 AI 的「明日方舟:终末地」自动化工具. The licence is AGPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f47207b. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pnpmgituvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, git and uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Maaend Test Image loads about 1.3k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 295 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from MaaEnd/MaaEnd at commit f47207b, republished under its AGPL-3.0 licence (© MaaEnd). 295 words, ~1,342 tokens.
.claude/skills/maaend-test-image/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.把原始游戏截图安全地加入 MaaEnd 的节点测试。最终同时满足:
tests/MaaEndTestset/<controller>/<resource>/;tests/**/test_*.json 使用正确的 controller、resource、图片文件名和 hits;pnpm check 和 pnpm test 通过;tests/MaaEndTestset 子模块的 main 分支,主仓库再记录该提交指针;本技能适用于已有固定 ROI 的 ADB 和 Win32。PlayCover 或新分辨率没有可靠遮盖坐标时,先向用户确认脱敏规则,不要套用其它平台坐标。
maatools.config.mts、tests/MaaEndTestset/、tests/scripts/loader.mts 和 assets/resource/model/ocr/。git status --short,记录已有修改和未跟踪文件。它们属于用户,不要批量处理测试截图。git -C tests/MaaEndTestset status --short 和 git -C tests/MaaEndTestset branch --show-current,分别记录测试集子模块的已有修改和当前分支。需要提交测试图片时,提交前必须让子模块位于 main,不要在 detached HEAD 上创建提交。docs/zh_cn/developers/node-testing.md,再查看语义最接近的图片和 tests/**/test_*.json。以当前文档、schema 和 maatools.config.mts 为准,不沿用旧测试集格式。controller:ADB 或 Win32;resource:当前官服目录为 Official_CN,测试配置写 官服;test_*.json;hits,以及确需校验时的 box。只有缺失信息会改变图片落盘位置或测试含义时才追问。不要猜测节点名、正负例结果或精确 box。
图片使用:
tests/MaaEndTestset/<controller>/<resource>/<图片名>.png测试文件使用:
tests/<功能或组件>/test_<测试主题>.jsonimage 只写文件名,必须显式包含 .png,不能包含目录:
{
"configs": {
"name": "(Win32/ADB-官服)自动转交送货任务",
"resource": [
"官服"
],
"controller": [
"Win32",
"ADB"
]
},
"cases": [
{
"image": "四号谷地_地区建设_仓储节点_送货任务_确认转交.png",
"hits": [
"DeliveryJobsConfirmTaskTransfer"
]
}
]
}优先追加到语义匹配的现有文件。只有没有合适测试主题时才新建文件,并仿照相邻测试。若 controller 或 resource 是数组,tests/scripts/loader.mts 会展开笛卡尔积;每种组合都必须有同名图片。同一张图可按不同测试目的出现在多个测试文件中。
使用本技能的单图脚本,从仓库外的原图直接生成目标文件:
uv run .agents/skills/maaend-test-image/scripts/redact_test_image.py `
"C:\path\raw.png" `
"tests\MaaEndTestset\ADB\Official_CN\四号谷地_确认转交.png"脚本使用 MaaEnd 自带的 OCR 模型并执行:
RGB(0, 255, 0) 覆盖 ADB 固定 ROI [84, 690, 114, 18] 或 Win32 固定 ROI [70, 696, 90, 13];assets/resource/model/ocr/ 查找包含 UID 或 # 的区域;如果 OCR 漏掉其它私人信息,添加可重复的额外 ROI,格式为 x,y,w,h:
uv run .agents/skills/maaend-test-image/scripts/redact_test_image.py `
"C:\path\raw.png" `
"tests\MaaEndTestset\Win32\Official_CN\功能_画面.png" `
--extra-roi 1100,20,160,40 `
--extra-roi 20,620,240,60目标已存在时,只有用户明确要求替换才加 --force。原图本来就在目标路径且需要原地脱敏时也必须加 --force;脚本会先写临时文件再替换。
处理后必须查看最终图片,确认:
.redacting-* 临时文件。OCR 只是辅助检查,视觉复核才是隐私安全的最终门槛。无法确认脱敏完整时,不要把图片加入测试或提交。
hits 写法只验证命中节点:
"hits": [
"NodeName"
]验证命中节点和固定识别框:
"hits": [
{
"node": "NodeName",
"box": [
91,
587,
274,
48
]
}
]不同控制器使用不同识别框:
"box": {
"ADB": [
91,
587,
274,
48
],
"Win32": [
100,
600,
250,
50
]
}反例:
"hits": []box 使用 [x, y, width, height] 的非负整数。只有用户提供了预期框,或实际测试输出给出了可确认的框时才写,不要从截图肉眼猜精确值。
configs.controller 与图片目录一致,可写字符串或数组。configs.resource 与 tests/scripts/loader.mts 的映射一致;当前官服写 官服。imageRoot;loader 会根据矩阵自动生成。image 必须是实际文件名并带 .png,不得包含 / 或 \。hits 必须存在,允许空数组。image;需要增加节点时合并到已有用例。先做本次变更的直接检查:
pnpm exec prettier --write "tests\功能\test_xxx.json"
pnpm check
pnpm test随后确认:
image 在对应 controller/resource 的目录下都存在;tests/maatools/error_details.json 没有本次用例的错误;git diff --check 没有文本问题;git status --short 和目标文件 diff 只包含预期变更。若 pnpm test 失败,先区分:
hits 与实际画面不符:依据真实测试目的修正,不能为了变绿而删除必要断言;tests/MaaEndTestset 是独立 Git 子模块。用户要求提交时,按以下顺序处理,确保图片提交可由主仓库引用并能正常推送:
提交图片前确认子模块处于 main:
git -C tests/MaaEndTestset switch main
git -C tests/MaaEndTestset branch --show-current 第二条命令必须输出 main。若切换因已有修改或分支分歧失败,保留现场并报告,不要丢弃用户改动。
只在子模块中暂存并提交本次脱敏测试图,使用中文约定式提交信息;提交后确认 main 指向新提交且子模块工作区干净。
回到 MaaEnd 主仓库,暂存测试定义、相关代码和 tests/MaaEndTestset 子模块指针,再创建主仓库提交。不要只提交主仓库测试定义而遗漏子模块指针。
若用户还要求推送,先推送子模块 main,确认远端已包含图片提交后,再推送主仓库分支。未获得推送授权时不要推送。
如果误在 detached HEAD 上创建了提交,先记录提交哈希,再将 main 快进到该提交;只有确认 main 是其祖先时才使用 --ff-only:
git -C tests/MaaEndTestset switch main
git -C tests/MaaEndTestset merge --ff-only <detached-commit>随后确认 git -C tests/MaaEndTestset branch --show-current 输出 main,且主仓库记录的子模块指针与该提交一致。
简要说明新增或替换了哪些脱敏图片、更新了哪些测试文件与预期命中、额外遮盖区域,以及 pnpm check、pnpm test 的结果。不要声称图片“已安全脱敏”,除非已实际查看最终图片。
© MaaEnd, 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
SKILL.md and 2 other files (scripts) in .agents/skills/maaend-test-image of MaaEnd/MaaEnd.
Open the folder on GitHubat commit f47207b
Maaend Test Image 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Maaend Test Image this skillMaaEnd/MaaEnd | 4k | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| Maa CLI Operateduorua/narutomobile | 335 | — | ~981 | Automated safety check: Pass | AGPL-3.0 | |
| Maestro BundleReinaMacCredy/maestro | 233 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Android Interactive VerificationDodoraApp/DodoStream | 243 | — | ~1.1k | Automated safety check: Pass | GPL-3.0 | |
| Maestro Mergecatlog22/maestro-flow | 564 | — | ~1.3k | Automated safety check: Notes | None | |
| Maestro Forkcatlog22/maestro-flow | 564 | — | ~1.3k | Automated safety check: Notes | None |
duorua/narutomobile
Operate MaaFramework devices and Pipeline resources through the maafw-cli command line with strict JSON output.
ReinaMacCredy/maestro
Route work into the right maestro tier and drive the SPEC/NOTES/VERIFY bundle lifecycle - open, resume, close, recall.
DodoraApp/DodoStream
Session-scoped Android and Android TV fixture, APK, interaction, evidence, and Maestro procedure through the agent-device MCP server.
catlog22/maestro-flow
Merge session worktree branch back to main. An agent skill from catlog22/maestro-flow.
catlog22/maestro-flow
Create or sync session worktree for parallel dev. An agent skill from catlog22/maestro-flow.
dotnet/maui
Writes UI tests that reproduce a GitHub issue in .NET MAUI and keeps iterating until the tests actually fail, proving they catch the bug.
MaaEnd/MaaEnd
MaaFramework 日志宏用法指南,适用于 MaaEnd cpp-algo。Use when writing logging code, using LogInfo/LogError/LogWarn/LogDebug/LogTrace, outputting containers or custom types to logs, or when the user asks about…
MaaEnd/MaaEnd
Guide for using the meojson C++ JSON library in MaaEnd cpp-algo.
MaaEnd/MaaEnd
新增或改写 MaaEnd 的 AutoCollect 自动采集路线说明。默认包含路线文件创建、AutoCollect 主入口接线、任务选项注册和多语言文案补充。适用于“参考现有 AutoCollect 路线新建一条采集线”“给定传送点与路径点位生成 AutoCollectRouteX.json 并注册到任务中”“用户已经写好路线文件,只需要补注册接口”等场景。注意:本 skill 仅适用于参考…
MaaEnd/MaaEnd
仅分析 AutoStockStapleMain 的 MaaEnd 日志。用于还原该任务实际购买了什么、购买所对应的证据、逐步剩余账单(券/账单)数值时间线,以及在 pipeline 或 go-service 中应当加日志/埋点的位置。适用于用户询问 AutoStockStapleMain、AutoStockStaple、武陵/四号谷地的稳定需求物资购买,或该任务内账单数值变化原因等场景。
MaaEnd/MaaEnd
MaaEnd cpp-algo C++ 编码风格与工程规范指南。参考 MaaFramework 的优秀实践,规范命名、头文件、公共工具、错误处理、日志、CMake 等方面。在编写、修改或审查 agent/cpp-algo/ 下的 C++ 代码时使用。
MaaEnd/MaaEnd
分析 MaaEnd CreditShoppingMain 的日志。用于还原信用购物任务中实际购买了什么商品、每件商品的折扣力度、是否触发过刷新(或刷新次数已用尽)、稳健刷新是否触发、以及信用点的消耗状况。货架槽位必须以日志中的 CreditIcon(TemplateMatcher)为锚,有无 BuyFirstOCR/Priority2OCR…
Categories
为 MaaEnd 添加、导入或补充节点识别测试截图,并按仓库约定脱敏图片、放入 tests/MaaEndTestset、维护 tests//test.json 和运行 pnpm check/pnpm test 验证。用户提到“添加测试图片/截图”“把截图加入 ADB 或 Win32 测试集”“给节点补正例或反例”“更新 hits/box”“UID…. Maaend Test Image is an agent skill from MaaEnd/MaaEnd.
Maaend Test Image fits situations like: tasks that involve Mobile testing and debugging.
Run `npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a claude-code`. Or copy the skill folder (.agents/skills/maaend-test-image in MaaEnd/MaaEnd) into .claude/skills/maaend-test-image in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a codex`. Or copy the skill folder (.agents/skills/maaend-test-image in MaaEnd/MaaEnd) into .agents/skills/maaend-test-image in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MaaEnd/MaaEnd --skill maaend-test-image -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maaend-test-image, .gemini/skills/maaend-test-image, .github/skills/maaend-test-image and .opencode/skills/maaend-test-image in your project.
Going by SKILL.md and its folder, Maaend Test Image needs Python for the scripts in its folder and the command-line tools its instructions call (pnpm, git and uv). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git and uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Maaend Test Image 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.
About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Maaend Test Image: Maa CLI Operate (duorua/narutomobile, 335 stars), Maestro Bundle (ReinaMacCredy/maestro, 233 stars), Android Interactive Verification (DodoraApp/DodoStream, 243 stars) and Maestro Merge (catlog22/maestro-flow, 564 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MaaEnd (a GitHub organization) maintains it in MaaEnd/MaaEnd, which has 3,991 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.
Source: MaaEnd/MaaEnd on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.