Instructional Design Agentic Kit

作成者 @hoadh

A comprehensive OpenClaw skills kit for instructional designers automating the ADDIE lifecycle, course design, review, and LMS deployment.

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

SkillADDIE PhaseKey CommandsPriority
id-orchestratorAll/id-build, /id-quick-lesson, /id-deploy, /id-review-cycleCore
id-coreAll/id-pipelineCore
id-analystAnalysis + Design/id-analyze, /id-objectivesP0
id-creatorDevelopment/id-lesson, /id-quizP0
id-builderDevelopment/id-scorm, /id-h5pP1
id-operatorImplementation + Evaluation/id-review, /id-launchP1
id-lmsImplementation/id-lms uploadP2
id-googleAll (export)/id-export gdocsP2
id-notionAll (export)/id-export notionP2
id-expertAll (standalone)/id-review, /id-design, /id-consult, /id-theoryP1
id-setupSetup/id-setupP2

Lobster Workflows

The kit includes 4 lobster workflows that chain id-* skills into automated pipelines:

WorkflowPurposeSteps
id-full-courseFull ADDIE pipeline with approval gates~24 (varies by lessons/extras)
id-quick-lessonSingle lesson: objectives → content → quiz → SCORM4
id-deployPackage + deploy to LMS3
id-review-cycleQA review → accessibility → evaluation → plan4

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

FilePurpose
AGENTS.mdOperating instructions — skill routing, pipeline rules, safety
SOUL.mdPersona — senior ID architect, evidence-based, bilingual
IDENTITY.mdName and emoji
TOOLS.mdTool conventions for ID scripts and integrations
BOOTSTRAP.mdFirst-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

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.

  1. Create a bot via @BotFather and save the token.

  2. 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" }
      ]
    }
  }
}
  1. Approve your user: openclaw pairing approve

  2. 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).

  1. Go to Google Cloud Console → APIs & Services → Credentials
  2. Create an OAuth Client ID → Application type: Desktop app
  3. Enable APIs: Google Docs, Google Sheets, Google Forms, Google Drive
  4. Download the client credentials JSON → save as ~/.openclaw/credentials/google-oauth.json
  5. Run the OAuth flow to obtain access + refresh tokens:
    python3 skills/id-google/scripts/google-oauth-flow.py
    
    This saves tokens to ~/.openclaw/credentials/google-token.json
  6. Set environment variables:
    • ID_GOOGLE_CREDENTIALS → path to google-oauth.json
    • ID_GOOGLE_TOKEN → path to google-token.json

Method B: Service Account (Original)

⚠️ May be blocked by org policy (iam.disableServiceAccountKeyCreation). Use Method A if this fails.

  1. Create a service account in Google Cloud Console
  2. Download the JSON key → set ID_GOOGLE_CREDENTIALS to its path
  3. Share target Drive folders / Docs with the service account email

Notion Setup

  1. Create an internal integration
  2. Share target pages/databases with the integration
  3. Set ID_NOTION_TOKEN to the integration token

Note: Notion now issues tokens with ntn_ prefix (new format). Both secret_ and ntn_ prefixes work.

Media Generation

Image Generation

Two methods are available:

MethodToolCostQualitySpeed
APIGemini 2.5 FlashNear-freeGoodFast (parallel)
BrowserGemini Ultra webFree (Google One credits)HighSlower (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

VariableSkillDescription
ID_LMS_PLATFORMid-lmsPlatform: moodle, canvas, or wordpress
ID_LMS_URLid-lmsLMS base URL
ID_LMS_TOKENid-lmsAPI authentication token
ID_GOOGLE_CREDENTIALSid-googlePath to OAuth client JSON or service account JSON
ID_GOOGLE_TOKENid-googlePath to OAuth token JSON (access + refresh)
ID_GOOGLE_FOLDER_IDid-googleTarget Drive folder (optional)
ID_NOTION_TOKENid-notionNotion internal integration token (ntn_ or secret_ prefix)
ID_NOTION_DATABASE_IDid-notionTarget database for pages
GEMINI_API_KEYid-creatorGoogle AI Studio API key for image generation

Scripts Quick Reference

ScriptLocationPurpose
drive-uploader.pyskills/id-google/scripts/Upload to Drive with dedup
image-generator-api.pyskills/id-creator/scripts/Batch image gen via Gemini API
prompt-parser.pyskills/id-creator/scripts/Parse media-prompts.md to structured prompts
expert-reviewer.pyskills/id-expert/scripts/Rubric-based artifact quality review
experience-designer.pyskills/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

Workspace

Updated 2026-03-10 13:09:48Published via backfill-null-source-repo-v113 redactions2 blocked
LICENSEtext · 1.1 KB

No comments yet.

関連Lobster