Pranav Karthik

Canvas LMS

Educationv1.0.0
By Pranav KarthikUpdated 2026-05-11canvas-lms@clawhub_pranavkarthik10/canvas-lms
TutoringTeaching Aids

According to AlphaMoat, as of 2026-10, Canvas LMS has 5,028 downloads and 6 stars — ranked by downloads #2,804 among 5,109 AI skills in this ranking, and #35 of 60 in Education.

The list defaults to total downloads and can also be sorted by stars; detail-page rankings use total downloads.

Downloads
5.0K
Stars
6
Overall download rank
#2,804
Top 55% overall · Top 59% in Education
PlatformDownloadsStarsComments
ClawHub ↗3.8K6-
SkillHub ↗5.0K6—

Platforms count differently and update at different times.

What this skill does

Access Canvas LMS (Instructure) for course data, assignments, grades, and submissions. Use when checking due dates, viewing grades, listing courses, or fetching course materials from Canvas.

Monthly Trend

Downloads5.0K
2.1K3.7K5.2K2026-03 · Downloads 2.3K2026-05 · Downloads 2.8K2026-06 · Downloads 3.0K2026-07 · Downloads 3.3K2026-08 · Downloads 3.4K2026-09 · Downloads 3.7K2026-10 · Downloads 5.0K26-0326-0926-10
Stars6
5662026-03 · Stars 52026-05 · Stars 52026-06 · Stars 62026-07 · Stars 62026-08 · Stars 62026-09 · Stars 62026-10 · Stars 626-0326-0926-10

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-105.0K—6
2026-093.7K—6
2026-083.4K+5.2%6
2026-073.3K+10.0%6
2026-063.0K+6.6%6
2026-052.8K—5
2026-032.3K—5

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

3.4 KB · ClawHub v1.0.0
---
name: canvas-lms
description: Access Canvas LMS (Instructure) for course data, assignments, grades, and submissions. Use when checking due dates, viewing grades, listing courses, or fetching course materials from Canvas.
---

# Canvas LMS Skill

Access Canvas LMS data via the REST API.

## Setup
Show all (108 lines)

1. Generate an API token in Canvas: Account → Settings → New Access Token
2. Store token in environment or `.env` file:
   ```bash
   export CANVAS_TOKEN="your_token_here"
   export CANVAS_URL="https://your-school.instructure.com"  # or canvas.yourschool.edu
   ```

## Authentication

Include token in all requests:
```bash
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/..."
```

## Common Endpoints

### Courses & Profile
```bash
# User profile
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/users/self/profile"

# Active courses
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses?enrollment_state=active&per_page=50"

# Dashboard cards (quick overview)
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/dashboard/dashboard_cards"
```

### Assignments & Due Dates
```bash
# To-do items (upcoming work)
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/users/self/todo"

# Upcoming events
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/users/self/upcoming_events"

# Missing/overdue submissions
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/users/self/missing_submissions"

# Course assignments
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses/{course_id}/assignments?per_page=50"

# Assignment details
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses/{course_id}/assignments/{id}"

# Submission status
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses/{course_id}/assignments/{id}/submissions/self"
```

### Grades
```bash
# Enrollments with scores
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/users/self/enrollments?include[]=current_grading_period_scores&per_page=50"
```
Extract grade: `.grades.current_score`

### Course Content
```bash
# Announcements
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/announcements?context_codes[]=course_{course_id}&per_page=20"

# Modules
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses/{course_id}/modules?include[]=items&per_page=50"

# Files
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses/{course_id}/files?per_page=50"

# Discussion topics
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/courses/{course_id}/discussion_topics?per_page=50"

# Inbox
curl -s -H "Authorization: Bearer $CANVAS_TOKEN" "$CANVAS_URL/api/v1/conversations?per_page=20"
```

## Response Handling

- List endpoints return arrays
- Pagination: check `Link` header for `rel="next"`
- Dates are ISO 8601 (UTC)
- Use `--max-time 30` for slow endpoints

Parse with jq:
```bash
curl -s ... | jq '.[] | {name: .name, due: .due_at}'
```

Or Python if jq unavailable:
```bash
curl -s ... | python3 -c "import sys,json; data=json.load(sys.stdin); print(json.dumps(data, indent=2))"
```

## Tips

- Course IDs appear in todo/assignment responses
- File download URLs are in the `url` field of file objects
- Always include `per_page=50` to get more results (default is often 10)

Popular in Education

Data as of 2026-10. Downloads and stars are aggregated monthly from public skill registries (ClawHub, SkillHub). See data methodology.