Skip to content
cccskills
FreePublished on GitHub

project-brainstorm

当学生说"我想做个项目但不知道做什么"、"这个想法可行吗"、"帮我想想能做点什么"、"我有个点子想聊聊"、"这个课题值不值得做"时使用。项目动手之前的全方位判断:先读他的档案、已有经历和写过的东西,把重复的信息合并掉再数还剩几件事,然后直接给出三个具体到能明天开工的方案,每个都摆明代价、需要什么、可能死在哪。

定方案之后落成长期事项加前三个里程碑,并存一份构思稿。不吹可行性,不替他选,不为了申请而编项目。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md13.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

项目头脑风暴 / Project Brainstorm

在动手之前,把一个项目想法从"听起来不错"推到"明天上午可以做第一件事"。

这个 skill 存在的理由是:学生卡住的不是没有想法,是没法判断哪个想法真做得动。 "做个环保相关的项目"这句话里,缺可行性、缺代价、缺"做完之后手里有什么"。 把这些摆出来,他自己就能选。

何时使用 / When to use

  • 学生想做点什么但方向模糊("想做个项目""想搞个社团")
  • 他有一个具体想法,想知道值不值得投入
  • 已有的个人项目或课题做不下去了,要判断是转向还是收尾
  • 要选研究课题、竞赛选题、EE/IA 题目(要评分的选题只给方向和可行性,见「边界」)

不适用于 / Not for:

  • 已经定了要办读书会、分享、讲座、社群活动这类事(不论办没办过),要判断办多小、 下一步往哪走、停不停 —— 那是 program-maturity-navigator。个人项目、研究课题, 或者还要在几个方向里挑,才归本 skill
  • 项目已经定了,要排时间 —— 那是 deadline-to-study-plan
  • 整理已经做完的经历 —— 那是 activity-profile-builder
  • 问"招生官会怎么看我现有的背景" —— 那是 admissions-reader
  • 深挖某段经历对他的意义 —— 那是 reflection-interviewer

流程 / Process

1. 读三样,一次读齐

读什么用来判断
get_profile年级与课程体系——决定还剩多少时间。12 年级上学期启动一个两年期项目,这件事本身就该说出来
get_events(kind: long 与近期短期都要)他已经做过什么(别推荐重复的)、手上压着多少(时间还有没有)
search_artifacts他自己写过的东西里有没有这个方向的影子。真正的好项目多半藏在他已经在意的事里,不在"什么背景提升项目热门"里

2. 去重,再数还剩几件事

把上一步搜到的资料条目一起丢给 dedupe_findings。

这一步不能省。 学生的反思、复盘、活动记录里同一件事会出现好几遍—— 一段机器人社的经历可能有一条长期事项、两篇反思、一次周复盘提到。 不去重就会得出"他在这个方向上已经积累很厚"的错误结论,然后劝他别做。

去重分两半,工具只做前一半:

谁做例子
字面重复dedupe_findings同一个链接的不同写法、复制粘贴过的两条记录、转载
说的是同一件事你自己「区域赛拿了第四」与「名次是第四名」——字面几乎不重合,工具合不了

dedupe_findings 返回的字段:

字段是什么怎么用
received交进去几条就是要报的"原始 M 条"
distinct字面去重后剩几条不是最终答案,语义那一半还没做
kept字面去重后留下的条目在它上面自己再并一遍
mergedGroups被合掉的每一组:留下哪条(keep)、合掉哪些(merged)、为什么(reasons,如"同一个链接""字面重合 72%")向学生转述合并依据,不只给数字
similar"差一点就算重复"的成对条目,附重合度(overlap)只是字面接近,不是语义相关,也没有合并;逐对自己判
skipped没有标题也没有正文、或超出 100 条上限而没处理的条数(有这种条目时才出现)如实说出来

所以拿到 kept 之后再自己过一遍标题和片段,把讲同一件事的并掉,然后才报数字。

如实说出两个数:「原始 8 条,去掉重复后是 3 件事」。不要把重复计数当成积累厚度—— 这是这个流程最容易犯的错,代价是劝退一个其实还很空的方向。

3. 直接给三个方案

不要先问"你想做哪个领域"。 拿着第 1 步读到的东西,直接给三个具体方案。 EE、IA、竞赛这类要评分的选题是例外:三个方案写成候选方向和可行性判断, 不替他写出研究问题,见「边界」。 每个方案必须写满这五项,缺一项就是没想清楚:

