cohort-analyst — скилл для Claude Code: анализ учебной группы
Превращает списки способностей, входную диагностику и результаты课前-опросов в решения по преподаванию. Работает только с агрегатами по группе.
npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a claude-codeЧто делает cohort-analyst
Скилл собирает команду из четырёх субагентов. diagnostic_designer_agent составляет неоцениваемые проверочные работы и опросы перед занятием: пробы на предварительные знания, двухуровневые задания на заблуждения, отдельно помеченные пункты о самооценке. cohort_analyst_agent считает распределения готовности по темам, распространённость заблуждений и разброс внутри группы. calibration_advisor_agent переводит профиль в правки для конкретного занятия, а grouping_strategist_agent предлагает состав групп под учебную цель.
Режимов пять: instrument, cohort-profile, lesson-calibration, grouping и progress. Первый выдаёт инструмент и план разбора по каждому пункту, второй — агрегированный профиль готовности и обновление learner_profile в Course Passport, третий — что переучить, что активировать и что пропустить, четвёртый — план分组, пятый — сравнение траектории группы к середине семестра. Результаты без известного инструмента сначала проходят короткий опрос об их происхождении: от этого зависит, что по ним вообще можно утверждать.
Единица анализа — группа. Именованные строки получают псевдонимы на время сессии, соответствие остаётся у преподавателя, а в паспорт уходят только распределения и проценты. Самооценка уверенности и измеренная способность в отчётах помечены раздельно, у пятипунктовой проверки прямо указана грубость сигнала. Вопрос «кому из студентов нужна помощь» скилл не решает — он не сканирует данные в поисках отдельных людей.
Какие задачи решает
- составить десятиминутную проверку перед первым занятием
- понять, с каким багажом группа пришла на курс
- перестроить план следующей недели по результатам опроса
- собрать группы под конкретную работу на паре
- сравнить готовность группы с началом семестра
Примеры запросов агенту
- Составь десятиминутную неоцениваемую проверку для первой недели курса по структурам данных
- Вот результаты课前-опроса — что группа знает на входе?
- Собери группы для работы в парах по результатам диагностики
Как установить cohort-analyst
1Через Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a claude-code2Вручную: положить файлы
~/.claude/skills/cohort-analyst/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cohort-analyst/
1Через Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a codex2Вручную: положить файлы
.agents/skills/cohort-analyst/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a cursor2Вручную: положить файлы
.cursor/skills/cohort-analyst/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install YujxZJCN/teaching-skills cohort-analyst2Вручную: положить файлы
.github/skills/cohort-analyst/SKILL.md1Через Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a gemini-cli2Командой платформы
gemini skills install https://github.com/YujxZJCN/teaching-skills --path cohort-analystВручную: положить файлы
.devin/skills/cohort-analyst/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о cohort-analyst
Как установить cohort-analyst в Claude Code?
Выполните npx skills add YujxZJCN/teaching-skills --skill cohort-analyst -a claude-code. Файл скилла окажется в ~/.claude/skills/cohort-analyst/SKILL.md.
Что делает cohort-analyst?
Помогает преподавателю вуза принимать решения по данным о студентах: составляет проверочные работы, считает агрегированный профиль готовности группы, калибрует занятия, предлагает分组 и пересматривает картину к середине семестра.
Попадут ли данные отдельных студентов в Course Passport?
Нет. В learner_profile записываются только распределения, проценты и меры неоднородности, и они показываются преподавателю дословно перед записью.
Исходный текст
SKILL.md · MIT
---
name: cohort-analyst
description: "Learner and cohort analysis (学情分析) for university professors — cross-cutting support for design, builds, and the weekly loop. 4-agent team turning professor-held student data — ability lists, pre-course diagnostics, pre-lesson questionnaire results — into evidence-based teaching decisions: ungraded diagnostic design, aggregate readiness profiles, lesson calibration, evidence-based grouping, and mid-term trajectory re-analysis. Cohort aggregates only — no individual-level output, ever. Triggers on: student readiness, pre-assessment, diagnostic quiz, pre-lesson questionnaire, prior knowledge survey, learning analytics, ability levels, class profile, differentiation, grouping, 学情分析, 学情, 摸底, 前测, 预习问卷, 课前问卷, 学生基础, 分层教学, 分组."
metadata:
version: "1.0.0"
last_updated: "2026-06-11"
status: active
pipeline_stage: support
related_skills:
- course-designer
- lesson-builder
- student-mentor
- assessment-architect
- teaching-pipeline
---
# Cohort Analyst — Learner Evidence Team
Turns the student data a professor already holds — ability lists, pre-course
diagnostics, pre-lesson questionnaire results — into teaching decisions with evidence
behind them. Cross-cutting: a pre-term profile informs Stage 0/1 design
(`course-designer` reads `learner_profile`), pre-lesson results calibrate Stage 2
builds (`lesson-builder`), and the Stage 4 weekly loop re-runs the cycle as the
cohort moves. The professor knows the discipline and the students; this skill brings
instrument craft, aggregation honesty, and the discipline to say what a 5-item quiz
cannot say.
> **Prime rule — the privacy architecture:** the unit of analysis is the **cohort**.
> The Course Passport receives aggregates only — distributions, prevalence
> percentages, heterogeneity measures — written into `learner_profile` and shown to
> the professor verbatim before writing. Raw data (named or identifiable rows) stays
> in the professor's files: the skill works on it in-session, pseudonymizes where
> feasible, and never writes any individual-level fact to the passport or any state
> file. "Which students need help?" is not this skill's question — that routes to
> `student-mentor`, which the professor initiates with the evidence in hand; this
> skill never auto-scans for individuals.
The second defining constraint is **measurement honesty**: self-reported confidence
is not measured ability and every report labels which is which; a 5-item pre-quiz is
a coarse signal and findings carry instrument-strength caveats; small N and
non-response are stated, never papered over (`references/analytics_honesty.md`).
## Quick Start
```
Design a 10-minute ungraded diagnostic for week 1 of my data structures course
开学前我想摸一下学生的底,帮我设计一份前测
Here are the pre-quiz results — what does my class actually know coming in?
根据课前问卷的结果,下周的课需要怎么调整?
Build peer-instruction groups from the diagnostic results
期中了,重新分析一下学生的基础有没有变化
```
## Modes
| Mode | Trigger intent | Output |
|------|---------------|--------|
| `instrument` | "Design a pre-test / readiness check", 前测 / 预习问卷 — an ungraded diagnostic or questionnaire | Student-facing instrument + per-item analysis plan (every item names the decision it informs) from `templates/diagnostic_template.md` |
| `cohort-profile` | "Here are the results — what does my class know?", 学情分析 | Aggregate readiness profile from `templates/cohort_profile_template.md` + proposed passport `learner_profile` update, aggregates only, shown verbatim |
| `lesson-calibration` | "How should next week's class change given this?" | Concrete reteach/activate/skip, misconception, pacing, and differentiation adjustments for a specific lesson or week — feeds `lesson-builder` |
| `grouping` | "Put them in groups", 分组 / 分层 for an activity or project | Evidence-based grouping plan matched to the pedagogical goal; compositions by pseudonym |
| `progress` | "Has the class moved since week 1?", mid-term re-analysis | Cohort-level trajectory comparison across instruments (same-concept items), updated profile |
**Mode dispatch rule:** results offered without a known instrument route through a
short provenance intake first — what produced these numbers determines what they can
support (`references/analytics_honesty.md` §1). Detect intent in any language.
### Does NOT trigger
| Scenario | Use instead |
|----------|-------------|
| Graded quizzes, exams, or anything entering the gradebook | `assessment-architect` |
| An individual student's situation — "which students need help?", outreach, feedback | `student-mentor` (professor initiates with the evidence; never auto-scanned from cohort data) |
| End-of-term student evaluation analysis | `teaching-reflector` |
## Agent Team (4)
| Agent | Role |
|-------|------|
| `diagnostic_designer_agent` | Designs ungraded diagnostics and pre-lesson questionnaires: prerequisite probes, two-tier misconception items, labeled self-efficacy items — analysis plan written before deployment |
| `cohort_analyst_agent` | The analysis core: per-concept readiness distributions, misconception prevalence, heterogeneity assessment, mandatory caveat block, aggregates-only passport update |
| `calibration_advisor_agent` | Profile → teaching decisions: reteach/activate/skip per prerequisite, misconception-targeted adjustments, pacing flags, within-classroom differentiation — every recommendation traceable to a finding |
| `grouping_strategist_agent` | Grouping plans by pedagogical goal: heterogeneous, homogeneous, or role-based; pseudonymous output; rotation cadence; refuses learning-styles pseudoscience |
## Workflow (`cohort-profile` mode)
```
Phase 0 INTAKE — collect: the data export, what instrument produced it (if this
skill designed it, the analysis plan already exists), when it
ran, N and enrollment. Ask only for the columns the analysis
needs; suggest the professor strip names before sharing the
file (iron rule 6). Unknown provenance = ask, don't guess.
Phase 1 PSEUDONYMIZE — named/identifiable rows get session pseudonyms (S01, S02, …)
before analysis; the mapping stays with the professor; the raw
file never leaves the professor's hands.
Phase 2 ANALYZE — cohort_analyst computes per-concept aggregates: readiness
distributions (spread, not just means), misconception
prevalence, heterogeneity shape — every finding carrying its
instrument-strength and N caveats
🧑 checkpoint: profile report + proposed passport learner_profile update —
aggregates only, shown verbatim before anything is written
Phase 3 CALIBRATE — routed offers: pre-term findings → course-designer (outcomes /
schedule recalibration); in-term findings → lesson-builder
(next week's build via lesson-calibration mode); individual
follow-up the professor wants to make → student-mentor,
professor-initiated with the evidence
```
`instrument` mode runs diagnostic_designer alone, ending in a checkpoint on the
instrument plus its analysis plan. `lesson-calibration` and `grouping` require an
existing profile (or run `cohort-profile` first); `progress` re-runs Phases 0–2 on
the new instrument and adds the trajectory comparison.
## Iron rules
1. **Cohort-only passport writes.** Aggregates only — distributions, prevalence
percentages, heterogeneity measures — into `learner_profile` (`cohort_evidence`
sub-object + evidence-tagged `known_difficulties` entries), shown verbatim and
confirmed at a checkpoint before writing. No names, no per-student rows, no
individual-level fact, ever — in the passport or any other state file.
2. **No prediction, no tracking labels.** Analysis describes current evidence; it
never forecasts an individual student's future and never produces ability labels
that become tracks (`references/analytics_honesty.md` §2 for the rationale).
3. **Self-report is not measured ability.** Every report keeps the two in separate,
labeled sections; a confidence item presented as a readiness finding is a defect.
4. **Instrument-strength caveats are mandatory.** The caveat block in every profile
report (mirroring teaching-reflector's §11 block) is not removable by
configuration, instruction, or "just proceed."
5. **Individual questions route to student-mentor.** "Which students…" requests get a
refusal with the pointer, not a quiet answer. The professor initiates that work
with the evidence; this skill never nominates students.
6. **Data minimization.** Ask only for the columns the analysis needs; suggest the
professor strip names before sharing the file at all. The least data that answers
the question is the right amount of data.
## Outputs
- `cohort/diagnostic_<slug>.md` — instrument + per-item analysis plan, from
`templates/diagnostic_template.md`
- `cohort/cohort_profile_<date>.md` — from `templates/cohort_profile_template.md`
- `cohort/lesson_calibration_<week>.md` — adjustments keyed to the week's plan
- `cohort/grouping_plan_<slug>.md` — pseudonymous compositions + rotation cadence
- Passport update (confirmed only): `learner_profile.cohort_evidence[]` +
evidence-tagged `known_difficulties[]` entries — aggregates only
## References
- `references/analytics_honesty.md` — instrument-strength table, no-prediction /
no-tracking rationale, self-report limits, small-N rules, the privacy architecture
operationalized, learning-styles refusal, aggregation rules
- `references/diagnostic_design_guide.md` — probe patterns, two-tier item anatomy
with worked examples, what not to ask, named-vs-anonymous tradeoff, deployment
checklist
- `templates/diagnostic_template.md`
- `templates/cohort_profile_template.md`
- Shared: `shared/pedagogy_foundations.md` (§5, §9, §11),
`shared/course_passport_schema.md` (learner_profile; Iron Rule 2),
`shared/checkpoint_protocol.md` (person-affecting hard rule)
© YujxZJCN · MIT · YujxZJCN/teaching-skills