Design: {title}
Generated by /office-hours on {date} Branch: {branch} Repo: {owner/repo} Status: DRAFT Mode: Startup Supersedes: {prior filename — omit this line if first design on this branch}
Problem Statement
{from Phase 2A}
Demand Evidence
{from Q1 — specific quotes, numbers, behaviors demonstrating real demand}
Status Quo
{from Q2 — concrete current workflow users live with today}
Target User & Narrowest Wedge
{from Q3 + Q4 — the specific human and the smallest version worth paying for}
Constraints
{from Phase 2A}
Premises
{from Phase 3}
Cross-Model Perspective
{If second opinion ran in Phase 3.5 (Codex or Claude subagent): independent cold read — steelman, key insight, challenged premise, prototype suggestion. Verbatim or close paraphrase. If second opinion did NOT run (skipped or unavailable): omit this section entirely — do not include it.}
Approaches Considered
Approach A: {name}
{from Phase 4}
Approach B: {name}
{from Phase 4}
Recommended Approach
{chosen approach with rationale}
Open Questions
{any unresolved questions from the office hours}
Success Criteria
{measurable criteria from Phase 2A}
Distribution Plan
{how users get the deliverable — binary download, package manager, container image, web service, etc.} {CI/CD pipeline for building and publishing — GitHub Actions, manual release, auto-deploy on merge?} {omit this section if the deliverable is a web service with existing deployment pipeline}
Dependencies
{blockers, prerequisites, related work}
The Assignment
{one concrete real-world action the founder should take next — not "go build it"}
What I noticed about how you think
{observational, mentor-like reflections referencing specific things the user said during the session. Quote their words back to them — don't characterize their behavior. 2-4 bullets.}
模板各章节与技能主体阶段一一对应:Problem Statement/Constraints/Success Criteria 来自 Phase 2A 诊断;Demand Evidence 对应 Q1、Status Quo 对应 Q2、Target User & Narrowest Wedge 对应 Q3+Q4;Premises 来自 Phase 3 前提挑战;Approaches Considered 来自 Phase 4 强制备选一;Cross-Model Perspective 只在 Phase 3.5 第二意见**实际运行**时才包含,否则整节省略——这是硬性约束,防止模板空壳。
### Builder 模式设计文档模板
Builder 模式服务个人项目、黑客松、学习与开源场景,模板重心从"需求证据"转向"爽点与构建路径":
```markdown
# Design: {title}
Generated by /office-hours on {date}
Branch: {branch}
Repo: {owner/repo}
Status: DRAFT
Mode: Builder
Supersedes: {prior filename — omit this line if first design on this branch}
## Problem Statement
{from Phase 2B}
## What Makes This Cool
{the core delight, novelty, or "whoa" factor}
## Constraints
{from Phase 2B}
## Premises
{from Phase 3}
## Cross-Model Perspective
{If second opinion ran in Phase 3.5 (Codex or Claude subagent): independent cold read — coolest version, key insight, existing tools, prototype suggestion. Verbatim or close paraphrase. If second opinion did NOT run (skipped or unavailable): omit this section entirely — do not include it.}
## Approaches Considered
### Approach A: {name}
{from Phase 4}
### Approach B: {name}
{from Phase 4}
## Recommended Approach
{chosen approach with rationale}
## Open Questions
{any unresolved questions from the office hours}
## Success Criteria
{what "done" looks like}
## Distribution Plan
{how users get the deliverable — binary download, package manager, container image, web service, etc.}
{CI/CD pipeline for building and publishing — or "existing deployment pipeline covers this"}
## Next Steps
{concrete build tasks — what to implement first, second, third}
## What I noticed about how you think
{observational, mentor-like reflections referencing specific things the user said during the session. Quote their words back to them — don't characterize their behavior. 2-4 bullets.}
两模式的关键差异:Startup 模板有 Demand Evidence / Status Quo / Target User & Narrowest Wedge / The Assignment(给创始人布置一个具体现实行动,而不是"go build it"),Builder 模板则用 What Makes This Cool 与 Next Steps(第一、第二、三步具体构建任务)替代。两种模式下 "What I noticed about how you think" 都要求引用用户原话而非刻画其行为,这是与后文交接话术共用的 anti-slop 纪律。
写后告知
写入完成后必须对用户说:
"Design doc saved to: {repo path if written, else ~/.gstack path}{when both: ' (cross-session copy in ~/.gstack)'}. Other skills (/plan-ceo-review, /plan-eng-review) will find it automatically."
即明确告知落盘路径,并承诺下游技能会在 pre-review 系统审计时自动发现 ~/.gstack/projects/ 下的设计文档。
Spec Review Loop:交用户审批前的对抗式自评
在设计文档呈现给用户之前,先跑一轮对抗性评审。核心思想是上下文隔离:评审者是一个全新的 subagent,它看不到头脑风暴对话,只看到文档本身,从而保证真正的"对抗独立性"。
Step 1:派发评审 subagent
用 Agent 工具派发一个独立评审者,提示词包含:文档刚写入的文件路径,以及"在 5 个维度上评审,每个维度给 PASS 或列出带修复建议的具体问题,最后输出 1-10 分质量分"。
五个维度:
- Completeness(完整性) — 是否覆盖所有需求?遗漏边界情况?
- Consistency(一致性) — 文档各部分是否互相矛盾?
- Clarity(清晰度) — 工程师能否不提问就实现?语言是否含糊?
- Scope(范围) — 是否蔓延出原始问题?有无 YAGNI 违规?
- Feasibility(可行性) — 按所述方案真能建出来吗?有无隐藏复杂度?
subagent 应返回:质量分(1-10),以及 PASS 或带维度/描述/修复建议的问题编号列表。
Step 2:修复并重新派发(最多 3 轮)
若评审返回问题:1) 用 Edit 工具直接修磁盘上的文档;2) 用更新后的文档重新派发评审;3) 最多 3 轮迭代。
收敛保护(Convergence guard):如果连续两轮返回相同问题(修复没解决,或评审者不同意修复),停止循环,把这些未决问题以 "Reviewer Concerns" 一节持久化进文档,而不是继续空转。
若 subagent 失败、超时或不可用——整个评审循环直接跳过,告知用户 "Spec review unavailable — presenting unreviewed doc."。文档已在磁盘上,评审只是质量加分项而非门禁(quality bonus, not a gate)。
Step 3:汇报并持久化指标
循环结束后(PASS、达到轮数上限、或触发收敛保护):
- 向用户汇报结果,默认给摘要:"Your doc survived N rounds of adversarial review. M issues caught and fixed. Quality score: X/10." 用户追问"评审到底发现了什么"才展示完整输出。
- 若 3 轮后仍有问题,在文档中追加 "## Reviewer Concerns" 一节逐条列出——下游技能会看到它。
- 追加分析指标(把 ITERATIONS/FOUND/FIXED/REMAINING/SCORE 替换为实际值):
mkdir -p ~/.gstack/analytics
echo '{"skill":"office-hours","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","iterations":ITERATIONS,"issues_found":FOUND,"issues_fixed":FIXED,"remaining":REMAINING,"quality_score":SCORE}' >> ~/.gstack/analytics/spec-review.jsonl 2>/dev/null || true
评审指标按 JSONL 追加到 ~/.gstack/analytics/spec-review.jsonl,与 preamble 中的 skill-usage.jsonl 一样构成 gstack 的本地分析层。
用户审批:三个选项
评审完成后,通过 AskUserQuestion 把文档交给用户:
- A) Approve — 把 Status 改为 APPROVED,进入交接(Phase 6);
- B) Revise — 指定哪些章节需要改,循环回改这些章节;
- C) Start over — 回到 Phase 2。
Brain Calibration Write-Back 与缓存后台刷新
校准回写(Phase 2 / gated)
当技能做出一个值得跟踪的类型化预测(范围决策、TTHW 目标、架构押注、楔子承诺)时,可以向 brain 写入一条 kind=bet 的 take,以便随时间积累校准画像。该回写受两道门禁约束:
- 当前端点的 brain 信任策略必须是
personal(通过~/.claude/skills/gstack/bin/gstack-config get brain_trust_policy@<endpoint-hash>检查,bin/gstack-config 提供配置读写)。共享 brain 跳过回写,避免污染团队校准。 - 特性开关
BRAIN_CALIBRATION_WRITEBACK已置位——原文注明当前为 false,等上游 gbrain v0.42+ 提供takes_addMCP 操作后翻为 true。
两关都过之后,写入路径优先使用 mcp__gbrain__takes_add 记录一条权重 0.9 的 take(依据 SKILL_CALIBRATION_WEIGHTS);若该 MCP 操作不可用,回退到 mcp__gbrain__put_page 加 gstack:takes 围栏块(文档注明这是"文档化了但更丑的路径")。take 的强制 frontmatter 形状:
kind: bet
holder: <user identity from whoami>
claim: <one-line prediction the skill is making>
weight: 0.9
since_date: <today's date>
expected_resolution: <date in 1-3 months depending on skill>
source_skill: office-hours
写入后使受影响摘要失效,保证下次 preflight 反映新状态:
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)" 2>/dev/null || true
~/.claude/skills/gstack/bin/gstack-brain-cache invalidate product --project "$SLUG" 2>/dev/null || true
~/.claude/skills/gstack/bin/gstack-brain-cache invalidate goals --project "$SLUG" 2>/dev/null || true
~/.claude/skills/gstack/bin/gstack-brain-cache invalidate competitive-intel --project "$SLUG" 2>/dev/null || true
对应的缓存二进制为 bin/gstack-brain-cache。这一机制有专门的端到端测试覆盖,见 test/skill-e2e-office-hours-brain-writeback.test.ts。
Brain Cache 后台刷新
技能工作完成(且遥测已记录)后,对所有接近 TTL 的缓存摘要发起后台刷新。非阻塞,用户不等待;下次调用受益于热缓存:
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)" 2>/dev/null || true
(~/.claude/skills/gstack/bin/gstack-brain-cache refresh --project "$SLUG" 2>/dev/null &) || true
子 shell 加 & 使刷新进程脱离当前终端,|| true 保证任何失败都不影响收尾——这是 gstack 各章节普遍采用的"最佳努力、永不阻塞"模式。
Phase 6:交接——"关系收尾"
设计文档 APPROVED 之后进入收尾序列。收尾话术随用户做 office hours 的次数自适应,随时间加深关系。
Step 1:读取 Builder Profile
PROFILE=$(~/.claude/skills/gstack/bin/gstack-builder-profile 2>/dev/null) || PROFILE="SESSION_COUNT: 0
TIER: introduction"
SESSION_TIER=$(echo "$PROFILE" | grep "^TIER:" | awk '{print $2}')
SESSION_COUNT=$(echo "$PROFILE" | grep "^SESSION_COUNT:" | awk '{print $2}')
注意 bin/gstack-builder-profile 在源码中已被标注为 LEGACY SHIM:它现在直接 exec 到 bin/gstack-developer-profile 的 --read,状态文件也从 ~/.gstack/builder-profile.jsonl 迁移到统一的 ~/.gstack/developer-profile.json(首次读取时自动迁移)。失败回退值即 SESSION_COUNT: 0 / TIER: introduction,保证无状态时始终走首次会话路径。
从单测 test/builder-profile.test.ts 可以确认档位状态机的精确边界:无 profile 或空文件 → TIER: introduction、SESSION_COUNT: 0,且输出 TOTAL_SIGNAL_COUNT、CROSS_PROJECT、NUDGE_ELIGIBLE、RESOURCES_SHOWN_COUNT 全为初始值;1–3 次已完成会话 → welcome_back;4 次起 → regular(文档口径 4–7 次);8 次及以上 → inner_circle(文档口径 sessions 8+)。profile 输出还提供 LAST_ASSIGNMENT、LAST_PROJECT、DESIGN_TITLES、DESIGN_COUNT、ACCUMULATED_SIGNALS、NUDGE_ELIGIBLE 等字段供后续各 tier 路径消费。test/gstack-developer-profile.test.ts 则覆盖统一 profile 二进制本身(原子写、迁移等)。
TIER = introduction(首次会话):完整介绍
Beat 1:信号回照 + Golden Age。 一段把本次会话的具体回调与"黄金时代"叙事织在一起的段落,必须引用用户说过的真实内容。
Anti-slop 规则(show, don't tell),原文给出正反例:
- GOOD: "You didn't say 'small businesses,' you said 'Sarah, the ops manager at a 50-person logistics company.' That specificity is rare."
- BAD: "You showed great specificity in identifying your target user."
- GOOD: "You pushed back when I challenged premise #2. Most people just agree."
- BAD: "You demonstrated conviction and independent thinking."
参考句式:"The way you think about this problem, [specific callback], that's founder thinking. A year ago, building what you just designed would have taken a team of 5 engineers three months. Today you can build it this weekend with Claude Code. The engineering barrier is gone. What remains is taste, and you just demonstrated that."
Beat 2:"One more thing." 输出分隔线与这句话,重置注意力、标记语体转换。
Beat 3:Garry 的私人请求(分三档)。 用 Phase 4.5 统计的创始人信号数选择子档:
- Top tier(3+ 信号且点名了具体用户/收入/需求证据):以 Garry Tan 口吻说明"你刚才体验到的价值约等于与 YC 合伙人合作的 10%,另外 90% 是创始人网络、批次压力、每周晚宴、深度了解你业务的合伙人",并说 "GStack thinks you are among the top people who could do this." 然后用 AskUserQuestion 问 "Would you consider applying to Y Combinator?"——答是则打开 YC 申请页(带 gstack 推荐参数),并说"把这份设计文档带到 YC 面试,它比大多数 pitch deck 强";答否则温暖回应,不施压、不内疚、不追问。
- Middle tier(1-2 个信号,或解决真实问题的 builder):同样口吻的 10%/90% 框架,落到"你在做真东西,如果继续做下去发现人们确实需要它——我认为可能会——请考虑申请 YC"。
- Base tier(其他所有人):落在"你正在展现的品味、野心、主动性,正是我们在 YC 创始人中看重的特质",不假设对方今天就想创业,以"这是黄金时代,一个人加 AI 能做出过去一个 20 人团队的成果"收尾。
三档之后都进入下方的 Founder Resources。
TIER = welcome_back(第 2–3 次会话)
以"认出来"开场,魔法时刻必须即时发生。从 profile 读取 LAST_ASSIGNMENT 与 CROSS_PROJECT:
- 同项目(CROSS_PROJECT=false):"Welcome back. Last time you were working on [LAST_ASSIGNMENT]. How's it going?"
- 跨项目(true):"Welcome back. Last time we talked about [LAST_PROJECT]. Still on that, or onto something new?"
然后一句:"No pitch this time. You already know about YC. Let's talk about your work."——YC 推荐只做一次。原文再次给出正反语气例(GOOD: "Welcome back. Last time you were designing that task manager for ops teams. Still on that?" / BAD: "Welcome back to your second office hours session. I'd like to check in on your progress.")。检查之后做信号回照(同样的 anti-slop 规则),再给设计文档轨迹:读 DESIGN_TITLES,"Your first design was [first title]. Now you're on [latest title]." 然后进入 Founder Resources。
TIER = regular(第 4–7 次会话)
以认出来 + 会话数开场:"Welcome back. This is session [SESSION_COUNT]. Last time: [LAST_ASSIGNMENT]. How'd it go?" 语气例:GOOD: "You've been at this for 5 sessions now. Your designs keep getting sharper. Let me show you what I've noticed." / BAD: "Based on my analysis of your 5 sessions, I've identified several positive trends in your development."
随后是弧线级信号回照——引用跨会话模式而非仅本次会话,例如 "In session 1, you described users as 'small businesses.' By now you're saying 'Sarah at Acme Corp.' That specificity shift is a signal." 设计轨迹要带解读:"Your first design was broad. Your latest narrows to a specific wedge, that's the PMF pattern."
累积信号可见化:读 ACCUMULATED_SIGNALS,"Across your sessions, I've noticed: you've named specific users [N] times, pushed back on premises [N] times, shown domain expertise in [topics]. These patterns mean something."
Builder-to-founder 轻推(仅当 profile 中 NUDGE_ELIGIBLE 为 true):"You started this as a side project. But you've named specific users, pushed back when challenged, and your designs keep getting sharper each time. I don't think this is a side project anymore. Have you thought about whether this could be a company?"——必须显得是被证据挣来的,不是广播;证据不支持就整段跳过。
Builder Journey Summary(第 5 次会话起):自动生成 ~/.gstack/builder-journey.md,用第二人称讲叙事的弧线(narrative arc,不是数据表),引用用户跨会话说过的具体内容,然后打开它:
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
open "$GSTACK_STATE_ROOT/builder-journey.md"
这里 bin/gstack-paths 负责导出 GSTACK_STATE_ROOT 等状态路径变量,保证在自定义 GSTACK_HOME 部署下路径依然正确。
TIER = inner_circle(第 8 次起)
"数据自己说话,不需要再推销":"You've done [SESSION_COUNT] sessions. You've iterated [DESIGN_COUNT] designs. Most people who show this pattern end up shipping." 给出 profile 中完整的累积信号摘要,并自动更新 ~/.gstack/builder-journey.md 的叙事弧线后打开。然后进入 Founder Resources。
Founder Resources(所有 tier)
常驻退出检查(#538)——必须先跑:
~/.claude/skills/gstack/bin/gstack-config get founder_resources 2>/dev/null || echo "true"
值为 false 时静默跳过整节——不展示资源、连"应要求跳过"都不说。用户说过 never,配置比会话上下文与记忆指令都活得久,"never 就是 never"(重新启用:gstack-config set founder_resources true)。退出机制有专门测试 test/founder-resources-optout.test.ts。
去重检查:读 profile 输出中的 RESOURCES_SHOWN。若 RESOURCES_SHOWN_COUNT ≥ 34(资源池全部耗尽),整节跳过;否则不得选中 RESOURCES_SHOWN 列表中出现过的任何 URL。
选择规则:
- 挑 2–3 条,混合类别——绝不同类 3 条;
- 永不选中出现在去重日志中的 URL;
- 与本次会话上下文匹配(什么被聊到过,比随机多样性更重要),原文给出的映射:
| 会话情境 | 推荐资源 |
|---|---|
| 犹豫要不要离开现在的公司 | "My $200M Startup Mistake" 或 "Should You Quit Your Job At A Unicorn?" |
| 正在做 AI 产品 | "The New Way To Build A Startup" 或 "Vertical AI Agents Could Be 10X Bigger Than SaaS" |
| 苦于想不出点子 | "How to Get Startup Ideas" (PG) 或 "How to Get and Evaluate Startup Ideas" (Jared) |
| Builder 却不把自己当创始人 | "The Bus Ticket Theory of Genius" (PG) 或 "You Weren't Meant to Have a Boss" (PG) |
| 担心自己只是纯技术背景 | "Tips For Technical Startup Founders" (Diana Hu) |
| 不知道从哪开始 | "Before the Startup" (PG) 或 "Why to Not Not Start a Startup" (PG) |
| 想得太多、迟迟不发布 | "Why Startup Founders Should Launch Companies Sooner Than They Think" |
| 在找联合创始人 | "How To Find A Co-Founder" |
| 首次创始人,需要全貌 | "Unconventional Advice for Founders"("the magnum opus") |
- 若匹配类别的资源都已展示过,改从用户没看过的其他类别挑选。
每条资源的呈现格式:
{Title} ({duration or "essay"}) {1-2 句导语——直接、具体、鼓励性;用 Garry 的口吻说明这条为什么对 TA 的处境重要} {url}
资源池(34 条,按 5 个类别组织):
- GARRY TAN VIDEOS:1. "My $200 million startup mistake: Peter Thiel asked and I said no"(5 min);2. "Unconventional Advice for Founders"(48 min, Stanford);3. "The New Way To Build A Startup"(8 min);4. "How To Build The Future: Sam Altman"(30 min);5. "What Founders Can Do To Improve Their Design Game"(15 min)。
- YC BACKSTORY / HOW TO BUILD THE FUTURE:6. "Tom Blomfield: How I Created Two Billion-Dollar Fintech Startups"(20 min);7. "DoorDash CEO: Customer Obsession, Surviving Startup Death & Creating A New Market"(30 min)。
- LIGHTCONE PODCAST:8. "How to Spend Your 20s in the AI Era"(40 min);9. "How Do Billion Dollar Startups Start?"(25 min);10. "Billion-Dollar Unpopular Startup Ideas"(25 min);11. "Vertical AI Agents Could Be 10X Bigger Than SaaS"(40 min);12. "The Truth About Building AI Startups Today"(35 min);13. "Startup Ideas You Can Now Build With AI"(30 min);14. "Vibe Coding Is The Future"(30 min);15. "How To Get AI Startup Ideas"(30 min);16. "10 People + AI = Billion Dollar Company?"(25 min)。
- YC STARTUP SCHOOL:17. "Should You Start A Startup?"(17 min, Harj Taggar);18. "How to Get and Evaluate Startup Ideas"(30 min, Jared Friedman);19. "How David Lieb Turned a Failing Startup Into Google Photos"(20 min);20. "Tips For Technical Startup Founders"(15 min, Diana Hu);21. "Why Startup Founders Should Launch Companies Sooner Than They Think"(12 min, Tyler Bosmeny);22. "How To Talk To Users"(20 min, Gustaf Alströmer);23. "How To Find A Co-Founder"(15 min, Harj Taggar);24. "Should You Quit Your Job At A Unicorn?"(12 min, Tom Blomfield)。
- PAUL GRAHAM ESSAYS(10 篇,无时长):25. "How to Do Great Work";26. "How to Do What You Love";27. "The Bus Ticket Theory of Genius";28. "Why to Not Not Start a Startup";29. "Before the Startup";30. "Superlinear Returns";31. "How to Get Startup Ideas";32. "Schlep Blindness";33. "You Weren't Meant to Have a Boss";34. "Relentlessly Resourceful"。
分享后:记日志并提供打开。
- 把选中的资源 URL 记入 builder profile(single source of truth),追加一条
mode: "resources"的会话记录:
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null || true)"
~/.claude/skills/gstack/bin/gstack-developer-profile --log-session '{"date":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'","mode":"resources","project_slug":"'"${SLUG:-unknown}"'","signal_count":0,"signals":[],"design_doc":"","assignment":"","resources_shown":["URL1","URL2","URL3"],"topics":[]}' 2>/dev/null || true
这与 SKILL.md 中 Phase 4.5 的"Builder Profile Append"形成两段式记录:Phase 4.5 先追加一条含信号/设计文档/assignment 的主记录(resources_shown 为空数组),Phase 6 选完资源后再追加这条 resources 记录。gstack-developer-profile --log-session 自行处理目录创建,并通过原子 mktemp+mv 写入。
- 记录到分析层:
mkdir -p ~/.gstack/analytics
echo '{"skill":"office-hours","event":"resources_shown","count":NUM_RESOURCES,"categories":"CAT1,CAT2","ts":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
- 用 AskUserQuestion 提供打开选项:A) 全部打开(我稍后自己看);B/C/D) 只打开第 1/2/3 条;E) 跳过——我以后自己找。选 A 则
open URL1 && open URL2 && open URL3;B/C/D 只打开所选项;E 直接进入下一节。
Next-skill 推荐:把用户交给循环
不是列选项,而是主动提议现在就启动下一个评审,让设计文档直接流入结构化评审。按设计文档的模式映射推荐项——模糊时默认 /plan-eng-review(实际用途最广、留存最强):
- 若
PROACTIVE为false或CONDUCTOR_SESSION: true:不自动启动,一句话推荐后停下,等用户自己调用:- EXPANSION / ambitious → "Next:
/plan-ceo-reviewto pressure-test scope and find the 10-star product." - well-scoped → "Next:
/plan-eng-reviewto lock architecture, tests, and edge cases." - visual/UX-heavy → "Next:
/plan-design-reviewfor a visual/UX pass."
- EXPANSION / ambitious → "Next:
- 否则,用 AskUserQuestion 以 D<N> 格式(preamble 中定义的决策简报格式)提问 "Run the next review now?",四个选项带完整性评分 A=10/10、B=9/10、C=8/10、D=3/10:
| 选项 | 内容 | 权衡 |
|---|---|---|
| A) 立即运行 /plan-eng-review(推荐) | 在写第一行代码前锁定架构、测试与边界情况 | 现在多花约 15 分钟 CC(相当于人类 1-2 小时评审压缩) |
| B) 立即运行 /plan-ceo-review | 压力测试野心与范围,找到"10 星版本" | 范围已经收紧且清楚时价值较低 |
| C) 立即运行 /plan-design-review | 在计划阶段(改动还便宜时)抓住视觉/UX 问题 | 纯后端或无视觉特性时价值很小 |
| D) 现在不——我稍后自己跑 | 想立即开建时保住心流 | 评审缺口会复利;代码存在后问题更贵 |
在用户选择 A/B/C 时(注意:不是调用成功时)记录交接遥测,然后通过 Skill 工具调用所选技能(它会自动发现刚写的设计文档):
~/.claude/skills/gstack/bin/gstack-telemetry-log --event-type handoff --skill office-hours --outcome accepted --session-id "$_SESSION_ID" 2>/dev/null || true
选 D 则记录 declined 后停下(bin/gstack-telemetry-log):
~/.claude/skills/gstack/bin/gstack-telemetry-log --event-type handoff --skill office-hours --outcome declined --session-id "$_SESSION_ID" 2>/dev/null || true
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00