Add cc-switch-dev-workflow skill

这个提交包含在:
X
2026-03-26 00:27:17 -07:00
父节点 fc8ad7c145
当前提交 dcb2a10ad8
修改 46 个文件,包含 3393 行新增0 行删除

查看文件

@@ -0,0 +1,71 @@
# Platform Policy: Framework Decision Matrix
## Purpose
`Next.js 全栈``Hono + React SSR/TanStack` 两条允许轨道之间做可重复的选择,而不是让 agent 自行随机决定。
## When to Use
- 新项目初始化时
- 老项目需要明确迁移目标时
- 团队对 “Next.js 还是 Hono” 出现争议时
## Inputs
- 产品是否以前端页面为主
- API 边界是否需要长期清晰分层
- SSR/边缘部署要求
- 团队是否需要复用独立服务层
## Outputs
- 选定轨道
- 该轨道下保留或替代的技术组合
## Primary Agent/Model
`GPT-5.4 Pro xhigh`
## Secondary Agent/Model
`Claude Opus 4.6`
## Required Skills
- `spec-reviewing`
## Steps
1. 先看项目交付形态和团队协作方式。
2. 按矩阵选一条轨道,不接受双主栈并行。
3. 把选择结果写入 `CLAUDE.md` 和 Setup 阶段产物。
## Exit Criteria
- 轨道已经确定
- 相关被替代组件已经说明清楚
## Failure Recovery
- 如果出现两条轨道同时存在的设计,先回到单轨道
- 如果团队只是因为“看起来都不错”而摇摆,优先选择更有边界感的 `Hono + React SSR/TanStack`
## Related Templates
- [`../templates/claude-md-template.md`](../templates/claude-md-template.md)
## Decision Matrix
| 条件 | 选 `Hono + React SSR/TanStack` | 选 `Next.js 全栈` |
|---|---|---|
| 需要清晰前后端边界 | 是 | 否 |
| 需要独立服务层或未来拆服务 | 是 | 否 |
| 团队希望统一 `TanStack Router + Query` 心智 | 是 | 否 |
| 更看重单仓单应用的快速落地 | 否 | 是 |
| 页面和服务逻辑高度耦合 | 否 | 是 |
| 需要高度可控的 API 中间层 | 是 | 否 |
## Track A: Hono + React SSR/TanStack
- 默认场景:内部工具、业务系统、需要清晰服务边界的产品
- 固定组合:`Hono` + `React` + `TanStack Router` + `TanStack Query` + `Better Auth` + `shadcn/ui` + `Tailwind` + `Drizzle`
- 优点:边界清晰,迁移和拆分成本低,适合多 agent 任务切片
- 代价:初始装配稍多,需要更强的工程纪律
## Track B: Next.js Full Stack
- 默认场景:页面驱动、内容驱动、单体交付优先的应用
- 固定组合:`Next.js` + `React` + `Better Auth` + `shadcn/ui` + `Tailwind` + `Drizzle`
- 替代说明:本轨道中 `Next.js App Router` 替代 `TanStack Router`;服务层由 `route handlers / server actions` 替代 `Hono`
- 优点:统一框架、上手快、页面与服务同仓同形态
- 代价:边界容易模糊,后续抽服务时需要更多治理
## Tie-Break Rule
- 如果没有明确理由支持 `Next.js 全栈`,默认回到 `Hono + React SSR/TanStack`

查看文件

@@ -0,0 +1,69 @@
# Platform Policy: Model Routing
## Purpose
`CC Switch` 提供默认模型路由,明确 `GPT-5.4 Pro xhigh``Claude Opus 4.6` 与 fallback 模型的职责分工。
## When to Use
- 为新项目配置多 agent 工作模式时
- 当前任务需要模型切换时
- 遇到模型长文处理、复杂推演或受限场景时
## Inputs
- 当前阶段
- 任务类型
- 文档长度
- 是否需要第二视角复核
## Outputs
- 默认主模型
- 默认辅模型
- 受控 fallback 路径
## Primary Agent/Model
`GPT-5.4 Pro xhigh`
## Secondary Agent/Model
`Claude Opus 4.6`
## Required Skills
- 无强制 skill;受 `CC Switch` 编排规则约束
## Steps
1. 按任务类型选择主模型。
2. 需要长文消化或二次复核时并行交给 `Claude Opus 4.6`
3. 遇到主模型受限或厂商覆盖不足时,仅在合规范围内启用 fallback。
4. fallback 输出必须被压缩回标准 handoff,再回主线程继续。
## Exit Criteria
- 当前任务已有清晰主辅模型
- fallback 只在受限范围使用,且结果已标准化
## Failure Recovery
- 如果模型切换导致上下文漂移,回到 handoff 模板重新压缩
- 如果团队开始按个人偏好随意换模型,回到本页固定路由
## Related Templates
- [`../templates/agent-handoff-template.md`](../templates/agent-handoff-template.md)
- [`../templates/analysis-template.md`](../templates/analysis-template.md)
## Default Routing
| 任务类型 | 主模型 | 辅模型 |
|---|---|---|
| 研究规划、任务拆分、复杂推演 | `GPT-5.4 Pro xhigh` | `Claude Opus 4.6` |
| 长会议纪要、长参考文档消化 | `Claude Opus 4.6` | `GPT-5.4 Pro xhigh` |
| Spec 编写和结构化文档定稿 | `GPT-5.4 Pro xhigh` | `Claude Opus 4.6` |
| Spec 审查、第二视角复核 | `Claude Opus 4.6` | `GPT-5.4 Pro xhigh` |
| TDD 实施、Gap 收敛、重构执行 | `GPT-5.4 Pro xhigh` | `Claude Opus 4.6` |
## Fallback Policy
- 可用模型:`GLM``Minimax``Kimi`
- 仅限场景:主模型在合规范围内无法继续分析、厂商覆盖不足、特定问题需要补充视角
- 不是默认路线fallback 不能直接成为项目主链路
- 输出要求:必须回写为标准 handoff,包含 `Goal / Scope / Source of Truth / Constraints / Deliverable / Validation`
## Reset Rule
- 阶段切换时 reset
- 大型研究转规范时 reset
- 覆盖长文档后进入实施前 reset
- 发生 fallback 后,必须 reset 并只带 handoff 摘要继续

查看文件

@@ -0,0 +1,82 @@
# Platform Policy: Stack Whitelist
## Purpose
定义 v1 默认技术栈白名单、禁用项和例外审批接口,避免让 agent 在项目主链路上随机选型。
## When to Use
- 新项目立项时
- 老项目需要补一套统一技术栈约束时
- agent 要新增框架、语言或关键基础设施时
## Inputs
- 项目类型
- 产品形态
- 现有遗留约束
- 性能与交付要求
## Outputs
- 允许的主链路技术栈
- 禁用项
- 例外审批流程
## Primary Agent/Model
`GPT-5.4 Pro xhigh`
## Secondary Agent/Model
`Claude Opus 4.6`
## Required Skills
- `ralphy-initializing`
- `spec-reviewing`
## Steps
1. 先判断项目是 `Next.js 全栈` 还是 `Hono + React SSR/TanStack`
2. 在允许的轨道内固定 UI、数据层、鉴权、样式和 ORM 方案。
3. 把选型写进 `CLAUDE.md`、Spec 和脚手架说明。
4. 如需偏离白名单,先走 ADR 和审批,再更新模板与执行说明。
## Exit Criteria
- 项目主链路的语言、框架、数据访问、鉴权和样式方案均已固定
- 例外项已被 ADR 化,并同步到模板和执行说明
## Failure Recovery
- 如果 agent 引入未批准语言或框架,停止实现并回退到白名单决策
- 如果项目同时混用多套主路由/状态/ORM 方案,立即收敛为单一路线
## Related Templates
- [`../templates/claude-md-template.md`](../templates/claude-md-template.md)
- [`../templates/spec-template.md`](../templates/spec-template.md)
## Default Whitelist
- 语言:`TypeScript`
- UI`React`
- 样式:`Tailwind CSS`
- 组件:`shadcn/ui`
- 鉴权:`Better Auth`
- 数据获取:`TanStack Query`
- 路由:`TanStack Router``Next.js App Router`,按轨道二选一
- 服务层:`Hono``Next.js route handlers / server actions`,按轨道二选一
- ORM`Drizzle`
- 数据库:`PostgreSQL`
## Default Track Preference
- 默认优先:`Hono + React SSR/TanStack`
- 条件允许时可选:`Next.js 全栈`
## Hard Bans On The Application Main Path
- 禁止 `Python` 作为产品应用主链路语言
- 禁止 `PHP` 作为产品应用主链路语言
- 禁止无类型的 `JavaScript-only` 作为默认实现路线
- 禁止未经 ADR 批准的第二套路由、鉴权、ORM 或样式体系并存
## Allowed Exceptions
- 既有遗留系统必须兼容,且短期无法迁移
- 明确的第三方平台限制只支持某一特定方案
- 已被性能分析证明主链路栈无法满足约束
- 一次性离线工具、迁移脚本或数据清洗脚本
## Exception Interface
- 谁批准:项目 owner + 技术负责人
- 需要补什么ADR、`CLAUDE.md` 更新、相关 Spec 更新
- 要同步哪里playbook 说明、模板默认值、handoff 约束
- 何时失效:例外只对当前项目或当前子系统生效,不自动扩散为默认规则