Skip to content
cccskills
FreePublished on GitHub

project-reconstruction

基于已有项目做重构/新建(搬家不重写)的完整流程 Skill。当用户需要从现有混乱项目迁移到干净新项目时激活,引导完成:新项目文件夹 → PM功能清单 → 技术架构+红蓝推演(回写闭环)→ Cursor规范配置 → 分Phase构建。

区别于 role-技术架构师(后者设计新技术方案):本 Skill 是迁移型,先盘点已有资产,再设计去哪里放。触发词:「基于已有项目重构」「重构方案」「新建项目并迁移」「搬家不重写」「从零开始但复用现有代码」「项目架构整改」。

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md12.5 KB
  • history/SKILL_v1.0_20260323.md10.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

基于已有项目重构 Skill(project-reconstruction)

版本:v1.1 · 2026-03-23

适用场景:现有项目技术债积累严重,但 90% 业务逻辑是对的,只是放错了地方。 核心原则:迁移单位是「目录结构和模块边界」,不是重写业务逻辑。

关联角色:

  • role-产品经理(Step 2:功能清单)
  • role-技术架构师(Step 3:框架设计)
  • role-审核者-系统破坏(Step 3.5:红蓝推演)
  • skill-designer(Step 4:Cursor 规范配置)

知识导航表(激活前按顺序读取)

