{
  "schema_version": "2026-03-26",
  "generated_at": "2026-01-01T00:00:00+00:00",
  "id": "creating-inline-actions",
  "slug": "creating-inline-actions",
  "display_name": "XMTP inline actions",
  "description": "Interactive button-based UI for XMTP agents following XIP-67. Use when creating menus, confirmation dialogs, selection options, or any button-based interaction. Triggers on inline actions, buttons, menus, or ActionBuilder.",
  "version": "1.0.0",
  "raw_category": "ai-agents",
  "canonical_category": "ai-agents",
  "taxonomy": {
    "raw_category": "ai-agents",
    "canonical_category": "ai-agents",
    "inferred_category": "ai-agents",
    "category_source": "frontmatter"
  },
  "tags": [],
  "tools": [],
  "complexity": "",
  "risk": "unknown",
  "source": "",
  "author": "xmtp",
  "dates": {
    "added": "",
    "updated": "",
    "file_mtime": "2026-01-01T00:00:00+00:00"
  },
  "paths": {
    "root": "skills/creating-inline-actions",
    "entrypoint": "skills/creating-inline-actions/SKILL.md",
    "metadata": "skills/creating-inline-actions/metadata.json"
  },
  "resources": {
    "sub_resources": [
      "rules"
    ],
    "files": [
      "EXTERNAL_SOURCE.json",
      "ORIGIN.md",
      "SKILL.md",
      "builder-create.md",
      "config-menus.md",
      "helpers-confirmation.md",
      "helpers-selection.md"
    ],
    "files_count": 7,
    "references_count": 0,
    "agents_count": 0,
    "assets_count": 0
  },
  "content": {
    "body_length": 3809,
    "content_length": 4162,
    "body_lines": 142,
    "word_count": 419,
    "has_code_blocks": true,
    "typed_code_blocks_count": 5,
    "has_examples_section": true,
    "example_count": 0,
    "has_workflow_section": true,
    "has_when_to_use_section": false,
    "has_best_practices_section": false,
    "has_troubleshooting_section": false,
    "problem_count": 0,
    "troubleshooting_pairs_count": 0,
    "has_additional_resources_section": false,
    "has_related_skills_section": false,
    "related_skills_count": 0,
    "has_local_support_links": false,
    "local_support_links_count": 0,
    "has_local_script_example": false,
    "local_script_example_count": 0,
    "semantic_signals": {
      "workflow_steps_count": 0,
      "workflow_section_length": 0,
      "when_to_use_section_length": 0,
      "best_practices_items_count": 0,
      "best_practices_section_length": 0,
      "troubleshooting_items_count": 0,
      "troubleshooting_section_length": 0,
      "resources_items_count": 0,
      "resources_section_length": 0,
      "examples_section_length": 406,
      "examples_code_blocks_count": 2,
      "related_skills_section_length": 0,
      "decision_assets_count": 0,
      "table_count": 6,
      "linked_resource_families_count": 0,
      "linked_resource_families": [],
      "support_links_count": 0,
      "support_files_count": 0,
      "references_files_count": 0,
      "scripts_files_count": 0,
      "examples_files_count": 0,
      "agents_files_count": 0,
      "assets_files_count": 0,
      "tools_count": 0,
      "tags_count": 0,
      "body_density": 2.95
    }
  },
  "maturity": {
    "skill_level": 2,
    "skill_level_label": "instructions",
    "has_scripts": false,
    "has_extra_files": true
  },
  "best_practices": {
    "score": 20,
    "tier": "needs-work",
    "signals": {
      "workflow_steps_count": 0,
      "workflow_section_length": 0,
      "when_to_use_section_length": 0,
      "best_practices_items_count": 0,
      "best_practices_section_length": 0,
      "troubleshooting_items_count": 0,
      "troubleshooting_section_length": 0,
      "resources_items_count": 0,
      "resources_section_length": 0,
      "examples_section_length": 406,
      "examples_code_blocks_count": 2,
      "related_skills_section_length": 0,
      "decision_assets_count": 0,
      "table_count": 6,
      "linked_resource_families_count": 0,
      "linked_resource_families": [],
      "support_links_count": 0,
      "support_files_count": 0,
      "references_files_count": 0,
      "scripts_files_count": 0,
      "examples_files_count": 0,
      "agents_files_count": 0,
      "assets_files_count": 0,
      "tools_count": 0,
      "tags_count": 0,
      "body_density": 2.95
    }
  },
  "quality": {
    "score": 44,
    "tier": "bronze",
    "breakdown": {
      "body": 16,
      "description": 10,
      "metadata": 3,
      "recency": 7,
      "resources": 5,
      "best_practices": 0,
      "semantic_depth": 1,
      "operational_depth": 2,
      "support_pack": 0
    }
  },
  "security": {
    "score": 30,
    "tier": "blocked",
    "status": "warn",
    "findings_count": 7,
    "findings": [
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/builder-create.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { ActionBuilder } from \"../../utils/inline-actions\";",
        "line": 14
      },
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/builder-create.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { ActionBuilder, ActionStyle } from \"../../utils/inline-actions\";",
        "line": 26
      },
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/builder-create.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { registerAction } from \"../../utils/inline-actions\";",
        "line": 37
      },
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/config-menus.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { AppConfig, initializeAppFromConfig, showMenu } from \"../../utils/inline-actions\";",
        "line": 14
      },
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/helpers-confirmation.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { sendConfirmation } from \"../../utils/inline-actions\";",
        "line": 14
      },
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/helpers-selection.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { sendSelection } from \"../../utils/inline-actions\";",
        "line": 14
      },
      {
        "id": "path-traversal-reference",
        "kind": "suspicious-path",
        "severity": "medium",
        "path": "skills/creating-inline-actions/rules/helpers-selection.md",
        "message": "Relative parent traversal found in instructions or scripts.",
        "evidence": "import { sendSelection, ActionStyle } from \"../../utils/inline-actions\";",
        "line": 44
      }
    ],
    "signals": {
      "scanned_files": 7,
      "script_files": 0,
      "binary_like_files": 0
    },
    "scanners": {
      "static": {
        "enabled": true,
        "status": "completed"
      },
      "clamav": {
        "enabled": true,
        "status": "completed",
        "provider": "clamav",
        "detections": [],
        "infected_files": 0
      },
      "virustotal": {
        "enabled": true,
        "status": "completed",
        "provider": "virustotal",
        "lookups": 0,
        "positives": 0,
        "results": [],
        "details": "Hash lookups only. Unknown files are not uploaded during validation."
      }
    }
  },
  "validation": {
    "errors": [],
    "warnings": [
      "tags are empty",
      "tools are empty",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/builder-create.md]",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/builder-create.md]",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/builder-create.md]",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/config-menus.md]",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/helpers-confirmation.md]",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/helpers-selection.md]",
      "security medium: Relative parent traversal found in instructions or scripts. [skills/creating-inline-actions/rules/helpers-selection.md]"
    ],
    "status": "warn"
  }
}
