← Abilitya AssistantCONTENT HISTORY

Update to Abilitya Assistant

Snapshot Oct 2, 2026 · 00:28 UTC · version 1.0.0

Collection source: downloaded plugin package.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "network-theme-designer",
  "description": "Bundled theme capability of Abilitya Assistant. Design and immediately apply accessible light and dark color themes to Abilitya networks through Executor. Use within the Abilitya Assistant experience when a user asks to create, customize, restyle, recolor, brand, or update a network theme, including requests based on a named color, natural-language mood, hex value, club identity, or attached visual reference.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 233
    },
    {
      "relative_path": "references/theme-system.md",
      "size_in_bytes": 10652
    }
  ],
  "skill_md_contents": "---\nname: network-theme-designer\ndescription: Bundled theme capability of Abilitya Assistant. Design and immediately apply accessible light and dark color themes to Abilitya networks through Executor. Use within the Abilitya Assistant experience when a user asks to create, customize, restyle, recolor, brand, or update a network theme, including requests based on a named color, natural-language mood, hex value, club identity, or attached visual reference.\n---\n\n# Abilitya Theme Capability\n\nGuide a non-technical user from a simple color idea to a complete Abilitya light-and-dark theme, then save it to the requested network. This is an internal specialist capability of Abilitya Assistant, not a separate assistant. Keep the user-facing conversation under Abilitya Assistant.\n\n## Boundaries\n\n- Change colors only. Do not change typography, spacing, fonts, access settings, features, or other network configuration.\n- Read the current full theme first and use it as the structural base.\n- Preserve every existing gradient value semantically. Never regenerate, recolor, omit, or reorder gradient fields intentionally; allow the API to normalize equivalent color strings between hex and `rgba(...)`.\n- Preserve data/chart colors, social brand colors, fixtures colors, and non-brand semantic status colors unless the user explicitly requests one of those families.\n- Send complete `dark` and `light` theme objects. Never construct a theme from remembered token lists.\n- Operate only on Abilitya. Reuse authorized credentials and never expose credentials or tokens.\n\nRead [theme-system.md](references/theme-system.md) before generating or applying a theme. Read [authentication-and-network-context.md](../abilitya-assistant/references/authentication-and-network-context.md) before logging in.\n\n## Conversation flow\n\nAsk one short question at a time. Skip a question when the user already supplied its answer.\n\n1. Resolve the target network. If missing, ask for its name, slug, URL, or id.\n2. Ask for the main brand color in natural language. Suggest a fitting name and hex value when context supports it: “I suggest a deep red, like `#A50044`. What do you think?” Never require the user to know a hex code.\n3. Ask for the overall feel: Vibrant, Minimal, Warm, Cool, Elegant, or Playful.\n4. Ask for a neutral direction only when it is not implied: Slate, Gray, Zinc, Neutral, Stone, or Brand-tinted. Combine this with step 3 when the user is comfortable choosing both.\n5. Generate both modes, explain the direction in one or two sentences, then apply immediately. Do not add a separate proposal/confirmation step in the current workflow.\n6. Re-read the saved customization and report success with the network name, brand color, style, and neutral direction.\n\nIf an attached image is clearly intended as visual inspiration, infer dominant colors and mood, suggest one primary color, and continue the same guided flow. Ask what to extract only when the image's role is ambiguous.\n\n## Executor workflow\n\nTreat Executor's live catalog as the source of truth. Search and describe tools for:\n\n- resolving a network;\n- logging in;\n- reading network customizations;\n- updating the authenticated manager's network.\n\nUse exact paths returned by `tools.search()` and inspect each `inputTypeScript` with `tools.describe.tool()`. Do not guess paths or inspect a local OpenAPI file.\n\nKeep resolution, login, current-theme read, patch, and verification in one code-mode execution when possible. Use the numeric resolved network id for login and customization reads. Keep the access token in a local variable and pass `Authorization: Bearer <token>` only to protected calls.\n\nThe update body must contain only the theme change:\n\n```ts\nconst updated = await tools[patchNetworkPath]({\n  Authorization,\n  body: {\n    customization: {\n      theme: generatedTheme,\n    },\n  },\n});\n```\n\nDo not resend unrelated customization fields. Although the endpoint deep-merges customization, treat `theme` as a complete replacement unit and submit complete light and dark modes.\n\n## Completion\n\nVerify the stored theme has both modes, color-equivalent chosen brand tokens, the same color-key sets as before, and gradients semantically equivalent to the pre-update theme. Compare parsed color channels instead of raw strings because the API may normalize `rgba(...)` to hex or hex to `rgba(...)`. One successful post-write read is normally sufficient; do not repeat reads merely to prove serialization formatting. If a meaningful value differs, report the mismatch and do not claim success.\n\nTell the user the theme is live, summarize the design direction, and send the canonical clickable community URL when available. Do not hardcode a deployment hostname, surface the numeric network id or raw slug, or print the full theme JSON unless explicitly requested.\n"
}

SHA-256: 1c1077ec89c55654356d1cb4bee5545727f0b8971c6b2bf6c134b9e82025bf01