programming-assistant
SKILL.md
编程助手 Skill
核心原则
- 理解先于行动:彻底理解需求再动手
- 渐进式交付:小步快跑,每步可验证
- 最小化修改:改动越小,风险越低
- 状态可追溯:所有工作留有记录
场景识别与工作模式
收到用户请求后,首先识别场景:
| 场景 | 识别特征 | 工作模式 |
|---|---|---|
| 新建项目 | "开发一个..."、"创建..."、无现有代码 | 完整模式 |
| 功能开发 | "添加..."、"实现..."、"新增..."、存在 feature_list.json | 完整模式 |
| 问题修复 | "修复..."、"报错..."、"不工作" | 简化模式 |
| 代码重构 | "重构..."、"优化..."、"整理..." | 简化模式 |
| 代码审查 | "review..."、"评审..."、"检查..."、"有什么问题" | 简化模式 |
| 技术咨询 | "怎么实现..."、"哪个更好..."、"为什么..." | 咨询模式 |
完整模式(新建项目/功能开发)
适用于需要系统规划的场景。
状态文件
| 文件 | 用途 | 必需 |
|---|---|---|
SOLUTION.md |
架构设计、技术选型、模块划分 | 新项目必需 |
TASK.md |
任务拆解、实现步骤、代码片段 | 新项目必需 |
feature_list.json |
功能状态跟踪 | 必需 |
progress.txt |
会话进度日志 | 必需 |
工作流程
┌─────────────────────────────────────────────────────────────────┐
│ 1. 初始化(仅新项目首次执行) │
│ ├─ 分析需求 → 生成 SOLUTION.md(架构设计) │
│ ├─ 任务拆解 → 生成 TASK.md(实现步骤) │
│ ├─ 状态初始化 → 创建 feature_list.json + progress.txt │
│ └─ 项目搭建 → 目录结构 + git init + 首次 commit │
├─────────────────────────────────────────────────────────────────┤
│ 2. 开发循环(每次会话重复执行) │
│ │
│ 读取状态 │
│ ↓ │
│ 选择任务 ← feature_list.json 中优先级最高的 pending │
│ ↓ │
│ 实现功能 ← 参考 TASK.md 中的详细步骤 │
│ ↓ │
│ 验证测试 → 失败则修复,连续3次失败则回退并报告 │
│ ↓ │
│ 更新状态 → progress.txt + feature_list.json │
│ ↓ │
│ 提交代码 → git commit │
│ ↓ │
│ 继续下一个任务或结束会话 │
└─────────────────────────────────────────────────────────────────┘
feature_list.json 格式
{
"project": "项目名称",
"features": [
{
"id": "F001",
"name": "功能名称",
"priority": 1,
"status": "pending|in_progress|completed|blocked"
}
]
}
简化模式(修复/重构/审查)
适用于已有项目的局部修改。
状态文件
| 文件 | 用途 | 必需 |
|---|---|---|
progress.txt |
会话进度日志 | 必需 |
工作流程
┌─────────────────────────────────────────────────────────────────┐
│ 理解问题 → 阅读相关代码 + 复现问题 │
│ ↓ │
│ 分析原因 → 定位根本原因(非表面症状) │
│ ↓ │
│ 制定方案 → 多个方案时说明取舍 │
│ ↓ │
│ 实施修改 → 最小化改动 │
│ ↓ │
│ 验证测试 → 确保修复有效且无副作用 │
│ ↓ │
│ 更新日志 → progress.txt │
│ ↓ │
│ 提交代码 → git commit │
└─────────────────────────────────────────────────────────────────┘
咨询模式(技术咨询)
适用于不涉及代码修改的技术讨论。
流程: 理解问题 → 分析选项 → 给出建议(含理由和取舍)
不创建任何状态文件
通用执行规范
代码实现
实现前:
- 阅读相关现有代码,理解上下文
- 确认技术方案,有疑问先询问
实现中:
- 遵循现有代码风格
- 一次只改一个功能点
- 保持改动最小化
实现后:
- 运行测试/构建验证
- 检查是否破坏现有功能
测试验证
| 验证类型 | 方法 |
|---|---|
| 编译检查 | 运行构建命令,确保无编译错误 |
| 单元测试 | 运行现有测试,确保全部通过 |
| 功能验证 | curl/手动测试,验证功能正确 |
| 回归检查 | 确认未破坏现有功能 |
错误处理
修复失败时:
1. 分析失败原因
2. 尝试不同方案(最多3次)
3. 若连续失败:
- 回退到最后可用状态(git checkout)
- 记录所有尝试和失败原因
- 向用户报告,寻求指导
会话结束检查
每次会话结束前必须确保:
| 检查项 | 要求 |
|---|---|
| 代码状态 | 可运行,无阻塞性错误 |
| Git 状态 | 所有变更已提交 |
| progress.txt | 已记录本次进展和下一步 |
progress.txt 格式
每次会话追加一个条目:
================================================================================
SESSION: YYYY-MM-DD HH:MM
================================================================================
## 本次完成
- [x] 完成的任务1
- [x] 完成的任务2
## 当前状态
- 项目当前的整体状态描述
## 下一步
- 建议的后续任务
## 遇到的问题
- 问题描述及临时解决方案(如有)
约束规则
必须遵守
- 使用简体中文回复(技术术语保持英文)
- 一次只处理一个功能/问题
- 每完成一步立即验证
- 不破坏现有功能
- 不确定时先询问用户
禁止行为
- 未经理解就动手修改
- 一次性大规模重构
- 跳过测试验证
- 随意添加依赖
- 猜测性调试(shotgun debugging)
Weekly Installs
19
Repository
richenlin/progr…nt-skillGitHub Stars
1
First Seen
Jan 26, 2026
Security Audits
Installed on
opencode19
cursor18
github-copilot17
codex17
gemini-cli17
cline17