{
  "schemaVersion": "1.0",
  "item": {
    "slug": "vtl-image-analysis",
    "name": "VTL Image Analysis",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/rusparrish/vtl-image-analysis",
    "canonicalUrl": "https://clawhub.ai/rusparrish/vtl-image-analysis",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/vtl-image-analysis",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=vtl-image-analysis",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "references/vtl-metrics.md",
      "scripts/vtl_regen.py",
      "scripts/vtl_probe.py",
      "README.md",
      "operators.yaml",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/vtl-image-analysis"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/vtl-image-analysis",
    "agentPageUrl": "https://openagent3.xyz/skills/vtl-image-analysis/agent",
    "manifestUrl": "https://openagent3.xyz/skills/vtl-image-analysis/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/vtl-image-analysis/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "VTL Image Analysis",
        "body": "Use this skill whenever a user asks to analyze, diagnose, or improve a\ngenerated image's composition. Also invoke it proactively after image\ngeneration if the user has requested better compositional quality."
      },
      {
        "title": "When to Use",
        "body": "User says \"analyze this image\", \"why does this look generic/flat/boring\"\nUser asks to improve a generated image's composition\nAfter generating an image with openai-image-gen or similar skills\nUser asks why their prompts aren't producing interesting layouts"
      },
      {
        "title": "Step 1 — Measure",
        "body": "Run the probe script on the image:\n\npython3 scripts/vtl_probe.py <image_path>\n\nThis returns JSON. Example:\n\n{\n  \"valid\": true,\n  \"mask_status\": \"PASS\",\n  \"delta_x\": -0.027,\n  \"delta_y\": 0.008,\n  \"r_v\": 0.875,\n  \"rho_r\": 12.4,\n  \"dRC\": 0.40,\n  \"dRC_label\": \"mass-dominant\",\n  \"k_var\": 1.12,\n  \"infl_density\": 0.16,\n  \"flags\": [\"CENTER_LOCK\"]\n}"
      },
      {
        "title": "HARD STOP — Refusal Gate",
        "body": "Before reporting any results, check valid and mask_status.\n\nIf valid is false OR mask_status is \"FAIL\":\n\n\"VTL measurement failed: [error message]. The image does not have sufficient\nstructural signal for reliable compositional analysis. Try a different image\nor one with more defined edges and contrast.\"\n\nStop here. Do not report coordinates. Do not generate re-prompts.\n\nIf mask_status is \"WARN\":\n\n\"VTL measurement returned low-confidence results (sparse structural signal).\nCoordinates are reported but treat them as indicative, not definitive.\"\nThen continue with the caveat attached to all outputs.\n\nThis refusal is non-negotiable. Fabricating a compositional reading from a\nfailed measurement produces false diagnosis. The framework is deterministic\nby design — an uncertain measurement is reported as uncertain, not smoothed over."
      },
      {
        "title": "Step 2 — Report Coordinates",
        "body": "Report the five coordinates plainly:\n\nVTL ANALYSIS\n────────────────────────────────\nPlacement   Δx={delta_x}  Δy={delta_y}\nVoid        rᵥ={r_v}\nPacking     ρᵣ={rho_r}\nRadial      dRC={dRC}  [{dRC_label}]\nTension     k_var={k_var}\n\nFLAGS: {flags or NONE}"
      },
      {
        "title": "Step 3 — Generate Re-Prompt (if flags present)",
        "body": "Run the regen script with the user's original prompt and the metrics output:\n\npython3 scripts/vtl_regen.py \\\n  --prompt \"USER'S ORIGINAL PROMPT\" \\\n  --metrics <path_to_metrics.json> \\\n  --out prompts.json\n\nThis selects operators from operators.yaml based on which flags fired and\nreturns up to 3 prompt variants. Report the selected variant as the primary\nrecommendation and offer the alternatives.\n\nIf no flags fired, report: \"No default-mode patterns detected. Coordinates are\nwithin normal range.\""
      },
      {
        "title": "Operator Logic",
        "body": "Operators live in operators.yaml. They are rule-based — triggers are evaluated\ndeterministically against the metric values. The AI does not invent or modify\noperators. If a trigger fires, the patch is applied. If not, it isn't.\n\nDo not override operator logic. Do not substitute your own re-prompt language\nfor what the operator specifies. The operators are the prescription layer —\nthey are the operator's responsibility, not the AI's improvisation.\n\nIf the user wants to modify re-prompt behavior, direct them to edit operators.yaml."
      },
      {
        "title": "Notes",
        "body": "Metrics describe compositional coordinates, not quality. CENTER_LOCK is not\n\"bad\" — it's a signal that the model defaulted. A portrait photographer\nchoosing center composition is authorship. An AI doing it on every prompt\nregardless of content is prior behavior. VTL measures the difference.\ndRC requires radial eligibility. If mass centroid is very close to frame\ncenter, dRC is labeled \"dual-center\" — report the label, not a number\ninterpretation.\nFull metric definitions: references/vtl-metrics.md\nFull framework: https://github.com/rusparrish/Visual-Thinking-Lens\nAuthor: Russell Parrish — https://artistinfluencer.com"
      }
    ],
    "body": "VTL Image Analysis\n\nUse this skill whenever a user asks to analyze, diagnose, or improve a generated image's composition. Also invoke it proactively after image generation if the user has requested better compositional quality.\n\nWhen to Use\nUser says \"analyze this image\", \"why does this look generic/flat/boring\"\nUser asks to improve a generated image's composition\nAfter generating an image with openai-image-gen or similar skills\nUser asks why their prompts aren't producing interesting layouts\nStep 1 — Measure\n\nRun the probe script on the image:\n\npython3 scripts/vtl_probe.py <image_path>\n\n\nThis returns JSON. Example:\n\n{\n  \"valid\": true,\n  \"mask_status\": \"PASS\",\n  \"delta_x\": -0.027,\n  \"delta_y\": 0.008,\n  \"r_v\": 0.875,\n  \"rho_r\": 12.4,\n  \"dRC\": 0.40,\n  \"dRC_label\": \"mass-dominant\",\n  \"k_var\": 1.12,\n  \"infl_density\": 0.16,\n  \"flags\": [\"CENTER_LOCK\"]\n}\n\nHARD STOP — Refusal Gate\n\nBefore reporting any results, check valid and mask_status.\n\nIf valid is false OR mask_status is \"FAIL\":\n\n\"VTL measurement failed: [error message]. The image does not have sufficient structural signal for reliable compositional analysis. Try a different image or one with more defined edges and contrast.\"\n\nStop here. Do not report coordinates. Do not generate re-prompts.\n\nIf mask_status is \"WARN\":\n\n\"VTL measurement returned low-confidence results (sparse structural signal). Coordinates are reported but treat them as indicative, not definitive.\" Then continue with the caveat attached to all outputs.\n\nThis refusal is non-negotiable. Fabricating a compositional reading from a failed measurement produces false diagnosis. The framework is deterministic by design — an uncertain measurement is reported as uncertain, not smoothed over.\n\nStep 2 — Report Coordinates\n\nReport the five coordinates plainly:\n\nVTL ANALYSIS\n────────────────────────────────\nPlacement   Δx={delta_x}  Δy={delta_y}\nVoid        rᵥ={r_v}\nPacking     ρᵣ={rho_r}\nRadial      dRC={dRC}  [{dRC_label}]\nTension     k_var={k_var}\n\nFLAGS: {flags or NONE}\n\nStep 3 — Generate Re-Prompt (if flags present)\n\nRun the regen script with the user's original prompt and the metrics output:\n\npython3 scripts/vtl_regen.py \\\n  --prompt \"USER'S ORIGINAL PROMPT\" \\\n  --metrics <path_to_metrics.json> \\\n  --out prompts.json\n\n\nThis selects operators from operators.yaml based on which flags fired and returns up to 3 prompt variants. Report the selected variant as the primary recommendation and offer the alternatives.\n\nIf no flags fired, report: \"No default-mode patterns detected. Coordinates are within normal range.\"\n\nOperator Logic\n\nOperators live in operators.yaml. They are rule-based — triggers are evaluated deterministically against the metric values. The AI does not invent or modify operators. If a trigger fires, the patch is applied. If not, it isn't.\n\nDo not override operator logic. Do not substitute your own re-prompt language for what the operator specifies. The operators are the prescription layer — they are the operator's responsibility, not the AI's improvisation.\n\nIf the user wants to modify re-prompt behavior, direct them to edit operators.yaml.\n\nNotes\nMetrics describe compositional coordinates, not quality. CENTER_LOCK is not \"bad\" — it's a signal that the model defaulted. A portrait photographer choosing center composition is authorship. An AI doing it on every prompt regardless of content is prior behavior. VTL measures the difference.\ndRC requires radial eligibility. If mass centroid is very close to frame center, dRC is labeled \"dual-center\" — report the label, not a number interpretation.\nFull metric definitions: references/vtl-metrics.md\nFull framework: https://github.com/rusparrish/Visual-Thinking-Lens\nAuthor: Russell Parrish — https://artistinfluencer.com"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/rusparrish/vtl-image-analysis",
    "publisherUrl": "https://clawhub.ai/rusparrish/vtl-image-analysis",
    "owner": "rusparrish",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/vtl-image-analysis",
    "downloadUrl": "https://openagent3.xyz/downloads/vtl-image-analysis",
    "agentUrl": "https://openagent3.xyz/skills/vtl-image-analysis/agent",
    "manifestUrl": "https://openagent3.xyz/skills/vtl-image-analysis/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/vtl-image-analysis/agent.md"
  }
}