{
  "schemaVersion": "1.0",
  "item": {
    "slug": "colorkit",
    "name": "ColorKit",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/SzpakKamil/colorkit",
    "canonicalUrl": "https://clawhub.ai/SzpakKamil/colorkit",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/colorkit",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=colorkit",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/Accessibility.md",
      "references/Blending.md",
      "references/CKColor.md",
      "references/ColorKit.md",
      "references/ColorModels.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. 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. 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-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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/colorkit"
    },
    "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/colorkit",
    "agentPageUrl": "https://openagent3.xyz/skills/colorkit/agent",
    "manifestUrl": "https://openagent3.xyz/skills/colorkit/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/colorkit/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "This skill provides expert guidance on ColorKit, a powerful, cross-platform Swift library for advanced color management. It covers advanced color creation (Hex, OKLAB, HSL), professional blending modes, precise color space transformations with perceptual gamut mapping, and comprehensive accessibility checks using WCAG and APCA standards. Use this skill to help developers implement sophisticated color logic and ensure UI accessibility across all Apple platforms."
      },
      {
        "title": "Agent Behavior (Follow These Rules)",
        "body": "Clarify Color Space Needs: Always identify if the user needs standard sRGB or wide-gamut (Display P3, Adobe RGB) support before recommending conversion methods.\nPrioritize CKColor: Encourage the use of CKColor as the unified entry point for all color operations, as it handles platform-specific differences and color space metadata automatically.\nRecommend Perceptual Mapping: When converting between gamuts, suggest using converted(to:iterations:) for OKLAB-based perceptual mapping to preserve visual intent.\nEmphasize Accessibility: Proactively mention APCA (isAPCAAccessible) for modern typography contrast needs, alongside traditional WCAG ratios.\nDynamic Colors: Always consider system appearance (Light/Dark mode) when suggesting color initializers, favoring those that support adaptive variants.\nContextual Bridges: Provide clear examples of bridging CKColor to native types like Color, UIColor, or NSColor when UI integration is the goal."
      },
      {
        "title": "Project Settings",
        "body": "ColorKit's behavior is influenced by the project's deployment targets and Swift version.\n\nDeployment Targets: iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 6.0+, and visionOS 1.0+.\nSwift Version: Requires Swift 5.9+.\n\nIf these are unknown, ask the developer to confirm them, especially when discussing HDR or wide-gamut features."
      },
      {
        "title": "Quick Decision Tree",
        "body": "When a developer needs ColorKit guidance, follow this decision tree:\n\nCreating a new color?\n\nFrom Hex string/int → references/CKColor.md\nUsing specific models (OKLAB, HSL, CMYK) → references/ColorModels.md\nAdaptive for Light/Dark mode → references/CKColor.md\n\n\n\nConverting between color spaces?\n\nBasic conversion or Perceptual Gamut Mapping → references/ColorOperations.md\nHandling wide-gamut (P3, Adobe RGB) → references/ColorOperations.md\n\n\n\nPerforming accessibility checks?\n\nWCAG 2.1 Contrast Ratio → references/Accessibility.md\nAPCA (WCAG 3.0) Perceptual Contrast → references/Accessibility.md\nFont-specific readability → references/Accessibility.md\n\n\n\nBlending or modifying colors?\n\nPhotoshop-style blending (Multiply, Overlay, etc.) → references/Blending.md\nAdjusting opacity, lightness, or saturation → references/ColorOperations.md\n\n\n\nIntegrating with UI frameworks?\n\nSwiftUI (Color, ShapeStyle) → references/NativeBridges.md\nUIKit/AppKit (UIColor, NSColor) → references/NativeBridges.md\nCore Graphics/Image (CGColor, CIColor) → references/NativeBridges.md\n\n\n\nStoring or persisting colors?\n\nUsing Codable or Sendable → references/CKColor.md"
      },
      {
        "title": "Triage-First Playbook",
        "body": "\"My colors look different after conversion.\"\n\nExplain gamut clipping and recommend using converted(to:iterations:) for perceptual mapping. Refer to references/ColorOperations.md.\n\n\n\"How do I support Dark Mode with custom colors?\"\n\nShow how to use CKColor initializers that take both light and dark variants. Refer to references/CKColor.md.\n\n\n\"Is my text readable on this background?\"\n\nGuide them through using isAPCAAccessible with specific font size and weight. Refer to references/Accessibility.md.\n\n\n\"I get a compiler error when using CKColor in SwiftUI.\"\n\nRemind them that CKColor conforms to ShapeStyle directly, but they might need .color property for some modifiers. Refer to references/NativeBridges.md."
      },
      {
        "title": "Basic Initialization & Usage",
        "body": "import ColorKit\n\n// Hex initialization\nlet brand = CKColor(hexString: \"#007AFF\")\n\n// Adaptive color\nlet adaptive = CKColor(hexString: \"#007AFF\", hexStringDark: \"#0A84FF\")\n\n// Use in SwiftUI\nCircle().fill(adaptive)"
      },
      {
        "title": "Advanced Operations",
        "body": "// Perceptual conversion to sRGB\nlet p3 = CKColor(red: 1.0, green: 0.0, blue: 0.0, colorSpace: .displayP3)\nlet sRGB = p3.converted(to: .sRGB, iterations: 6)\n\n// Blending\nlet blended = brand.blended(with: .black, mode: .multiply, opacity: 0.5)"
      },
      {
        "title": "Accessibility Check",
        "body": "let bg = CKColor.white\nlet isAccessible = brand.isAPCAAccessible(on: bg, size: 16, weight: .regular)"
      },
      {
        "title": "Integration Quick Guide",
        "body": "ColorKit is integrated via Swift Package Manager.\n\nAdd Package Dependency: In Xcode, go to File > Add Package Dependency and enter https://github.com/SzpakKamil/ColorKit.git.\nImport: import ColorKit in your Swift files.\nDeployment Targets: iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 6.0+, visionOS 1.0+ (Swift 5.9+).\n\nFor detailed setup, see references/Setup.md."
      },
      {
        "title": "Reference Files",
        "body": "Load these files as needed for specific topics:\n\nColorKit.md - General overview and key capabilities.\nSetup.md - Installation and project integration.\nCKColor.md - Detailed documentation for the core CKColor struct, initializers, and persistence.\nColorOperations.md - Conversion, gamut mapping, and basic modifications.\nColorModels.md - Using specialized models like OKLAB, HSL, CMYK, etc.\nNativeBridges.md - Integration with SwiftUI, UIKit, AppKit, and Core Graphics.\nAccessibility.md - WCAG and APCA contrast calculations and readability checks.\nBlending.md - Advanced blending modes and transparency handling.\n_index.md - A comprehensive index for all ColorKit reference documentation."
      },
      {
        "title": "Best Practices Summary",
        "body": "Use CKColor Everywhere: It serves as a universal color type that simplifies cross-platform logic.\nPrefer APCA for Text: APCA provides better perceptual accuracy for modern typography than traditional WCAG 2.1.\nAlways Map Gamuts: Use perceptual mapping when moving from wide gamuts (P3) to narrow ones (sRGB) to avoid \"dead\" colors.\nLeverage ShapeStyle: Take advantage of CKColor's direct conformance to ShapeStyle in SwiftUI for cleaner code.\nStay Adaptive: Use adaptive initializers to ensure your UI looks great in both Light and Dark modes without extra logic.\n\nNote: This skill is based on the comprehensive documentation for ColorKit. For further details, visit the official documentation at documentation.kamilszpak.com/documentation/colorkit/ or the project website at kamilszpak.com/pl/colorkit."
      }
    ],
    "body": "ColorKit Skill\nOverview\n\nThis skill provides expert guidance on ColorKit, a powerful, cross-platform Swift library for advanced color management. It covers advanced color creation (Hex, OKLAB, HSL), professional blending modes, precise color space transformations with perceptual gamut mapping, and comprehensive accessibility checks using WCAG and APCA standards. Use this skill to help developers implement sophisticated color logic and ensure UI accessibility across all Apple platforms.\n\nAgent Behavior (Follow These Rules)\nClarify Color Space Needs: Always identify if the user needs standard sRGB or wide-gamut (Display P3, Adobe RGB) support before recommending conversion methods.\nPrioritize CKColor: Encourage the use of CKColor as the unified entry point for all color operations, as it handles platform-specific differences and color space metadata automatically.\nRecommend Perceptual Mapping: When converting between gamuts, suggest using converted(to:iterations:) for OKLAB-based perceptual mapping to preserve visual intent.\nEmphasize Accessibility: Proactively mention APCA (isAPCAAccessible) for modern typography contrast needs, alongside traditional WCAG ratios.\nDynamic Colors: Always consider system appearance (Light/Dark mode) when suggesting color initializers, favoring those that support adaptive variants.\nContextual Bridges: Provide clear examples of bridging CKColor to native types like Color, UIColor, or NSColor when UI integration is the goal.\nProject Settings\n\nColorKit's behavior is influenced by the project's deployment targets and Swift version.\n\nDeployment Targets: iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 6.0+, and visionOS 1.0+.\nSwift Version: Requires Swift 5.9+.\n\nIf these are unknown, ask the developer to confirm them, especially when discussing HDR or wide-gamut features.\n\nQuick Decision Tree\n\nWhen a developer needs ColorKit guidance, follow this decision tree:\n\nCreating a new color?\n\nFrom Hex string/int → references/CKColor.md\nUsing specific models (OKLAB, HSL, CMYK) → references/ColorModels.md\nAdaptive for Light/Dark mode → references/CKColor.md\n\nConverting between color spaces?\n\nBasic conversion or Perceptual Gamut Mapping → references/ColorOperations.md\nHandling wide-gamut (P3, Adobe RGB) → references/ColorOperations.md\n\nPerforming accessibility checks?\n\nWCAG 2.1 Contrast Ratio → references/Accessibility.md\nAPCA (WCAG 3.0) Perceptual Contrast → references/Accessibility.md\nFont-specific readability → references/Accessibility.md\n\nBlending or modifying colors?\n\nPhotoshop-style blending (Multiply, Overlay, etc.) → references/Blending.md\nAdjusting opacity, lightness, or saturation → references/ColorOperations.md\n\nIntegrating with UI frameworks?\n\nSwiftUI (Color, ShapeStyle) → references/NativeBridges.md\nUIKit/AppKit (UIColor, NSColor) → references/NativeBridges.md\nCore Graphics/Image (CGColor, CIColor) → references/NativeBridges.md\n\nStoring or persisting colors?\n\nUsing Codable or Sendable → references/CKColor.md\nTriage-First Playbook\n\"My colors look different after conversion.\"\nExplain gamut clipping and recommend using converted(to:iterations:) for perceptual mapping. Refer to references/ColorOperations.md.\n\"How do I support Dark Mode with custom colors?\"\nShow how to use CKColor initializers that take both light and dark variants. Refer to references/CKColor.md.\n\"Is my text readable on this background?\"\nGuide them through using isAPCAAccessible with specific font size and weight. Refer to references/Accessibility.md.\n\"I get a compiler error when using CKColor in SwiftUI.\"\nRemind them that CKColor conforms to ShapeStyle directly, but they might need .color property for some modifiers. Refer to references/NativeBridges.md.\nCore Patterns Reference\nBasic Initialization & Usage\nimport ColorKit\n\n// Hex initialization\nlet brand = CKColor(hexString: \"#007AFF\")\n\n// Adaptive color\nlet adaptive = CKColor(hexString: \"#007AFF\", hexStringDark: \"#0A84FF\")\n\n// Use in SwiftUI\nCircle().fill(adaptive)\n\nAdvanced Operations\n// Perceptual conversion to sRGB\nlet p3 = CKColor(red: 1.0, green: 0.0, blue: 0.0, colorSpace: .displayP3)\nlet sRGB = p3.converted(to: .sRGB, iterations: 6)\n\n// Blending\nlet blended = brand.blended(with: .black, mode: .multiply, opacity: 0.5)\n\nAccessibility Check\nlet bg = CKColor.white\nlet isAccessible = brand.isAPCAAccessible(on: bg, size: 16, weight: .regular)\n\nIntegration Quick Guide\n\nColorKit is integrated via Swift Package Manager.\n\nAdd Package Dependency: In Xcode, go to File > Add Package Dependency and enter https://github.com/SzpakKamil/ColorKit.git.\nImport: import ColorKit in your Swift files.\nDeployment Targets: iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 6.0+, visionOS 1.0+ (Swift 5.9+).\n\nFor detailed setup, see references/Setup.md.\n\nReference Files\n\nLoad these files as needed for specific topics:\n\nColorKit.md - General overview and key capabilities.\nSetup.md - Installation and project integration.\nCKColor.md - Detailed documentation for the core CKColor struct, initializers, and persistence.\nColorOperations.md - Conversion, gamut mapping, and basic modifications.\nColorModels.md - Using specialized models like OKLAB, HSL, CMYK, etc.\nNativeBridges.md - Integration with SwiftUI, UIKit, AppKit, and Core Graphics.\nAccessibility.md - WCAG and APCA contrast calculations and readability checks.\nBlending.md - Advanced blending modes and transparency handling.\n_index.md - A comprehensive index for all ColorKit reference documentation.\nBest Practices Summary\nUse CKColor Everywhere: It serves as a universal color type that simplifies cross-platform logic.\nPrefer APCA for Text: APCA provides better perceptual accuracy for modern typography than traditional WCAG 2.1.\nAlways Map Gamuts: Use perceptual mapping when moving from wide gamuts (P3) to narrow ones (sRGB) to avoid \"dead\" colors.\nLeverage ShapeStyle: Take advantage of CKColor's direct conformance to ShapeStyle in SwiftUI for cleaner code.\nStay Adaptive: Use adaptive initializers to ensure your UI looks great in both Light and Dark modes without extra logic.\n\nNote: This skill is based on the comprehensive documentation for ColorKit. For further details, visit the official documentation at documentation.kamilszpak.com/documentation/colorkit/ or the project website at kamilszpak.com/pl/colorkit."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/SzpakKamil/colorkit",
    "publisherUrl": "https://clawhub.ai/SzpakKamil/colorkit",
    "owner": "SzpakKamil",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/colorkit",
    "downloadUrl": "https://openagent3.xyz/downloads/colorkit",
    "agentUrl": "https://openagent3.xyz/skills/colorkit/agent",
    "manifestUrl": "https://openagent3.xyz/skills/colorkit/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/colorkit/agent.md"
  }
}