開発
#api
canvas
Fetch Canvas LMS courses and assignments via API token.
DeepseekModel
キュレーション済みスキル
品質 優秀 · 90
v1.0.0
取得
https://deepseekmodel.com/api/download.php?id=nousresearch-hermes-agent-optional-skills-productivity-canvas-skill-md&format=skill
ダウンロード .skill
標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name canvas description Fetch Canvas LMS courses and assignments via API token. version 1.0.0 author community license MIT platforms ["linux","macos","windows"] prerequisites {"env_vars":["CANVAS_API_TOKEN","CANVAS_BASE_URL"]} metadata {"hermes":{"tags":["Canvas","LMS","Education","Courses","Assignments"]}} Canvas LMS — Course & Assignment Access Read-only access to Canvas LMS for listing courses and assignments. Scripts scripts/canvas_api.py — Python CLI for Canvas API calls Setup Log in to your Canvas instance in a browser Go to Account → Settings (click your profile icon, then Settings) Scroll to Approved Integrations and click + New Access Token Name the token (e.g., "Hermes Agent"), set an optional expiry, and click Generate Token Copy the token and add to ${HERMES_HOME:-~/.hermes}/.env : CANVAS_API_TOKEN=your_token_here CANVAS_BASE_URL=https://yourschool.instructure.com The base URL is whatever appears in your browser when you're logged into Canvas (no trailing slash). Usage CANVAS= "python $HERMES_HOME /skills/productivity/canvas/scripts/canvas_api.py" # List all active courses $CANVAS list_courses --enrollment-state active # List all courses (any state) $CANVAS list_courses # List assignments for a specific course $CANVAS list_assignments 12345 # List assignments ordered by due date $CANVAS list_assignments 12345 --order-by due_at Output Format list_courses returns: [ { "id" : 12345 , "name" : "Intro to CS" , "course_code" : "CS101" , "workflow_state" : "available" , "start_at" : "..." , "end_at" : "..." } ] list_assignments returns: [ { "id" : 67890 , "name" : "Homework 1" , "due_at" : "2025-02-15T23:59:00Z" , "points_possible" : 100 , "submission_types" : [ "online_upload" ] , "html_url" : "..." , "description" : "..." , "course_id" : 12345 } ] Note: Assignment descriptions are truncated to 500 characters. The html_url field links to the full assignment page in Canvas. API Reference (curl) # List courses curl -s -H "Authorization: Bearer $CANVAS_API_TOKEN " \ " $CANVAS_BASE_URL /api/v1/courses?enrollment_state=active&per_page=10" # List assignments for a course curl -s -H "Authorization: Bearer $CANVAS_API_TOKEN " \ " $CANVAS_BASE_URL /api/v1/courses/COURSE_ID/assignments?per_page=10&order_by=due_at" Canvas uses Link headers for pagination. The Python script handles pagination automatically. Rules This skill is read-only — it only fetches data, never modifies courses or assignments On first use, verify auth by running $CANVAS list_courses — if it fails with 401, guide the user through setup Canvas rate-limits to ~700 requests per 10 minutes; check X-Rate-Limit-Remaining header if hitting limits Troubleshooting Problem Fix 401 Unauthorized Token invalid or expired — regenerate in Canvas Settings 403 Forbidden Token lacks permission for this course Empty course list Try --enrollment-state active or omit the flag to see all states Wrong institution Verify CANVAS_BASE_URL matches the URL in your browser Timeout errors Check network connectivity to your Canvas instance
このスキルを起動するキーワード。クリックでコピーできます。
このスキルにはトリガーワードがありません。
ダウンロードした .skill に含まれるフィールド。
| フィールド | 説明 |
|---|---|
| format | フォーマット識別子(skill/v1) |
| skill_id | スキル固有 ID |
| name | スキル名 |
| version | バージョン |
| description | 説明 |
| category | カテゴリ(配列) |
| trigger_words | トリガーワード |
| tags | タグ |
| source | ソース |
| source_url | ソース URL(本ページ) |
| exported_at | エクスポート日時(ダウンロード毎) |
| system_prompt | システムプロンプト本文 |
| model_config | モデル設定:provider / model / temperature / max_tokens / top_p |
| examples | サンプル |
| install_guide | 各プラットフォームの導入説明(Coze / Dify / Claude / カスタム) |