{
  "schema_version": "2026-03-26",
  "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",
  "category": "ai-agents",
  "raw_category": "ai-agents",
  "taxonomy": {
    "raw_category": "ai-agents",
    "canonical_category": "ai-agents",
    "inferred_category": "ai-agents",
    "category_source": "frontmatter"
  },
  "tags": [],
  "complexity": "",
  "risk": "unknown",
  "source": "",
  "author": "xmtp",
  "dates": {
    "added": "",
    "updated": ""
  },
  "entrypoint": "skills/creating-inline-actions/SKILL.md",
  "paths": {
    "root": "skills/creating-inline-actions",
    "manifest": "dist/manifests/creating-inline-actions.json",
    "metadata": "skills/creating-inline-actions/metadata.json"
  },
  "compatibility": {
    "tools": [],
    "install_targets": []
  },
  "resources": {
    "sub_resources": [
      "rules"
    ],
    "artifacts_count": 8,
    "references_count": 0,
    "agents_count": 0,
    "assets_count": 0
  },
  "dependencies": {
    "skills": [],
    "external": []
  },
  "install": {
    "strategy": "copy-skill-directory",
    "current_installer": "npx omni-skills installs the full library by default today, and also supports selective installation with --skill and --bundle.",
    "recipes": []
  },
  "classification": {
    "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"
    }
  },
  "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
    }
  },
  "artifacts": [
    {
      "path": "skills/creating-inline-actions/EXTERNAL_SOURCE.json",
      "kind": "support",
      "size_bytes": 1134,
      "sha256": "e8c2c2d33497708f28a3fd4fee747371049d851069b688477120b15a26f0329e"
    },
    {
      "path": "skills/creating-inline-actions/ORIGIN.md",
      "kind": "support",
      "size_bytes": 700,
      "sha256": "6ad11d824fcbeea1174717274c05b7da63716c87f390f94d47ba0e9a8c5624a8"
    },
    {
      "path": "skills/creating-inline-actions/SKILL.md",
      "kind": "entrypoint",
      "size_bytes": 4162,
      "sha256": "c71c271ec3f0d4445587eebff6abe56398858cad30769249b1d3076e197c21d9"
    },
    {
      "path": "skills/creating-inline-actions/metadata.json",
      "kind": "support",
      "size_bytes": 9237,
      "sha256": "037cabf15a0fbaace36ed3c195b342dac3f42d01c4a8f7b71c7d4565fbcf8483"
    },
    {
      "path": "skills/creating-inline-actions/rules/builder-create.md",
      "kind": "support",
      "size_bytes": 1187,
      "sha256": "feca9066f8a17a0d5098262e87f525a4713340a2f6615ac7f1e662faee85fc88"
    },
    {
      "path": "skills/creating-inline-actions/rules/config-menus.md",
      "kind": "support",
      "size_bytes": 1498,
      "sha256": "64c8cff5a46d3093a6e75df00d9e3090c5550520091b7ea48ec57b68807cf86e"
    },
    {
      "path": "skills/creating-inline-actions/rules/helpers-confirmation.md",
      "kind": "support",
      "size_bytes": 947,
      "sha256": "7aea0bd3761eaf136dc00c1d0ba69ebbf98b59a308874b05d45a47533ce0517d"
    },
    {
      "path": "skills/creating-inline-actions/rules/helpers-selection.md",
      "kind": "support",
      "size_bytes": 1114,
      "sha256": "e84f76f1ee132f6b4f73853e06ba217461d3a89a41acccee64c5b2d1ed51c334"
    }
  ],
  "archives": [
    {
      "format": "zip",
      "path": "dist/archives/creating-inline-actions.zip",
      "file_name": "creating-inline-actions.zip",
      "size_bytes": 21291,
      "sha256": "15b2d50c3606e6c84935160cf0d50aca08dfe7fbd573e5b0e2fd3b6d37d2ceb7",
      "signature": {
        "status": "signed",
        "path": "dist/archives/creating-inline-actions.zip.sig",
        "sha256": "10488c2d21f64407dafed9451b0fe6335731736743b8b43152c0201345843c3b",
        "public_key_path": "dist/signing/omni-skills-public.pem",
        "algorithm": "sha256",
        "verify_command": "openssl dgst -sha256 -verify dist/signing/omni-skills-public.pem -signature dist/archives/creating-inline-actions.zip.sig dist/archives/creating-inline-actions.zip"
      }
    },
    {
      "format": "tar.gz",
      "path": "dist/archives/creating-inline-actions.tar.gz",
      "file_name": "creating-inline-actions.tar.gz",
      "size_bytes": 30743,
      "sha256": "818e394ccf2c8c9148850f645194e88f6222a80228241dd5b2a0db5bbfee5e86",
      "signature": {
        "status": "signed",
        "path": "dist/archives/creating-inline-actions.tar.gz.sig",
        "sha256": "fb821bef47fd4d58240e92d30afbbd4c765c430ac2e1f7aac13dd4d1b611b9b3",
        "public_key_path": "dist/signing/omni-skills-public.pem",
        "algorithm": "sha256",
        "verify_command": "openssl dgst -sha256 -verify dist/signing/omni-skills-public.pem -signature dist/archives/creating-inline-actions.tar.gz.sig dist/archives/creating-inline-actions.tar.gz"
      }
    }
  ],
  "archive_checksums": {
    "path": "dist/archives/creating-inline-actions.checksums.txt",
    "file_name": "creating-inline-actions.checksums.txt",
    "sha256": "275ddb97d1825fa94525f579b28ae29b3d234f09560850208007cd7d7006087d",
    "signature": {
      "status": "signed",
      "path": "dist/archives/creating-inline-actions.checksums.txt.sig",
      "sha256": "7e2c765a4cfb4ad2b7724e123ca3ab4f4150479523ed7b53d246fdd29dcd7a25",
      "public_key_path": "dist/signing/omni-skills-public.pem",
      "algorithm": "sha256",
      "verify_command": "openssl dgst -sha256 -verify dist/signing/omni-skills-public.pem -signature dist/archives/creating-inline-actions.checksums.txt.sig dist/archives/creating-inline-actions.checksums.txt"
    }
  },
  "checksums": {
    "entrypoint_sha256": "c71c271ec3f0d4445587eebff6abe56398858cad30769249b1d3076e197c21d9",
    "package_sha256": "675b59627de03126ddcc43ced608a361f1c9cfd4fecfb2fdd254cc30a9339362"
  }
}
