# Nuedc Full Runner

> 仅在用户明确选择电赛完整工程流程、工程任务包和分阶段文档时使用；提供审题、代码架构、实现周期和验证记录。普通初学者协作、单个调试问题或仅提供赛题 PDF 时不启动此重流程，优先使用 diansai-collab。

- Skill: `54xkeee/nuedc-full-runner` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add 54xkeee/nuedc-full-runner`
- Raw SKILL.md: https://api.skillmd.com/api/skills/54xkeee/nuedc-full-runner/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: 54xkeee (https://skillmd.com/u/54xkeee)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/54xkeee/nuedc-full-runner

---


# NUEDC Full Runner

这是保留的可选专业流程。仅在已确认上述适用范围后执行下面的多文件工作方式；普通电赛人机协作直接使用 `diansai-collab`，无需补齐这里的文档。

这是一个上层 Orchestrator skill。它不重复底层专业知识，而是决定当前缺哪个工程产物、该调用哪类能力、何时停止、何时进入代码实现。

## 核心原则

- 第一轮输入完整赛题时，默认长跑，不直接写完整代码。
- 先落盘，再推进；重要结论必须写入项目目录中的 Markdown artifact。
- 用“缺失产物”驱动下一步，不用固定死板的 A -> B -> C 顺序。
- 专家 skill 只作为能力模块；全局状态、阶段门槛和最终汇总由本 skill 维持。
- 未明确主矛盾、MVP、观测变量和验证门槛前，不进入完整实现。
- 每个代码周期只实现可构建、可观测、可验证的一段。

## 项目内 Artifact

启动后在用户项目目录维护这些文件：

| 文件 | 作用 |
| --- | --- |
| `task_plan.md` | 总阶段、当前状态、下一步 |
| `findings.md` | 赛题事实、用户确认、合理推断、待确认项 |
| `progress.md` | 会话日志、命令结果、失败记录 |
| `nuedc_task_package.md` | 得分路径、闭环、主矛盾、MVP、工程任务书 |
| `code_architecture.md` | 模块职责、接口、状态机、日志和共享状态 |
| `cycle_contract.md` | 当前实现周期的目标、文件、接口、验证命令、停止条件 |
| `verification_log.md` | 编译、烧录、串口、实测和门槛结果 |

若 `planning-with-files-zh` 可用，优先按它的规则创建和更新前三个文件。其余四个文件可参考本 skill 的 `templates/`。

## Artifact Router

每次行动前先判断当前状态：

| 当前缺失或问题 | 下一步 |
| --- | --- |
| 没有 `task_plan.md`、`findings.md`、`progress.md` | 建立持久计划文件 |
| 只有原始题面，没有赛题工程包 | 使用 `analyze-nuedc-task` 思路生成 `nuedc_task_package.md` |
| 有工程包，但没有代码架构 | 使用 `nuedc-code-planner` 思路生成 `code_architecture.md` |
| 有代码架构，但没有当前周期契约 | 生成或更新 `cycle_contract.md` |
| 当前周期涉及 STM32、Keil、CubeMX、`.ioc`、HAL、烧录或串口 | 使用 `stm32-keil` 或 `stm32cubemx` |
| 当前周期未通过验证门槛 | 修复当前周期，不进入下一周期 |
| 缺少关键硬件、引脚、协议、评分规则或测试判据 | 停止并集中提问 |

## 第一轮长跑流程

第一轮收到完整赛题时，按下面的运行循环推进，直到形成可执行的下一步，或遇到停止条件：

1. 恢复或创建规划文件。
2. 保存题面来源和已读范围；PDF、图片或网页内容只写入 `findings.md`。
3. 拆出赛题事实、评分项、约束、未知项和用户已确认条件。
4. 生成 `nuedc_task_package.md`，至少包含得分路径、五类闭环、主矛盾、MVP-0、MVP-1、工程任务书、观测变量和停止条件。
5. 检查是否允许进入代码规划；如果主矛盾或接口不清楚，停止提问。
6. 生成 `code_architecture.md`，只设计必要模块、接口、状态机、日志和 2 到 3 个代码周期。
7. 生成 `cycle_contract.md`，只选择 Cycle 1 或当前最小可验证周期。
8. 如果已有工程且信息足够，才开始实现当前周期。
9. 运行最强可用验证，并把结果写入 `verification_log.md` 与 `progress.md`。
10. 总结本轮产物、验证状态、下一步和阻塞项。

## 专家能力调度

### planning-with-files-zh

用于所有超过 3 步或需要多轮工具调用的赛题工作。规则：

- 若规划文件存在，先读取 `task_plan.md`、`findings.md`、`progress.md`。
- 每完成一个阶段，更新 `task_plan.md` 状态。
- 每次工具或文件操作产生关键发现后，更新 `progress.md` 或 `findings.md`。
- 外部题面、网页、PDF、图片识别内容只写入 `findings.md`，不要写入 `task_plan.md`。

### analyze-nuedc-task

用于把原始赛题编译成工程任务包。输出必须分清：

- 赛题事实
- 用户已确认条件
- 合理推断
- 待确认项
- 基础得分闭环
- 提高得分闭环
- 一至两个主矛盾
- MVP-0 主矛盾验证原型
- MVP-1 最小得分闭环
- 非代码问题和停止条件

### nuedc-code-planner

用于把工程任务包转成代码实现计划。进入此阶段前必须已有：

- 得分路径
- 主矛盾
- MVP-0 / MVP-1
- 观测变量
- 验证门槛

输出只允许包含 2 到 3 个高层周期。Cycle 1 必须是框架和基础 IO 可观测，不得直接实现全部发挥项。

### stm32-keil / stm32cubemx

用于 STM32 平台落地。进入前必须明确或记录为待确认：

- MCU 或开发板型号
- 外设列表
- 引脚表或缺失引脚
- 时钟来源
- 编译工具链
- 烧录方式
- 串口或其他日志通道

若缺少会导致错误接线、错误 `.ioc` 或错误烧录的信息，停止并问用户。

## 阶段门槛

| 阶段 | 必须通过的门槛 |
| --- | --- |
| 赛题理解 | 评分项、约束、未知项已分离 |
| 工程任务包 | 得分路径、主矛盾、MVP、观测变量已形成 |
| 代码规划 | 模块职责、接口、状态机、日志、周期门槛已形成 |
| Cycle 1 | 工程能构建，基础 IO 或模拟 IO 可观测 |
| Cycle 2 | 最小得分闭环可启动、运行、完成、超时或失败并可从日志定位 |
| Cycle 3 | 发挥项按依赖顺序集成，完整流程有恢复和降级 |

未通过当前门槛时，只能修复当前阶段或停止提问，不得继续堆功能。

## 输出节奏

第一轮长跑结束时，最终回复必须包含：

- 创建或更新的 artifact。
- 当前完成到哪个阶段。
- 已明确的主矛盾和 MVP。
- 当前 Cycle 的目标和验证命令。
- 已运行的验证和结果。
- 阻塞项或需要用户确认的信息。

## 停止条件

遇到以下情况停止生成完整代码：

- 评分路径或操作规则无法从题面确定。
- 关键传感器、执行器、协议、引脚或供电能力未知。
- 主矛盾没有可观测变量。
- 没有实测数据却要求最终 PID、滤波、阈值或保护参数。
- 当前最小闭环没有通过，却要求实现高级发挥项。
- 问题明显属于机械、供电、信号完整性或测试方法，不能靠代码单独解决。

