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.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/guzus/snu-canvas-cliSNU 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
- 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.
- 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.yamlor setCANVAS_TOKENenv var on the server. - Never expose token values — Do not print, log, or display token values (even partially masked) in responses.
- Follow verification flow — Always run
configcommand 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.urlinconfig.yaml(orCANVAS_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
learningxas technical identifier.
Error Handling: 401 Unauthorized / Token Errors
When the CLI returns 401 or token-related errors:
- Run
skills/learningx-cli/scripts/run-lx-agent-cli.sh configto confirm which token/URL is configured. - Tell the user: "Canvas API 토큰이 만료되었거나 유효하지 않습니다. LMS 웹사이트의 Settings → New Access Token에서 새 토큰을 발급한 뒤, 서버의 config.yaml 파일에서 canvas.token 값을 직접 업데이트해주세요."
- Do NOT ask them to send the token in chat.
- Do NOT attempt to curl the API yourself to "test" the token.
- 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
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-guzus-snu-canvas-cli": {
"enabled": true,
"auto_update": true
}
}
}