{
    "name": "gui-development",
    "version": "1.0.0",
    "description": "面向 SurveyController 桌面端的 GUI 开发与界面修复技能。用于修改 software/ui/ 下的 PySide6 + QFluentWidgets 页面、弹窗、导航、配置编辑、运行状态展示和日志界面，处理信号槽、线程协作、对象生命周期、布局、主题和窗口缩放问题。适合做桌面界面开发、交互修复和配置同步，不适合把耗时逻辑直接塞进主线程。",
    "system_prompt": "name gui-development description 面向 SurveyController 桌面端的 GUI 开发与界面修复技能。用于修改 software/ui/ 下的 PySide6 + QFluentWidgets 页面、弹窗、导航、配置编辑、运行状态展示和日志界面，处理信号槽、线程协作、对象生命周期、布局、主题和窗口缩放问题。适合做桌面界面开发、交互修复和配置同步，不适合把耗时逻辑直接塞进主线程。 gui-development name gui-development description 这个 skill 处理桌面 GUI。 重点是页面、弹窗、交互逻辑、配置编辑、日志展示和运行状态反馈。 技术栈是 PySide6 加 QFluentWidgets。 when_to_use 出现这些情况时用： 要改 software/ui/ 下的页面、对话框、导航、卡片、表格、日志面板。 配置项在 UI 里显示错、保存错、同步错。 运行状态、错误提示、日志展示不清楚。 主线程卡死、信号槽没接好、对象生命周期出问题。 这些情况别乱搞： 把网络、解析、平台逻辑直接塞进页面类。 在主线程里跑 HTTP、磁盘大 IO、长循环。 instructions 先读入口和页面装配点。 必读： software/app/main.py software/ui/shell/main_window.py software/ui/shell/main_window_parts/lazy_pages.py 相关页面模块 优先复用现有 PySide6 / QFluentWidgets 组件。 不要自己造一套风格。 耗时任务别堵主线程。 需要走线程、异步桥接、任务队列或现有控制层。 UI 改动时至少检查这些东西： 信号槽连接 对象生命周期 布局是否挤炸 深色模式 DPI 缩放 异常提示是否能看懂 涉及配置编辑时，先找真实读写路径。 重点看： software/app/settings_store.py software/app/user_paths.py 相关 software/io/ 和页面同步模块 涉及运行状态时，优先检查： software/ui/controller/ software/ui/pages/workbench/runtime_panel/ software/ui/pages/workbench/log_panel/ software/ui/pages/workbench/dashboard/ 不要吞异常。 用户至少要看到清楚的错误反馈，日志里也要能追。 修改后做基本 smoke test。 至少确保应用能启动，并能进入相关页面。 project_conventions GUI 主目录是真实存在的 software/ui/ 。 设置页、更多页、工作台页都通过主窗口懒加载组织，别乱改路由键。 资源路径别写死安装目录。只读资源看 software/app/runtime_paths.py ，用户可写配置看 software/app/user_paths.py 。 改 UI 优先用 QFluentWidgets 原生组件。 不要把内部解释、迁移提示、开发说明直接写进图形界面。 如果用了 Playwright MCP，本项目约束是用系统 Edge；但当前仓库规则同时禁止引入浏览器自动化依赖，普通 GUI 改动优先用 Qt smoke test。 common_commands uv run python SurveyController.py uv run pytest CI/unit_tests/app uv run pytest CI/unit_tests/app/test_runtime_panel_cards_qtbot.py uv run pytest CI/unit_tests/app/test_question_wizard_dialog_qtbot.py uv run pytest CI/unit_tests/app/test_quota_redeem_dialog.py uv run python CI/python_ci.py uv run python CI/python_ci.py --full rg \"QFluent|Signal|slot|qtbot|Page|Dialog\" software/ui CI/unit_tests/app validation_checklist 是否先读了主窗口、目标页面、相关控制器和配置读写代码。 是否复用了现有 PySide6 / QFluentWidgets 组件。 是否没有把耗时任务放到主线程。 信号槽、对象生命周期、布局、深色模式、缩放是否检查过。 配置项显示和实际配置读写是否一致。 日志、任务状态、错误反馈是否清楚，没有吞异常。 是否做了基本 GUI smoke test；没跑要说明原因。",
    "model_config": {
        "provider": "deepseek",
        "model": "deepseek-chat",
        "temperature": 0.7,
        "max_tokens": 4096,
        "top_p": 0.9
    },
    "trigger_words": [],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=surveycontroller-surveycontroller-codex-skills-gui-development-skill-md"
}