بنقرة واحدة
generate-course
Generate a card-based certification training course from wiki content
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generate a card-based certification training course from wiki content
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Process raw sources into wiki pages — creates summaries, entities, and concept pages
Check Sentry errors, Axiom logs, and other monitoring sources for bugs, then fix them with regression tests
Recursively crawl a documentation site, converting each page to markdown
Fetch Google Docs and convert to markdown
Generate TTS audio from speaker_notes and upload to Vercel Blob
Generate AI illustrations for course cards and upload to Vercel Blob
| name | generate-course |
| description | Generate a card-based certification training course from wiki content |
| user-invocable | true |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
Generate a complete card-based course from the wiki knowledge base.
/generate-course <topic-or-slug>
Example: /generate-course claude-architect
wiki/index.md to locate pages relevant to $ARGUMENTS.[[wikilinks]] one hop out for context.raw/ if this is exam-prep content.Create courses/<slug>/graph.yaml following this format:
concepts:
concept-key:
prerequisites: [other-concept-key]
domain: "Domain Name"
wiki_page: "Wiki Page Title"
Rules:
Create courses/<slug>/course.md with YAML frontmatter:
---
type: course
id: "course_<slug>"
title: "Course Title"
status: draft
exam_target: "target-exam-slug"
target_audience: "Who this is for"
estimated_minutes: 90
pass_threshold: 0.72
difficulty_curve: gradual
domains:
- name: "Domain Name"
weight: 0.25
cards: [03, 04, 05]
card_order:
- cards/01-slug.md
- cards/02-slug.md
tags: [tag1, tag2]
---
The body should contain objectives, exam format, and overview.
Create individual card files in courses/<slug>/cards/ following these schemas.
Card ID format: card_<8-char-hex> — generate randomly, must be unique across the course.
Filename convention: NN-slug.md where NN is zero-padded order number.
---
id: "card_<8hex>"
type: page
order: N
difficulty: 1-3
title: "Title"
domain: "Domain Name"
wiki_refs: ["Wiki Page 1", "Wiki Page 2"]
source: "raw/filename.md"
content_hashes:
"Wiki Page 1": "<first-8-chars-of-md5>"
speaker_notes: |
Narration script for TTS...
---
Body content in markdown, >100 chars...
For content_hashes: read each wiki_ref page, compute a simple hash of its content (first 8 chars of a hex digest). This enables staleness detection.
---
id: "card_<8hex>"
type: quiz
order: N
difficulty: 1-3
title: "Title"
domain: "Domain Name"
wiki_refs: ["Wiki Page"]
pass_threshold: 0.8
questions:
- prompt: "Question text"
objective: "What this tests"
source: "raw/filename.md"
choices:
- text: "Answer A"
correct: true
feedback: "Why correct"
- text: "Answer B"
correct: false
misconception: "what the learner confused"
feedback: "Why wrong and what's right"
- text: "Answer C"
correct: false
misconception: "specific misconception"
feedback: "Correction"
- text: "Answer D"
correct: false
misconception: "specific misconception"
feedback: "Correction"
---
ENFORCED quiz constraints:
misconception field (non-empty, specific)source field pointing to an existing raw/ fileobjective---
id: "card_<8hex>"
type: scenario
order: N
difficulty: 3
title: "Title"
domain: "Domain Name"
wiki_refs: ["Wiki Page"]
source: "raw/filename.md"
steps:
- id: start
situation: |
Description of the situation...
choices:
- text: "Option A"
next: step_id
score: 1.0
- text: "Option B"
next: other_step
score: 0.0
- id: terminal_step
outcome: |
What happened as a result...
total_score: best|partial|poor
---
Scenario constraints:
---
id: "card_<8hex>"
type: reflection
order: N
difficulty: 1-3
title: "Title"
domain: "Domain Name"
wiki_refs: ["Wiki Page"]
prompt: |
Open-ended reflection prompt...
---
wiki/index.md if not present.- [[Course - <Title>]] — one-line summarywiki/log.md:
## [YYYY-MM-DD] generate-course | <Title>
Generated N cards across M domains. Card mix: X page, Y quiz, Z scenario, W reflection.
Run the validator:
npx tsx scripts/validate-course.ts courses/<slug>
Fix any failures before completing. Iterate until the validator exits 0 with all checks passing.
Every card should be something a learner would genuinely learn from: