MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Universal Pipeline JSON 编写指南。基于 MaaFramework Pipeline 协议,提供节点命名、识别算法、动作类型、流程控制、可复用节点等编码规范与模式参考。在编写、修改或审查 Pipeline JSON、设计节点流程、使用 TemplateMatch/OCR/Custom 识别或 Click/Swipe 动作时使用。
$ npx skills add duorua/narutomobile --skill maa-pipeline-guide -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install duorua/narutomobile maa-pipeline-guide --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/duorua/narutomobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/maa-pipeline-guide .claude/skills/maa-pipeline-guide && 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 "maa-pipeline-guide" agent skill from https://github.com/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guide into .claude/skills/maa-pipeline-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maa-pipeline-guide", 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/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guideType 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 duorua/narutomobile --skill maa-pipeline-guide -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install duorua/narutomobile maa-pipeline-guide --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duorua/narutomobile.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/maa-pipeline-guide .agents/skills/maa-pipeline-guide && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "maa-pipeline-guide" agent skill from https://github.com/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guide into .agents/skills/maa-pipeline-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maa-pipeline-guide", 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 duorua/narutomobile --skill maa-pipeline-guide -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install duorua/narutomobile maa-pipeline-guide --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duorua/narutomobile.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/maa-pipeline-guide .cursor/skills/maa-pipeline-guide && 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 "maa-pipeline-guide" agent skill from https://github.com/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guide into .cursor/skills/maa-pipeline-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maa-pipeline-guide", 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/duorua/narutomobile.git --path .agents/skills/maa-pipeline-guide--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 duorua/narutomobile --skill maa-pipeline-guide -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install duorua/narutomobile maa-pipeline-guide --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duorua/narutomobile.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/maa-pipeline-guide .gemini/skills/maa-pipeline-guide && 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 "maa-pipeline-guide" agent skill from https://github.com/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guide into .gemini/skills/maa-pipeline-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maa-pipeline-guide", 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 duorua/narutomobile maa-pipeline-guideInstalls 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 duorua/narutomobile --skill maa-pipeline-guide -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/duorua/narutomobile.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/maa-pipeline-guide .github/skills/maa-pipeline-guide && 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 "maa-pipeline-guide" agent skill from https://github.com/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guide into .github/skills/maa-pipeline-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maa-pipeline-guide", 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 duorua/narutomobile --skill maa-pipeline-guide -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install duorua/narutomobile maa-pipeline-guide --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duorua/narutomobile.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/maa-pipeline-guide .opencode/skills/maa-pipeline-guide && 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 "maa-pipeline-guide" agent skill from https://github.com/duorua/narutomobile/tree/main/.agents/skills/maa-pipeline-guide into .opencode/skills/maa-pipeline-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maa-pipeline-guide", 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.
maa-pipeline-guideUniversal Pipeline JSON 编写指南。基于 MaaFramework Pipeline 协议,提供节点命名、识别算法、动作类型、流程控制、可复用节点等编码规范与模式参考。在编写、修改或审查 Pipeline JSON、设计节点流程、使用 TemplateMatch/OCR/Custom 识别或 Click/Swipe 动作时使用。
Maa Pipeline Guide is an agent skill from duorua/narutomobile. Universal Pipeline JSON 编写指南。基于 MaaFramework Pipeline 协议,提供节点命名、识别算法、动作类型、流程控制、可复用节点等编码规范与模式参考。在编写、修改或审查 Pipeline JSON、设计节点流程、使用 TemplateMatch/OCR/Custom 识别或 Click/Swipe 动作时使用。
Its SKILL.md is about 3.4k 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/field-reference.md`).
It works with Python. The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e3ff401. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are jsonc and python).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Maa Pipeline Guide loads about 3.4k tokens when it runs, and up to ~6.6k if it reads all its reference files. Until then it costs about 49 tokens; SKILL.md has 552 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); files beside SKILL.md are not scanned.
The full file from duorua/narutomobile at commit e3ff401, republished under its AGPL-3.0 licence (© duorua). 552 words, ~3,380 tokens.
.claude/skills/maa-pipeline-guide/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.本指南中的 Pipeline 约定是工作经验和社区规范,不能替代 pinned 版本的官方协议、schema 或源码。当字段语义、默认值、版本差异或 API 行为存在疑问时,通过 $maa-wiki 定位 MaaLLMWiki catalog 中的原始来源,再以官方文档、tools/pipeline.schema.json 或 MaaFramework 源码为准。
如果用户提出的是尚未定义起始状态、安全边界和验收条件的端到端自动化目标,先交给 $maa-workflow-build 建立任务契约与状态机;已有契约时,再用本 skill 处理 Pipeline 设计、修改或审查。
开始广泛扫描仓库前,先在目标项目根目录查找 basic_info.md:
maa-project-init 生成的上下文缓存;待修改节点必须回到当前 JSON/Python 核实,设备相关结论必须用当前截图或识别结果核实。$maa-project-init,只有用户明确要求初始化或刷新时才调用。interface.json、Pipeline 或 Agent 文件晚于 basic_info.md 时,将缓存视为可能过期并以当前源码为准;不得自动刷新或覆盖已有非空文件。next 列表,覆盖当前操作后所有可能画面,力争一次截图命中。delay 掩盖问题;但启动、动画、结算、加载稳定等场景可以使用短的 pre_delay / post_delay / timeout / *_wait_freezes。当确实不需要等待时,要在节点上显式将 rate_limit / pre_delay / post_delay 设为 0(协议默认 rate_limit=1000ms、pre_delay/post_delay=200ms,省略字段会引入隐式等待)。不要假设仓库存在自动补默认值脚本,使用前先发现真实工具。.prettierrc(4 空格缩进,数组元素换行)。需要完整字段速查时读取 references/field-reference.md,不要把整份字段表重复加载到日常任务上下文。
这些规则来自 MaaGumballs 与 M9A 的 Pipeline 历史审查,优先级高于早期经验里的绝对化表述:
next + [JumpBack]。当逻辑需要运行时数据、事件库、动态目标选择、跨节点计数、复杂 OCR/图像后处理、pipeline_override 计算或失败策略时,使用 CustomAction/CustomRecognition。action: Custom,M9A 同时大量使用 custom_action、custom_recognition、tasker_sink。设计新流程时先判断问题属于“控制流/动作决策”还是“识别/列表解析/图像后处理”。next 放“当前页面可能出现的下一批状态”;临时弹窗、加载、确认框用 [JumpBack];高风险分支(战斗、购买、消耗、结算继续)要和普通调查/领取/返回分开。delay 掩盖状态识别问题;但启动、切页动画、结算、加载后稳定画面等场景可以使用短的 post_delay、rate_limit 或 *_wait_freezes,并配套下一屏识别验证。run_task() 结果判断都正确。Custom 映射和关键链路需要单独检查。next 后再让 Python 猜。next 顺序表达优先级:先放最确定、最安全的稳定状态,再放可恢复分支,最后放异常/弹窗 [JumpBack]。[JumpBack]X 是“执行 X 后回到父节点继续识别”,不是普通跳转;适合关闭弹窗、处理加载、补一次确认、滑动列表后回到父识别。next 里造成死循环。override_pipeline()、多步任务编排、失败后是否继续的策略。next、enabled、expected 或 roi,优先 pure pipeline_override。MaaFramework 协议推荐 v2 object 形态,但本仓库不少历史 pipeline 仍使用平铺字段:
{
"AutoSky_CheckExplorationInfo": {
"recognition": "OCR",
"expected": "探索信息",
"roi": [32, 964, 214, 103],
"action": "DoNothing"
}
}编辑既有文件时优先沿用该文件已有风格,避免在同一个局部把 v1 平铺与 v2 object 混得过碎。若要新增 UI 选项或 Python 读取配置,先确认 context.get_node_data() 返回结构和当前代码读取路径。
enabled 与 enable协议字段是 enabled;部分项目/历史节点可能使用 enable 作为自定义开关字段。新增开关时:
enabled。enable 或已有辅助函数兼容 enable/enabled,沿用该功能已有字段。interface.json 的 pipeline_override 必须覆盖代码实际读取的字段;不要 UI 写 enabled,Python 却读 enable。context.run_task() 返回的 result.nodes 可能包含已经尝试过但识别失败的节点。调试面板里的红叉节点也可能出现在列表中,所以不要用 if result.nodes 或"节点名出现过"当作命中。
可靠判断顺序:
context.run_recognition("Node", img).hit 判断当前截图。run_task() 结果时,检查目标 node 的 completed 或 node.recognition.hit。AutoSky_CheckExplorationInfo),避免已经回到页面后又误跑危险兜底动作。def task_result_has_hit(result, names: set[str]) -> bool:
if not result or not result.nodes:
return False
for node in result.nodes:
if getattr(node, "name", None) not in names:
continue
if getattr(node, "completed", False):
return True
recognition = getattr(node, "recognition", None)
if recognition and getattr(recognition, "hit", False):
return True
return False不要把"战斗"、"调查"、"开启神殿"、"领奖"等语义不同的节点全塞进一个宽泛 EventDetection.next 后再由 Python 统一当战斗处理。高风险分支应在 Python 或上层状态机里先做分类:
这能避免"空雷达/调查事件被误判成战斗结算"一类问题。
__ 开头(如 __ScenePrivateXXX),不对外暴露。ResellMain、DailyProtocolPassInMenu、RealTimeAutoFightEntry。Universal pipeline 使用 v2 格式,recognition 和 action 放入二级字典:
{
"MyNode": {
"recognition": {
"type": "TemplateMatch",
"param": {
"template": "MyTask/button.png",
"roi": [100, 200, 300, 100],
"threshold": 0.7,
},
},
"action": {
"type": "Click",
},
"next": ["NextNode"],
},
}"recognition": {
"type": "TemplateMatch",
"param": {
"template": "path/to/image.png", // 相对 image 文件夹
"roi": [x, y, w, h], // 720p 坐标,缩小搜索范围
"threshold": 0.7 // 默认 0.7,按需调整
}
}green_mask: true 可遮蔽不参与匹配的区域(用 RGB(0,255,0) 涂色)。"recognition": {
"type": "OCR",
"param": {
"roi": [x, y, w, h],
"expected": ["完整文本"]
}
}0/\d+)是合法设计,适合动态数值、状态栏、干扰多的 ROI;使用时要在测试记录里说明原因,并按项目 i18n 规则处理跳过/翻译。tools/i18n;先发现目标仓库的 i18n 工具与约定。"recognition": {
"type": "ColorMatch",
"param": {
"roi": [x, y, w, h],
"method": 40, // HSV 空间(推荐)
"lower": [h_low, s_low, v_low],
"upper": [h_high, s_high, v_high],
"count": 100
}
}// And:全部子识别都成功才算命中
"recognition": {
"type": "And",
"param": {
"all_of": ["NodeA", "NodeB"], // 可引用节点名或内联 object
"box_index": 0
}
}
// Or:任一子识别成功即命中
"recognition": {
"type": "Or",
"param": {
"any_of": ["NodeA", "NodeB"]
}
}调用 AgentServer 注册的自定义识别器。适合把“识别后的判断”放到 Python:OCR 后处理、列表扫描、动态 box、颜色/模板组合、复杂图像判断等。
"recognition": {
"type": "Custom",
"param": {
"custom_recognition": "ExpressionRecognition",
"custom_recognition_param": {
"expression": "{CreditOCR}<300"
}
}
}自定义动作使用 action: Custom 或 v5 object-form 的 action.type = "Custom",适合把“执行策略”放到 Python:动态分支、事件库、计数器、运行时 override_pipeline()、多步子任务、失败是否继续等。
"action": {
"type": "Custom",
"param": {
"custom_action": "NodeOverride",
"custom_action_param": {
"SomeNode": { "enabled": false }
}
}
}| 动作 | 用途 | 关键字段 |
|---|---|---|
Click | 点击 | target, target_offset |
LongPress | 长按 | target, duration |
Swipe | 滑动 | begin, end, duration |
Scroll | 滚轮(仅Win32) | target, dx, dy |
ClickKey | 按键 | key(虚拟键码) |
InputText | 输入文本 | input_text |
StartApp / StopApp | 启停应用 | package |
StopTask | 停止当前任务链 | 无 |
Custom | 自定义动作 | custom_action, custom_action_param |
DoNothing | 不执行(默认) | 无 |
target 支持:true(当前识别结果)、节点名字符串、[x, y]、[x, y, w, h]。
按序识别,首个命中的节点执行其 action 后成为当前节点。next 为空或全部超时则任务结束。
识别超时或动作失败时执行的节点列表。
[JumpBack]:命中后执行完该节点链,自动返回父节点继续识别 next。适用于处理弹窗、加载等中断场景。
"next": [
"BusinessNode",
"[JumpBack]HandlePopup",
"[JumpBack]WaitLoading"
][Anchor]:动态引用锚点,运行时解析为最后设置该锚点的节点。
只在必须时使用 pre_wait_freezes / post_wait_freezes 等待画面静止,不要为了执行稳定而使用延迟:
"post_wait_freezes": {
"time": 200,
"target": [0, 0, 0, 0] // 全屏
}避免对同一按钮重复点击——第二次点击可能作用于下一界面的其他元素。
限制节点最大命中次数,超过后自动跳过:
"max_hit": 3编写前先检查是否已有可复用节点,避免重复造轮子。
Common/Button/)| 节点 | 说明 |
|---|---|
WhiteConfirmButtonType1 | 白底圆环确认 |
WhiteConfirmButtonType2 | 白底对号确认 |
YellowConfirmButtonType1 | 黄底圆环确认 |
YellowConfirmButtonType2 | 黄底对号确认 |
CancelButton | 白底 X 取消 |
CloseButtonType1 | 右上角 X(不兼容 ESC 菜单) |
CloseButtonType2 | 右上角 X(兼容 ESC 菜单,推荐) |
TeleportButton | 右下角传送按钮 |
CloseRewardsButton | 奖励界面对号关闭 |
SubTask:顺序执行子任务列表。ResetCount / ClearHitCount:清除节点命中计数;具体名称以目标项目注册函数为准。NodeOverride / DisableNode:运行时覆盖或禁用节点;适合动态状态,不适合替代简单 UI option。ExpressionRecognition / CustomRecognition:计算布尔表达式或做复杂识别后处理;具体名称以目标项目注册函数为准。docs/zh_cn/develop/Custom编写.md。{
"MyTaskEntry": {
"next": [
"MyTaskMainStep",
"[JumpBack]SceneDialogConfirm",
"[JumpBack]SceneWaitLoadingExit",
"[JumpBack]SceneAnyEnterWorld",
],
},
}当一个任务涉及多个页面跳转(如:大地图 → 活动入口 → 难度选择 → 队伍配置 → 战斗),用 MaaFramework 的 next + [JumpBack] 机制串接各页面节点。不要写 Python orchestration(自己 for/while 调 run_task 模拟状态机)。
{
"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": { "type": "OCR", "param": { "expected": ["进入战斗"], "roi": [...] } },
"action": { "type": "Click" },
"next": [
"MyActivity_FightStart", // 战斗开始
"[JumpBack]MyActivity_TravelSelect_Boat", // 乘船
"[JumpBack]MyActivity_TravelSelect_Walk" // 步行
]
}
}关键设计要点:
[JumpBack] 是状态回退原语:命中后执行完节点链,自动返回父节点的 next 继续识别。target_offset 偏移点击:识别难度文字后用 target_offset: [270, 0, 0, 0] 右移到"确定"按钮位置。pipeline/*.json,跨文件引用 OK。但 run_pipeline 测试工具只加载单文件,集成测试需用 GUI/CLI。实战决策流程:
要实现一个跨页面流程
│
├─ 流程可枚举为有限页面状态(A→B→C→D)?
│ └─ ✅ 优先用纯 JSON 状态机(next + [JumpBack])
│ 示例:成长试炼、相亲、英雄副本
│
└─ 流程涉及复杂的运行时分支或 Python 侧业务逻辑?
└─ 用 Flag 节点 + Python CustomAction
示例:跳过整个 handle_sailing_festival 函数详细反模式参见 maa-pipeline-option anti-patterns。
{
"ClickConfirm": {
"recognition": { "type": "TemplateMatch", "param": { "template": "confirm.png", "roi": [...] } },
"action": { "type": "Click" },
"post_wait_freezes": { "time": 200, "target": [0, 0, 0, 0] },
"next": ["VerifyNextScreen", "[JumpBack]ClickConfirm"]
}
}{
"MyButton": {
"recognition": {
"type": "And",
"param": {
"all_of": ["ButtonBackground", "ButtonIcon"],
"box_index": 0,
},
},
"action": {"type": "Click"},
},
}pre_delay / post_delay / timeoutnext 列表覆盖所有可能画面,含弹窗/加载/异常.prettierrclocales/ 已添加新增任务的多语言文本expected 写完整文本post_wait_freezes__ScenePrivate* 内部节点docs/zh_cn/develop/Pipeline编写.mddocs/zh_cn/develop/Custom编写.mddocs/zh_cn/develop/interface.json编写.mddocs/zh_cn/develop/项目结构.md© 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
SKILL.md and 2 other files (references) in .agents/skills/maa-pipeline-guide of duorua/narutomobile.
Open the folder on GitHubat commit e3ff401
Maa Pipeline Guide 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 |
|---|---|---|---|---|---|---|
| Maa Pipeline Guide this skillduorua/narutomobile | 340 | — | ~3.4k | Automated safety check: Pass | AGPL-3.0 | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| PDF Processinganthropics/skills | 180k | 47 repos | ~2k | Automated safety check: Pass | Proprietary | |
| NotebookLM Research AssistantPleasePrompto/notebooklm-skill | 7.8k | 14 repos | ~2.4k | Automated safety check: Notes | MIT | |
| Manim Video Productionbrowser-use/video-use | 29k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| PPT Masterhugohe3/ppt-master | 59k | 1 repos | ~2.5k | Automated safety check: Pass | MIT |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/skills
Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
zLanqing/codex-claude-academic-skills
Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.
duorua/narutomobile
Scan and initialize a MaaFramework game or app automation project for Maa skills and MaaMCP workflows.
duorua/narutomobile
Generate MaaFramework Pipeline nodes and recognition snippets from screenshots or observed UI state.
duorua/narutomobile
Add runtime UI options (select/checkbox/switch/input) to MaaFramework option surfaces such as assets/interface.json or assets/resource/tasks//.json.
duorua/narutomobile
Orchestrate ambiguous end-to-end MaaFramework automation requests into verified implementations.
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.
duorua/narutomobile
Test and validate MaaFramework Pipeline JSON, recognition nodes, action nodes, CustomAction/CustomRecognition wiring, resource loading, and end-to-end task behavior.
Works with
Universal Pipeline JSON 编写指南。基于 MaaFramework Pipeline 协议,提供节点命名、识别算法、动作类型、流程控制、可复用节点等编码规范与模式参考。在编写、修改或审查 Pipeline JSON、设计节点流程、使用 TemplateMatch/OCR/Custom 识别或 Click/Swipe 动作时使用。. Maa Pipeline Guide is an agent skill from duorua/narutomobile.
Run `npx skills add duorua/narutomobile --skill maa-pipeline-guide -a claude-code`. Or copy the skill folder (.agents/skills/maa-pipeline-guide in duorua/narutomobile) into .claude/skills/maa-pipeline-guide in your project. Claude Code loads it when a task matches its description.
Run `npx skills add duorua/narutomobile --skill maa-pipeline-guide -a codex`. Or copy the skill folder (.agents/skills/maa-pipeline-guide in duorua/narutomobile) into .agents/skills/maa-pipeline-guide 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 duorua/narutomobile --skill maa-pipeline-guide -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-guide, .gemini/skills/maa-pipeline-guide, .github/skills/maa-pipeline-guide and .opencode/skills/maa-pipeline-guide in your project.
SKILL.md names no scripts, command-line tools or credentials: Maa Pipeline Guide is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. 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. Review the folder before installing.
Maa Pipeline Guide 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 3.4k tokens (SKILL.md is roughly 14k 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 3.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Maa Pipeline Guide: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.