Agent skill

Maa Pipeline Generate

by duorua in duorua/narutomobile

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

AGPL-3.0Auto-check passed

Install Maa Pipeline Generate

skills CLI
$ npx skills add duorua/narutomobile --skill maa-pipeline-generate -a claude-code

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

GitHub CLI
$ gh skill install duorua/narutomobile maa-pipeline-generate --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-pipeline-generate .claude/skills/maa-pipeline-generate && 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-pipeline-generate
GitHub stars
340
Token cost
~2.8k tokens
SKILL.md length
621 words
Files
4 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
AGPL-3.0

At a glance

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

  • Works in 12 steps: ocr() 自动截图:MaaMCP 的 ocr()… → ROI 不是越大越好:默认 expand=75 会失败(OCR… → 特殊节点需要小 ROI:"城堡" expand≥20 全失败,只接受… → …
  • OCR node generation
  • SKILL.md covers 项目初始化接力, 概念, MCP 工具绑定 and 输入参数, plus 5 more sections
  • Runs Python scripts from its folder; calls python

What it does

Maa Pipeline Generate is an agent skill from duorua/narutomobile. Generate MaaFramework Pipeline nodes and recognition snippets from screenshots or observed UI state. Use for OCR node generation, ROI sweep, choosing TemplateMatch/OCR/ColorMatch/CustomRecognition, preserving target-file schema style, and designing next/[JumpBack] links before merging generated nodes into pipeline JSON.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `agents/openai.yaml`, `scripts/generate_node.py` and `scripts/generate_sweep.py`).

It works with Model Context Protocol. The licence is AGPL-3.0.

When your agent uses it

  • OCR node generation
  • Choosing TemplateMatch/OCR/ColorMatch/CustomRecognition
  • Preserving target-file schema style
  • Designing next/[JumpBack] links before merging generated nodes into pipeline JSON

Example prompts

  • “/maa-pipeline-generate”

Requirements

  • Python 3

