project-registrylisted
Install: claude install-skill yang20040317-svg/project-registry
# project-registry | 通用项目管理(命名注册表 × 记忆层)
## 它是什么,不是什么
**是**:一套让项目「不失名、不失忆」的机制。
**不是**:排期表、甘特图、任务看板、Code Review 工具、代码规范检查器。
代码只是这套机制的载体之一。一个**写作项目**的章节、一个**研究项目**的假设、一个**设计项目**的视觉件,同样需要唯一身份与可续记忆——本技能按「项目类型」路由资产维度,机制不变。
## 双引擎
```
引擎 A · 命名注册表(Registry) → 项目里每个「东西」有唯一身份
ID(机器键) + 语义名(人读) + 别名(俗称) + 路径 + 状态 + 依赖 + 决策
↕ 用同一个 ID 互相咬合
引擎 B · 记忆层(Memory) → 项目「为什么这么定 / 上次聊到哪」可续
L1 会话记忆 / L2 决策记忆(ADR) / L3 项目记忆(上下文包) + 开环
```
**为什么必须双引擎**:只做注册表 → 记得住"叫什么",记不住"为什么";只做记忆 → 记得住"聊过什么",但同一个东西仍会被做两遍。两者靠 ID 咬合才闭环:决策卡引用资产 ID,资产卡反查决策 ID。
## 30 秒上手(不想读文档版)
一个小需求只想「随手记一笔」时,不用先走完整三步流程——一行就起项目并登记第一条资产:
```bash
registry.py quick "登录页" --type UI # 当前目录没 .project/ 就自动建 L 档 + 登记 UI-001
registry.py quick "支付模块" --type MOD --project 我的电商 --ptype code-ui
```
`quick` = 若当前目录还没 `.project/` 就先用 **L 档(轻量)** 自动 `init`,再直接 `add` 一条资产(默认状态 `构思`,落盘后再 `set`)。项目类型默认 `custom`(任何资产前缀都合法),用 `--ptype` 覆盖;要升档改 `PROJECT.md` 的「规模」后 `init --force`。
> 它是**单行引导入口**,不是新机制:底层仍走全部命名 / 查重 / 前缀闸门,只是把「init + add」两次仪式压成一行。项目长大后再回到下面的三步工作流即可。
## 三步工作流(开工 → 过程 → 收工)
### 第 1 步 | 开工:先读上下文包,再动手
读 `.project/memory/context-packet.md`(没有就 `registry.py init` 建项目)。它回答四件事:项目是什么、现在到哪、活跃资产有哪些、卡在哪。
**没读上下文包就开工 = 失忆开工。** 读完后用一句话向用户复述"我接到的状态",确认无偏差再动。
> **「最近」的口径**:包里的活跃资产表 / 构思表 / 建议起步点 / 近期决策,一律按「最近动过」排——**日期优先,同一天按 ID 序号倒序**(NNN 单调递增永不回收,号大者必然后登记)。
> 为什么要有次级依据:「更新」列只到**月-日**(`09-25`),同一天登记的一批这个值完全相同,而 Python 排序稳定、`reverse=True` 在键相等时等于没执行。只按日期排的话,表首会站着当天**最先**登记的那个——100 资产项目里最后登记的几条一条都进不了表。