Instructional Design Skills Kit
11 OpenClaw skills for Instructional Designers covering the full ADDIE lifecycle — from needs analysis to SCORM delivery, plus expert-level learning science advisory and design. Use the agent/ workspace for multi-agent deployment.
Status: v0.1.0
Architecture
Agent: agent/ (OpenClaw agent workspace — AGENTS.md, SOUL.md, IDENTITY.md)
Lobsters: id-full-course | id-quick-lesson | id-deploy | id-review-cycle
Layer 0 - Orchestrator: id-orchestrator (lobster-based course build coordination)
Layer 1 - Core: id-core (pipeline management, shared knowledge)
Layer 2 - Domain: id-analyst | id-creator | id-builder | id-operator
Layer 3 - Integration: id-lms | id-google | id-notion
Expert: id-expert (learning science advisory + hands-on design)
Setup: id-setup (onboarding wizard)
Skills
| Skill | ADDIE Phase | Key Commands | Priority |
|---|---|---|---|
| id-orchestrator | All | /id-build, /id-quick-lesson, /id-deploy, /id-review-cycle | Core |
| id-core | All | /id-pipeline | Core |
| id-analyst | Analysis + Design | /id-analyze, /id-objectives | P0 |
| id-creator | Development | /id-lesson, /id-quiz | P0 |
| id-builder | Development | /id-scorm, /id-h5p | P1 |
| id-operator | Implementation + Evaluation | /id-review, /id-launch | P1 |
| id-lms | Implementation | /id-lms upload | P2 |
| id-google | All (export) | /id-export gdocs | P2 |
| id-notion | All (export) | /id-export notion | P2 |
| id-expert | All (standalone) | /id-review, /id-design, /id-consult, /id-theory | P1 |
| id-setup | Setup | /id-setup | P2 |
Lobster Workflows
The kit includes 4 lobster workflows that chain id-* skills into automated pipelines:
| Workflow | Purpose | Steps |
|---|---|---|
id-full-course | Full ADDIE pipeline with approval gates | ~24 (varies by lessons/extras) |
id-quick-lesson | Single lesson: objectives → content → quiz → SCORM | 4 |
id-deploy | Package + deploy to LMS | 3 |
id-review-cycle | QA review → accessibility → evaluation → plan | 4 |
Workflow files live in lobsters/. For dynamic course builds, task-decomposer.py --format lobster generates a course-specific workflow with the correct number of lessons.
Agent (Multi-Agent Deployment)
The agent/ directory contains OpenClaw agent workspace files for running the kit as a dedicated agent with its own identity, memory, and sessions.
Quick Setup
# Add a new agent
openclaw agents add id-agent --workspace ~/.openclaw/workspace-id-agent
# Copy workspace files
cp agent/AGENTS.md agent/SOUL.md agent/IDENTITY.md agent/TOOLS.md agent/BOOTSTRAP.md \
~/.openclaw/workspace-id-agent/
# Install skills
for skill in skills/id-*; do
ln -sf "$(pwd)/$skill" ~/.openclaw/skills/$(basename $skill)
done
Workspace Files
| File | Purpose |
|---|---|
AGENTS.md | Operating instructions — skill routing, pipeline rules, safety |
SOUL.md | Persona — senior ID architect, evidence-based, bilingual |
IDENTITY.md | Name and emoji |
TOOLS.md | Tool conventions for ID scripts and integrations |
BOOTSTRAP.md | First-run setup ritual (deleted after completion) |
Multi-Agent Routing
Run alongside your main agent — route by channel, sender, or group:
{
"agents": {
"list": [
{ "id": "main", "default": true, "workspace": "~/.openclaw/workspace" },
{ "id": "id-agent", "workspace": "~/.openclaw/workspace-id-agent" }
]
},
"bindings": [
{ "agentId": "id-agent", "match": { "channel": "telegram", "accountId": "id-bot" } }
]
}
See agent/README.md for full setup guide and OpenClaw multi-agent docs for routing details.
Requirements
- Node.js 22+
- Python 3.9+
- Optional Python packages (see Install Python dependencies)
Deployment
Option A: OpenClaw Runtime (Recommended)
1. Install OpenClaw
macOS / Linux:
curl -fsSL https://openclaw.ai/install.sh | bash
Windows (PowerShell):
iwr -useb https://openclaw.ai/install.ps1 | iex
Verify installation:
node --version # Must be 22+
openclaw gateway status
2. Run onboarding
openclaw onboard --install-daemon
This configures auth, gateway, and channels. Dashboard available at http://127.0.0.1:18789/.
3. Install skills
Clone the repo and symlink skills into OpenClaw:
git clone https://github.com/hoadh/instructional-design-agentic-kit.git
cd instructional-design-agentic-kit
# Symlink all skills
for skill in skills/id-*; do
ln -sf "$(pwd)/$skill" ~/.openclaw/skills/$(basename $skill)
done
Alternatively, copy skills directly:
cp -r skills/id-* ~/.openclaw/skills/
Or add this repo's skills/ folder as an extra skills directory in ~/.openclaw/openclaw.json:
{
"skills": {
"load": {
"extraDirs": ["/path/to/instructional-design-agentic-kit/skills"]
}
}
}
4. Install Python dependencies
pip install httpx jinja2 pandas lxml google-genai google-auth google-auth-oauthlib google-api-python-client
5. Configure integrations
Run the setup wizard inside an OpenClaw session:
/id-setup
Or configure manually by setting environment variables in ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"id-lms": {
"enabled": true,
"env": {
"ID_LMS_PLATFORM": "moodle",
"ID_LMS_URL": "https://your-lms.example.com",
"ID_LMS_TOKEN": "your-api-token"
}
},
"id-google": {
"enabled": true,
"env": {
"ID_GOOGLE_CREDENTIALS": "~/.openclaw/credentials/google-oauth.json",
"ID_GOOGLE_TOKEN": "~/.openclaw/credentials/google-token.json",
"ID_GOOGLE_FOLDER_ID": "optional-drive-folder-id"
}
},
"id-notion": {
"enabled": true,
"env": {
"ID_NOTION_TOKEN": "ntn_your-token",
"ID_NOTION_DATABASE_ID": "your-database-id"
}
}
}
}
}
6. Verify
/id-setup check
This runs the health check: Python version, packages, skill installation, integrations.
7. Create your first project
Option A: Full orchestration (recommended)
/id-build "Build a 5-lesson AI Ethics course for product managers, deploy to Moodle" --mode auto
The orchestrator decomposes this into a task graph and coordinates all skills automatically, pausing at ADDIE phase boundaries for your review.
Option B: Direct lobster workflow
openclaw lobster run id-quick-lesson --topic "AI Ethics Module 1" --course ai-ethics
Option C: Manual step-by-step
/id-pipeline new "AI Ethics for Product Managers" --lang en
/id-analyze
/id-lesson
/id-scorm
/id-review
/id-launch
8. Connect to Telegram (optional)
Build courses from your phone or team group chat.
-
Create a bot via @BotFather and save the token.
-
Add to
~/.openclaw/openclaw.json:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "YOUR_BOT_TOKEN",
"dmPolicy": "pairing",
"customCommands": [
{ "command": "build", "description": "Build a course" },
{ "command": "status", "description": "Check progress" }
]
}
}
}
-
Approve your user:
openclaw pairing approve -
Chat with your bot: "Build me a 5-lesson compliance course for nurses, deploy to Moodle"
See docs/examples.md for detailed Telegram usage examples.
Option B: Docker
Standalone container
docker build -t id-skills-kit .
docker run -it \
-p 18789:18789 \
-v id-skills-workspace:/root/.openclaw/workspace \
-v id-skills-memory:/app/memory \
-e ID_LMS_PLATFORM=moodle \
-e ID_LMS_URL=https://your-lms.example.com \
-e ID_LMS_TOKEN=your-api-token \
-e ID_GOOGLE_CREDENTIALS=/run/secrets/google-creds.json \
-e ID_NOTION_TOKEN=secret_your-token \
-e ID_NOTION_DATABASE_ID=your-database-id \
id-skills-kit
Key volume mounts:
/root/.openclaw/workspace— OpenClaw memory and state (persists between restarts)/app/memory— Project pipeline data (course content, builds, configs)
Docker Compose
Create docker-compose.yml:
services:
id-skills-kit:
build: .
ports:
- "18789:18789"
volumes:
- openclaw-workspace:/root/.openclaw/workspace
- project-memory:/app/memory
- ${ID_GOOGLE_CREDENTIALS:-/dev/null}:/run/secrets/google-creds.json:ro
environment:
- OPENCLAW_HOME=/root/.openclaw
# LMS
- ID_LMS_PLATFORM=${ID_LMS_PLATFORM:-}
- ID_LMS_URL=${ID_LMS_URL:-}
- ID_LMS_TOKEN=${ID_LMS_TOKEN:-}
# Google Workspace
- ID_GOOGLE_CREDENTIALS=/run/secrets/google-creds.json
- ID_GOOGLE_FOLDER_ID=${ID_GOOGLE_FOLDER_ID:-}
# Notion
- ID_NOTION_TOKEN=${ID_NOTION_TOKEN:-}
- ID_NOTION_DATABASE_ID=${ID_NOTION_DATABASE_ID:-}
restart: unless-stopped
volumes:
openclaw-workspace:
project-memory:
Create .env file (never commit this):
# LMS Configuration
ID_LMS_PLATFORM=moodle
ID_LMS_URL=https://your-lms.example.com
ID_LMS_TOKEN=your-api-token
# Google Workspace
ID_GOOGLE_CREDENTIALS=~/.openclaw/credentials/google-oauth.json
ID_GOOGLE_TOKEN=~/.openclaw/credentials/google-token.json
ID_GOOGLE_FOLDER_ID=
# Notion
ID_NOTION_TOKEN=ntn_your-token
ID_NOTION_DATABASE_ID=your-database-id
Run:
docker compose up -d
docker compose exec id-skills-kit openclaw dashboard
Dockerfile
Create Dockerfile:
FROM node:22-slim
# Install Python and pip
RUN apt-get update && \
apt-get install -y --no-install-recommends python3 python3-pip curl && \
rm -rf /var/lib/apt/lists/*
# Install OpenClaw
RUN curl -fsSL https://openclaw.ai/install.sh | bash
# Install Python dependencies
RUN pip3 install --break-system-packages httpx jinja2 pandas lxml google-genai google-auth google-auth-oauthlib google-api-python-client
# Copy skills into the managed skills directory
WORKDIR /app
COPY skills/ /root/.openclaw/skills/
# Configure OpenClaw to use /app/memory for project data
ENV OPENCLAW_HOME=/root/.openclaw
EXPOSE 18789
CMD ["openclaw", "onboard", "--install-daemon"]
Build and run:
docker build -t id-skills-kit .
docker compose up -d
Google Workspace Setup
Two authentication methods are supported:
Method A: OAuth2 Desktop (Recommended)
Best for Google Workspace orgs that enforce iam.disableServiceAccountKeyCreation policy (blocks service account keys).
- Go to Google Cloud Console → APIs & Services → Credentials
- Create an OAuth Client ID → Application type: Desktop app
- Enable APIs: Google Docs, Google Sheets, Google Forms, Google Drive
- Download the client credentials JSON → save as
~/.openclaw/credentials/google-oauth.json - Run the OAuth flow to obtain access + refresh tokens:
This saves tokens topython3 skills/id-google/scripts/google-oauth-flow.py~/.openclaw/credentials/google-token.json - Set environment variables:
ID_GOOGLE_CREDENTIALS→ path togoogle-oauth.jsonID_GOOGLE_TOKEN→ path togoogle-token.json
Method B: Service Account (Original)
⚠️ May be blocked by org policy (
iam.disableServiceAccountKeyCreation). Use Method A if this fails.
- Create a service account in Google Cloud Console
- Download the JSON key → set
ID_GOOGLE_CREDENTIALSto its path - Share target Drive folders / Docs with the service account email
Notion Setup
- Create an internal integration
- Share target pages/databases with the integration
- Set
ID_NOTION_TOKENto the integration token
Note: Notion now issues tokens with
ntn_prefix (new format). Bothsecret_andntn_prefixes work.
Media Generation
Image Generation
Two methods are available:
| Method | Tool | Cost | Quality | Speed |
|---|---|---|---|---|
| API | Gemini 2.5 Flash | Near-free | Good | Fast (parallel) |
| Browser | Gemini Ultra web | Free (Google One credits) | High | Slower (sequential) |
API Method
Get an API key from Google AI Studio (requires billing enabled on GCP project for image generation).
export GEMINI_API_KEY=your-key
python3 skills/id-creator/scripts/image-generator-api.py \
--prompts-file memory/projects/<course>/media/media-prompts.md \
--output-dir memory/projects/<course>/media/generated/ \
--delay 3
Browser Method
- Requires: OpenClaw node with Chrome + Browser Relay extension
- Uses Google One Ultra credits (completely free)
- See
skills/id-creator/scripts/image-generator-browser.md
Prompt Parser
Parse media-prompts.md into structured prompts:
python3 skills/id-creator/scripts/prompt-parser.py \
--input media-prompts.md \
--style dalle \
--output prompts.json
Drive Upload
Upload files to Google Drive with automatic deduplication (safe to retry):
python3 skills/id-google/scripts/drive-uploader.py \
--parent-folder-id "FOLDER_ID" \
--folder-name "Phase 1" \
--files needs-analysis.md:"Needs Analysis" personas.md:"Personas"
- Prevents duplicate folders/files on retry
- Requires
~/.openclaw/credentials/google-token.json(see OAuth2 Desktop setup)
Configuration Reference
| Variable | Skill | Description |
|---|---|---|
ID_LMS_PLATFORM | id-lms | Platform: moodle, canvas, or wordpress |
ID_LMS_URL | id-lms | LMS base URL |
ID_LMS_TOKEN | id-lms | API authentication token |
ID_GOOGLE_CREDENTIALS | id-google | Path to OAuth client JSON or service account JSON |
ID_GOOGLE_TOKEN | id-google | Path to OAuth token JSON (access + refresh) |
ID_GOOGLE_FOLDER_ID | id-google | Target Drive folder (optional) |
ID_NOTION_TOKEN | id-notion | Notion internal integration token (ntn_ or secret_ prefix) |
ID_NOTION_DATABASE_ID | id-notion | Target database for pages |
GEMINI_API_KEY | id-creator | Google AI Studio API key for image generation |
Scripts Quick Reference
| Script | Location | Purpose |
|---|---|---|
drive-uploader.py | skills/id-google/scripts/ | Upload to Drive with dedup |
image-generator-api.py | skills/id-creator/scripts/ | Batch image gen via Gemini API |
prompt-parser.py | skills/id-creator/scripts/ | Parse media-prompts.md to structured prompts |
expert-reviewer.py | skills/id-expert/scripts/ | Rubric-based artifact quality review |
experience-designer.py | skills/id-expert/scripts/ | End-to-end learning experience design |
ID Expert — Learning Science Advisory & Design
Standalone dual-mode agent: advisory (review, consult, improve) and hands-on (design, create). Works with any file — no pipeline dependency.
Advisory Mode
# Rubric-scored quality review of any artifact
/id-review content/lessons/module-1-intro.md --focus engagement
# Before/after improvement suggestions
/id-improve content/quizzes/quiz-03.md --aspect assessment
# Evidence-based consultation
/id-consult "How should I assess soft skills in an async online course?"
# Theory/framework recommendation for a specific context
/id-theory "Onboarding program for 200 remote sales reps, 2-week timeline"
Hands-on Mode
# End-to-end learning experience design
/id-design "Data Privacy Fundamentals" --approach action-mapping
# Learner journey map with engagement design
/id-lxd "New managers conduct effective 1-on-1 meetings within 30 days"
# Job aid / performance support design
/id-job-aid "Troubleshooting customer billing disputes"
CLI Scripts
# Review an artifact file directly
python3 skills/id-expert/scripts/expert-reviewer.py --file lesson.md --focus engagement
# Generate a design document
python3 skills/id-expert/scripts/experience-designer.py --topic "AI Ethics" --approach addie --output design.md
Knowledge Base
Covers: Cognitive Load Theory (Sweller), Multimedia Learning (Mayer's 12 principles), Adult Learning (Knowles' andragogy), ARCS Motivation (Keller), evidence-based learning science (spacing, retrieval, interleaving, elaboration, dual coding), Learning Experience Design (Kolb + 5 Moments of Need), quality rubrics (1–4 scoring), and a theory selection decision matrix.
License
MIT
还没有评论。