Files
check-course-syllabus-aa/SKILL.md
taojianmin 1d78e542ca v1.0.1: 课程教学大纲合规性体检 - 初版骨架
基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。

核心业务:
- 教师在教务系统提交新开课或修订大纲时自动触发
- 格式结构 + 课程目标与毕业要求矩阵匹配 + 课程思政融合度三维体检
- 以批注模式嵌入原 Word 文档,文末给出百分制评分

输出形态:
- Word 文档红 / 黄 / 绿三色批注
- 百分制体检评分 + HTML 体检报告 + 修改建议清单

预期提效:教务处培养方案审核环节的返工次数减少 70%;大纲编制的规范性达到 95% 以上。

业务行生命周期:无(一次性体检结果存档,不重复处理)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 12:19:12 +08:00

130 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: 课程教学大纲合规性体检
description: "教师在教务系统提交新开课/修订大纲时,自动检查格式结构、课程目标与毕业要求矩阵匹配、课程思政融合度,以批注模式嵌入原 Word 文档并给出百分制体检评分。"
version: 1.0.1
author: 深圳匠厂科技有限公司
metadata:
openclaw:
slug: check-course-syllabus-aa
platform_kit_min_version: "1.2.11"
emoji: "📚"
category: "教务"
developer_ids:
- 12345 # 占位,请换成你的匠厂用户 ID
- 12468
allowed-tools:
- bash
---
# 课程教学大纲合规性体检(check-course-syllabus-aa)
这是基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。覆盖需求规格书第 4.2 节「🟣 教务处 Skill 001 —— 课程教学大纲"合规性体检"」。
## Agent / 宿主编排(复制为业务技能后必改)
### AI + RPA 定位
- **Agent 是入口与编排者**:理解用户意图("给《数据结构》大纲做体检"、"查看本月体检合格率")、补齐参数、判断风险、选择 Action,并用业务语言解释结果。
- **本技能不涉及浏览器 / 桌面 / 手机 RPA**:大纲 Word 文件读取、教学大纲编制规范 PDF 解析、人才培养方案匹配均走教务系统官方 API + 本地 NLP 处理。
- 开发者与 AI 编程工具先读 `development/AI_RPA.md`。
### 架构铁律(先读)
- **宿主产品入口平级**:对话任务 / 数据管理 / 定时任务是同一技能能力的不同触发场景,**同等重要**;本技能**重点挂数据管理 + 对话入口**(教师提交大纲时强制过 AI 体检)。
- **单业务内核、多入口**:数据管理 / 定时任务 / Agent / 技能详情 / 直接 CLI 必须复用同一 domain service。
- **业务行生命周期**:本技能对「大纲体检记录」无角色约束(一次性体检结果存档,不重复处理)。
- **HTML 整页报告**:本技能输出体检报告走 `render-html`,并把批注回写到原 Word 文档。
### 如何触发(能力类型)
| 你要做什么 | Agent 怎么做 | 进任务中心? |
|------------|--------------|--------------|
| 健康检查 / 短查询 | OpenClaw bash/exec + 共享 Python 跑 CLI | 否 |
| 已声明 sync 的 Action | `run_skill_action` 或等效短 CLI | 否 |
| 长任务(向量化比对 + Word 回写) | **必须** `run_skill_action` | 是(async) |
### 用户意图路由表(业务技能复制后必改)
| 用户意图(本技能自填) | Agent 怎么做 | 进任务中心? |
|------------------------|--------------|--------------|
| 检查运行环境 | 短 CLI:`python {baseDir}/scripts/main.py health` | 否 |
| 查看版本 | 短 CLI:`python {baseDir}/scripts/main.py version` | 否 |
| 查看配置位置 | 短 CLI:`python {baseDir}/scripts/main.py config-path` | 否 |
| 对一份大纲做合规体检 | `run_skill_action` → `audit-syllabus`(输入:`syllabus_id`) | 否(sync) |
| 批量体检某专业所有大纲 | `run_skill_action` → `batch-audit-syllabus`(输入:`major_id`) | 是(async) |
| 查看体检报告 | `run_skill_action` → `render-html`(输入:`audit_id`) | 否(sync) |
| 体检规范文件库更新 | `run_skill_action` → `sync-norm-library`(cron 占位) | 是(async) |
## 共享 Python(必读)
宿主共享 runtime 在 `{JIANGCHANG_DATA_ROOT}/python-runtime/.venv`,并已前置到 PATH(同时设 `VIRTUAL_ENV`)。短 CLI 一条命令直接跑:
```bash
python {baseDir}/scripts/main.py health
python {baseDir}/scripts/main.py version
python {baseDir}/scripts/main.py config-path
python {baseDir}/scripts/main.py init-db
```
- 公共库来自共享 venv 的 `jiangchang-platform-kit>=1.2.11`(包名路径 `jiangchang_skill_core`);**不要 vendor** `scripts/jiangchang_skill_core/`。
- 根目录 `requirements.txt` **只声明技能特有**依赖;不要写 `jiangchang-platform-kit` / `playwright`。
- `metadata.openclaw.platform_kit_min_version` 是宿主兼容声明,**不是** pip 依赖。
- `health` 用 `collect_runtime_diagnostics` 做只读诊断。
配置:仓库 `.env.example` 为模板;用户 `.env` 在 `{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/{slug}/.env`。优先级:进程环境变量 > 用户 `.env` > `.env.example`。
## 面向用户问答(LLM 规则)
- 本文(`SKILL.md`)是 LLM / OpenClaw 平台读取的技能入口,**不是**用户市场说明。
- 根目录市场材料面向普通用户(见下方「文档分工」),**不是** Agent 调用契约。
当用户询问以下问题时,**必须优先读取**根目录 `README.md`(能力说明)与 `TUTORIAL.md`(逐步用法):
- 这个技能是做什么的
- 这个技能怎么用
- 适合什么场景
- 使用前要准备什么
- 执行后会得到什么
- 能不能帮我完成某个业务任务
**回答「怎么用 / 能做什么」时的要求:**
1. 「能做什么 / 场景 / 概念类 FAQ」以 `README.md`(说明 Tab)为主;「点哪里 / 说什么 / 排障」以 `TUTORIAL.md`(教程 Tab)为主。
2. **禁止**在回答中粘贴 `python …/scripts/main.py …` 或其它命令行。
3. **禁止**为答用法而去 `dir` / `ls` / 列技能目录。
4. **不要**向普通用户暴露 Playwright、DOM、Python、RPA、库表名、`error_code` 等实现细节。
5. 用户问「怎么用」时:**优先读 `TUTORIAL.md`**。
## 文档分工
| 文档 | 读者 | 用途 |
|------|------|------|
| 根目录 `README.md` | 普通用户 | 市场 **说明** Tab |
| 根目录 `TUTORIAL.md` | 普通用户 | 市场 **教程** Tab |
| 根目录 `DEMO.md` | 普通用户 | 市场 **演示** Tab |
| 根目录 `CHANGELOG.md` | 普通用户 | 市场 **更新日志** Tab |
| `SKILL.md`(本文) | LLM / OpenClaw 平台 | 技能入口、触发与运行契约摘要 |
| `references/` | Agent 编排 / 调用 | CLI、Action、schema 契约 |
| `development/` | 开发者 / AI 编程代理 | 需求、开发教程、测试、深度技术规范 |
## 目录约定
- `assets/`、`development/`、`evals/`、`references/`、`scripts/`、`tests/`
- CLI 入口固定为 `scripts/main.py`
- 业务逻辑按 `cli / db / service / util` 分层
## 技能命名与 slug
- slug:`check-course-syllabus-aa`(`check` 动词 + `course-syllabus` 名词 + `aa` academic affairs 教务处缩写)
- name:**用户可见的中文业务名称**;`description` 是说明,不是名称。
- 目录名、默认 `{slug}.db` 使用 slug,不使用中文。
## 平台元数据
- `metadata.openclaw.developer_ids`:技能发布后的默认开发者可见用户 ID 列表。
- 开发期技能常为不公开:不加本人 ID,开发者自己也无法在市场安装自测。
---
> **本技能开发状态:** v1.0.1 骨架已就位,业务实现细节见 `development/REQUIREMENTS.md`;具体 Python 模块由开发者后续补全。