Skip to content
Back to skills

Program Maturity Navigator

ASecurity

当手上有一个零散的读书会、学生分享、讲座或社群活动想法,想知道下一步该怎么长时使用。先按留下的痕迹(办过几次、来了几个人、留下了什么)判出它实际在哪儿,而不是按它叫什么;再用带证据清单的闸门决定是留在原地、修改后再试、往深处走(Workshop)还是往广处走(公共活动)。深度与广度是两个独立的轴,不是一条梯子。产出各阶段的标准表单与交接,不替使用者编造学校制度、人员、预算或未给出的活动形式定义。

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongobash

Works with

  • cursor

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add ChromiteCr/Skills --skill program-maturity-navigator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Program Maturity Navigator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Program Maturity Navigator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chromitecr-program-maturity-navigator/badge)](https://www.skillsdirectory.com/skills/chromitecr-program-maturity-navigator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: program-maturity-navigator
description: 当手上有一个零散的读书会、学生分享、讲座或社群活动想法,想知道下一步该怎么长时使用。先按留下的痕迹(办过几次、来了几个人、留下了什么)判出它实际在哪儿,而不是按它叫什么;再用带证据清单的闸门决定是留在原地、修改后再试、往深处走(Workshop)还是往广处走(公共活动)。深度与广度是两个独立的轴,不是一条梯子。产出各阶段的标准表单与交接,不替使用者编造学校制度、人员、预算或未给出的活动形式定义。
category: community-programs/activity-development
version: 0.1.1
status: draft
priority: P1
compatible_agents:
  - claude-code
  - codex
  - cursor
  - codebuddy
  - nestudy
  - generic-llm-agent
display_name: 活动成熟度导航
outputs:
  - document
max_rounds: 24
suggest_hint: 用「活动成熟度导航」先看这个活动实际长到哪儿了,再决定下一步往深处还是往广处走
---

# 活动成熟度导航 / Program Maturity Navigator

把一个活动的"下一步该干什么"变成一个**有证据门槛的判断**。

它主要做的不是帮你规划,是**在证据不够的时候拦住你**。规划谁都会写,
被拦住才是这个 skill 存在的理由。

## 何时使用 / When to use

- 有个想法,不知道第一步该办多小
- 办过一两次,不知道该收摊、重做还是往下走
- 有好几个题目,不知道能不能串成一个系列
- 想办 Workshop 或对外开放,不确定时候到没到
- 要把一个活动交给下一届,不知道该留下什么

**不适用于** / Not for:

- 个人项目、研究课题,或者还要在几个方向里挑 —— 用 `project-brainstorm`。分流看对象:
  已经定了要办读书会、分享、讲座、社群活动这类事(不论办没办过),才归本 skill
- 单场活动的流程设计(几点到几点做什么)—— 本 skill 只到"这一场要产出什么"为止
- 学术写作、竞赛论文、课程作业

## 一、两个轴,不是一条梯子

主干只有三段,之后**分叉成两个互不隶属的轴**:

```
种子 ──→ 孵化 ──→ 系列 ─┬─→ 深度轴:参与者动手(Workshop)
                        └─→ 广度轴:陌生人进得来(公共活动)
```

| 轴 | 0 | 1 | 2 |
|---|---|---|---|
| **深度** | 只听、只讨论 | 参与者动手做过事 | 参与者产出了自己的作品 |
| **广度** | 只有熟人圈 | 圈外新人来过 | 圈外新人**再来了第二次** |

三件事必须说清楚:

1. **两个轴之间没有先后,也没有高低。** 一个每次只有八个人但每次都做出东西的
   Workshop,和一个两百人但只是来听的公共讲座,不是谁比谁高,是两件不同的事。
2. **可以只走一个轴,也可以哪个都不走。** 停在原地是一种正当结论,不是失败。
3. **上升不代表参与者更优秀。** 轴衡量的是活动的成熟度,不是人。

### 两个轴的门槛为什么不对称

深度轴进入只要 1,广度轴进入要 2。这不是笔误:

> **动手过一次就证明这个形式跑得起来**——动手了就是动手了。
> **来过一个陌生人什么也证明不了**,来一次可能只是路过。
> 陌生人**再来一次**才是信号。

## 二、位置由痕迹决定,不由名字决定

**第一个问题永远是这个,不要问"你觉得自己在哪个阶段":**

> 上一次办的时候,是哪天?来了几个人?留下了什么?

办过三次"系列读书会"却拿不出任何记录的,证据只支持**孵化**,不管它叫什么。
这是本 skill 唯一的防通胀机制,不能跳过。

脚本和人工核对用同一套规则:

- **算不算办过**:日期不晚于今天,到场至少 1 人。排期不是履历;到场 0 人的那场不计。
- **主干**:一场都没办过 → 种子;办满 3 场、且每场都留下了东西 → 系列;其余 → 孵化。
- **深度**:有一场参与者做出了自己的作品 → 2;有一场参与者动手做过事 → 1;否则 0。
- **广度**:有圈外新人再来了第二次 → 2;有圈外新人来过 → 1;否则 0。
- **声称的阶段要什么**:`seed` 没有要求;`incubation` 要主干到孵化;`catena` 要主干到系列;
  `workshop` 要主干到系列、深度至少 1;`public` 要主干到系列、广度 2。

有执行能力时,把履历写成 JSON 交给脚本判:

```bash
python3 scripts/check_program.py stage history.json
```

字段名照抄 `references/check-program-input.md`:脚本不认识的字段按输入错误处理(退出 2),
备注写进 `notes`。它会算出证据支持的坐标,与使用者声称的阶段对比,不足时**逐条列出差什么**。
没有执行能力时手工按上面的规则判,并把结果标为"人工核对"。

脚本只核痕迹:日期、到场人数、产物、有没有动手、新人来没来。闸门里其余要判断的条目
(例如 G2 的出乎意料的观察)它不管,仍要逐条人工判。

## 三、五道闸:每一道都是证据清单,不是判断题

**闸门只看有没有证据,不看计划写得好不好。** 任一条缺失,结论就是"留在原地"或"修改后再试"。

### G1 种子 → 孵化

- [ ] 能**点名**至少三个具体的人说过想来(名字或身份,"应该会有人感兴趣"不算)
- [ ] 有一份**具体材料**:一本书、一篇文章、一个题目。一个领域不算
- [ ] 有一个 90 分钟能做完的最小版本
- [ ] 有一个人愿意带(可以是发起人自己)

### G2 孵化 → 系列

- [ ] 试办**真的发生过**:日期、到场人数、留下的东西,三样都有
- [ ] **至少一条出乎意料的观察**
- [ ] 至少一个参与者提出过发起人没想到的问题
- [ ] 下一场的题目是**从这一场里长出来的**,不是原计划表上的下一项

第二条是这五道闸里最硬的一条。**如果试办完全符合预期,说明没有在观察,
只是把设想执行了一遍**——那这次试办没有产生任何新信息,不构成放行证据。

第三条是"有人真的进来了"的证据:参与者只是配合完成流程,和参与者开始
往里带自己的问题,是两回事。

### G3 系列 → 深度轴(Workshop)

- [ ] 系列里已经有**至少一场参与者动手做了事**,不只是听和讨论
- [ ] 有人问过"那我们该怎么做"这类问题(需求信号,不是你觉得他们需要)
- [ ] 材料、场地、时长的约束**已经落实过一次**,不是设想

### G4 系列 → 广度轴(公共活动)

- [ ] 已经有圈外新人来过,**并且再来了第二次**
- [ ] 有一份**别人拿走就能办**的材料包(不需要你在场)
- [ ] 有第二个能带的人

第二、三条一起构成同一件事的证据:公共活动的瓶颈从来不是有没有人来,
是**有没有人能持续办下去**。

### G5 回流(任何成熟活动 → 新种子)

- [ ] 产生了至少一个**新题目**——从活动里冒出来的,不是发起人本来就想做的
- [ ] 产生了至少一个新带领者候选
- [ ] 有可复用的材料

回流不是可选的收尾。**一个不产生新种子的成熟活动,是这条链的终点而不是顶点**,
应当在结论里明说。

## 四、系列必须真有顺序

把相近的题目按时间摆好,不构成系列。判据是:**后一场用得上前一场的产物。**

每一场声明它消费什么、产出什么,交给脚本查连通性:

```bash
python3 scripts/check_program.py catena catena.json
```

除第一场外,每一场必须至少消费一件**前面某场产出**的东西。消费不到的那一场就是
孤立节点——**把它拿掉,系列不会有任何损失**,那它就不该在系列里。

原书、论文、数据集这类不来自本系列任何一场的材料,写进根对象的 `external_inputs`:
消费它们不再警告,但也**不算和前面几场接上**。字段见 `references/check-program-input.md`。

脚本还会警告:产出后没人接手的悬空产物;以及整个系列全是 `lecture`
(说明"参与者需要做什么"这一步没想过)。

## 五、失败要留下记录

**大多数种子会死。** 只有成功形状的表格,会逼人给已经黄了的活动写成功形状的文档。

停办时产出 `停办记录`(模板见 references),至少写清:题目、试了几次、
每次到场几人、停在哪一步、以及判断是**没人要**、**没人带**,还是**时间不对**。
这三种原因指向完全不同的处理:第一种该换题目,第二种该找人,第三种可以原样再来一次。

这是学生组织最该留、最没人留的东西。它直接喂给 G5 回流——**下一届不用把同一个坑再踩一遍**。

## 六、输出格式 / Output

```markdown
## 位置判定
| 维度 | 判定 | 凭什么这么判 |
|---|---|---|
| 主干 | 种子 / 孵化 / 系列 | <引用具体的日期、人数、产物> |
| 深度 | 0 / 1 / 2 | <同上> |
| 广度 | 0 / 1 / 2 | <同上> |
- 使用者声称:<原话>
- 是否相符:<相符 / 声称高出证据,差在哪一条>
- 脚本已跑 / 人工核对 / 未执行

## 本阶段产物
<对应表单,见 references/artifact-templates.md>

## 闸门判定
| 闸 | 条目 | 有证据 | 缺什么 |
- 结论:留在原地 / 修改后再试 / 走深度轴 / 走广度轴 / 停办
- 依据:<逐条对应上表,不写"综合来看">

## 交接
- 下一步收到什么、用什么格式
- 由谁负责

## 回流
- 新题目:<从活动里冒出来的>
- 新带领者候选:
- 可复用材料:
- 需要进入下一轮的问题:
```

**"闸门判定"里不允许出现"综合来看""基本满足"。** 逐条对应,缺就是缺。

## 七、本地词汇 / Local vocabulary

`Catena`、`Incubator`、`学长课堂`、`Leminar` 这类名字属于**某个学校或社群的本地制度**,
不是通用概念。它们集中放在 `references/local-vocabulary.md`,由使用者自己填。

`Leminar` 目前**没有给出定义,就当作空槽留着**。需要用到它时问使用者要规则,
不要根据字面猜一个("Lecture + Seminar"是猜测,不是定义)。同样地:

- 不编造学校制度、审批流程、场地政策
- 不编造预算、人数上限、时间安排
- 不把"其他学校一般这么做"写成本校条件

## 边界 / Boundaries

- **不替使用者升级**:闸门只报证据够不够,走不走由本人定。
- **不在证据不足时生成完整系列**:没过 G2 就不产出 Catena Map,会给出孵化计划。
- **不粉饰失败**:停办就写停办记录,不改写成"暂缓推进"。
- **不发明本地词汇的定义**:`Leminar` 之类缺定义的一律留空槽并提问。
- **不把催促当证据**:"这次特殊""来不及了"不能替代闸门里的任一条。
- **不做单场流程设计**:本 skill 到"这一场要产出什么"为止,几点做什么不归它管。

## Token 控制 / Token discipline

- 一次只加载当前阶段用得到的那一份表单模板,不整份 references 展开
- 履历只保留日期、人数、产物、新人数四列,不复述活动内容
- 交接只带位置判定、闸门结论与下一阶段所需字段

## 参考资料 / References

- `references/artifact-templates.md` — 七份表单骨架(含停办记录),按阶段取用
- `references/format-selection.md` — 由参与者要做什么反推活动形式
- `references/local-vocabulary.md` — 本地制度名词,由使用者填写
- `references/check-program-input.md` — 脚本两种输入的字段表与示例,写 JSON 时才读
- `scripts/check_program.py` — `stage` 查痕迹与阶段是否相符,`catena` 查系列有没有顺序,`--selftest` 自检,`--help` 列出字段

## 变更记录 / Changelog

| 版本 | 日期 | 变更 | 类型 |
|---|---|---|---|
| 0.1.1 | 2026-09-26 | 补脚本字段表(references/check-program-input.md)并在第二节写明判定规则;拼错的键、未来日期、非整数人数原先会静默误判或崩溃,现报输入错误,到场 0 人的场次不计入,external_inputs 生效,加 --help 与自检用例;标题改为五道闸;模板改为只写分段与产出、不排钟点;与 project-brainstorm 按对象分流 | patch |
| 0.1.0 | 2026-09-05 | 初始草稿:双轴模型、痕迹定位、五道带证据清单的闸门、系列连通性检查、停办记录 | minor |

Files in this skill

  • SKILL.md12.3 KB
  • references/artifact-templates.md3.8 KB
  • references/check-program-input.md4.8 KB
  • references/format-selection.md2.4 KB
  • references/local-vocabulary.md1.7 KB
  • scripts/check_program.py29.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.