层级文档用途
D0现有项目的 产品经理/产品定义.md了解当前产品是什么
D1现有项目的 产品经理/开发计划.md了解哪些功能已实现
D2现有项目的 技术架构师/*.md(若有)了解现有技术积累
D3_内部总控/认知结构/L1_系统性文档/系统架构思维维度/架构设计的认知根

激活后立即执行

Step 0:评估是否适合重构(而非增量整改)

与用户确认以下判断(全部 Yes 才进入重构流程):

□ 现有项目的技术债是「结构性的」(不是几个 Bug),改一个地方要追 3-5 个依赖方?
□ 业务逻辑大体正确,问题主要在「东西放错了地方」?
□ 可以接受约 1-2 周的迁移期(新旧项目并行)?
□ 核心数据(DB/文件系统)可以无损迁移?

若有 No → 评估增量整改是否更合适,向用户说明。 若全部 Yes → 继续 Step 1。


Step 1:新建项目文件夹 + 规范结构

在 项目群/ 下新建:{新项目名}/
├── 0_迁移决策/
│   └── 重构决策.md        ← Step 1 完成后写入
├── 1_产品定义/
│   └── 功能清单.md         ← Step 2 输出
├── 2_技术架构/
│   ├── 技术框架.md         ← Step 3 输出
│   └── 红蓝推演.md         ← Step 3.5 输出(必须回写到技术框架)
├── 3_开发计划/
│   └── 开发计划.md         ← Step 5 输出
├── 开发规范.md             ← Step 4 输出
└── README.md              ← 阅读顺序说明

写入 0_迁移决策/重构决策.md,包含:

  • 为什么选重构而非增量整改(具体原因,不是套话)
  • 哪些代码直接 copy,哪些需要重写(按文件级估计)
  • 数据迁移策略(DB/文件系统)
  • 风险评估(功能遗漏风险 / 数据迁移风险 / API兼容风险)

Step 2:PM 视角——功能清单(角色:role-产品经理)

目标:让「怕遗漏」的风险变成可验证的清单

执行以下操作:

  1. 读取 D0(现有产品定义)和 D1(开发计划),提取所有功能
  2. 按功能域分组,为每个功能标注状态:
    • ✅ 已实现且验证通过
    • ⚠️ 已实现但有已知缺陷(记录缺陷描述)
    • 🔄 正在开发中
    • ⏳ 规划中(明确需求但未实现)
    • ❌ 废弃(设计过但不再做)
  3. 为功能清单中每个功能分配优先级(P0/P1/P2/P3)

输出:1_产品定义/功能清单.md

验收:用户确认功能清单无遗漏(重点检查 ✅ 的功能是否都在新框架里有对应位置)


Step 3:技术架构师视角——新框架设计(角色:role-技术架构师)

目标:设计「第一天就是对的」的架构,然后把旧代码搬进来

执行顺序(不可跳过):

3a. 第一性原理推导

先定义核心数据模型(不看旧代码),回答:

这个系统的核心实体是什么?它们之间是什么关系?
每个实体的生命周期是什么?谁拥有谁?

3b. 模块切片(从依赖关系推导,不从旧项目目录推导)

按 Slice 依赖层次从底向上设计:

Slice 1(最底层,无依赖)→ Slice 2 → ... → Slice N(最上层)
每个 Slice:
  - 职责一句话
  - 对外接口(输入/输出)
  - 内部不对外暴露的内容
  - 与其他 Slice 的依赖关系

3c. 目录结构(从切片推导,不从旧项目复制)

每个 Slice 对应的目录,目录名应该直接体现 Slice 的职责。

3d. 关键接口定义(代码级,能直接实现的精度)

对每个 Slice 边界,写出 Python/TypeScript 接口定义(方法签名 + 一句话说明),确保:

任何工程师看到接口定义,可以不问任何问题直接实现

3e. 技术积累对应(读旧项目代码)

读现有项目的代码,对每个新框架模块,找到旧项目中对应的实现,标注:

[新框架模块] ← 来自 [旧项目文件/函数](直接 copy / 微调 / 重写)

3f. 设计决策记录(ADR)

任何非显而易见的设计选择,写 ADR:

ADR-NN:为什么选X而非Y
决策/原因/代价/验证方法

输出:2_技术架构/技术框架.md


Step 3.5:红蓝推演(角色:role-审核者-系统破坏)

⚠️ 这步是强制的,不是可选的

对 Step 3 输出的技术框架,执行安全/稳定性/可演化性攻击:

至少覆盖以下场景:

安全类:用户可控的输入如何攻击系统?(路径穿越/注入/越权)
并发类:多个请求同时操作同一资源会怎样?
一致性类:操作中断时,系统数据是否还自洽?
边界类:空状态/超大文件/特殊字符如何处理?
迁移类:旧数据迁入后,新系统能正确读取吗?

必须闭环:

发现问题(R编号)
    ↓
在技术框架里写修复(标注「来源:红蓝 Rx」)
    ↓
在红蓝报告里标注「已回写 ✅」
    ↓
在开发计划里写对应的单元测试(test_Rx_xxx)

⚠️ 禁止:写完红蓝报告就停。必须确认每个发现都已回写到技术框架。

输出:2_技术架构/红蓝推演.md(含回写状态表)


Step 4:建立项目规范(Cursor 规范层)

⚠️ 规范建在主工作区,不是子项目

规范文件建在 被激活的主 Cursor 工作区,不是新项目的子目录,因为 AI 始终在主工作区工作。

4a. 开发规范文档(写在新项目目录里,供人读)

{新项目}/开发规范.md 包含:

  • Phase 执行门槛(完成条件 = 测试通过,不是「基本完成」)
  • 代码约束(哪些做法被禁止,来自红蓝推演的发现)
  • 测试分层规范(单元/Layer0/Layer1 各自的责任边界)
  • 文档自洽规范(技术框架是单一真源)
  • AI 辅助开发规范(AI 不自决架构,只提方案等用户确认)

4b. Cursor Rule(写在主工作区)

在主工作区 .cursor/rules/ 下新建 1-3 个 project-specific Rule:

{项目名}-arch-guard.mdc(alwaysApply: false,触发词为项目名):

  • 本项目的架构约束(来自技术框架的禁止项)
  • Phase 完成门槛
  • 文档同步要求

注意:Rule 的 alwaysApply: true 仅用于系统级全局约束。项目级 Rule 用 description + 触发词激活,避免 context 膨胀。


Step 5:分 Phase 开发计划(开发计划.md)

按技术框架的 Slice 层次,从底层向上规划 Phase:

Phase 0:项目脚手架(目录结构 + 第一个 /health 端点)
Phase 1:Slice 1+2(最底层两个 Slice)
Phase 2:Slice 3+4
...
Phase N:数据迁移 + 切流量

每个 Phase 的标准格式:

### Phase N | ⬜ | [描述]

**目标**:[一句话,用户体感的变化]

**任务清单**(逐一勾选):
- [ ] [具体任务,包含文件名]

**测试**(在任务完成后运行):
- [ ] pytest tests/unit/test_xxx.py → X/X PASS
- [ ] integration_test.py --layer0 → X/X PASS

**验收**(人工确认,不可省略):
- [具体的用户操作,不是「功能正确」这种模糊表述]

关键约束:

  • Phase 顺序 = Slice 依赖顺序(不能跳过前置 Phase)
  • 每个 Phase 的验收必须包含 Layer 0 测试通过证明
  • Phase 标记为 ✅ 之前,必须已更新功能清单的对应项状态

输出:3_开发计划/开发计划.md


Skill 完成标准

本 Skill 执行完毕时,以下文档必须全部存在且内容完整:

文档最低内容要求
重构决策.md有具体原因,不是套话;有代码级迁移策略
功能清单.md覆盖现有所有功能,每个有状态和优先级
技术框架.md接口定义到方法签名级别;有技术积累对应表;红蓝发现已回写
红蓝推演.md有回写状态表(每个Rx标注已回写/接受风险)
开发规范.md有Phase完成门槛;有代码约束(可执行,不是原则)
开发计划.md每Phase有具体任务+测试+验收
主工作区 Rule至少一个project-specific Rule 在 .cursor/rules/ 下

常见失败模式

失败模式根因预防
红蓝推演写完就存档,没有回写把推演当「存档」而非「设计迭代」Step 3.5 明确要求每个Rx在框架里有对应
新框架「参考」旧项目目录,导致新项目和旧项目结构一样Step 3b 没有先做第一性原理,直接看旧目录Step 3a 必须先于 Step 3b(不看旧代码推导切片)
Rule 建在子项目目录,AI 工作时不自动激活不理解 Cursor 的 Rule 生效范围Step 4 明确指出 Rule 建在主工作区
Phase 完成但功能清单没更新文档同步被遗忘开发规范第五章 + doc-sync Rule
重写而非搬家(代码量翻倍)没有在迁移计划里标注「直接copy」重构决策.md 必须有文件级迁移策略
登录后全站 API 401(请求无 Authorization)前端 localStorage 读写 token 的 key 跨文件不一致(如 api.ts 读 A、AuthContext 写 B)迁移前 grep 全项目 localStorage.getItem/setItem,统一 key 并写入开发规范
后端 ModuleNotFoundError(旧 import 路径)文件迁入新包/目录后,模块内部仍 from routers.xxx 等旧路径,未随物理位置更新批量 grep 旧路径前缀,系统性替换 import;移动文件后复查该文件及调用方
前端调 API 404(端点不存在或路径错位)仅 copy 功能代码,未对照旧后端完整路由表;路径前缀(如 /cognition)或整段路由遗漏Phase 0 脚手架阶段列出旧项目全部注册路由,与新项目对照;缺失则补兼容端点或统一前后端契约

变更记录

v1.0 — 2026-03-22 — 初始创建

触发事件:tashan-openbrain_myagent 项目因架构债务积累(workspace 隔离失效、npc-content 外置、sources_dir 安全漏洞),决定创建 tashan-openbrain_v2 干净重建。本次执行过程(PM→架构师→红蓝→规范→计划)被提炼为通用 Skill。

核心经验:

  • 红蓝推演必须有回写闭环(不是存档)
  • Cursor Rule 必须建在主工作区(不是子项目目录)
  • 功能清单先行(防止迁移遗漏),技术框架后行(先第一性原理再看旧代码)

验证状态:✅ 已验证(tashan-openbrain_v2 完整走完本流程)

v1.1 — 2026-03-23 — 常见失败模式补充(v2 迁移实战)

根因:tashanbrain v2 迁移实战中出现 localStorage key 分裂、模块搬迁后 internal import 未更新、前后端路由不对照三类问题,原有「常见失败模式」未覆盖。

经验核心:复制代码不等于行为一致;token key、import 路径、HTTP 路由必须在迁移清单中可 grep、可对照。

修改内容:

  • 「常见失败模式」表格新增 3 行:localStorage token key 一致性、平台/模块迁移后 import 批量校正、Phase 0 旧路由清单与前后端契约对照。

验证结果:

  • 正向验证:下次迁移类任务中,执行者应能按表内「预防」列执行检查项 → 🔵 待验证

验证状态:🔵 待验证

备份路径:history/SKILL_v1.0_20260323.md

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

施测学术动机量表(AMS-GSR 28),采集科研人员的内在动机、外在动机和无动机数据。当用户选择填写量表、或画像中AMS数据缺失时使用。

The English summary is being prepared. Showing the original description.

TashanGKD/tashan-cursor-skills22Updated Apr 1, 2026

施测大五人格量表(Mini-IPIP,20题),评估外向性、宜人性、尽责性、神经质和开放性。当用户选择填写量表、或画像中人格数据缺失时使用。

The English summary is being prepared. Showing the original description.

TashanGKD/tashan-cursor-skills22Updated Apr 1, 2026

施测科研人员认知风格量表(RCSS),评估横向整合 vs 垂直深度的认知偏好。当用户选择填写量表、或画像中RCSS数据缺失时使用。

The English summary is being prepared. Showing the original description.

TashanGKD/tashan-cursor-skills22Updated Apr 1, 2026

AI配图能力层 Skill。任何需要生成信息图的任务都调用此 Skill,而不是自行调用 API。包含:模型选择、API调用、多视角草图流程、风格库引用、配图索引联动。触发词:「需要绘图」「生成配图」「画一张图」「制作信息图」「根据这段文字画图」「图片提示词」。

The English summary is being prepared. Showing the original description.

TashanGKD/tashan-cursor-skills22Updated Apr 1, 2026

架构/系统差距分析 Skill。将当前系统/代码库/文档与目标框架/标准/竞品对比,生成带证据链的差距报告(兼容/冲突/缺失三类),为整改计划提供输入。触发词:「对比XXX和YYY」「这两个项目有什么异同」「找出差距」「现有系统与目标有什么不对齐」「竞品分析」「和XXX相比缺什么」。

The English summary is being prepared. Showing the original description.

TashanGKD/tashan-cursor-skills22Updated Apr 1, 2026

分析文章可用的多种配图视角,为每个角度生成提示词草图供用户选择。触发词:帮我分析配图角度/生成多视角草图/配图有几种选择/给我几个配图方案。

The English summary is being prepared. Showing the original description.

TashanGKD/tashan-cursor-skills22Updated Apr 1, 2026

See all skills by TashanGKD

Report a problem with this skill