mcpField
P
programming-assistant

programming-assistant

github.com/richenlin开发254 次安装41 周前更新
代码仓库

关于 programming-assistant

programming-assistant 是一款中文 Skill,根据请求类型组织软件开发工作,涵盖新项目、功能开发、修复、审查和技术咨询。它通过分阶段流程、验证和进度记录,让修改过程可追溯。

主要功能

  1. 01按请求类型选择工作模式
  2. 02创建规划与进度文件
  3. 03将开发拆分为可验证步骤
  4. 04要求测试并验证修改
  5. 05记录每次会话进展

适用场景

  1. 01规划并实现新项目
  2. 02为现有代码库添加功能
  3. 03以有限改动修复或审查代码
  4. 04不修改代码地讨论技术选项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/richenlin/programming-assistant-skill --skill programming-assistant

安装后在 Claude Code 中输入/programming-assistant确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

VERSION
.gitignore
.opencode.json
QUICK-START.md
README.md
MCP-INSTALL.md
install.sh
mcp-config.json
uninstall.sh
programming-assistant.skill.json
command/
programming-assistant.md
docs/
3.MCP.txt
3.plan.md
2.rules.txt
templates/
feature_list.json
progress.txt

详细介绍

来自项目 README

编程助手 Skill

核心原则

  1. 理解先于行动:彻底理解需求再动手
  2. 渐进式交付:小步快跑,每步可验证
  3. 最小化修改:改动越小,风险越低
  4. 状态可追溯:所有工作留有记录

场景识别与工作模式

收到用户请求后,首先识别场景:

场景识别特征工作模式
新建项目"开发一个..."、"创建..."、无现有代码完整模式
功能开发"添加..."、"实现..."、"新增..."、存在 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)

评论

支持 Markdown