Agent Skills: /athena-requirements — 需求逃生通道 (v9.8.0 新, Codex)

|

UncategorizedID: WenJunDuan/Rlues/athena-requirements

Install this agent skill to your local

pnpm dlx add-skill https://github.com/WenJunDuan/Rlues/tree/HEAD/vibeCoding/codex/9.8.0/.codex/skills/athena-requirements

Skill Files

Browse the full folder contents for athena-requirements.

Download Skill

Loading file tree…

vibeCoding/codex/9.8.0/.codex/skills/athena-requirements/SKILL.md

Skill Metadata

Name
athena-requirements
Description
|

/athena-requirements — 需求逃生通道 (v9.8.0 新, Codex)

为什么存在 (痛点)

Athena 原本 brainstorm → design → impl, 没有独立的"原始需求 + 当时权衡"长效档. design.md 随实现演化, 半年后回看已认不出"最初到底要解决什么、为什么这么取舍". 本 skill 把需求作为软件要素独立存档 (借 CodeStable), WHY 与 HOW 分离。

| 档案 | 答什么 | 演化性 | |---|---|---| | requirements/{slug}.md (本) | 为什么要这能力 + 当时权衡 | 长效, 只在需求本身变时改 | | architecture/{type}-{slug}.md | 现在长什么样 | 长效, 随实现刷新 | | sprints/{slug}/design.md | 这次怎么做 | 一次性, 随 sprint 丢 | | compound/decision-*.md | 为什么这样选 (技术) | 永久 |

逃生通道 (CodeStable 核心价值): 代码烂成一坨时, requirements/ 是弃码重生的依据 —— 留着需求和权衡, 让 agent 重新生成实现, 而不是对着烂代码缝缝补补.

触发

| 时机 | 强制度 | |---|---| | Feature / System 路径 (新能力) plan 前 (brainstorm 收敛后) | 建议 先落 requirement | | 用户显式 /athena-requirements {slug} | 触发 | | 需求变更 (范围 / 验收标准变了) | 强制 更新对应 requirements/{slug}.md | | roadmap 拆分大需求 | 每条子 feature 一条 requirement | | Bugfix / Quick / Hotfix | 跳过 (无新需求, 是修既有) |

产出: .ai_state/requirements/{slug}.md (用 apply_patch 写)

---
slug: jwt-refresh
status: active            # active | superseded | dropped
created: 2026-06-22
linked_sprints: []        # 实现它的 sprint slug 列表
---

# 需求: {一句话}

## 原始用户故事
[用户原话 / 场景: 作为 X, 我想 Y, 以便 Z]

## 当时的权衡 (为什么这样圈定范围)
- 要: ...
- 不要 (本期划出去的): ... — 因为 ...
- 取舍: 选 A 不选 B, 因为 ...

## 高层验收 (能力级, 非实现级)
- [ ] ...

## 逃生通道备注
[若弃码重生, 哪些约束/边界必须保留]

与 design 的契约 (req_ref)

design.md frontmatter 加 req_ref: requirements/{slug}.md. 这样 review 的 spec-compliance 不只对 design, 还能回溯原始需求, 抓"实现偏离了最初意图"这一层。

工作流

  1. brainstorm 收敛 (或用户直接给清晰需求) → 主 thread 起 requirements/{slug}.md (apply_patch)
  2. 写原始故事 + 权衡 + 高层验收 (用户原话优先, 不要脑补)
  3. 进 design 时在 design.md 写 req_ref
  4. 需求变更 → 回来改对应段 + 标注变更, 不删旧权衡 (审计用)
  5. 更新 _index.pointers.latest_requirement

不做

  • ❌ 不写实现 (那是 design / 源码)
  • ❌ 不写架构现状 (那是 architecture/)
  • ❌ 不写技术选型理由 (那是 compound/decision-*.md)
  • ❌ 不随实现刷新 (只在需求本身变时改)
  • ❌ 不给小修小补建需求 (Bugfix/Quick 无新需求)

与 architect-doc 对称

requirements/ (WHY 长效) 和 architecture/ (HOW 长效) 是一对: 一个记"要解决什么", 一个记"现在长啥样". design.md 是连接两者的一次性桥。