Skip to content
Development
Skill

/qframework

Editor automation for QFramework (github.com/liangxiegame/QFramework) — architecture-layer code generation (Architecture/System/Model/Command/Utility/Query via ArchitectureCodeGenerator), ViewController and UIKit panel code generation bound to a GameObject/prefab, UIKit project

From plugin
unity-skills
1.9k83 skills4 commands

Claude Code

$ npx -y skills add Besty0728/Unity-Skills --skill qframework --agent claude-code

SKILL.md

qframework.SKILL.md
name: unity-qframework
description: Editor automation for QFramework (github.com/liangxiegame/QFramework) — architecture-layer code generation (Architecture/System/Model/Command/Utility/Query via ArchitectureCodeGenerator), ViewController and UIKit panel code generation bound to a GameObject/prefab, UIKit project settings, ResKit AssetBundle marking/build/clear, ResKit SimulationMode and build options, runtime architecture scanning (IArchitecture/ISystem/IModel/ICommand/IQuery/IController), QFramework's built-in API-documentation-attribute query, and LocaleKit editor-locale / language-define configuration. QFramework has no UPM package — detection is reflection-only against whichever install form is present (Toolkits unitypackage or single-file QFramework.cs) — so every skill except qframework_get_status returns MISSING_PACKAGE when the required anchor type cannot be resolved.

> **Before calling any skill in this module:** if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via `GET /skills/recommend?includeSchema=true`) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Generating QFramework architecture-layer code — Architecture/System/Model/Command/Utility/Query classes
  • Generating bound view code for a QFramework `ViewController` component, or UIKit panel code for a UI prefab
  • Checking QFramework installation status, scanning `IArchitecture`/`ISystem`/`IModel`/`ICommand`/`IQuery`/`IController` implementations, or searching QFramework's built-in API documentation attributes
  • Marking, building or clearing QFramework ResKit AssetBundles, or reading/writing ResKit build options (SimulationMode, append-hash, auto-generate-class)
  • Reading/writing UIKit project settings (namespace, script/prefab dirs) or LocaleKit editor locale / language defines
  • 生成 QFramework 架构层代码、绑定 ViewController/UIKit 面板代码生成、检查安装状态与架构扫描、ResKit AssetBundle 标记与构建、UIKit/LocaleKit 设置读写

Unity QFramework Skills

Editor-side automation for [QFramework](https://github.com/liangxiegame/QFramework) — architecture codegen, UIKit/ResKit tooling, LocaleKit configuration, and read-only architecture/API-doc scanning.

**QFramework has no UPM package.** It installs one of two ways: the **Toolkits** `unitypackage` (asmdef-based: `QFramework` / `QFramework.CoreKit` / `UIKit` / `UIKit.Editor` / `ResKit` / `ResKit.Editor` / `AudioKit`), or a **single-file** `QFramework.cs` dropped straight into `Assets/` (no asmdef, core architecture interfaces only, no Toolkits). This module holds zero direct references to either form — every call resolves through reflection against a fully-qualified type name, so the UnitySkills Editor assembly compiles identically regardless of what (if anything) is installed. `qframework_get_status` works in every state; every other skill returns `MISSING_PACKAGE` when its anchor type cannot be resolved.

> **Requires**: QFramework (no package id — install via the official `unitypackage` or `QFramework.cs`, API anchored to **v1.0.257**). > **Companion module**: [qframework-design](../qframework-design/SKILL.md) for architecture design rules (four-layer responsibilities, Command/Query/Event/BindableProperty usage, IOCContainer vs. Toolkits IOCKit) — advisory only, no REST skills, load it before writing or reviewing QFramework architecture code.

Guardrails

**Operating Mode** (three-tier):

  • **SemiAuto** — the 8 `ReadOnly` skills run directly in all three modes without a grant: `qframework_get_status`, `qframework_list_architecture_code_types`, `qframework_preview_architecture_code`, `qframework_get_uikit_settings`, `qframework_list_asset_bundle_marks`, `qframework_get_reskit_build_options`, `qframework_scan_architecture`, `qframework_query_api_docs`.
  • **FullAuto** (needs a user grant under Approval; runs directly under Auto/Bypass with audit) — the 6 write skills that are *not* NeverInSemi: `qframework_mark_asset_bundle`, `qframework_mark_asset_bundle_batch`, `qframework_set_uikit_settings`, `qframework_set_reskit_build_options`, `qframework_set_editor_locale`, `qframework_set_language_defines`.
  • **Auto-forbidden** (NeverInSemi — returns `MODE_FORBIDDEN` under both Approval and Auto; only Bypass or a user-managed Allowlist entry can run these; never attempt a grant) — **6 skills**, triggered by two different metadata flags:
  • `MayTriggerReload=true` on all four codegen-to-disk skills: `qframework_generate_architecture_code`, `qframework_generate_architecture_code_batch`, `qframework_generate_view_controller_code`, `qframework_generate_ui_panel_code`.
  • `RiskLevel="high"` on `qframework_build_asset_bundles` (also `LongRunning=true`, `SupportsDryRun=false` — blocks the Editor main thread for the build duration) and `qframework_clear_asset_bundles` (also `Operation=Delete` — deletes `AssetBundles/` and `StreamingAssets/AssetBundles/` outright).

This is stricter than a plain "write skill needs a grant" reading: the four codegen skills are not just gated behind a grant, they are unreachable under Approval **and** Auto — Bypass or Allowlist only.

**Two-phase code generation protocol.** `qframework_generate_view_controller_code` and `qframework_generate_ui_panel_code` write `.cs`/`.Designer.cs` files synchronously and return `pendingCompile: true` **before** compilation happens. The generated component is attached to the GameObject (view controller case) only later, by a `[DidReloadScripts]` callback that fires after the next domain reload. After calling either skill, poll compile status (`script_get_compile_feedback` / `debug_get_errors`) before re-inspecting the GameObject or prefab — a `503`/busy response from the service during that window is expected, not a failure. The two skills name their Designer-file output field differently — `expectedDesignerScriptPath` on the view-controller skill, `expectedDesignerPath` on the UI-panel skill — th

Read more
@besty0728
Ships withunity-skills

REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.

Stars on GitHub

Momentum

stars in total
1.9k
Star history of Besty0728/Unity-Skills on GitHub, a chart by star-history.com

Other skills on unity-skills.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about qframework.

Which coding agents can use qframework?
qframework installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.