{"id":"f042def5-1a88-411a-9a8d-8a0d6bd5eb62","entityType":"agent","slug":"clawhub-rawven-ctr-json-normalizer","name":"ctr-json-normalizer","canonicalUrl":"https://www.xpersona.co/agent/clawhub-rawven-ctr-json-normalizer","canonicalPath":"/agent/clawhub-rawven-ctr-json-normalizer","generatedAt":"2026-10-10T10:42:26.214Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":null},"description":"Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations. Skill: ctr-json-normalizer Owner: rawven Summary: Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-15T08:09:13.22","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s178t2fxzjz0v8yxcg3emqtq498cgd4w:ctr-json-normalizer","sourceUrl":"https://clawhub.ai/rawven/ctr-json-normalizer","homepage":"https://clawhub.ai/rawven/skills/ctr-json-normalizer","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/rawven/ctr-json-normalizer","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/rawven/skills/ctr-json-normalizer","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever th"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":null},"stars":null,"forks":null,"downloads":1579,"packageName":null,"latestVersion":"0.1.0","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T07:50:44.533Z","lastCrawledAt":"2026-10-10T07:50:44.533Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T07:50:44.533Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.0","createdAt":"2026-08-15T08:09:13.227Z","changelog":"Initial release of ctr-json-normalizer Skill. - Normalizes and validates JSON output for CTR product-card click diagnosis. - Ensures the report contains exactly the required fields: query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations. - Designed as the final step after diagnosis drafting, before responding. - Automatic error handling: script returns \"error\" if the output does not meet requirements. - Does not fetch images, infer causes, or generate new business suggestions.","fileCount":6,"zipByteSize":4350}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s178t2fxzjz0v8yxcg3emqtq498cgd4w:ctr-json-normalizer","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:42:26.214Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-rawven-ctr-json-normalizer/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":null},"readme":"Skill: ctr-json-normalizer\n\nOwner: rawven\n\nSummary: Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations.\n\nTags: latest:0.1.0\n\nVersion history:\n\nv0.1.0 | 2026-08-15T08:09:13.227Z | auto\n\nInitial release of ctr-json-normalizer Skill.\n\n- Normalizes and validates JSON output for CTR product-card click diagnosis.\n- Ensures the report contains exactly the required fields: query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations.\n- Designed as the final step after diagnosis drafting, before responding.\n- Automatic error handling: script returns \"error\" if the output does not meet requirements.\n- Does not fetch images, infer causes, or generate new business suggestions.\n\nArchive index:\n\nArchive v0.1.0: 6 files, 4350 bytes\n\nFiles: README.md (109b), scripts (0b), scripts/normalize_ctr_report.py (5054b), skill-card.md (1975b), SKILL.md (1683b), _meta.json (138b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: ctr-json-normalizer\ndescription: Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations.\n---\n\n# CTR JSON Normalizer\n\nRun this Skill once as the final step of every CTR diagnosis. It formats and validates a completed diagnosis; it does not fetch images, compare products, infer causes, or write new business suggestions.\n\n## Input\n\nPass one JSON object through stdin:\n\n```json\n{\n  \"session\": { \"query\": \"\", \"clicked_item_id\": \"\", \"items\": [] },\n  \"report\": { }\n}\n```\n\n`report` may be a JSON object or a JSON string. `session.items` must be the original card list, with `item_id`, `position`, and `clicked` where available.\n\n## Run\n\n```bash\npython3 scripts/normalize_ctr_report.py <<'JSON'\n{ \"session\": { \"query\": \"...\", \"clicked_item_id\": \"...\", \"items\": [] }, \"report\": {} }\nJSON\n```\n\n## Required Workflow\n\n1. Finish all comparison and image-fact collection first.\n2. Build the diagnosis draft as JSON, using evidence already collected.\n3. Run `scripts/normalize_ctr_report.py` with the original session and the draft.\n4. If it returns `error`, fix the draft JSON and run it again.\n5. Return the script stdout verbatim. Do not wrap it in Markdown or append explanatory text.\n\nThe script fixes only the report envelope: root fields, candidate item coverage, dimension order, allowed status values, suggestion field shape, and limitations. A missing dimension becomes `unknown` with no suggestion; no factual claim is invented.\n\nFile v0.1.0:README.md\n\n# ctr-json-normalizer\nNormalize structured JSON reports for single-session CTR product-card click diagnoses.\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn70wykycqrsb3zaj7361cbbw18cg811\",\n  \"slug\": \"ctr-json-normalizer\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1786781353227\n}\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\nNormalize the final JSON output of a single-session CTR product-card click diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[rawven](https://clawhub.ai/user/rawven)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill as the final step in a CTR product-card click diagnosis to normalize a completed draft into the required JSON report contract before responding.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Malformed or incomplete diagnosis drafts can produce an error response or unknown fields in the normalized JSON.\n\nMitigation: Review the report data supplied to the script, fix invalid drafts, and rerun the normalizer until the output satisfies the required JSON contract.\n\nRisk: The skill normalizes existing CTR diagnosis data but does not verify factual claims, fetch images, compare products, or generate new business suggestions.\n\nMitigation: Complete evidence collection and diagnosis drafting before running the normalizer, then review the normalized output before using it in downstream decisions.\n\n## Reference(s):\n\n- [Source repository](https://github.com/Rawven/ctr-json-normalizer)\n- [ClawHub skill page](https://clawhub.ai/rawven/skills/ctr-json-normalizer)\n\n## Skill Output:\n\n**Output Type(s):** [JSON, Shell commands, Guidance]\n\n**Output Format:** [Minified JSON emitted to stdout, with shell command usage instructions in the skill workflow]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Returns an error JSON object when the supplied draft cannot be parsed or normalized.]\n\n## Skill Version(s):\n\n0.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: ctr-json-normalizer Owner: rawven Summary: Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-15T08:09:13.22","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"session\": { \"query\": \"\", \"clicked_item_id\": \"\", \"items\": [] },\n  \"report\": { }\n}"},{"language":"bash","snippet":"python3 scripts/normalize_ctr_report.py <<'JSON'\n{ \"session\": { \"query\": \"...\", \"clicked_item_id\": \"...\", \"items\": [] }, \"report\": {} }\nJSON"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: ctr-json-normalizer\ndescription: Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations.\n---\n\n# CTR JSON Normalizer\n\nRun this Skill once as the final step of every CTR diagnosis. It formats and validates a completed diagnosis; it does not fetch images, compare products, infer causes, or write new business suggestions.\n\n## Input\n\nPass one JSON object through stdin:\n\n```json\n{\n  \"session\": { \"query\": \"\", \"clicked_item_id\": \"\", \"items\": [] },\n  \"report\": { }\n}\n```\n\n`report` may be a JSON object or a JSON string. `session.items` must be the original card list, with `item_id`, `position`, and `clicked` where available.\n\n## Run\n\n```bash\npython3 scripts/normalize_ctr_report.py <<'JSON'\n{ \"session\": { \"query\": \"...\", \"clicked_item_id\": \"...\", \"items\": [] }, \"report\": {} }\nJSON\n```\n\n## Required Workflow\n\n1. Finish all comparison and image-fact collection first.\n2. Build the diagnosis draft as JSON, using evidence already collected.\n3. Run `scripts/normalize_ctr_report.py` with the original session and the draft.\n4. If it returns `error`, fix the draft JSON and run it again.\n5. Return the script stdout verbatim. Do not wrap it in Markdown or append explanatory text.\n\nThe script fixes only the report envelope: root fields, candidate item coverage, dimension order, allowed status values, suggestion field shape, and limitations. A missing dimension becomes `unknown` with no suggestion; no factual claim is invented."},{"path":"README.md","content":"# ctr-json-normalizer\nNormalize structured JSON reports for single-session CTR product-card click diagnoses."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70wykycqrsb3zaj7361cbbw18cg811\",\n  \"slug\": \"ctr-json-normalizer\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1786781353227\n}"},{"path":"skill-card.md","content":"## Description:\n\nNormalize the final JSON output of a single-session CTR product-card click diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[rawven](https://clawhub.ai/user/rawven)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill as the final step in a CTR product-card click diagnosis to normalize a completed draft into the required JSON report contract before responding.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Malformed or incomplete diagnosis drafts can produce an error response or unknown fields in the normalized JSON.\n\nMitigation: Review the report data supplied to the script, fix invalid drafts, and rerun the normalizer until the output satisfies the required JSON contract.\n\nRisk: The skill normalizes existing CTR diagnosis data but does not verify factual claims, fetch images, compare products, or generate new business suggestions.\n\nMitigation: Complete evidence collection and diagnosis drafting before running the normalizer, then review the normalized output before using it in downstream decisions.\n\n## Reference(s):\n\n- [Source repository](https://github.com/Rawven/ctr-json-normalizer)\n- [ClawHub skill page](https://clawhub.ai/rawven/skills/ctr-json-normalizer)\n\n## Skill Output:\n\n**Output Type(s):** [JSON, Shell commands, Guidance]\n\n**Output Format:** [Minified JSON emitted to stdout, with shell command usage instructions in the skill workflow]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Returns an error JSON object when the supplied draft cannot be parsed or normalized.]\n\n## Skill Version(s):\n\n0.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations. Skill: ctr-json-normalizer Owner: rawven Summary: Normalize the final JSON output of a single-session CTR product-card click diagnosis. Use after the diagnosis draft is complete and before replying, whenever the report must contain exactly the agreed query, clicked item, unclicked items, five fixed dimensions, structured suggestions, and limitations. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-15T08:09:13.22","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":972,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:50:44.533Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:42:26.214Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}