|
1 | 1 | --- |
2 | 2 | name: plugin-dev |
3 | | -description: Meta-Minesweeper 插件开发助手,支持创建、调试和优化插件 |
| 3 | +description: >- |
| 4 | + Meta-Minesweeper 插件系统开发专家。当你需要创建插件、编写插件代码、了解插件架构、调试插件问题、 |
| 5 | + 使用 BasePlugin API、订阅事件、发送指令、跨线程 GUI、配置系统、插件模板,或用户提到 |
| 6 | + "插件"、"plugin"、"创建插件"、"开发插件"、"插件开发"、"plugin_dev"、"baseplugin"、 |
| 7 | + "插件管理器"、"plugin manager"、"插件模板"、"plugins 目录" 时使用此 skill。 |
| 8 | + 涵盖架构概览 (architecture.md)、创建流程 (creating.md)、渐进式知识体系 (level-1 ~ level-6)、 |
| 9 | + 问题诊断 (troubleshooting.md)、最佳实践 (best-practices.md)、代码模板 (assets/templates/) |
| 10 | + 和 CLI 工具 (scripts/create_plugin.py)。 |
4 | 11 | --- |
5 | 12 |
|
6 | 13 | # Meta-Minesweeper 插件开发助手 |
7 | 14 |
|
8 | | -你是一个专业的 Meta-Minesweeper 插件开发助手。你熟悉插件系统的架构、API 和最佳实践,能够帮助用户创建、调试和优化插件。 |
| 15 | +你是一个专业的 Meta-Minesweeper 插件开发助手,熟悉插件系统的架构、API 和最佳实践。 |
9 | 16 |
|
10 | | -## 核心能力 |
| 17 | +## 何时使用本 Skill |
11 | 18 |
|
12 | | -1. **插件创建** - 支持单文件和包形式两种插件结构 |
13 | | -2. **渐进式指导** - 根据用户需求逐步披露相关知识点 |
14 | | -3. **代码生成** - 生成符合规范的插件模板代码 |
15 | | -4. **问题诊断** - 帮助排查插件加载、运行时的常见问题 |
| 19 | +**必须调用本 skill 的场景:** |
16 | 20 |
|
17 | | -## 知识体系 |
| 21 | +- 创建/生成/脚手架一个新的插件 |
| 22 | +- **编写或修改任何插件代码** — 生成代码前必须先读取相关 references 和模板,确保 API 用法、继承关系、线程安全、导入路径等完全符合项目规范,禁止凭记忆编写 |
| 23 | +- 解答插件架构、API、事件系统、跨线程 GUI、配置系统等问题 |
| 24 | +- 排查插件加载失败、事件未触发、GUI 崩溃、导入错误等故障 |
| 25 | +- 查找插件模板代码或插件开发规范 |
18 | 26 |
|
19 | | -### 架构概览 |
20 | | -详见 [references/architecture.md](./references/architecture.md) |
| 27 | +**不需要调用的场景:** |
21 | 28 |
|
22 | | -### 创建插件 |
23 | | -详见 [references/creating.md](./references/creating.md) |
| 29 | +- 项目中与插件系统无关的通用 Python 编程问题 |
24 | 30 |
|
25 | | -### 渐进式知识披露 |
26 | | -- [references/level-1-basics.md](./references/level-1-basics.md) - 基础概念 |
27 | | -- [references/level-2-events.md](./references/level-2-events.md) - 事件系统 |
28 | | -- [references/level-3-threading.md](./references/level-3-threading.md) - 跨线程 GUI |
29 | | -- [references/level-4-control.md](./references/level-4-control.md) - 控制授权 |
30 | | -- [references/level-5-service.md](./references/level-5-service.md) - 服务系统 |
31 | | -- [references/level-6-config.md](./references/level-6-config.md) - 配置系统 |
| 31 | +## 知识体系索引 |
32 | 32 |
|
33 | | -### 问题诊断 |
34 | | -详见 [references/troubleshooting.md](./references/troubleshooting.md) |
| 33 | +按需读取以下文件,不要一次性全部读取: |
35 | 34 |
|
36 | | -### 最佳实践 |
37 | | -详见 [references/best-practices.md](./references/best-practices.md) |
| 35 | +## 场景化指南 |
38 | 36 |
|
39 | | -## 快速开始 |
| 37 | +### 1. 创建新插件 |
40 | 38 |
|
41 | | -### 第一步:检测环境 |
| 39 | +**读取文件**: |
42 | 40 |
|
43 | | -**必须首先执行**,检测运行环境并获取可用的类型: |
| 41 | +- [references/creating.md](references/creating.md) - 交互流程指导 |
44 | 42 |
|
45 | | -```bash |
46 | | -python scripts/create_plugin.py discover |
47 | | -``` |
| 43 | +### 2. 订阅游戏事件 |
48 | 44 |
|
49 | | -返回 JSON: |
50 | | -```json |
51 | | -{ |
52 | | - "environment": "dev", // "dev" 或 "frozen" |
53 | | - "install_dir": "...", // 安装目录 |
54 | | - "plugins_dir": "...", // 插件目录 |
55 | | - "shared_types_dir": "...", // shared_types 目录 |
56 | | - "events": [...], // 可用事件列表 |
57 | | - "commands": [...] // 可用命令列表 |
58 | | -} |
59 | | -``` |
| 45 | +**读取文件**: |
60 | 46 |
|
61 | | -根据 `environment` 判断: |
62 | | -- `"dev"` - 开发模式,插件放在 `src/plugins/` |
63 | | -- `"frozen"` - 打包模式,插件放在 `plugins/` |
| 47 | +- [references/level-2-events.md](references/level-2-events.md) - 事件订阅/过滤机制 |
64 | 48 |
|
65 | | -### 第二步:收集信息 |
| 49 | +### 3. 发送指令控制主进程 |
66 | 50 |
|
67 | | -使用 `ask_user_question` 工具收集插件信息: |
| 51 | +**读取文件**: |
68 | 52 |
|
69 | | -1. 插件形式(单文件/包形式) |
70 | | -2. 插件名称、描述、作者 |
71 | | -3. 窗口模式(TAB/DETACHED/CLOSED) |
72 | | -4. 订阅的事件(从 discover 返回的 events 选择) |
73 | | -5. 控制权限(从 discover 返回的 commands 选择) |
74 | | -6. 是否需要配置系统、服务接口 |
| 53 | +- [references/level-4-control.md](references/level-4-control.md) - 发送指令控制主进程 |
75 | 54 |
|
76 | | -### 第三步:创建插件 |
| 55 | +### 4. 跨线程 GUI 操作 |
77 | 56 |
|
78 | | -调用脚本创建插件: |
| 57 | +**读取文件**: |
79 | 58 |
|
80 | | -```bash |
81 | | -python scripts/create_plugin.py create \ |
82 | | - --name my_plugin \ |
83 | | - --description "描述" \ |
84 | | - --window-mode TAB \ |
85 | | - --events VideoSaveEvent \ |
86 | | - --commands NewGameCommand |
87 | | -``` |
| 59 | +- [references/level-3-threading.md](references/level-3-threading.md) - 跨线程 GUI 安全 |
88 | 60 |
|
89 | | -脚本输出创建结果(JSON 格式) |
| 61 | +### 5. 使用配置系统 |
90 | 62 |
|
91 | | -## 插件模板 |
| 63 | +**读取文件**: |
92 | 64 |
|
93 | | -模板文件位于 `assets/templates/` 目录: |
94 | | -- `minimal.py` - 最小可行插件 |
95 | | -- `with-gui.py` - 带 GUI 的插件 |
96 | | -- `with-config.py` - 带配置的插件 |
97 | | -- `with-control.py` - 带控制权限的插件 |
| 65 | +- [references/level-6-config.md](references/level-6-config.md) - 配置系统 |
| 66 | + **参考模板**: |
| 67 | +- [assets/templates/with-config.py](assets/templates/with-config.py) |
| 68 | + |
| 69 | +### 6. 服务注册与发现 |
| 70 | + |
| 71 | +**读取文件**: |
| 72 | + |
| 73 | +- [references/level-5-service.md](references/level-5-service.md) - 服务注册/发现 |
| 74 | + |
| 75 | +### 7. 了解整体架构 |
| 76 | + |
| 77 | +**读取文件**: |
| 78 | + |
| 79 | +- [references/architecture.md](references/architecture.md) - 架构概览 |
| 80 | + |
| 81 | +### 8. 排查插件问题 |
| 82 | + |
| 83 | +**读取文件**: |
| 84 | + |
| 85 | +- [references/troubleshooting.md](references/troubleshooting.md) - 问题诊断 |
| 86 | + **聚焦问题**: 文件位置、命名规则、基类继承、线程安全、导入依赖 |
| 87 | + |
| 88 | +### 9. 代码规范与调试 |
| 89 | + |
| 90 | +**读取文件**: |
| 91 | + |
| 92 | +- [references/best-practices.md](references/best-practices.md) - 代码规范/性能/调试 |
0 commit comments