dbosk
@dbosk
Public Skills
canvas-info
by dbosk
Research and answer questions about Canvas LMS courses using the canvaslms CLI. Use proactively when: (1) user asks about course content, assignments, pages, grades, deadlines, or announcements, (2) user mentions a Canvas course name or course code, (3) user asks "what assignments/pages/modules are in [course]?", (4) user wants to find specific course materials or check deadlines. This skill is read-only; to create quiz content, use the canvas-quiz skill instead.
literate-programming
by dbosk
"CRITICAL: ALWAYS activate this skill BEFORE making ANY changes to .nw files. Use proactively when: (1) creating, editing, reviewing, or improving any .nw file, (2) planning to add/modify functionality in files with .nw extension, (3) user asks about literate quality, (4) user mentions noweb, literate programming, tangling, or weaving, (5) working in directories containing .nw files, (6) creating new modules/files that will be .nw format. Trigger phrases: 'create module', 'add feature', 'update', 'modify', 'fix' + any .nw file. Never edit .nw files directly without first activating this skill to ensure literate programming principles are applied. (project, gitignored)"
canvas-quiz
by dbosk
Write and review Canvas LMS quiz JSON files (INL1Quiz-*.json) for the tilkry cryptography course. Use proactively when: (1) creating, editing, or reviewing INL1Quiz JSON files, (2) user asks to write quiz questions for a lecture topic, (3) user asks to review quiz quality, redundancy, or distractor balance, (4) user mentions Canvas quiz, INL1Quiz, quiz JSON, or quiz questions. Covers JSON structure, question design, scoring, redundancy analysis, and validation.
variation-theory
by dbosk
Apply variation theory of learning to structure instructional content using contrast, generalization, and fusion patterns. Variation must target the critical aspects of the learning objective. Use when writing educational materials, explanations, tutorials, literate programming documentation (.nw files), structuring lecture slides, designing exercises, or when user mentions variation theory, learning theory, pedagogy, or critical aspects of learning. Works alongside the literate-programming skill for .nw files.
update-project-docs
by dbosk
Keep CLAUDE.md and AGENTS.md current after significant project changes. Use proactively when: (1) adding new modules, packages, or top-level directories, (2) changing build/test commands or tooling, (3) renaming/moving/deleting files referenced in CLAUDE.md, (4) introducing new conventions or patterns, (5) reorganizing document structure, (6) adding dependencies requiring setup steps. Invoke when user mentions CLAUDE.md, AGENTS.md, project docs update, or after completing architectural changes.
didactic-notes
by dbosk
Document pedagogical design decisions in educational materials using the didactic LaTeX package and \ltnote command. Use proactively when (1) writing or editing educational LaTeX materials with pedagogical content, (2) adding variation theory labels or patterns to student-facing content, (3) explaining design trade-offs or choices in educational materials, (4) documenting why specific examples or exercises are sequenced in a particular way. Invoke when user mentions didactic notes, \ltnote, pedagogical reasoning, learning theory notes, educational design documentation, variation theory labels in student content, or asks to move pedagogical reasoning to instructor notes. CRITICAL: Pedagogical reasoning (variation/invariance labels, pattern names, design rationale) should be in \ltnote{}, NOT in student-facing text.
writing-crypto
by dbosk
Write cryptography prose and notation using the project's bibsp.sty + preamble.tex conventions (acro + biblatex footnote citations and standardized math macros). Use proactively when: (1) writing/editing cryptography sections in .tex files, (2) introducing or using crypto acronyms such as IND-CPA, IND-CCA, AE, MAC, PRF, ZK, and DH, (3) defining schemes/algorithms/variables in math notation, (4) adding citations for security notions or standard primitives, (5) writing security proofs or reductions, (6) user mentions biblatex, crypto notation, or security proof in cryptographic context.
try-first-tell-later
by dbosk
Structure educational content using try-first-tell-later pedagogy where students predict, attempt, or reflect before receiving explanations. Creates active learning through cognitive engagement and variation theory's contrast patterns. Use when writing educational materials, designing exercises, creating lecture notes, structuring tutorials, writing teaching examples with LaTeX/Beamer, developing problem sets, or when user mentions try-first, predict-first, productive failure, Socratic method, question-before-answer, exercise-driven learning, or inquiry-based teaching.
skill-management
by dbosk
"IMPORTANT: Activate this skill BEFORE modifying any skill in ~/.claude/skills/. Guide for creating, updating, and maintaining Claude Code skills following best practices. Use proactively when: (1) creating a new skill, (2) modifying an existing skill in ~/.claude/skills/, (3) user requests to create, improve, update, review, or refactor a skill, (4) discussing skill quality or effectiveness. Always commit skill changes to the skills git repository after making modifications."
latex-writing
by dbosk
Guide LaTeX document authoring following best practices and proper semantic markup. Use proactively when: (1) writing or editing .tex files, (2) writing or editing .nw literate programming files, (3) literate-programming skill is active and working with .nw files, (4) user mentions LaTeX, BibTeX, or document formatting, (5) reviewing LaTeX code quality. Ensures proper use of semantic environments (description vs itemize), csquotes (\enquote{} not ``...''), and cleveref (\cref{} not \S\ref{}).