Workflow steps

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

  1. ocr() 自动截图:MaaMCP 的 ocr() 工具会自行获取当前画面,调用前不要重复 screencap();如果换了 MCP provider,先读该工具的参数说明确认截图语义。
  2. ROI 不是越大越好:默认 expand=75 会失败(OCR 把"角色"拆成"电"+"色")。多数节点 sweet spot 是 expand=20-30。
  3. 特殊节点需要小 ROI:"城堡" expand≥20 全失败,只接受 0-15(上方有图标 M/3.9m/1077/👍 干扰)。
  4. expected 必须匹配当前资源实际显示文本:在 MaaGumballs 中文资源里 ["角色"] 正确、["Role"] 找不到;跨语言项目要按目标资源/locale 写实际 OCR 文本或项目约定的 i18n 形式。
  5. OCR 非确定性:同一 ROI 不同次结果可能不同,timeout: 2000 期间会重试。
  6. OCR 失败不要立刻换 TemplateMatch:先看截图、扫 ROI、检查 expected 与颜色干扰;如果目标本质是稳定图标/按钮,TemplateMatch 本来就是正确选择,不必死守 OCR。
  7. 可滚动 UI 用大 ROI + 父级 orchestrator(重要)
  8. run_pipeline 必须有手动超时意识:超过 ~10 秒不返回要主动停止,可能 ROI/expected 配错或 OCR 引擎卡住。
  9. 改完 pipeline 文件后调 load_pipeline(path) 即可:不需要重启 server。run_pipeline 每次都按 pipeline_path 从磁盘读最新内容,reload 后立即生效。
  10. 可滚动 UI 用统一大 ROI:当多个目标在同一个可滚动列表(如城堡建筑列表)时,所有节点共用同一 ROI [x, top_y, w, full_h],覆盖整个滚动区域。避免每个节点各自 ROI 滚动后失效。前提:每个节点的 expected 文字是唯一的(OCR 按…
  11. ROI 上边界 ≤ 元素最小 y:目标元素在 y=424 时,ROI y 起点必须 ≤ 424,否则切掉顶部导致 OCR 失败。例:原 ROI [100, 450, ...] 把"城堡管理"切掉 26px → 改为 [100, 400, ...] 通过。
  12. 卡住时截图查看:节点超时、OCR 找不到、行为异常时,调 screencap 看当前屏幕实际状态。可能界面已不在预期页、可能位置已被遮挡。

What it can do on your machine

Read from SKILL.md and the folder at commit e3ff401. 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

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    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 Pipeline Generate loads about 2.8k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 621 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~87
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from duorua/narutomobile at commit e3ff401, republished under its AGPL-3.0 licence (© duorua). 621 words, ~2,843 tokens.

Download SKILL.mdSave it as .claude/skills/maa-pipeline-generate/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
maa-pipeline-generate
description
Generate MaaFramework Pipeline nodes and recognition snippets from screenshots or observed UI state. Use for OCR node generation, ROI sweep, choosing TemplateMatch/OCR/ColorMatch/CustomRecognition, preserving target-file schema style, and designing `next`/`[JumpBack]` links before merging generated nodes into pipeline JSON.

Maa Pipeline Generate

如果用户提出的是尚未定义起始状态、安全边界和验收条件的端到端自动化目标,先交给 $maa-workflow-build 建立任务契约与状态机;已有契约时,再用本 skill 生成其中的具体节点与识别参数。

项目初始化接力

生成节点前先在目标项目根目录查找 basic_info.md。存在且包含第 0 节时,读取“0. Maa Skills 接力协议”和第 3/4/5/7/8/9 节,用它快速定位目标文件、公共节点、返回路径、OCR 文本、模板目录与 ROI 基准。它是缓存,不替代当前目标文件和当前设备画面;生成前仍须核实目标文件语法风格,并重新 OCR/截图确认页面。文件缺失或没有第 0 节时按本 skill 直接发现项目结构;不得自动调用 $maa-project-init,只有用户明确要求初始化或刷新时才调用。若相关源码更新更晚,则把缓存视为可能过期并以当前源码为准,不自动刷新或覆盖。

概念

Pipeline 由 Node 组成。本 skill 针对OCR 文本识别节点,按 Pipeline 协议生成节点 JSON 并合并到目标 pipeline 文件。

核心流程:连接设备 → ocr() 拿 box → 扩大 ROI → 合并节点

自带脚本(位于本 skill 的 scripts/ 目录):

脚本用途
scripts/generate_node.py单节点生成(默认 expand=20)
scripts/generate_sweep.py多 expand 变体扫描,找最佳 ROI

MCP 工具绑定

依赖 maa-mcp MCP 服务。

工具说明
find_adb_device_list / connect_adb_device连接设备
ocr截图 + OCR 一步完成(内部已调 screencap,外部不要再调)
load_pipeline / save_pipeline读/写 pipeline JSON
check_and_download_ocr首次需下载 OCR 模型
run_pipeline测试 pipeline 节点

输入参数

参数必填默认说明
target_text✅—要识别的目标中文文字
node_name✅—节点名(PascalCase)
pipeline_file✅—目标 pipeline 路径(相对 assets/resource/base/pipeline/xxx.json 或绝对路径)
action_type❌ClickClick / DoNothing / LongPress / Swipe / ClickKey / InputText
expand_offset❌20ROI 扩边像素(推荐先用 sweep 找最佳)
post_delay❌500
timeout❌2000
overwrite❌False节点名冲突时是否覆盖

3 步工作流(伪代码)

python
# === Step 1: 连接设备 ===
from maa_mcp.adb import find_adb_device_list, connect_adb_device
controller_id = connect_adb_device(find_adb_device_list()[0])

# === Step 2: OCR 拿 box + 算 ROI ===
from maa_mcp.vision import ocr
from maa_mcp.download import check_and_download_ocr

ocr_results = ocr(controller_id)
if isinstance(ocr_results, str) and "OCR 模型文件不存在" in ocr_results:
    check_and_download_ocr()
    ocr_results = ocr(controller_id)

matched = [r for r in ocr_results if target_text in (r.text if hasattr(r, "text") else r["text"])]
best = max(matched, key=lambda r: r.score if hasattr(r, "score") else r["score"])
box = best.box if hasattr(best, "box") else best["box"]

# 扩大 ROI(720p 硬编码 + 4 边裁剪)
SCREEN_W, SCREEN_H = 720, 1280
x, y, w, h = box
E = expand_offset
roi = [
    max(0, x - E),
    max(0, y - E),
    min(SCREEN_W - max(0, x - E), w + 2 * E),
    min(SCREEN_H - max(0, y - E), h + 2 * E),
]

# === Step 3: 合并到目标 pipeline ===
from maa_mcp.pipeline_tools import load_pipeline, save_pipeline
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[3]
pipeline_path = Path(pipeline_file)
if not pipeline_path.is_absolute():
    pipeline_path = PROJECT_ROOT / "assets" / "resource" / "base" / "pipeline" / pipeline_file

existing = load_pipeline(str(pipeline_path)) or {}
if node_name in existing and not overwrite:
    raise RuntimeError(f"节点 '{node_name}' 已存在")
existing[node_name] = {
    "recognition": "OCR",
    "expected": [target_text],
    "roi": roi,
    "action": action_type,
    "post_delay": post_delay,
    "timeout": timeout,
}
save_pipeline(
    pipeline_json=json.dumps(existing, ensure_ascii=False, indent=4),
    output_path=str(pipeline_path),
    overwrite=True,
)

ROI 扩大示意

原始 box:     ┌────┐
              │ 文字│
              └────┘
扩大后 roi:   ┌──────────┐
              │  ┌────┐  │
              │  │文字│  │
              │  └────┘  │
              └──────────┘

使用流程

先解析当前 skill 所在目录为 <skill-dir>,再从目标 Maa 项目根目录运行以下命令。不要假设 skill 安装在 .claude/skills 或某个固定盘符。

步骤 1: Sweep 找最佳 expand
bash
# 生成多个 expand 变体的测试 pipeline
python "<skill-dir>/scripts/generate_sweep.py" "角色" "46,1248,50,30" 0,5,10,15,20,25,30

然后用 run_pipeline 逐个测试每个 Sweep_<text>_eN 节点,用目标项目自己的安全返回节点恢复页面(详见 maa-pipeline-testing)。记录成功的 expand 值(score ≥ 0.99 为佳)。

步骤 2: 正式生成节点
bash
python "<skill-dir>/scripts/generate_node.py" "角色" UI_RoleListPage main_ui.json --expand 20 --overwrite

关键经验

历史审查后的生成策略
  • 先判断节点类型,不要默认所有问题都是 OCR:稳定图标/按钮优先 TemplateMatch,颜色状态可用 ColorMatch,动态文本用 OCR,列表/复杂图像后处理用 CustomRecognition。
  • MaaGumballs 的历史文件多为平铺字段风格;M9A HEAD 多为 v5 object-form:action: { type, param }、recognition: { type, param }。生成时沿用目标文件的既有风格,不要在同一局部混用两套格式。
  • 生成链路时先画父级 next 状态机:稳定页面、成功态、弹窗 [JumpBack]、加载 [JumpBack]、危险确认分支分开建节点。
  • 对会消耗资源或改变账号状态的节点,默认生成 DoNothing 或单独验证节点;只有用户明确要执行时才生成直接点击确认。
  • 如果需要 Python,先决定是 CustomAction 还是 CustomRecognition:动作/控制流用 CustomAction;识别后处理和动态 box 返回用 CustomRecognition。
  1. ocr() 自动截图:MaaMCP 的 ocr() 工具会自行获取当前画面,调用前不要重复 screencap();如果换了 MCP provider,先读该工具的参数说明确认截图语义。

  2. ROI 不是越大越好:默认 expand=75 会失败(OCR 把"角色"拆成"电"+"色")。多数节点 sweet spot 是 expand=20-30。

  3. 特殊节点需要小 ROI:"城堡" expand≥20 全失败,只接受 0-15(上方有图标 M/3.9m/1077/👍 干扰)。

  4. expected 必须匹配当前资源实际显示文本:在 MaaGumballs 中文资源里 ["角色"] 正确、["Role"] 找不到;跨语言项目要按目标资源/locale 写实际 OCR 文本或项目约定的 i18n 形式。

  5. OCR 非确定性:同一 ROI 不同次结果可能不同,timeout: 2000 期间会重试。

  6. OCR 失败不要立刻换 TemplateMatch:先看截图、扫 ROI、检查 expected 与颜色干扰;如果目标本质是稳定图标/按钮,TemplateMatch 本来就是正确选择,不必死守 OCR。

  7. 可滚动 UI 用大 ROI + 父级 orchestrator(重要):

    • 不要在 Click 节点的 next 里放 [JumpBack]CastleSwipeDown/Up —— 找不到文字时会死循环滑动!
    • 正确模式参考 marry.json 里的 CastleHall 节点:父级 orchestrator 节点的 next 列表里放 [JumpBack]XXXEntry + [JumpBack]XXXSwipeDown + [JumpBack]XXXSwipeUp 等
    • 滚动容错 ROI 范围参考 CastleHallEntry: [60, 391, 609, 795]
  8. run_pipeline 必须有手动超时意识:超过 ~10 秒不返回要主动停止,可能 ROI/expected 配错或 OCR 引擎卡住。

  9. 改完 pipeline 文件后调 load_pipeline(path) 即可:不需要重启 server。run_pipeline 每次都按 pipeline_path 从磁盘读最新内容,reload 后立即生效。

  10. 可滚动 UI 用统一大 ROI:当多个目标在同一个可滚动列表(如城堡建筑列表)时,所有节点共用同一 ROI [x, top_y, w, full_h],覆盖整个滚动区域。避免每个节点各自 ROI 滚动后失效。前提:每个节点的 expected 文字是唯一的(OCR 按 expected 匹配不会冲突)。

  11. ROI 上边界 ≤ 元素最小 y:目标元素在 y=424 时,ROI y 起点必须 ≤ 424,否则切掉顶部导致 OCR 失败。例:原 ROI [100, 450, ...] 把"城堡管理"切掉 26px → 改为 [100, 400, ...] 通过。

  12. 卡住时截图查看:节点超时、OCR 找不到、行为异常时,调 screencap 看当前屏幕实际状态。可能界面已不在预期页、可能位置已被遮挡。

  13. 跨页面流程用 next 状态机而非 Python orchestration:当一个流程涉及多个页面跳转(如:大地图 → 活动入口 → 难度选择 → 队伍 → 战斗),用 MaaFramework 的 next + [JumpBack] 串节点。不要写 Python for/while 调 context.run_task() 模拟状态机。详见 option 反模式 和 maa-pipeline-guide 的「跨页面状态机」。

  14. 跨文件节点引用在 run_pipeline 测试中会失败:MaaFramework 全局加载时所有 assets/resource/base/pipeline/*.json 合并到同一命名空间,[JumpBack]OtherFileNode 能解析。但 run_pipeline 只加载单文件,跨文件引用会报"加载 Pipeline 失败"。应对:

    • 单元测试每个节点用 run_pipeline(无跨文件依赖的子流程)是 OK 的
    • 含跨文件引用的状态机流程,集成测试必须用 MaaFramework GUI/CLI 触发
    • 调试时可考虑 MaaCli 命令行运行全 bundle
Show full SKILL.md (220 more words)Show less
已验证最优 expand(5 节点实测)
节点expandscore备注
UI_RoleListPage200.9997中部偏左
UI_RoleFormationPage200.998角色右边
UI_CastlePage30.997⚠️ 仅 0-15
UI_TeamPage200.997城堡右边
ClickGoToArchipelago200.991中间大地图按钮
用 color_filter 减少 OCR 干扰(实战技巧)

场景:ROI 里同时有目标文字 + 周边装饰(如"0/31"绿色能量条 vs "0/23"绿色节点数),OCR 可能误识别装饰色块。

方案:先建一个 ColorMatch 节点(限定像素颜色范围),然后在其他 OCR 节点上加 color_filter 字段引用它。

jsonc
"AutoSky_GreenCheck": {
    "recognition": "ColorMatch",
    "roi": [558, 802, 157, 45],
    "method": 4,
    "lower": [22, 123, 57],      // RGB 下界(暗绿)
    "upper": [55, 215, 102],     // RGB 上界(亮绿)
    "action": "DoNothing",
    "post_delay": 200,
    "timeout": 2000
},

"AutoSky_CheckEnergyZero": {
    "recognition": "OCR",
    "expected": ["0/\\d+"],
    "roi": [850, 1280, 220, 50],
    "color_filter": "AutoSky_GreenCheck",  // ← 只在绿色区域 OCR
    "action": "DoNothing"
}

取色技巧(用截图工具):

  • 目标区域:取目标装饰/边框色(非文字色,文字一般会变色)
  • RGB 范围要宽松一些(±20),覆盖光照变化
  • method=4 是 RGB(0=HSV)

实战案例:本项目(MaaGumballs)用这个方法区分"能量条 0/31"vs"节点数 0/23",两者都是绿色 OCR 文本,周围装饰色也不同。

已验证:可滚动 UI 统一 ROI(10 城堡建筑)
节点统一 ROIscore备注
CastleManage[100, 400, 520, 880]0.999顶部
Market同上0.999顶部
Blacksmith同上0.998顶部
AlchemyWorkshop同上0.999顶部
TrainingCenter同上1.000顶部
CastleMainHall同上0.876顶部只露 25px
Shrine同上0.999中段
Family同上0.999中段
Museum同上0.999底部
Manor同上0.999底部

关键设计:

  • 所有节点 ROI 完全相同([100, 400, 520, 880],覆盖 y=400-1280)
  • 不靠 expand 微调,靠 expected 文字差异让 OCR 区分
  • 不放 next 链(避免死循环)

跨页面状态机流程(用 next + [JumpBack])

当生成的活动流程需要跨多个页面跳转(如:大地图 → 活动入口 → 难度选择 → 队伍 → 战斗),用 MaaFramework 的 next + [JumpBack] 机制串接各页面节点,不要写 Python orchestration。

模式:状态机入口节点
jsonc
{
    "MyActivity_Start": {
        "next": [
            "MyActivity_TeamReady",                      // 已在队伍配置页 → 点击"进入战斗"
            "[JumpBack]MyActivity_Difficulty_Select",     // 在难度选择页 → 选难度
            "[JumpBack]MyActivity_Enter"                 // 在大地图 → 找入口
        ],
        "timeout": 10000
    },

    "MyActivity_Enter": {
        "next": [
            "MyActivity_Enter_Click",                    // 找到图标 → 点击
            "[JumpBack]BigMap_Activity_Resident",         // 切"常驻"tab
            "[JumpBack]BigMap_Activity"                  // 打开活动页
        ],
        "timeout": 10000
    },

    "MyActivity_EnterBattle": {
        "recognition": "OCR",
        "expected": ["进入战斗"],
        "action": "Click",
        "next": [
            "MyActivity_FightStart",                       // 战斗开始
            "[JumpBack]MyActivity_TravelSelect_Boat",      // 乘船
            "[JumpBack]MyActivity_TravelSelect_Walk"       // 步行 fallback
        ]
    },

    "MyActivity_TravelSelect_Boat": {
        "recognition": "OCR",
        "expected": ["确定"],
        "roi": [490, 740, 100, 80],                     // 窄 ROI 限定乘船行
        "action": "Click"
    },

    "MyActivity_TravelSelect_Walk": {
        "recognition": "OCR",
        "expected": ["确定"],
        "roi": [490, 590, 100, 80],                     // 窄 ROI 限定步行行
        "action": "Click"
    }
}
关键设计要点
  1. [JumpBack] 是状态回退的关键:命中后执行完节点链,自动返回父节点的 next 继续。
  2. 窄 ROI 区分同名字段:用 y 范围 [490, 740, 100, 80] vs [490, 590, 100, 80] 区分两个"确定"按钮行(y 范围不重叠)。
  3. target_offset 偏移点击:识别难度文字后用 target_offset: [270, 0, 0, 0] 把点击位置右移到"确定"按钮上。
  4. 跨文件节点引用:MaaFramework 全局加载会合并所有 pipeline/*.json,所以 [JumpBack]BigMap_Activity(在 main_ui.json)能从 growth_trial.json 引用。但 run_pipeline 测试只加载单文件,集成测试需用 GUI/CLI。
与 Python orchestration 的本质区别
状态机(推荐)Python orchestration(次选)
流程推进由 MaaFramework 调度自己写 for/if 调度
每个节点 next 显式声明后继Python 函数串行 run_task
[JumpBack] 自动状态回退手动实现回退逻辑
跨页面异常有自然路径需手动 try/except

详见 option 反模式 和 maa-pipeline-guide 的「跨页面状态机」典型模式。

© 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 3 other files (scripts) in .agents/skills/maa-pipeline-generate of duorua/narutomobile.

  • SKILL.md
  • agents/openai.yaml
  • scripts/generate_node.py
  • scripts/generate_sweep.py

Open the folder on GitHubat commit e3ff401

Compare with similar skills

Maa Pipeline Generate 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 Pipeline Generate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Maa Pipeline Generate this skillduorua/narutomobile340—~2.8kAutomated safety check: PassAGPL-3.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.5k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.5k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

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.

    340 GitHub stars~2.2k tokensUpdated today
    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.

    340 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Maa Workflow Build

    duorua/narutomobile

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

    340 GitHub stars~2.2k tokensUpdated today
    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.

    340 GitHub stars~1.6k tokensUpdated today
    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.

    340 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Maa CLI Operate

    duorua/narutomobile

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

    340 GitHub stars~981 tokensUpdated today
    Auto-check passed

Questions about Maa Pipeline Generate

What does Maa Pipeline Generate do?

Generate MaaFramework Pipeline nodes and recognition snippets from screenshots or observed UI state. Maa Pipeline Generate is an agent skill from duorua/narutomobile. Generate MaaFramework Pipeline nodes and recognition snippets from screenshots or observed UI state.

When should I use Maa Pipeline Generate?

Maa Pipeline Generate fits situations like: OCR node generation; choosing TemplateMatch/OCR/ColorMatch/CustomRecognition; preserving target-file schema style; designing next/[JumpBack] links before merging generated nodes into pipeline JSON.

How do I install Maa Pipeline Generate in Claude Code?

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

How do I install Maa Pipeline Generate in Codex?

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

Can I use Maa Pipeline Generate 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-pipeline-generate -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-pipeline-generate, .gemini/skills/maa-pipeline-generate, .github/skills/maa-pipeline-generate and .opencode/skills/maa-pipeline-generate in your project.

What does Maa Pipeline Generate need to run?

Going by SKILL.md and its folder, Maa Pipeline Generate needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Maa Pipeline Generate 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 Pipeline Generate 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Maa Pipeline Generate use?

Maa Pipeline Generate 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 Pipeline Generate use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Maa Pipeline Generate?

Skills that share tags, products or a category with Maa Pipeline Generate: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Maa Pipeline Generate?

duorua (a GitHub user) maintains it in duorua/narutomobile, which has 340 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 10, 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.