{
  "_comment": "Synthetic hosting-skill example. Package hashes and source/test references are illustrative; nothing has been published or executed.",
  "skill_key": "support.family_check",
  "version": 1,
  "module": "support",
  "name": "Family invariant check",
  "source_node": "support/investigators/transfers",
  "inputs": {
    "type": "object",
    "required": [
      "members",
      "rules"
    ],
    "properties": {
      "members": {
        "type": "array"
      },
      "rules": {
        "type": "array"
      }
    }
  },
  "operations": [],
  "tool_bindings": [
    {
      "tool_key": "support.family_invariant_check",
      "version": 1,
      "owner_domain": "support/investigators/transfers",
      "purpose": "Check member coverage and declared cross-system relationships from normalised snapshots.",
      "applies_when": "The skill has supplied an explicit inventory and relationship rules; unknown rules return unsupported.",
      "artifacts": {
        "source": {
          "uri": "fixture:family-check-source",
          "sha256": "1111111111111111111111111111111111111111111111111111111111111111",
          "revision": "fixture-source-revision"
        }
      },
      "entry": {
        "artifact": "source",
        "path": "family_check.py",
        "runtime_id": "python",
        "runtime_version": "3.13.7",
        "kind": "restricted_process"
      },
      "input_schema": {
        "type": "object",
        "required": [
          "members",
          "rules"
        ],
        "properties": {
          "members": {
            "type": "array"
          },
          "rules": {
            "type": "array"
          }
        }
      },
      "output_schema": {
        "type": "object",
        "required": [
          "outcome",
          "checks"
        ],
        "properties": {
          "outcome": {
            "enum": [
              "pass",
              "fail",
              "unsupported"
            ]
          },
          "checks": {
            "type": "array"
          }
        }
      },
      "dependencies": [],
      "effect": "compute",
      "connector_operations": [],
      "uses_model": false,
      "repeatability": {
        "kind": "deterministic",
        "comparison": "Same normalised input and pinned versions produce the same semantic output; run timestamps are excluded."
      },
      "limits": {
        "timeout_ms": 5000,
        "max_output_bytes": 1048576
      },
      "tests": {
        "corpus_ref": "fixture:complete-missing-duplicate-unsupported",
        "result_ref": "fixture:illustrative-test-record"
      },
      "provenance_refs": [
        "fixture:synthetic-family-cases"
      ]
    }
  ],
  "entry_tool": {
    "tool_key": "support.family_invariant_check",
    "version": 1
  },
  "assertions": [
    {
      "name": "complete family coverage",
      "expect": "Every declared member and relationship is checked; unknown rules return unsupported."
    }
  ],
  "writes": false,
  "dry_run_default": false
}
