本课概要(可下载)part-01-skill/README.md

第 1 课 · 技能构建:项目文书链即用能力(学员手册)

文件路径:/Users/apple/Documents/4.0 Sanyuan/2.4 环境公益"新"力量/course/part-01-skill/README.md

时长 120 分钟 | 课后产出:≥1 个跑通的文书技能

配套可 Fork 的技能样板见同目录 skills/。


一、这节课要解决什么

项目文书——写项目书、申请资助、写结项报告——是公益机构最高频、也最耗时间的工作之一。很多团队只有一两个人,却要反复从零开始拼一份份文书。

第 1 课就从这里切入:把「每次都重新写一遍」的文书任务,封装成一个可复用的能力包(技能)。下课时,你会有至少一个能立刻替代一次真实工作的文书技能。

这是「技能 → 知识库 → AI智能体」三步主线的第一步,最终都会汇入你机构自己的「项目助理」。

二、先分清四件事

概念回答的问题公益类比
一次性提示词这一次怎么答临时写的一条微信
技能这类任务怎么做、输出什么格式机构 SOP + 模板 + 边界规则
知识库机构有哪些可检索的事实与案例历年项目档案、资助指南
AI智能体谁在用、走什么流程、调用哪些技能你的「项目助理」

一句话:写项目书 / 结项报告这类「怎么做」的事,做成技能;历年案例、资助指南这类「有什么」的事,留给第 2 课的知识库。

二点五、技能标准与工程实践

阅读 skill-standards.md(网页版 skill-standards.html):

本页用中文对照本课 QoderWork 练习路径。

二点六、内容创作生产线 · 10 个 Skill 精选

阅读 content-pipeline-skills.md(网页版 content-pipeline-skills.html):

二点七、技能生命周期飞轮 · skill_flywheel

阅读 skill-flywheel.md(网页版 skill-flywheel.html):

三、学习目标

完成本课后,你应当能够:

  1. 说清楚技能与提示词、知识库、AI智能体的分工,不再把所有内容塞进一段超长提示词。
  2. 判断手头哪些文书任务值得做成技能(高频、格式稳定、做错有代价)。
  3. 写出一段能让助理「该用才用」的触发说明(description)。
  4. 完成 ≥1 个可跑通的真实文书技能,并记录「原来多久 / 现在多久」。
  5. 守住数据合规底线:受益人、捐赠人、志愿者信息先脱敏。

四、一个技能长什么样

一个技能就是一个文件夹,核心是一份 SKILL.md:

env-ngo-closure-report/
├── SKILL.md          # 入口:什么时候用 + 怎么做 + 禁止事项
├── assets/           # 模板、范例(输出模板、示例输入)
└── scripts/          # 可选:确定性校验脚本

SKILL.md 的推荐骨架:

## When To Use      # 什么情况下调用(触发器)
## Workflow         # 步骤
## Required Inputs  # 需要用户给什么
## Output Contract  # 输出长什么样(固定章节 / 字数)
## Gotchas          # 最容易翻车的地方(脱敏、缺数据、套话)
## Files To Read    # 要参考哪些模板

课堂上不必真的建文件夹:在 QoderWork 里一个「角色」就是一个最小可用的技能——把 Output Contract 和 Gotchas 粘进去、上传 2–3 份范例即可。第 3 课再迁到 Agent平台。

五、三个即用技能样板(项目文书链)

本目录 skills/ 下提供三个可直接 Fork 的样板,分别对应文书链三大高频场景。课堂上任选其一改成你机构的版本即可:

样板对应场景输入 → 输出
env-ngo-closure-report结项报告执行流水账 → 六章节结构化报告
env-ngo-proposal-draft项目书 / 提案机构简介 + 过往案例 + 资助方指南 → 立项书初稿
env-ngo-grant-letter资助申请信项目核心信息 → 一页纸申请信 / 项目摘要

每个样板都内置:固定的输出契约、一份模板(assets/),结项报告样板还附带一个章节齐全性校验脚本(scripts/check_sections.mjs)。

另有一个工具型样板 env-ngo-skill-optimize(技能优化 skillopt):不做文书,而是给你写好的技能做「体检」,详见第九节。

六、课堂演示:流水账 → 结项报告(25 分钟)

讲师以结项报告技能现场演示「流水账 → 报告」:

