snu-canvas-cli

Operate SNU's Canvas LMS (etl.snu.ac.kr) through CLI commands. Use when you need to inspect config, list courses/assignments/files/announcements, run bot/serve modes, or troubleshoot Canvas API issues. Never guess or substitute LMS domains; validate the configured Canvas URL first. Never ask users to send API tokens via chat.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "snu-canvas-cli" with this command: npx skills add guzus/snu-canvas-cli

SNU Canvas CLI

Use this skill to operate lx-agent exclusively through its CLI bridge. Do NOT bypass the CLI by calling Canvas API endpoints directly with curl, fetch, or any HTTP client.

Critical Rules

  1. CLI-only access — Always use the bridge script below. Never curl/fetch Canvas API endpoints directly. The CLI handles authentication, XSRF tokens, and error handling internally.
  2. Never ask for tokens in chat — Tokens are secrets. Never ask the user to paste or send API tokens via Telegram, Slack, or any chat. Instead, guide them to update config.yaml or set CANVAS_TOKEN env var on the server.
  3. Never expose token values — Do not print, log, or display token values (even partially masked) in responses.
  4. Follow verification flow — Always run config command first before diagnosing issues.

Command Bridge

Run commands through the bundled bridge script:

skills/learningx-cli/scripts/run-lx-agent-cli.sh <command> [args...]

Set LX_AGENT_ROOT when running outside the repository root.

Domain Guardrails (Important)

  • Treat canvas.url in config.yaml (or CANVAS_URL) as source of truth unless the user explicitly changes it.
  • Never replace the LMS domain with other university domains by inference.
  • Do not claim a domain is invalid from one resolver or one server network.
  • If DNS check fails in current environment, report it as environment-scoped and ask for the user-confirmed LMS URL before changing config.
  • Keep "Learning X" as product naming and learningx as technical identifier.

Error Handling: 401 Unauthorized / Token Errors

When the CLI returns 401 or token-related errors:

  1. Run skills/learningx-cli/scripts/run-lx-agent-cli.sh config to confirm which token/URL is configured.
  2. Tell the user: "Canvas API 토큰이 만료되었거나 유효하지 않습니다. LMS 웹사이트의 Settings → New Access Token에서 새 토큰을 발급한 뒤, 서버의 config.yaml 파일에서 canvas.token 값을 직접 업데이트해주세요."
  3. Do NOT ask them to send the token in chat.
  4. Do NOT attempt to curl the API yourself to "test" the token.
  5. After the user confirms they updated the config, re-run the CLI command to verify.

Required URL Verification Flow

Run this sequence before concluding URL problems:

skills/learningx-cli/scripts/run-lx-agent-cli.sh config
getent hosts <canvas-host> || nslookup <canvas-host> || dig +short <canvas-host>
curl -I --max-time 10 https://<canvas-host>

If these checks fail from the current runtime:

  • say "cannot verify from this server/runtime"
  • do not claim global NXDOMAIN unless confirmed by multiple independent resolvers
  • ask user to confirm LMS URL they use in browser

Common Commands

skills/learningx-cli/scripts/run-lx-agent-cli.sh config
skills/learningx-cli/scripts/run-lx-agent-cli.sh courses
skills/learningx-cli/scripts/run-lx-agent-cli.sh assignments
skills/learningx-cli/scripts/run-lx-agent-cli.sh files
skills/learningx-cli/scripts/run-lx-agent-cli.sh announcements
skills/learningx-cli/scripts/run-lx-agent-cli.sh bot
skills/learningx-cli/scripts/run-lx-agent-cli.sh serve

Notes

  • The bridge runs go run ./cmd/lx-agent ....
  • Keep outputs concise and include command results directly in your response.
  • For bot/serve runs, surface startup errors and required env/config clearly.
  • For URL issues, follow Domain Guardrails and never auto-substitute a different domain.
  • When something fails, use the CLI to diagnose — do not fall back to raw HTTP calls.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Miaoji Asin Clinic Pro

亚马逊ASIN诊所Pro版,90天行动计划+竞品对标+季节性优化日历。 从合规度、广告度、评论度、视觉度、内容度五维升级为可执行的长期作战方案。 基础功能可使用 miaoji-asin-clinic 免费版。

Registry SourceRecently Updated
Coding

wechat-publish-pro

Pure Python tool to convert Markdown to styled HTML and publish articles to WeChat official account drafts with AI-based content refinement and theme support.

Registry SourceRecently Updated
Coding

Miaoji Asin Clinic

基于ASIN和品类,快速诊断亚马逊Listing五维健康指数并智能排序修复优先级,提供详细分析与个性化修复方案。

Registry SourceRecently Updated
Coding

Toonany

A Claude Code skill for creating AI-generated short dramas (漫剧) from novels and stories. Use when user mentions "漫剧创作", "小说转剧本", "分镜生成", "短剧制作", "故事线生成", "大纲...

Registry SourceRecently Updated