Pilot Ai Tutoring System Setup

v1.0.0

Deploy an adaptive AI tutoring system with 3 agents. Use this skill when: 1. User wants to set up a personalized tutoring or e-learning pipeline 2. User is c...

0· 85· 1 versions· 0 current· 0 all-time· Updated 6d ago· MIT-0
byCalin Teodor@teoslayer

AI Tutoring System Setup

Deploy 3 agents that curate content, deliver lessons, and assess learners in an adaptive feedback loop.

Roles

RoleHostnameSkillsPurpose
content-curator<prefix>-content-curatorpilot-archive, pilot-discover, pilot-datasetOrganizes materials, selects content by level
tutor<prefix>-tutorpilot-chat, pilot-task-router, pilot-receiptDelivers lessons, answers questions, tracks progress
assessor<prefix>-assessorpilot-metrics, pilot-alert, pilot-audit-logCreates quizzes, grades work, identifies gaps

Setup Procedure

Step 1: Ask the user which role this agent should play and what prefix to use.

Step 2: Install the skills for the chosen role:

# For content-curator:
clawhub install pilot-archive pilot-discover pilot-dataset
# For tutor:
clawhub install pilot-chat pilot-task-router pilot-receipt
# For assessor:
clawhub install pilot-metrics pilot-alert pilot-audit-log

Step 3: Set the hostname and write the manifest:

pilotctl --json set-hostname <prefix>-<role>
mkdir -p ~/.pilot/setups

Then write the role-specific JSON manifest to ~/.pilot/setups/ai-tutoring-system.json.

Step 4: Tell the user to initiate handshakes with adjacent agents.

Manifest Templates Per Role

content-curator

{
  "setup": "ai-tutoring-system",
  "setup_name": "AI Tutoring System",
  "role": "content-curator",
  "role_name": "Content Curator",
  "hostname": "<prefix>-content-curator",
  "description": "Organizes learning materials by topic and difficulty, adapts curriculum from gap analysis.",
  "skills": {
    "pilot-archive": "Store and version learning materials by topic and difficulty.",
    "pilot-discover": "Find relevant materials matching a learner's current level.",
    "pilot-dataset": "Maintain the knowledge graph of topics and prerequisites."
  },
  "peers": [
    { "role": "tutor", "hostname": "<prefix>-tutor", "description": "Receives lesson materials" },
    { "role": "assessor", "hostname": "<prefix>-assessor", "description": "Sends gap analysis" }
  ],
  "data_flows": [
    { "direction": "send", "peer": "<prefix>-tutor", "port": 1002, "topic": "lesson-material", "description": "Lesson content and curriculum" },
    { "direction": "receive", "peer": "<prefix>-assessor", "port": 1002, "topic": "gap-analysis", "description": "Knowledge gaps and adaptation signals" }
  ],
  "handshakes_needed": ["<prefix>-tutor", "<prefix>-assessor"]
}

tutor

{
  "setup": "ai-tutoring-system",
  "setup_name": "AI Tutoring System",
  "role": "tutor",
  "role_name": "Tutor Agent",
  "hostname": "<prefix>-tutor",
  "description": "Delivers personalized lessons, answers questions, tracks learner progress.",
  "skills": {
    "pilot-chat": "Interactive lesson delivery and question answering.",
    "pilot-task-router": "Route complex questions to the curator for specialized content.",
    "pilot-receipt": "Confirm lesson completion back to the curator."
  },
  "peers": [
    { "role": "content-curator", "hostname": "<prefix>-content-curator", "description": "Sends lesson materials" },
    { "role": "assessor", "hostname": "<prefix>-assessor", "description": "Receives learner responses" }
  ],
  "data_flows": [
    { "direction": "receive", "peer": "<prefix>-content-curator", "port": 1002, "topic": "lesson-material", "description": "Lesson content" },
    { "direction": "send", "peer": "<prefix>-assessor", "port": 1002, "topic": "learner-response", "description": "Learner answers and progress" }
  ],
  "handshakes_needed": ["<prefix>-content-curator", "<prefix>-assessor"]
}

assessor

{
  "setup": "ai-tutoring-system",
  "setup_name": "AI Tutoring System",
  "role": "assessor",
  "role_name": "Assessment Agent",
  "hostname": "<prefix>-assessor",
  "description": "Creates quizzes, grades submissions, identifies knowledge gaps.",
  "skills": {
    "pilot-metrics": "Track learner mastery scores and progress over time.",
    "pilot-alert": "Alert the tutor when a learner is struggling on a topic.",
    "pilot-audit-log": "Log all assessments and grade history for review."
  },
  "peers": [
    { "role": "tutor", "hostname": "<prefix>-tutor", "description": "Sends learner responses" },
    { "role": "content-curator", "hostname": "<prefix>-content-curator", "description": "Receives gap analysis" }
  ],
  "data_flows": [
    { "direction": "receive", "peer": "<prefix>-tutor", "port": 1002, "topic": "learner-response", "description": "Learner answers and progress" },
    { "direction": "send", "peer": "<prefix>-content-curator", "port": 1002, "topic": "gap-analysis", "description": "Knowledge gaps and curriculum recommendations" }
  ],
  "handshakes_needed": ["<prefix>-tutor", "<prefix>-content-curator"]
}

Data Flows

  • content-curator -> tutor : lesson materials and curriculum (port 1002)
  • tutor -> assessor : learner responses and progress (port 1002)
  • assessor -> content-curator : gap analysis and adaptation signals (port 1002)

Handshakes

# content-curator <-> tutor:
pilotctl --json handshake <prefix>-tutor "setup: ai-tutoring-system"
pilotctl --json handshake <prefix>-content-curator "setup: ai-tutoring-system"
# tutor <-> assessor:
pilotctl --json handshake <prefix>-assessor "setup: ai-tutoring-system"
pilotctl --json handshake <prefix>-tutor "setup: ai-tutoring-system"
# assessor <-> content-curator:
pilotctl --json handshake <prefix>-content-curator "setup: ai-tutoring-system"
pilotctl --json handshake <prefix>-assessor "setup: ai-tutoring-system"

Workflow Example

# On content-curator -- publish lesson:
pilotctl --json publish <prefix>-tutor lesson-material '{"learner_id":"s-042","topic":"linear-algebra","lesson":"matrices-intro"}'

# On tutor -- publish learner response:
pilotctl --json publish <prefix>-assessor learner-response '{"learner_id":"s-042","answers":[{"q":"det_2x2","correct":true}]}'

# On assessor -- publish gap analysis:
pilotctl --json publish <prefix>-content-curator gap-analysis '{"learner_id":"s-042","mastery":0.67,"gaps":["eigenvalues"]}'

Dependencies

Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.

Version tags

latestvk974jpwwgdmthzkry4b380760d85byte

Runtime requirements

Binspilotctl, clawhub