AgentSkillsCN

xAPI Specification

当用户询问“xAPI陈述结构”“xAPI动词”“活动类型”“CMI5规范”“学习记录存储”“xAPI结果格式”“交互类型”“xAPI上下文”,或需要理解用于教育评估追踪的Experience API标准时,应使用此技能。

SKILL.md
--- frontmatter
name: xAPI Specification
description: This skill should be used when the user asks about "xAPI statement structure", "xAPI verbs", "activity types", "cmi5 specification", "learning record store", "xAPI result format", "interaction types", "xAPI context", or needs to understand Experience API standards for educational assessment tracking.
version: 1.0.0

xAPI Specification Knowledge Base

Provide comprehensive guidance on xAPI (Experience API) specification for educational assessment and learning analytics.

Core Concepts

Statement Structure

An xAPI Statement follows the "Actor-Verb-Object" pattern with optional Result and Context:

json
{
  "actor": { },      // Who performed the action
  "verb": { },       // What action was performed
  "object": { },     // What was acted upon
  "result": { },     // Outcome of the action (optional)
  "context": { },    // Additional context (optional)
  "timestamp": "",   // When the action occurred
  "id": ""           // Unique statement identifier (UUID)
}

Required Fields

  1. Actor - Agent or Group performing the action
  2. Verb - Action taken (URI + display name)
  3. Object - Activity, Agent, or Statement Reference

Actor Types

Agent (single learner):

json
{
  "objectType": "Agent",
  "name": "Learner Name",
  "mbox": "mailto:learner@example.com"
}

Account-based identification (recommended for LMS):

json
{
  "objectType": "Agent",
  "account": {
    "homePage": "https://lms.example.com",
    "name": "user123"
  }
}

Verb Structure

Define verbs with URI identifier and display text:

json
{
  "id": "http://adlnet.gov/expapi/verbs/answered",
  "display": {
    "en-US": "answered"
  }
}

Consult references/verbs.md for the complete ADL and cmi5 verb registry.

Object (Activity) Structure

json
{
  "objectType": "Activity",
  "id": "https://example.com/activities/quiz-123",
  "definition": {
    "name": { "en-US": "Quiz on xAPI Basics" },
    "description": { "en-US": "A quiz testing knowledge of xAPI" },
    "type": "http://adlnet.gov/expapi/activities/assessment"
  }
}

Result Structure

Capture assessment outcomes:

json
{
  "score": {
    "scaled": 0.85,
    "raw": 85,
    "min": 0,
    "max": 100
  },
  "success": true,
  "completion": true,
  "response": "choice-a",
  "duration": "PT30S"
}

Duration format: ISO 8601 duration (PT = Period Time, e.g., PT1H30M = 1 hour 30 minutes)

Context Structure

Provide additional information about the learning experience:

json
{
  "registration": "uuid-for-attempt",
  "contextActivities": {
    "parent": [{ "id": "https://example.com/course-123" }],
    "grouping": [{ "id": "https://example.com/program-abc" }],
    "category": [{ "id": "https://w3id.org/xapi/cmi5/context/categories/cmi5" }]
  },
  "platform": "Example LMS",
  "language": "en-US"
}

Interaction Types for Assessments

xAPI supports these interaction types for quiz questions:

TypeDescriptionUse Case
true-falseBinary choiceYes/No, True/False questions
choiceMultiple choiceSingle or multiple selection
fill-inText inputShort answer questions
long-fill-inLong textEssay questions
matchingPair matchingMatch items from two lists
performanceTask stepsProcedural tasks
sequencingOrder itemsArrange in correct sequence
likertScale ratingSurvey/opinion questions
numericNumber inputMathematical answers

Consult references/interaction-types.md for detailed examples of each type.

Activity Types

Common activity types for educational contexts:

CategoryType URIUse Case
Assessmenthttp://adlnet.gov/expapi/activities/assessmentQuizzes, exams
Questionhttp://adlnet.gov/expapi/activities/cmi.interactionIndividual questions
Coursehttp://adlnet.gov/expapi/activities/courseCourse container
Modulehttp://adlnet.gov/expapi/activities/moduleCourse sections
Lessonhttp://adlnet.gov/expapi/activities/lessonIndividual lessons

Consult references/activity-types.md for the complete registry.

cmi5 Profile

cmi5 is a standardized xAPI profile for e-learning. Key requirements:

  1. Defined verbs: launched, initialized, completed, passed, failed, abandoned, waived, terminated
  2. Mandatory context: registration, sessionId, masteryScore
  3. Required extensions: sessionId, launchMode, launchURL

For cmi5-compliant statements, consult references/cmi5-profile.md.

Statement Generation Workflow

To generate a valid xAPI statement:

  1. Identify the Actor (learner/user information)
  2. Select appropriate Verb from ADL registry
  3. Define the Object (activity being tracked)
  4. Include Result for assessment outcomes
  5. Add Context for hierarchical relationships
  6. Generate UUID for statement ID
  7. Add timestamp in ISO 8601 format

Validation Checklist

Validate statements against these criteria:

Structural validation:

  • Actor has valid identifier (mbox, account, or openid)
  • Verb has id (URI) and display (language map)
  • Object has id and objectType

Vocabulary validation:

  • Verb URI matches ADL/cmi5 registry
  • Activity type URI is valid

cmi5 validation:

  • Context includes registration UUID
  • Context includes sessionId extension
  • Correct verb sequence (launched → initialized → ... → terminated)

Interaction validation:

  • interactionType matches response format
  • correctResponsesPattern format matches interactionType
  • choices/scale/source/target arrays are valid for type

Additional Resources

Reference Files

Detailed specifications and registries:

  • references/verbs.md - Complete ADL and cmi5 verb registry
  • references/activity-types.md - Activity type URIs and usage
  • references/interaction-types.md - Detailed interaction type examples
  • references/cmi5-profile.md - cmi5 requirements and extensions

External Resources