candidate-kb
Manage candidate knowledge base. Use when ingesting CVs, adding profile information, or querying candidate details for resume/cover letter generation.
570,125 AI resources indexedWorking toward the world’s largest AI resource index.
Canvas API Connection Skill
---
name: canvas-api
description: Canvas API Connection Skill
---
# Canvas API Connection Skill
Complete guide to connecting and using Canvas LMS API for Whitecliffe courses.
## Quick Reference
| Item | Value |
|------|-------|
| **User ID** | 2396 |
| **User Name** | Mohamed Abdul Latiff (Ariff) |
| **Canvas URL** | https://learn.mywhitecliffe.com |
| **MCP Server** | canvas-mcp-sse.ariff.dev |
## Current Courses (2025)
| Course | ID | Code |
|--------|-----|------|
| Applied Project | 2366 | IT8107 |
| Cybersecurity Architecture | 2368 | IT8109 |
## Connection Methods
### Method 1: Canvas MCP (Recommended)
The Canvas MCP server is already configured and provides 12 tools:
**Course Tools:**
- `get_courses` - List all enrolled courses
- `get_modules` - Get course modules
**Assignment Tools:**
- `get_assignments` - List assignments for a course
- `get_upcoming_assignments` - Next 7 days deadlines
**Grade Tools:**
- `get_grades` - Current grades for a course
- `get_submissions` - Submission details
**Discussion Tools:**
- `get_discussion_topics` - List discussions
- `get_announcements` - Course announcements
**Quiz Tools:**
- `get_quizzes` - List quizzes
#### Example Usage
```python
# Get all courses
mcp__canvas-mcp__get_courses()
# Get assignments for IT8107
mcp__canvas-mcp__get_assignments(course_id=2366)
# Check grades
mcp__canvas-mcp__get_grades(course_id=2366)
# Get upcoming deadlines
mcp__canvas-mcp__get_upcoming_assignments()
```
### Method 2: Direct API
For custom integrations or when MCP is unavailable:
**Base URL:** `https://learn.mywhitecliffe.com/api/v1`
**Authentication:**
```bash
# Store token securely (never commit!)
export CANVAS_TOKEN="your-token-here"
# API request
curl -H "Authorization: Bearer $CANVAS_TOKEN" \
"https://learn.mywhitecliffe.com/api/v1/courses"
```
**Common Endpoints:**
| Endpoint | Description |
|----------|-------------|
| `/courses` | List courses |
| `/courses/:id/assignments` | Course assignments |
| `/courses/:id/grades` | Course grades |
| `/courses/:id/modules` | Course modules |
| `/users/self/upcoming_events` | Upcoming events |
### Method 3: Python SDK
```python
from canvasapi import Canvas
API_URL = "https://learn.mywhitecliffe.com"
API_KEY = os.environ.get("CANVAS_TOKEN")
canvas = Canvas(API_URL, API_KEY)
user = canvas.get_current_user()
courses = user.get_courses(enrollment_state='active')
```
## Setup Instructions
### Adding Canvas MCP to Claude
Already configured in `mcp-config.json`:
```json
{
"mcpServers": {
"canvas-mcp": {
"type": "sse",
"url": "https://canvas-mcp-sse.ariff.dev/sse"
}
}
}
```
### Getting API Token
1. Log in to https://learn.mywhitecliffe.com
2. Go to Account → Settings
3. Scroll to "Approved Integrations"
4. Click "+ New Access Token"
5. Set expiry (recommended: end of semester)
6. Copy token immediately (shown only once)
### Storing Token Securely
**macOS Keychain:**
```bash
security add-generic-password -a "$USER" -s "canvas-api" -w "YOUR_TOKEN"
```
**Environment variable:**
```bash
# Add to ~/.zshrc
export CANVAS_TOKEN="$(security find-generic-password -a "$USER" -s "canvas-api" -w)"
```
## Important Notes
⚠️ **Always verify with MCP tools** - Don't assume course/assignment details
⚠️ **Token security** - Never commit tokens to git
⚠️ **Rate limits** - Canvas has API rate limits, batch requests when possible
⚠️ **Course IDs change** - Each semester has new course IDs
## Troubleshooting
**"Unauthorized" errors:**
- Token expired - generate new one
- Token revoked - check Canvas settings
**MCP not responding:**
- Check https://canvas-mcp-sse.ariff.dev/health
- Verify mcp-config.json syntax
**Missing courses:**
- Check enrollment status
- Some courses may be unpublished
---
name: canvas-api
description: Canvas API Connection Skill
---
# Canvas API Connection Skill
Complete guide to connecting and using Canvas LMS API for Whitecliffe courses.
## Quick Reference
| Item | Value |
|------|-------|
| **User ID** | 2396 |
| **User Name** | Mohamed Abdul Latiff (Ariff) |
| **Canvas URL** | https://learn.mywhitecliffe.com |
| **MCP Server** | canvas-mcp-sse.ariff.dev |
## Current Courses (2025)
| Course | ID | Code |
|--------|-----|------|
| Applied Project | 2366 | IT8107 |
| Cybersecurity Architecture | 2368 | IT8109 |
## Connection Methods
### Method 1: Canvas MCP (Recommended)
The Canvas MCP server is already configured and provides 12 tools:
**Course Tools:**
- `get_courses` - List all enrolled courses
- `get_modules` - Get course modules
**Assignment Tools:**
- `get_assignments` - List assignments for a course
- `get_upcoming_assignments` - Next 7 days deadlines
**Grade Tools:**
- `get_grades` - Current grades for a course
- `get_submissions` - Submission details
**Discussion Tools:**
- `get_discussion_topics` - List discussions
- `get_announcements` - Course announcements
**Quiz Tools:**
- `get_quizzes` - List quizzes
#### Example Usage
```python
# Get all courses
mcp__canvas-mcp__get_courses()
# Get assignments for IT8107
mcp__canvas-mcp__get_assignments(course_id=2366)
# Check grades
mcp__canvas-mcp__get_grades(course_id=2366)
# Get upcoming deadlines
mcp__canvas-mcp__get_upcoming_assignments()
```
### Method 2: Direct API
For custom integrations or when MCP is unavailable:
**Base URL:** `https://learn.mywhitecliffe.com/api/v1`
**Authentication:**
```bash
# Store token securely (never commit!)
export CANVAS_TOKEN="your-token-here"
# API request
curl -H "Authorization: Bearer $CANVAS_TOKEN" \
"https://learn.mywhitecliffe.com/api/v1/courses"
```
**Common Endpoints:**
| Endpoint | Description |
|----------|-------------|
| `/courses` | List courses |
| `/courses/:id/assignments` | Course assignments |
| `/courses/:id/grades` | Course grades |
| `/courses/:id/modules` | Course modules |
| `/users/self/upcoming_events` | Upcoming events |
### Method 3: Python SDK
```python
from canvasapi import Canvas
API_URL = "https://learn.mywhitecliffe.com"
API_KEY = os.environ.get("CANVAS_TOKEN")
canvas = Canvas(API_URL, API_KEY)
user = canvas.get_current_user()
courses = user.get_courses(enrollment_state='active')
```
## Setup Instructions
### Adding Canvas MCP to Claude
Already configured in `mcp-config.json`:
```json
{
"mcpServers": {
"canvas-mcp": {
"type": "sse",
"url": "https://canvas-mcp-sse.ariff.dev/sse"
}
}
}
```
### Getting API Token
1. Log in to https://learn.mywhitecliffe.com
2. Go to Account → Settings
3. Scroll to "Approved Integrations"
4. Click "+ New Access Token"
5. Set expiry (recommended: end of semester)
6. Copy token immediately (shown only once)
### Storing Token Securely
**macOS Keychain:**
```bash
security add-generic-password -a "$USER" -s "canvas-api" -w "YOUR_TOKEN"
```
**Environment variable:**
```bash
# Add to ~/.zshrc
export CANVAS_TOKEN="$(security find-generic-password -a "$USER" -s "canvas-api" -w)"
```
## Important Notes
⚠️ **Always verify with MCP tools** - Don't assume course/assignment details
⚠️ **Token security** - Never commit tokens to git
⚠️ **Rate limits** - Canvas has API rate limits, batch requests when possible
⚠️ **Course IDs change** - Each semester has new course IDs
## Troubleshooting
**"Unauthorized" errors:**
- Token expired - generate new one
- Token revoked - check Canvas settings
**MCP not responding:**
- Check https://canvas-mcp-sse.ariff.dev/health
- Verify mcp-config.json syntax
**Missing courses:**
- Check enrollment status
- Some courses may be unpublished
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.