{"id":553000,"name":"Swatch","description":"Swatch checks text and background color contrast against WCAG, shows the closest colors that pass, and builds a full 50-950 palette from any color. Runs in your browser, no account.","card_url":"https://swatch.clawhard.com/.well-known/agent-card.json","endpoint":"https://swatch.clawhard.com/a2a","protocol_version":"1.0","first_seen":"2026-11-05T22:47:56.323408+00:00","last_verified":"2026-11-05T22:47:56.323408+00:00","card":{"url":"https://swatch.clawhard.com/a2a","name":"Swatch","skills":[{"id":"swatch_check_contrast","name":"Check text and background color contrast (WCAG and APCA)","tags":["swatch","DesignApplication","read-only"],"examples":["Does #777 on white pass WCAG AA?","Make this gray text accessible without changing the look","Build a 50 to 950 palette from #ff5a1f and check the contrast"],"inputModes":["application/json","text/plain"],"description":"Use when you pick, review or generate UI colors and need an exact accessibility answer. Computes the WCAG 2.x contrast ratio of a text color on a background (never guess ratios, LLMs get them wrong) and returns pass or fail for AA and AAA at normal and large text, the 3:1 UI-component rule, and the APCA Lc score.","outputModes":["application/json","text/plain"]},{"id":"swatch_fix_contrast","name":"Find the closest colors that pass a contrast target","tags":["swatch","DesignApplication","read-only"],"examples":["Does #777 on white pass WCAG AA?","Make this gray text accessible without changing the look","Build a 50 to 950 palette from #ff5a1f and check the contrast"],"inputModes":["application/json","text/plain"],"description":"Use when a color pair fails contrast and you need a replacement that still looks like the original. Returns the nearest passing text color (background fixed) and the nearest passing background (text fixed), keeping hue and changing only lightness, with the new exact ratios. Targets: AA (4.5:1 normal text, default), AAA (7:1), AA-large (3:1 large text), ui (3:1 icons and borders).","outputModes":["application/json","text/plain"]},{"id":"swatch_pick_text_color","name":"Pick black or white text for a background color","tags":["swatch","DesignApplication","read-only"],"examples":["Does #777 on white pass WCAG AA?","Make this gray text accessible without changing the look","Build a 50 to 950 palette from #ff5a1f and check the contrast"],"inputModes":["application/json","text/plain"],"description":"Use when you place text or an icon on a colored surface (button, badge, chip, tag, hero) and need the readable text color. Returns whichever of black or white has the higher contrast ratio, both ratios, the grade, and a softer near-black or near-white option that still passes AA.","outputModes":["application/json","text/plain"]},{"id":"swatch_make_scale","name":"Build a 50 to 950 color scale from one color","tags":["swatch","DesignApplication","read-only"],"examples":["Does #777 on white pass WCAG AA?","Make this gray text accessible without changing the look","Build a 50 to 950 palette from #ff5a1f and check the contrast"],"inputModes":["application/json","text/plain"],"description":"Use when you need a design-token palette from a brand color. Generates an 11-step scale (50, 100 ... 950) in OKLCH so steps look evenly spaced, with your exact color kept as the closest step. Returns each step's hex, contrast on white and black, the best text color on it, and ready-to-paste CSS variables, a Tailwind colors block and JSON.","outputModes":["application/json","text/plain"]},{"id":"swatch_convert_color","name":"Convert a color between hex, rgb, hsl and oklch","tags":["swatch","DesignApplication","read-only"],"examples":["Does #777 on white pass WCAG AA?","Make this gray text accessible without changing the look","Build a 50 to 950 palette from #ff5a1f and check the contrast"],"inputModes":["application/json","text/plain"],"description":"Use when you need the same color in another CSS format, or a color name turned into a value. Returns hex, rgb(), hsl(), oklch(), relative luminance and the nearest CSS color name. Accepts hex, rgb(), hsl(), hwb(), oklch() and CSS names.","outputModes":["application/json","text/plain"]},{"id":"swatch_check_pairs","name":"Check many foreground and background pairs at once","tags":["swatch","DesignApplication","read-only"],"examples":["Does #777 on white pass WCAG AA?","Make this gray text accessible without changing the look","Build a 50 to 950 palette from #ff5a1f and check the contrast"],"inputModes":["application/json","text/plain"],"description":"Use when you need to audit a whole UI or design-token set in one call. Takes up to 50 pairs and returns each pair's ratio, grade and AA/AAA results, plus how many fail AA for normal text. Ideal after you generate a theme or dark mode and want every text-on-surface pair verified.","outputModes":["application/json","text/plain"]}],"iconUrl":"https://clawhard.com/icon-512.png","version":"1.0.1","provider":{"url":"https://clawhard.com","organization":"Clawhard Studio"},"description":"Swatch checks text and background color contrast against WCAG, shows the closest colors that pass, and builds a full 50-950 palette from any color. Runs in your browser, no account.","capabilities":{"streaming":false,"extendedAgentCard":false,"pushNotifications":false},"protocolVersion":"1.0","documentationUrl":"https://swatch.clawhard.com/llms.txt","defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"preferredTransport":"JSONRPC","supportedInterfaces":[{"url":"https://swatch.clawhard.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://swatch.clawhard.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}]},"status":"verified","publisher_domain":"clawhard.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-05T22:47:56.323408+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://swatch.clawhard.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-05T22:47:56.323408+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://swatch.clawhard.com/.well-known/agent-card.json"],"skills":[{"skill_id":"swatch_make_scale","name":"Build a 50 to 950 color scale from one color","description":"Use when you need a design-token palette from a brand color. Generates an 11-step scale (50, 100 ... 950) in OKLCH so steps look evenly spaced, with your exact color kept as the closest step. Returns each step's hex, contrast on white and black, the best text color on it, and ready-to-paste CSS variables, a Tailwind colors block and JSON.","tags":["swatch","DesignApplication","read-only"],"quality_warning":false},{"skill_id":"swatch_check_pairs","name":"Check many foreground and background pairs at once","description":"Use when you need to audit a whole UI or design-token set in one call. Takes up to 50 pairs and returns each pair's ratio, grade and AA/AAA results, plus how many fail AA for normal text. Ideal after you generate a theme or dark mode and want every text-on-surface pair verified.","tags":["swatch","DesignApplication","read-only"],"quality_warning":false},{"skill_id":"swatch_check_contrast","name":"Check text and background color contrast (WCAG and APCA)","description":"Use when you pick, review or generate UI colors and need an exact accessibility answer. Computes the WCAG 2.x contrast ratio of a text color on a background (never guess ratios, LLMs get them wrong) and returns pass or fail for AA and AAA at normal and large text, the 3:1 UI-component rule, and the APCA Lc score.","tags":["swatch","DesignApplication","read-only"],"quality_warning":false},{"skill_id":"swatch_convert_color","name":"Convert a color between hex, rgb, hsl and oklch","description":"Use when you need the same color in another CSS format, or a color name turned into a value. Returns hex, rgb(), hsl(), oklch(), relative luminance and the nearest CSS color name. Accepts hex, rgb(), hsl(), hwb(), oklch() and CSS names.","tags":["swatch","DesignApplication","read-only"],"quality_warning":false},{"skill_id":"swatch_fix_contrast","name":"Find the closest colors that pass a contrast target","description":"Use when a color pair fails contrast and you need a replacement that still looks like the original. Returns the nearest passing text color (background fixed) and the nearest passing background (text fixed), keeping hue and changing only lightness, with the new exact ratios. Targets: AA (4.5:1 normal text, default), AAA (7:1), AA-large (3:1 large text), ui (3:1 icons and borders).","tags":["swatch","DesignApplication","read-only"],"quality_warning":false},{"skill_id":"swatch_pick_text_color","name":"Pick black or white text for a background color","description":"Use when you place text or an icon on a colored surface (button, badge, chip, tag, hero) and need the readable text color. Returns whichever of black or white has the higher contrast ratio, both ratios, the grade, and a softer near-black or near-white option that still passes AA.","tags":["swatch","DesignApplication","read-only"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://swatch.clawhard.com/.well-known/agent-card.json","checked_at":"2026-11-05T22:47:56.323408+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-05T22:47:56.323408+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-05T22:47:56.323408+00:00","endpoint":"https://swatch.clawhard.com/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://swatch.clawhard.com/a2a","selected_connection_interface":{"url":"https://swatch.clawhard.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://swatch.clawhard.com/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"a2a_response","checked_at":"2026-11-05T22:47:56.323408+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true},{"endpoint":"https://swatch.clawhard.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3","selected":false,"state":"a2a_response","checked_at":"2026-11-05T22:47:56.323408+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://swatch.clawhard.com/.well-known/agent-card.json","last_successful_card_check":"2026-11-05T22:47:56.323408+00:00","latest_card_check":{"checked_at":"2026-11-05T22:47:56.323408+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-05T22:47:56.323408+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-05T22:47:56.323408+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-11-05T22:47:56.323408+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":553000,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/553000/repair","publisher_report_url":"https://localmark.ai/publishers/clawhard.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/clawhard.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/clawhard.com/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}