ai-shifu-learning-report · git:20260805.32e3d9b · 2026-08-05 · sha256 507b97a853f7d90f
ai-shifu-learning-report git:20260805.32e3d9bA
Immutable. This exact content is served forever at /api/v1/blob/507b97a853f7d90f.
--- name: ai-shifu-learning-report description: Create a polished, printable learning report for one AI-Shifu course from live course analytics or a supplied report dataset. Use this skill whenever a teacher or teaching manager asks for an AI-Shifu learning report, course review, teaching diagnosis, lesson health analysis, learner engagement or audience insights, follow-up question themes, or a management-ready course analytics dashboard—even when they only say “复盘这门课” or “做个教学报告.” Produce privacy-safe `course-learning-report.json` and `course-learning-report.html`; do not use this skill for multi-course comparison or course-authoring changes. --- # AI-Shifu Learning Report Turn observed data from one course into a decision-ready report for teaching managers and teachers. Keep collection, interpretation, and presentation separate so every conclusion can be traced to a defined metric without exposing learner data. ## Required References Read these files completely, in order, for every report: 1. `references/data-collection-and-privacy.md` 2. `references/analysis-guidelines.md` 3. `references/report-structure.md` Resolve every `## Required References` declaration in those files transitively before acting. ## Scope Router | Request | Route | | --- | --- | | Build a report from a live AI-Shifu course | Use the current `ai-shifu-course-creator` skill and its analytics CLI to collect the permitted data, then normalize, analyze, and render it here. | | Build a report from supplied or synthetic data | Do not query the platform. Validate the input against this skill's data and privacy rules, then normalize, analyze, and render it. | | Re-render an existing `schema_version: "1.0"` report JSON | Validate and privacy-scan the JSON, then render it without inventing missing analysis. | | Compare multiple courses | Explain that v1 supports one-course diagnosis and ask which course should be reported first. Do not silently merge courses. | | Edit course content after reading the report | Finish the report first, then hand the requested authoring work to `ai-shifu-course-creator` as a separate task. | ## Workflow 1. **Resolve the request.** Identify exactly one course and any requested time range. Default to `zh-CN` and cumulative-to-date data. Use `en-US` only when the user explicitly asks for English; schema keys, enum values, commands, and file names stay unchanged. 2. **Collect or validate.** Follow `data-collection-and-privacy.md`. Live collection delegates authentication, course resolution, outline resolution, analytics syntax, and platform privacy controls to the current `ai-shifu-course-creator`; never recreate those mechanisms here. 3. **Normalize.** Create a `schema_version: "1.0"` report object. Keep unavailable data as `null` with an explicit quality explanation instead of guessing or converting it to zero. 4. **Analyze.** Follow `analysis-guidelines.md`. Separate observations from interpretations, preserve conflicting signals, and write 3–5 evidence-linked recommendations. 5. **Write the data artifact.** Save the privacy-safe object as `course-learning-report.json`. This file is the single source for the rendered report. 6. **Validate and render.** Follow `report-structure.md`, validate the JSON, then run the bundled renderer to create `course-learning-report.html` from that exact JSON. 7. **Run the release gate.** Confirm that both files describe one course, use the requested language, contain no raw learner text or identifiers, label metric definitions and time scopes, show missing-data states honestly, and contain no external runtime assets. 8. **Deliver both files.** Summarize the reporting window, major data limitations, and whether follow-up text was sampled. Do not paste private source rows into the handoff. ## Non-Negotiable Boundaries - Use the course creator skill's current CLI for live data. Never read a token, inspect its environment file, compose authentication headers, or call platform HTTP endpoints directly. - Do not copy or freeze the analytics query language in this skill. The course creator skill owns query syntax, table semantics, codes, and recipes. - Never place raw follow-up text, answers, phone numbers, emails, names, nicknames, learner labels, or any raw `*_bid` value in either final artifact. - Treat completion as an explicitly labelled proxy only when the course has a reliable final required lesson. Treat `进行中` / `In progress` as a recorded state, never proof that learners are stuck. - Keep orders, revenue, payment channels, and AI-Shifu credit consumption out of the teaching report unless the user explicitly requests an operations appendix. - The JSON is the factual contract and the HTML is its presentation. Do not add claims to HTML that are absent from JSON. ## Completion Checklist - `course-learning-report.json` passes the bundled validator for schema version 1.0. - `course-learning-report.html` is self-contained, responsive, accessible, printable, and generated from the validated JSON. - Every metric includes `key`, `label`, `value`, `unit`, `definition`, `time_scope`, `data_quality`, `is_approximate`, and `source_notes`. - The report contains 3–5 recommendations with cited evidence, confidence, an action, and a validation method. - Follow-up analysis discloses its recent-sample size and collection status; an opt-out produces an explicit not-collected state, not an empty-data inference. - Privacy scan finds no raw source text, identity data, internal IDs, or sensitive learner profile values.