{
  "schema_version": "2026-03-26",
  "id": "recce-mcp-e2e",
  "slug": "recce-mcp-e2e",
  "display_name": "MCP E2E Verification",
  "description": "MCP E2E Verification workflow skill. Use this skill when the user needs MCP server code is modified and needs full E2E verification against a real dbt project. Triggers after changes to recce/mcp_server.py, MCP tool handlers, single-env logic, or error classification. Also use before merging MCP PRs and the operator should rely on the packaged workflow, support pack, troubleshooting notes, and provenance links before merging or handing off.",
  "version": "0.0.1",
  "category": "ai-agents",
  "raw_category": "ai-agents",
  "taxonomy": {
    "raw_category": "ai-agents",
    "canonical_category": "ai-agents",
    "inferred_category": "ai-agents",
    "category_source": "frontmatter"
  },
  "tags": [
    "recce-mcp-e2e",
    "mcp",
    "server",
    "modified",
    "and",
    "full",
    "e2e",
    "verification"
  ],
  "complexity": "advanced",
  "risk": "caution",
  "source": "community",
  "author": "DataRecce",
  "dates": {
    "added": "2026-03-30",
    "updated": "2026-03-30"
  },
  "entrypoint": "skills/recce-mcp-e2e/SKILL.md",
  "paths": {
    "root": "skills/recce-mcp-e2e",
    "manifest": "dist/manifests/recce-mcp-e2e.json",
    "metadata": "skills/recce-mcp-e2e/metadata.json"
  },
  "compatibility": {
    "tools": [
      "codex-cli",
      "claude-code",
      "cursor",
      "gemini-cli",
      "opencode"
    ],
    "install_targets": [
      {
        "tool": "codex-cli",
        "scope": "user-global",
        "default_path": "~/.codex/skills",
        "installer_flag": "--codex",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "Use @skill-name to..."
      },
      {
        "tool": "claude-code",
        "scope": "user-global",
        "default_path": "~/.claude/skills",
        "installer_flag": "--claude",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": ">> /skill-name help me..."
      },
      {
        "tool": "cursor",
        "scope": "user-global",
        "default_path": "~/.cursor/skills",
        "installer_flag": "--cursor",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "@skill-name"
      },
      {
        "tool": "gemini-cli",
        "scope": "user-global",
        "default_path": "~/.gemini/skills",
        "installer_flag": "--gemini",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "Use @skill-name to..."
      },
      {
        "tool": "opencode",
        "scope": "project-local",
        "default_path": ".opencode/skills",
        "installer_flag": "--opencode",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "opencode run @skill-name"
      }
    ]
  },
  "resources": {
    "sub_resources": [
      "agents",
      "assets",
      "examples",
      "references",
      "scripts"
    ],
    "artifacts_count": 15,
    "references_count": 4,
    "agents_count": 1,
    "assets_count": 1
  },
  "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": [
      {
        "tool": "codex-cli",
        "command": "npx omni-skills --codex",
        "scope": "user-global",
        "default_path": "~/.codex/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "claude-code",
        "command": "npx omni-skills --claude",
        "scope": "user-global",
        "default_path": "~/.claude/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "cursor",
        "command": "npx omni-skills --cursor",
        "scope": "user-global",
        "default_path": "~/.cursor/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "gemini-cli",
        "command": "npx omni-skills --gemini",
        "scope": "user-global",
        "default_path": "~/.gemini/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "opencode",
        "command": "npx omni-skills --opencode",
        "scope": "project-local",
        "default_path": ".opencode/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      }
    ]
  },
  "classification": {
    "maturity": {
      "skill_level": 3,
      "skill_level_label": "resources",
      "has_scripts": true,
      "has_extra_files": true
    },
    "best_practices": {
      "score": 100,
      "tier": "excellent",
      "signals": {
        "workflow_steps_count": 14,
        "workflow_section_length": 1739,
        "when_to_use_section_length": 783,
        "best_practices_items_count": 6,
        "best_practices_section_length": 868,
        "troubleshooting_items_count": 0,
        "troubleshooting_section_length": 2045,
        "resources_items_count": 8,
        "resources_section_length": 2137,
        "examples_section_length": 1523,
        "examples_code_blocks_count": 8,
        "related_skills_section_length": 549,
        "decision_assets_count": 46,
        "table_count": 30,
        "linked_resource_families_count": 5,
        "linked_resource_families": [
          "agents",
          "assets",
          "examples",
          "references",
          "scripts"
        ],
        "support_links_count": 8,
        "support_files_count": 10,
        "references_files_count": 4,
        "scripts_files_count": 2,
        "examples_files_count": 2,
        "agents_files_count": 1,
        "assets_files_count": 1,
        "tools_count": 5,
        "tags_count": 8,
        "body_density": 7.82
      }
    },
    "quality": {
      "score": 99,
      "tier": "platinum",
      "breakdown": {
        "body": 16,
        "description": 10,
        "metadata": 12,
        "recency": 8,
        "resources": 10,
        "best_practices": 10,
        "semantic_depth": 16,
        "operational_depth": 10,
        "support_pack": 10
      }
    },
    "security": {
      "score": 95,
      "tier": "review",
      "status": "passed",
      "findings_count": 0,
      "findings": [],
      "signals": {
        "scanned_files": 14,
        "script_files": 3,
        "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": 3,
          "positives": 0,
          "results": [
            {
              "path": "skills/recce-mcp-e2e/test_mcp_e2e_template.py",
              "sha256": "e6b2b4eefa65a4a6b01cb6462dc6e7e2ef0a9a75f864ab387c6ec3c35d5e5031",
              "status": "not_found"
            },
            {
              "path": "skills/recce-mcp-e2e/scripts/omni_import_list_support_pack.py",
              "sha256": "3203bfbdabd001c2f51d371f5b3cb8b2948bb5c63b28a04f28a2ec11c4b03e34",
              "status": "not_found"
            },
            {
              "path": "skills/recce-mcp-e2e/scripts/omni_import_print_origin.py",
              "sha256": "ef527a3a7375c3e95d3dd7340fa71de44024bac32b4e1773707c77cc69153bdd",
              "status": "not_found"
            }
          ],
          "details": "Hash lookups only. Unknown files are not uploaded during validation."
        }
      }
    },
    "validation": {
      "errors": [],
      "warnings": [],
      "status": "passed"
    }
  },
  "content": {
    "body_length": 11312,
    "content_length": 12127,
    "body_lines": 197,
    "word_count": 1540,
    "has_code_blocks": true,
    "typed_code_blocks_count": 2,
    "has_examples_section": true,
    "example_count": 4,
    "has_workflow_section": true,
    "has_when_to_use_section": true,
    "has_best_practices_section": true,
    "has_troubleshooting_section": true,
    "problem_count": 3,
    "troubleshooting_pairs_count": 3,
    "has_additional_resources_section": true,
    "has_related_skills_section": true,
    "related_skills_count": 4,
    "has_local_support_links": true,
    "local_support_links_count": 6,
    "has_local_script_example": true,
    "local_script_example_count": 0,
    "semantic_signals": {
      "workflow_steps_count": 14,
      "workflow_section_length": 1739,
      "when_to_use_section_length": 783,
      "best_practices_items_count": 6,
      "best_practices_section_length": 868,
      "troubleshooting_items_count": 0,
      "troubleshooting_section_length": 2045,
      "resources_items_count": 8,
      "resources_section_length": 2137,
      "examples_section_length": 1523,
      "examples_code_blocks_count": 8,
      "related_skills_section_length": 549,
      "decision_assets_count": 46,
      "table_count": 30,
      "linked_resource_families_count": 5,
      "linked_resource_families": [
        "agents",
        "assets",
        "examples",
        "references",
        "scripts"
      ],
      "support_links_count": 8,
      "support_files_count": 10,
      "references_files_count": 4,
      "scripts_files_count": 2,
      "examples_files_count": 2,
      "agents_files_count": 1,
      "assets_files_count": 1,
      "tools_count": 5,
      "tags_count": 8,
      "body_density": 7.82
    }
  },
  "artifacts": [
    {
      "path": "skills/recce-mcp-e2e/EXTERNAL_SOURCE.json",
      "kind": "support",
      "size_bytes": 1020,
      "sha256": "7abc5e59ed41beb8d6917daae308251a28c6fcdd99f7f91cd493a9f84adf2ecf"
    },
    {
      "path": "skills/recce-mcp-e2e/ORIGIN.md",
      "kind": "support",
      "size_bytes": 667,
      "sha256": "6146930726afec79b86ca62dd3480d48fb8cdff3e7ffc744bc224e72df2124c6"
    },
    {
      "path": "skills/recce-mcp-e2e/SKILL.md",
      "kind": "entrypoint",
      "size_bytes": 12147,
      "sha256": "ae10feeea069ef52c9f58ea0364cfa025a870ba744f647629ed2881a483e5250"
    },
    {
      "path": "skills/recce-mcp-e2e/metadata.json",
      "kind": "support",
      "size_bytes": 7129,
      "sha256": "a53baf6af551c9aeecd0dc3b5b63346387034c25b401a663251698cc29a97629"
    },
    {
      "path": "skills/recce-mcp-e2e/test_mcp_e2e_template.py",
      "kind": "support",
      "size_bytes": 4659,
      "sha256": "e6b2b4eefa65a4a6b01cb6462dc6e7e2ef0a9a75f864ab387c6ec3c35d5e5031"
    },
    {
      "path": "skills/recce-mcp-e2e/agents/omni-import-router.md",
      "kind": "agent",
      "size_bytes": 459,
      "sha256": "2b575cff9d3e0e67e83ada819b0016c9c73f298776c3129dfd29d96cfee5470f"
    },
    {
      "path": "skills/recce-mcp-e2e/assets/omni-import-source-manifest.json",
      "kind": "asset",
      "size_bytes": 394,
      "sha256": "5efacedcb1e74b24edc9a4ad106e159ce2e6957c926897bdd7f763a1039e88da"
    },
    {
      "path": "skills/recce-mcp-e2e/examples/omni-import-operator-packet.md",
      "kind": "support",
      "size_bytes": 401,
      "sha256": "13606811d32a1c1d2d6ebf938685b941373a711b255b08dcdee96e8874810d5e"
    },
    {
      "path": "skills/recce-mcp-e2e/examples/omni-import-prompt-template.md",
      "kind": "support",
      "size_bytes": 224,
      "sha256": "fadd123e8ec34d20f99d9c9411ade837b3b2e3f2f4ffbdeaa070b3e3c79d27a7"
    },
    {
      "path": "skills/recce-mcp-e2e/references/omni-import-checklist.md",
      "kind": "reference",
      "size_bytes": 555,
      "sha256": "41e77fcdf23f9c303ccbb9c434536a9ce5302933fe938138fdc2818a6ef42d3a"
    },
    {
      "path": "skills/recce-mcp-e2e/references/omni-import-playbook.md",
      "kind": "reference",
      "size_bytes": 496,
      "sha256": "bf3ae56e5430be9ff7c28533fbce924563338a0e5a56f8d8d9fa6b9437493965"
    },
    {
      "path": "skills/recce-mcp-e2e/references/omni-import-rubric.md",
      "kind": "reference",
      "size_bytes": 598,
      "sha256": "c6b55e08d73852d04feba415b3a4a2b6dfc94400bb82d4e6a5fdb60a862e600c"
    },
    {
      "path": "skills/recce-mcp-e2e/references/omni-import-source-summary.md",
      "kind": "reference",
      "size_bytes": 352,
      "sha256": "933193bdd2f9cf5c4065f6a569bac62d52956dce08eb5f90b1d8989eae00ce0c"
    },
    {
      "path": "skills/recce-mcp-e2e/scripts/omni_import_list_support_pack.py",
      "kind": "support",
      "size_bytes": 237,
      "sha256": "3203bfbdabd001c2f51d371f5b3cb8b2948bb5c63b28a04f28a2ec11c4b03e34"
    },
    {
      "path": "skills/recce-mcp-e2e/scripts/omni_import_print_origin.py",
      "kind": "support",
      "size_bytes": 278,
      "sha256": "ef527a3a7375c3e95d3dd7340fa71de44024bac32b4e1773707c77cc69153bdd"
    }
  ],
  "archives": [
    {
      "format": "zip",
      "path": "dist/archives/recce-mcp-e2e.zip",
      "file_name": "recce-mcp-e2e.zip",
      "size_bytes": 32068,
      "sha256": "71278419b4af35a3a0771e734263e9872508c1ce01006c816cfbc3aebedabff7",
      "signature": {
        "status": "signed",
        "path": "dist/archives/recce-mcp-e2e.zip.sig",
        "sha256": "abb1d8a1967082bb4f91dceacbf0a024d437105147d0639692c9ffc816bee3c9",
        "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/recce-mcp-e2e.zip.sig dist/archives/recce-mcp-e2e.zip"
      }
    },
    {
      "format": "tar.gz",
      "path": "dist/archives/recce-mcp-e2e.tar.gz",
      "file_name": "recce-mcp-e2e.tar.gz",
      "size_bytes": 51228,
      "sha256": "c439ac66f5d28c6557cdf06121e2a92f82da21213f89007f08898128e50475bd",
      "signature": {
        "status": "signed",
        "path": "dist/archives/recce-mcp-e2e.tar.gz.sig",
        "sha256": "5b9b4943a56b2e08cfbaf336fb27a09d90a7cd39a566b69b7014a3d551d61bbd",
        "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/recce-mcp-e2e.tar.gz.sig dist/archives/recce-mcp-e2e.tar.gz"
      }
    }
  ],
  "archive_checksums": {
    "path": "dist/archives/recce-mcp-e2e.checksums.txt",
    "file_name": "recce-mcp-e2e.checksums.txt",
    "sha256": "e9e91b346ab5b21e2fba5c07b15988a7db93949423ac1ea15ff6edd66c649912",
    "signature": {
      "status": "signed",
      "path": "dist/archives/recce-mcp-e2e.checksums.txt.sig",
      "sha256": "9d8be7b981788f331f7db972c459dd7df542cfc6f8bc58785173f1ee74e3699a",
      "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/recce-mcp-e2e.checksums.txt.sig dist/archives/recce-mcp-e2e.checksums.txt"
    }
  },
  "checksums": {
    "entrypoint_sha256": "ae10feeea069ef52c9f58ea0364cfa025a870ba744f647629ed2881a483e5250",
    "package_sha256": "f444062fbe62c2e8e16cbc2ba26d055802d65f9a95bbdf58dc025c8ece1e1cf8"
  }
}
