Agent skill

canvas-info

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.

Stars 1
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/dbosk/claude-skills/tree/main/canvas-info

SKILL.md

Canvas Course Information Research

Overview

The canvaslms CLI provides read-only access to Canvas LMS course data: assignments, pages, modules, discussions, announcements, grades, quizzes, and calendar events. This skill teaches a research workflow for answering user questions about their courses.

For detailed options on any subcommand, run canvaslms <subcommand> -h.

Research Workflow

Follow these steps when answering a Canvas-related question:

Step 1: Identify the Course

bash
canvaslms courses              # List all courses
canvaslms courses "regex"      # Filter by name/code (case-insensitive regex)

Note the course ID from the output. Use it with -c <id> in subsequent commands.

Step 2: Explore Course Structure

Choose the right entry point based on the question:

Question type Start with
"What's in this course?" canvaslms modules list -c <id>
"What assignments exist?" canvaslms assignments list -c <id>
"Any announcements?" canvaslms discussions list -c <id> -t announcement
"What pages are available?" canvaslms pages list -c <id>
"What are the deadlines?" canvaslms calendar -c <id>
"How did students do?" canvaslms results -c <id>

Step 3: Drill into Content

Use view subcommands to read specific items:

bash
canvaslms modules view -c <id> -m "module regex"
canvaslms pages view -c <id> -p "page regex"
canvaslms assignments view -c <id> -a "assignment regex"
canvaslms discussions view -c <id> -d "discussion regex"

The view commands output full content (markdown for pages, HTML for assignments). The list commands output tab-delimited CSV summaries.

Step 4: Refine with Filters

Most commands accept regex filters and additional flags. Run canvaslms <subcommand> -h to discover available filters for each command.

Common refinement patterns:

  • Combine course + item filters: -c "DD2520" -a "lab"
  • Filter by module: -c <id> -m "week 3"
  • Filter submissions by user: canvaslms submissions -c <id> -u "username"

Step 5: Synthesize and Answer

After gathering data:

  • Quote relevant content directly when answering
  • Summarize lists into readable format (tables, bullets)
  • If data seems stale, suggest re-running with --no-cache
  • Provide the course/assignment/page names so the user can navigate in Canvas

Quick Reference

To find... Command Key flags
All courses canvaslms courses regex filter, -i for ID only
Course modules canvaslms modules list -c, -m
Module contents canvaslms modules view -c, -m
Assignments canvaslms assignments list -c, -a, -m
Assignment details canvaslms assignments view -c, -a
Wiki pages canvaslms pages list -c, -p, -m
Page content canvaslms pages view -c, -p
Announcements canvaslms discussions list -c, -t announcement
Discussions canvaslms discussions list -c, -t discussion
Discussion content canvaslms discussions view -c, -d
Quizzes canvaslms quizzes list -c, -q
Submissions canvaslms submissions -c, -a, -u
Grades/results canvaslms results -c, -a
Calendar/deadlines canvaslms calendar -c, date range flags
Users/enrollment canvaslms users -c, role filters
Groups canvaslms groups -c

Regex Filtering Patterns

  • Course matching is case-insensitive: "dd2520" matches "DD2520"
  • Use anchors for precision: "^DD2520$" for exact match
  • Partial match works: "crypt" matches "Applied Cryptography"
  • Combine flags for specificity: -c "DD2520" -m "week 3" -a "lab"

Output and Caching

  • list commands produce tab-delimited CSV (pipe through column -t -s$'\t' for readability)
  • view commands produce full content (markdown, HTML, or YAML frontmatter + content)
  • Results are cached; use --no-cache to force a fresh fetch
  • Pages view output includes YAML frontmatter with metadata

Common Pitfalls

Always identify the course first:

BAD:  canvaslms assignments list -a "lab 1"     # No course specified
GOOD: canvaslms assignments list -c 12345 -a "lab 1"

Use list before view to discover item names:

BAD:  canvaslms pages view -c 12345 -p "syllabus"   # Guessing the page name
GOOD: canvaslms pages list -c 12345                   # Discover available pages
      canvaslms pages view -c 12345 -p "Course Syllabus"  # Use actual name

Use the right content type flag for discussions:

BAD:  canvaslms discussions list -c 12345              # Missing type
GOOD: canvaslms discussions list -c 12345 -t announcement
GOOD: canvaslms discussions list -c 12345 -t discussion

Scope

This skill is read-only — it retrieves and presents course information. It does not create, modify, or delete any Canvas content. To create quiz content, use the canvas-quiz skill instead.

Expand your agent's capabilities with these related and highly-rated skills.

dbosk/claude-skills

latex-writing

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{}).

1 0
Explore
dbosk/claude-skills

canvas-quiz

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.

1 0
Explore
dbosk/claude-skills

didactic-notes

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.

1 0
Explore
dbosk/claude-skills

literate-programming

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)

1 0
Explore
dbosk/claude-skills

try-first-tell-later

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.

1 0
Explore
dbosk/claude-skills

writing-crypto

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.

1 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results