触发:用户给出项目执行记录、活动清单、产出说明
步骤:抽取「活动 → 产出 → 成效」→ 按模板填充 → 标注缺失项
输出:固定六章节(背景 / 活动 / 产出 / 成效 / 反思 / 缺失项清单)
禁止:编造没发生的活动、把「几十人」夸成「上百人」、用「圆满成功」套话

演示用的示例输入见 skills/env-ngo-closure-report/assets/example_input_流水账.md(格式参照机构成长支持类结项模板,机构与数据均为虚构脱敏)。正式模板与技能六章节的映射见同目录 format_伙伴计划结项结构.md。

七、动手练习(60 分钟)

按下面四步,构建你自己的第一个文书技能:

练习进度:
- [ ] Step 1 选场景:结项报告 / 项目书 / 资助信,三选一
- [ ] Step 2 写触发:一句「什么情况下该用我」,并写清不该用的相邻场景
- [ ] Step 3 写契约 + 6 条 Gotchas:固定输出结构 + 最容易翻车的 6 点
- [ ] Step 4 跑一遍真实任务:用机构真实材料跑通一次,记录省了多少时间

触发说明(description)三版改写练习:

  1. 功能版(不推荐):帮公益机构写报告。
  2. 意图版:当用户给出执行流水账、需要结项报告时使用。
  3. 带边界版(提交版):当用户提供项目流水账 / 活动记录、需要结构化结项报告时加载;不要用于项目立项书或公众号推文。

好的触发说明决定了将来「项目助理」会不会正确地调用你的技能,而不是答非所问。

八、自测(课堂必做,≥5 条)

为你的技能准备一张小测试表,至少覆盖:该加载时加载、不该加载时别误触发、缺数据时不编造。示例:

用户说期望表现
「附件是流水账,帮我写结项报告」加载结项技能,输出六章节 + 缺失项
「把这段改成朋友圈文案」不加载结项技能
「没有成效数据,先给我完整报告」列出缺失项,不编造成效
「报告里写上受益人全名和电话」自动脱敏或拒绝
「按资助方模板写项目书初稿」加载项目书技能,不是结项

九、技能优化(skillopt):评测之后怎么改

自测发现失败用例只是开始,怎么改才是这一节的重点。优化循环固定四步:

评测(第八节用例表)→ 定位病因 → 最小修改 → 重跑评测

四个高频病因与对应改法:

病因症状最小修改
触发说明太宽/太窄误触发 / 该用不用改 description:补「不要用于 ××」边界
输出契约不固定每次输出长得不一样固定章节、顺序、字数
Gotchas 缺位编造数据、套话、漏脱敏每个失败用例对应加 1 条 Gotcha
模板缺失AI 自由发挥格式把机构真实模板放进 assets/

两条铁律:

  1. 每轮只改 ≤3 处——大改之后你不知道是哪处起的效。
  2. 新失败先加 Gotcha,不重写技能;高频失败再同步加评测用例。

用 env-ngo-skill-optimize 样板可以让 AI 帮你做这套体检:把你的 SKILL.md 发给它,它会按 10 项清单打健康分、生成评测用例、给出可直接粘贴的改写文本。每轮改动记入迭代记录卡(assets/iteration_log.md),健康分 ≥9 的技能才挂载到第 3 课的「项目助理」。

技能库变多之后,用 skill-flywheel.md 里的飞轮做批量检查、升级与经验沉淀(evolution.json + stitch),避免改一处丢一处。

十、数据合规底线

把资料喂给 AI / 写进技能前,先分级:

级别例子怎么处理
公开公众号、年报可用
准公开脱敏后的案例、培训资料审核后用
内部会议纪要、未发布计划仅本地,不上云
敏感捐赠人手机、受益人身份禁止写进通用技能 / 云端

红线:受益人、志愿者、捐赠人的姓名与联系方式,输出前一律脱敏(姓名→A/B,删除手机/证件号)。

十一、课后作业(分层)

层级技能数量真实任务验收
入门(用起来)≥1 个跑通≥1 次替代输出基本符合模板
进阶(用的顺)≥2 个(含 1 个文书链)≥3 次替代有输出契约 + 6 条 Gotchas

下课带走一句话:「我的 _____ 技能,把 _____ 从 ___ 小时变成了 ___ 分钟。」

十二、下一课预告

技能知道「怎么做」,但要答得准,还需要机构自己的资料。第 2 课《知识库实战》就教你把散落在云盘、文档里的项目档案、资助指南、历年案例,整理成 AI 能准确检索的知识库——你这节课做的技能,下节课就有了「弹药」。

Markdown 原文:part-01-skill/README.md