### 方案 <N>:<一句话说清楚做什么>
- **第一件事**:明天/这周能动手的那一件,具体到动作
- **要什么**:时间(每周几小时 × 几个月)、钱、人、设备、许可
- **做完手里有什么**:一份报告 / 一个能跑的东西 / 一场办成的活动 / 一组数据
- **可能死在哪**:最可能让它半途而废的那一个原因,写具体
- **和你已有的关系**:接着 <某段经历> 往下走 / 是个全新方向(两者都行,说清楚就好)

三个方案要在代价上拉开差距——一个轻的(几周)、一个中的(一学期)、一个重的(一年以上)。 三个都是"一学期的中等项目"等于只给了一个。

「可能死在哪」是这五项里最有用的一项。 学生放弃项目的原因通常在开始时就看得见: 需要学校批但没人牵头、需要采访但不认识人、需要连续三个月每周投入但下学期就是大考季。 说出来,比列十个优点有用。

4. 只问真正的岔路口

三个方案摆完,用 ask_user 一次问完剩下的选择(最多 4 问)。值得占一问的:

问什么选项举例
选哪个方向方案 1 / 2 / 3 / 都不是,我想说说别的
每周能投入多少2 小时以内 / 2–5 小时 / 5–10 小时 / 更多
有没有硬约束需要家长出钱就不行 / 不能占用周末 / 必须能写进申请 / 没有

不要问"你对什么感兴趣"。 这问题他答不好,而且第 1 步读到的东西比他临时想出来的答案准。

5. 定下来就落地

  • propose_events 提案一条 kind: long 的长期事项(这个项目本身), 加前三个里程碑的短期事项。只提前三个——再往后排的都是猜的。 每个里程碑都要有交付物,"推进项目"不是交付物。
  • propose_artifact 存一份 kind: plan 的构思稿,把三个方案、选了哪个、 为什么选、当时判断的风险都写进去。没选的那两个也要留着—— 半年后项目卡住时,这份记录是最有用的东西。

赶某个比赛或申报截止日的,有 resolve_deadline 就用它换算;没有时跑「没有这些工具时(降级)」 里的 python3 命令,结果标"降级计算"。两种情况都不许口算,也不许凭感觉估。

输出格式 / Output

## 你现在的位置
<年级 / 体系 / 手上压着什么 / 还剩多少可支配时间>

## 相关的积累
去重后 <N> 件(原始 <M> 条,合并了 <M-N> 条重复):
- <一件事> —— 来自 <哪几条记录>;合并依据:<工具给的 reasons,或你判断是同一件事的理由>

## 三个方案
<按上面那个模板,三段>

## 我的看法
<一段。可以有倾向,但要说清楚倾向的依据,并且明确这是他的决定>

没有这些工具时(降级)

上面点名的工具只有 nestudy 运行时有。在 Claude Code 或别的宿主里逐个这样替代, 并在输出里如实标"降级":

工具没有时怎么做
get_profile在对话里一次问齐年级、课程体系、目标方向;使用者贴了档案就直接读
get_events请使用者列出正在做和做过的长期项目、近期压着的事,不替他补
search_artifacts请使用者贴出或指给你相关的反思、复盘、活动记录;能读文件就读他指定的那几份
dedupe_findings只合并两种确定的字面重复:链接去掉追踪参数(utm_ 之类)、www 和末尾斜杠后完全相同,或标题完全相同。其余都归到语义那一半,逐对自己判并写出依据;不报目测的重合度。「相关的积累」标"降级:字面去重只核了链接和标题"
ask_user在对话里直接问,同样一次问完、最多 4 问、每问附选项
propose_events输出一张 Markdown 卡片:长期事项(名称、开始日)加前三个里程碑(名称、到期日 YYYY-MM-DD、交付物),标"降级:未写入日程,请自己录入"
propose_artifact把构思稿整份输出成 Markdown(含没选的两个方案),标"降级:未存档,请自己保存"
resolve_deadline跑下面的命令,结果标"降级计算";不许口算,也不许凭感觉估

每行一个截止日:日期 时间 时区 标签,时区写 IANA 名(美东 America/New_York、美西 America/Los_Angeles、英国 Europe/London);通知没写具体时间的按 23:59 算并注明。命令按北京时间换算,与 application-timeline-builder、deadline-to-study-plan 用的是同一段程序,打印出的警告和「夏令时切换」行照样转述。需要 Python 3.9 以上。

python3 -c 'import sys
from datetime import datetime, timedelta, timezone
from zoneinfo import ZoneInfo
bj, utc = ZoneInfo("Asia/Shanghai"), timezone.utc
today = datetime.fromisoformat(sys.argv[1]).date() if len(sys.argv) > 1 else datetime.now(bj).date()
gap = lambda x: f"北京 = 当地 {(x.astimezone(bj).utcoffset() - x.utcoffset()) / timedelta(hours=1):+g} 小时"
for line in sys.stdin.read().splitlines():
    if not line.strip(): continue
    d, t, z, *label = line.split()
    tz = ZoneInfo(z)
    raw = datetime.fromisoformat(f"{d} {t}").replace(tzinfo=tz)
    loc = raw.astimezone(utc).astimezone(tz)
    b = loc.astimezone(bj)
    n = (b.date() - today).days
    print(" ".join(label) or d, f"| 当地 {loc:%Y-%m-%d %H:%M %Z} | 北京 {b:%Y-%m-%d %H:%M} | {gap(loc)} |", f"还有 {n} 天" if n >= 0 else f"已过 {-n} 天")
    if raw.replace(fold=1).utcoffset() != raw.utcoffset(): print("  警告:这个当地时间落在夏令时切换的那一小时里(不存在或出现两次),先向学校确认")
    u = loc.astimezone(utc).replace(minute=0, second=0, microsecond=0)
    prev = (u - timedelta(hours=505)).astimezone(tz)
    for h in range(-504, 505):
        x = (u + timedelta(hours=h)).astimezone(tz)
        if x.utcoffset() != prev.utcoffset(): print(f"  夏令时切换:{x:%Y-%m-%d %H:%M} 起 {prev.tzname()}→{x.tzname()},在截止之" + ("前" if h <= 0 else "后") + f";切换前 {gap(prev)},切换后 {gap(x)}")
        prev = x' <<'EOF'
2026-11-01 23:59 America/New_York 比赛截止
EOF

第 2 步的分工不变:语义上算不算一回事,本来就是你的活。

边界 / Boundaries

  • 不吹可行性:三个方案里如果有一个你觉得多半做不成,就写在「可能死在哪」里, 不要为了凑三个而端上来一个漂亮的空壳。
  • 不替他选:可以有倾向、要给依据,但选择是他的。他的时间、他的兴趣、他要承担后果。
  • 要评分的选题只给方向和可行性:EE、IA、竞赛这类选题,三个方案只作候选方向和可行性判断, 研究问题由学生自己定,并交导师确认。采用了 AI 建议的,按 IB 或学校的规定注明。
  • 不为了申请而编项目:不说"这个方向招生官会喜欢"。没人知道,说了就是编。 一个他自己不在乎的项目做不完,做完了也写不出真东西。
  • 不编数据支撑可行性:不引用"这类项目通常需要 X 小时"、"同类竞赛录取率"这种 你没有来源的数字。要么说清楚是估算及估算依据,要么不说。
  • 去重结果如实说:合并了几条就说几条。把重复计数当成积累厚度是这个流程最容易犯的错。
  • 不推荐需要造假才能完成的项目:需要伪造数据、冒用身份、绕过学校规定的,直接说不做。
  • 不承诺结果:项目做不做得成取决于他,不是取决于这份规划。

Token 控制 / Token discipline

  • 三样一次读齐,不要为每个方案单独回去查
  • search_artifacts 用 2–3 个关键词一次搜完;去重也是一次调完,不要一条条比
  • 三个方案控制在一屏内读得完。每项一两句,写不下说明还没想清楚
  • 没被选中的方案不要在后续轮次里反复重贴,构思稿里存过就够了

变更记录 / Changelog

版本日期变更类型
0.1.12026-09-26第 2 步写明 dedupe_findings 返回的各字段(原先只提 kept、similar,用例却要转述 mergedGroups、不把 distinct 当答案);补要评分选题(EE/IA、竞赛)的诚信边界;新增「没有这些工具时(降级)」,截止日换算改为有工具用工具、没有就跑 zoneinfo 命令并标降级计算;与 program-maturity-navigator 按对象分流patch
0.1.02026-08-05初始草稿。含 dedupe_findings 去重环节;网页检索的部分等 S11 的 web_search 落地后接入,去重本身不需要改动minor

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 18, 2026

See all skills by ChromiteCr

Report a problem with this skill