本文へ移動
cccskills
無料GitHub で公開

program-maturity-navigator

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

产出各阶段的标准表单与交接,不替使用者编造学校制度、人员、预算或未给出的活动形式定义。

インストール方法を見る

含まれるファイル(6)

  • 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

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

活动成熟度导航 / Program Maturity Navigator

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

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

何时使用 / When to use

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

不适用于 / Not for:

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

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

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

种子 ──→ 孵化 ──→ 系列 ─┬─→ 深度轴:参与者动手(Workshop)
                        └─→ 广度轴:陌生人进得来(公共活动)
轴012
深度只听、只讨论参与者动手做过事参与者产出了自己的作品
广度只有熟人圈圈外新人来过圈外新人再来了第二次

三件事必须说清楚:

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

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

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

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

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

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

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

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

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

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

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

python3 scripts/check_program.py stage history.json

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

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

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

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

G1 种子 → 孵化

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

G2 孵化 → 系列

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

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

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

G3 系列 → 深度轴(Workshop)

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

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

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

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

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

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

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

四、系列必须真有顺序

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

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

python3 scripts/check_program.py catena catena.json

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

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

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

五、失败要留下记录

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

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

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

六、输出格式 / Output

## 位置判定
| 维度 | 判定 | 凭什么这么判 |
|---|---|---|
| 主干 | 种子 / 孵化 / 系列 | <引用具体的日期、人数、产物> |
| 深度 | 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.12026-09-26补脚本字段表(references/check-program-input.md)并在第二节写明判定规则;拼错的键、未来日期、非整数人数原先会静默误判或崩溃,现报输入错误,到场 0 人的场次不计入,external_inputs 生效,加 --help 与自检用例;标题改为五道闸;模板改为只写分段与产出、不排钟点;与 project-brainstorm 按对象分流patch
0.1.02026-09-05初始草稿:双轴模型、痕迹定位、五道带证据清单的闸门、系列连通性检查、停办记录minor

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

当学生说"Common App 活动栏写不下"、"这段活动描述超字数了"、"帮我把这几条压到限制内"时使用。先按官方申请表核对当季字符限额,再逐条检查;一次把所有条目量完并直接给出压缩版,只在需要砍掉实质内容时才用选择题问该保哪部分。每改一版都用工具重新数一遍字符,绝不凭感觉说"这样应该够了"。只压缩,不代写空白。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当学生问"招生官会怎么看我的档案"、"我的背景还差什么"、"帮我评估一下现在的申请竞争力"时使用。以顶尖大学招生官的视角通读学生的档案、长期活动与已写下的反思,不问任何前置问题直接产出一份指名道姓的坦诚点评:这份材料的亮点、招生官真实的解读方式、明显的短板与空白、以及接下来最值得做的一到两件事。只读不写,不修改学生的任何数据,也不代写任何申请材料。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当使用者说"帮我填词"、"按这个字数模板写歌词"、"用多Agent对抗式写词"、"这首副歌帮我想几句"时使用,前提是字数骨架和这首歌写什么都已经有了;只有主题、还没定写什么时先用 lyric-concept-builder。拿一份字数骨架和意象系统,派三个 sonnet 子代理按不同路子并行独立起草(场景派 / 口语派 / 意象派),再派一个红队子代理逐句挑毛病,主 Agent 按句裁决拼稿,最后统一辙口与意象。收敛判据卡死:字数用 lyric-doctor 的脚本对模板数、每段同辙、hook 不含陈词、主歌二对主歌一有推进。不抄现有歌词,不替使用者决定这首歌要说什么。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当想知道一段 AI 回答"哪些能直接用、哪些必须先验证、哪些只能当建议"时使用。按声明类型分四级——低风险草稿材料、观点与策略建议、可查证的事实声明、会改变状态的可执行指令——每级配一句默认处置动作;再按影响半径排序,给出最小的下一步检查。可执行类一律标"不能直接执行;先做代码审阅/沙箱测试/回滚准备",其中破坏性或提权的命令排在最前。教的是一套可复用的复查习惯,不是替使用者把所有内容都核实一遍:本 skill 只分级、排序、定处置,要逐条核实走 ai-output-fact-checker,整段代码要做入库体检走 ai-code-onboarding-checklist。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当拿到一段 AI 生成的代码,还没决定要不要信、要不要跑、要不要往上继续加东西时使用。先做一遍客观体检:行数与嵌套深度、有没有测试、有没有硬编码密钥或遗留 TODO、依赖是不是真实存在、有没有危险调用(eval/exec、shell=True、递归删除、反序列化、提权、外发网络,按正文给的 grep 模式逐类查);再给风险评级和下一步动作。老实写明它查不了算法正确性——体检通过不等于代码是对的。回答里文字、事实和代码混在一起时先用 ai-answer-triage 分级;只审相对已有代码的一份改动用 ai-diff-review-protocol。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

ChromiteCr のスキルをすべて見る

このスキルの問題を報告する