Token导航 LogoToken导航TokenDH.com
待分类external-servicegithub未标认证来源可访问许可证需确认审计通过

ue5-plugin-devue5 插件开发

Agent Skill

ue5-plugin-dev 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

256

周安装

11

GitHub Stars

公开资料未说明

下载量

90
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ue5-plugin-dev(ue5 插件开发)
来源仓库:https://github.com/koshimazaki/ue-audio-skills
仓库路径:skills/ue5-plugin-dev
安装命令:
npx skills add https://github.com/koshimazaki/ue-audio-skills --skill ue5-plugin-dev
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/koshimazaki/ue-audio-skills --skill ue5-plugin-dev

简介

ue5-plugin-dev 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 当前无原始 SKILL.md 内容可参考,功能以实际实现为准。

SKILL.md

Add New Command to UE Audio MCP

Follow this checklist to add a new C++ TCP command and its Python MCP tool wrapper.

Checklist (6 files, always in this order)

1. Header — declare the command class

File: ue5_plugin/UEAudioMCP/Source/UEAudioMCP/Public/Commands/<Group>Commands.h

Pick the right group file:

  • BuilderCommands.h — MetaSounds builder operations
  • NodeCommands.h — MetaSounds node operations
  • QueryCommands.h — queries, exports, scans, asset operations
  • BPBuilderCommands.h — Blueprint graph editing
  • WorldCommands.h — world setup (AnimNotify, emitters, volumes, spawning)
/** command_name: Brief description of what this command does. */
class FMyNewCommand : public IAudioMCPCommand
{
public:
    virtual TSharedPtr<FJsonObject> Execute(
        const TSharedPtr<FJsonObject>& Params,
        FAudioMCPBuilderManager& BuilderManager) override;
};

2. Implementation — write the Execute() method

File: ue5_plugin/UEAudioMCP/Source/UEAudioMCP/Private/Commands/<Group>Commands.cpp

Pattern:

TSharedPtr<FJsonObject> FMyNewCommand::Execute(
    const TSharedPtr<FJsonObject>& Params,
    FAudioMCPBuilderManager& /*BuilderManager*/)
{
    // 1. Extract params
    FString MyParam;
    if (!Params->TryGetStringField(TEXT("my_param"), MyParam))
    {
        return AudioMCP::MakeErrorResponse(TEXT("Missing required param 'my_param'"));
    }

    // 2. Validate (paths must start with /Game/, no "..", etc.)
    if (!MyParam.StartsWith(TEXT("/Game/")))
    {
        return AudioMCP::MakeErrorResponse(TEXT("my_param must start with /Game/"));
    }

    // 3. Do the work (on game thread — this runs via AsyncTask)
    // ... UE5 API calls here ...

    // 4. Return JSON response
    TSharedPtr<FJsonObject> Resp = AudioMCP::MakeOkResponse();
    Resp->SetStringField(TEXT("my_param"), MyParam);
    return Resp;
}

Key helpers (from AudioMCPTypes.h):

  • AudioMCP::MakeOkResponse() / AudioMCP::MakeOkResponse("message")
  • AudioMCP::MakeErrorResponse("error message")

UE 5.7 gotchas:

  • UE_LOG format strings are strictly validated — avoid %s with complex expressions
  • World->SpawnActor — use FTransform overload, not FVector*/FRotator* pointers
  • Always check GEditor is non-null before accessing editor world

3. Build.cs — add module dependencies (if needed)

File: ue5_plugin/UEAudioMCP/Source/UEAudioMCP/UEAudioMCP.Build.cs

Only if your command uses new UE modules not already listed:

PrivateDependencyModuleNames.AddRange(new string[]
{
    // ... existing deps ...
    "NewModule",  // Brief comment why
});

4. Register — wire command name to class

File: ue5_plugin/UEAudioMCP/Source/UEAudioMCP/Private/UEAudioMCPModule.cpp

Add include at top:

#include "Commands/<Group>Commands.h"  // if new group file

Add registration in RegisterCommands():

// N+1. Brief description
Dispatcher->RegisterCommand(TEXT("my_command_name"),
    MakeShared<FMyNewCommand>());

Update the log message count:

TEXT("UE Audio MCP ready — listening on port %d (N+1 commands registered)"),

5. Python MCP tool — wrap the TCP command

File: src/ue_audio_mcp/tools/<category>.py (or new file)

from ue_audio_mcp.tools.utils import _error, _ok, _validate_asset_path

@mcp.tool()
def my_command_name(
    my_param: str,
    optional_param: int = 0,
) -> str:
    """Brief description for MCP clients.

    More detail about what this does and when to use it.

    Args:
        my_param: What this parameter controls
        optional_param: What this optional param does (default 0)
    """
    # Use shared helper for UE asset paths (checks empty, "..", /Game/ prefix)
    if err := _validate_asset_path(my_param, "my_param"):
        return _error(err)

    conn = get_ue5_connection()
    try:
        result = conn.send_command({
            "action": "my_command_name",
            "my_param": my_param,
            "optional_param": optional_param,
        })
        if result.get("status") == "error":
            return _error(result.get("message", "my_command_name failed"))

        # Add warnings for non-fatal issues the user should know about
        warns = []
        if some_condition:
            warns.append("Helpful message about what might go wrong.")
        return _ok(result, warnings=warns or None)
    except Exception as e:
        return _error(str(e))

Shared helpers (from utils.py):

  • _validate_asset_path(path, param_name) — checks empty, .., /Game/ or /Engine/ prefix. Returns error string or None.
  • _ok(data, warnings=["..."]) — success response with optional warnings list
  • _error(message) — error response

When to add warnings (non-fatal issues):

  • Missing optional param that will cause silent failure (e.g. AnimNotify with no sound)
  • Value resolves to a default that probably isn't what the user wants (e.g. surface type Default)
  • Configuration that works but won't have the expected effect (e.g. volume with no geometry)

If new file, add import in src/ue_audio_mcp/server.py:

import ue_audio_mcp.tools.my_module  # noqa: E402, F401

6. Tests — validate Python tool

File: tests/test_<category>.py

def test_my_command_valid(ue5_conn, mock_ue5_plugin):
    mock_ue5_plugin.set_response("my_command_name", {
        "status": "ok", "my_param": "/Game/Test",
    })
    result = json.loads(my_command_name(my_param="/Game/Test"))
    assert result["status"] == "ok"
    cmd = mock_ue5_plugin.commands[-1]
    assert cmd["action"] == "my_command_name"

def test_my_command_empty_param(ue5_conn):
    result = json.loads(my_command_name(my_param=""))
    assert result["status"] == "error"
    assert "empty" in result["message"]

Build & Verify

# 1. Tests first
python -m pytest tests/ -v

# 2. Build plugin (close UE Editor first — dylibs locked)
./scripts/build_plugin.sh              # sync + compile
./scripts/build_plugin.sh --clean      # force recompile (removes Intermediate/)

# 3. Open UE, check: "UE Audio MCP ready — listening on port 9877 (N commands)"

# 4. Update docs: TOOLS_AND_COMMANDS.md, README.md, MEMORY.md

Use --clean when: "Action graph is invalid", stale PCH, or mysterious errors.

Security Rules

  • Asset paths: must start with /Game/ or /Engine/, reject ..
  • Function names: must be in allowlist (BlueprintManager.AllowedFunctions)
  • File paths: validate they exist on disk, reject traversal
  • TCP: localhost only (127.0.0.1), 16MB max message size

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.43%
按下载量换算34

Claude

27.44%
按下载量换算25

Cursor

17.01%
按下载量换算15

Gemini CLI

9.31%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills