Agent skill

Set Theme

by awebai in awebai/aweb

A skill your agent uses when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo.

MITAuto-check passed

Install Set Theme

skills CLI
$ npx skills add awebai/aweb --skill set-theme -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install awebai/aweb set-theme --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/naapp/folio/skills/set-theme .claude/skills/set-theme && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
set-theme
GitHub stars
115
Token cost
~669 tokens
SKILL.md length
197 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo.

  • Works in 4 steps: Read the current theme → Build a theme request → Set the theme → …
  • An agent needs to brand folio presentation pages for its team: read
  • SKILL.md covers Prerequisites, 1. Read the current theme, 2. Build a theme request and 3. Set the theme, plus 1 more section
  • Calls python3; reaches folio.aweb.ai

What it does

Set Theme is an agent skill from awebai/aweb. Use when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo. This is for USING folio, not changing server code.

Its SKILL.md is about 670 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Communication for AI agents: stable identity, durable mail and chat, and wake-up events across sessions, runtimes, machines, and organizations. MIT, self-hostable. The licence is MIT.

When your agent uses it

  • An agent needs to brand folio presentation pages for its team: read
  • Update GET/PUT /v1/theme with colors
  • An optional base64 raster logo

Example prompts

  • “/set-theme”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Read the current theme
  2. Build a theme request
  3. Set the theme
  4. Verify with a present link

What it can do on your machine

Read from SKILL.md and the folder at commit 682c445. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • folio.aweb.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Set Theme loads about 669 tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 197 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~669

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from awebai/aweb at commit 682c445, republished under its MIT licence (© awebai). 197 words, ~669 tokens.

Download SKILL.mdSave it as .claude/skills/set-theme/SKILL.md (or your agent's skills folder).
name
set-theme
description
Use when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo. This is for USING folio, not changing server code.

Set an folio team theme

Use this when a team wants its /present/<token> pages to carry brand colors, fonts, a logo, or header/footer text. Theme is team-scoped and applies when public present pages render.

Prerequisites

Run from a workspace with an active AWID team certificate:

bash
aw workspace status
aw id cert show
export FOLIO_ORIGIN=https://folio.aweb.ai

For local development, use http://127.0.0.1:8765 instead.

1. Read the current theme

bash
aw id request GET "$FOLIO_ORIGIN/v1/theme" --team-auth --raw

An empty theme returns default tokens plus null logo/header/footer fields.

2. Build a theme request

Supported token groups:

  • colors: background, surface, text, muted, border, accent
  • fonts: body, heading with values system, serif, or mono
  • header, footer: optional strings
  • logo: optional base64 raster image with content type image/png, image/jpeg, image/gif, or image/webp
  • clear_logo: set true to remove the current logo

Logo bytes must match the declared content type and be no larger than 256 KiB. SVG and HTML are rejected.

bash
python3 - <<'PY'
import base64, json
from pathlib import Path

payload = {
    "tokens": {
        "colors": {
            "background": "#fffaf0",
            "surface": "#ffffff",
            "text": "#17201a",
            "muted": "#5f685f",
            "border": "#ded6c4",
            "accent": "#246b49",
        },
        "fonts": {"body": "system", "heading": "serif"},
    },
    "header": "Presented by the Example team",
    "footer": "Shared by capability link",
}
logo = Path("logo.png")
if logo.exists():
    payload["logo"] = {
        "content_type": "image/png",
        "data_base64": base64.b64encode(logo.read_bytes()).decode("ascii"),
    }
Path("theme.json").write_text(json.dumps(payload), encoding="utf-8")
PY

3. Set the theme

bash
aw id request PUT "$FOLIO_ORIGIN/v1/theme" --team-auth --raw --body-file theme.json

The response includes sanitized tokens, optional logo_asset_id and logo_url, header, footer, and updated_at. Unsupported token keys or unsafe values are ignored; invalid logo input returns 400.

Mint or open any existing present link. The public page should render with the team's current theme. The document markdown itself is still sanitized and server-rendered.

© awebai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in naapp/folio/skills/set-theme of awebai/aweb.

Open the folder on GitHubat commit 682c445

Compare with similar skills

Set Theme next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Set Theme compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Set Theme this skillawebai/aweb115—~669Automated safety check: PassMIT
Theme Factoryanthropics/skills180k47 repos~781Automated safety check: PassApache-2.0
Theme Factorynexu-io/open-design100k—~329Automated safety check: PassApache-2.0
Presentationsasgeirtj/system_prompts_leaks69k—~858Automated safety check: PassCC0-1.0
Pierre Theme Packagepierrecomputer/pierre6.2k—~352Automated safety check: PassApache-2.0
PresentationRightNow-AI/openfang18k—~829Automated safety check: PassApache-2.0

Similar skills

  • Theme Factory

    anthropics/skills

    Official

    Applies one of ten preset color and font themes to slide decks, documents or HTML pages, or creates a new theme on the fly after you choose from a showcase.

    180k GitHub starsUsed in 47 repos~781 tokens
    Frontend & DesignAuto-check passed
  • Theme Factory

    nexu-io/open-design

    Apply professional font and color themes to artifacts including slides, docs, reports, and HTML landing pages.

    100k GitHub stars~329 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Presentations

    asgeirtj/system_prompts_leaks

    Help choose a presentation's audience, story, outline, or use of evidence and visuals.

    69k GitHub stars~858 tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Pierre Theme Package

    pierrecomputer/pierre

    Shows an agent how to install and use the @pierre/theme package, which ships ten Pierre light and dark color themes for Shiki and VS Code.

    6.2k GitHub stars~352 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Presentation

    RightNow-AI/openfang

    Presentation expert for slide structure, storytelling, visual design, and audience engagement

    18k GitHub stars~829 tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Pierre Theming Library

    pierrecomputer/pierre

    Explains how to use the @pierre/theming package to list, resolve, select, switch and persist themes, with controller, color and React references.

    6.2k GitHub stars~661 tokensUpdated today
    Frontend & DesignAuto-check passed

More from awebai/aweb

All 18 skills in this repo
  • Recognizes old aweb bootstrap-era `agents/` directories and migrates them to current team and identity primitives, since the old command family is retired.

    115 GitHub stars~701 tokensUpdated today
    Auto-check passed
  • Guides decisions for agents working in an aweb team: when to check shared state, claim tasks, take locks, read team roles and instructions, and open separate worktrees.

    115 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • aweb Messaging

    awebai/aweb

    Guides how an agent reads and responds to aweb mail and chat events, choosing between asynchronous mail and synchronous chat and respecting sender verification and encryption boundaries.

    115 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • This skill should be used when joining or being added to an aweb team, picking the correct invite/add-member path for the team's authority model (hosted vs BYOT), accepting invites, fetching team…

    115 GitHub stars~5.4k tokensUpdated today
    Auto-check passed
  • Creates or appends a folio document from the built-in pitch, memo or metrics templates by sending schema-checked slots that folio renders to Markdown.

    115 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Present To Human

    awebai/aweb

    A skill your agent uses when an agent needs to show a human an folio document: mint a document-bound capability link with POST /v1/present, open the returned URL for the human, print it as fallback…

    115 GitHub stars~590 tokensUpdated today
    Auto-check passed

Questions about Set Theme

What does Set Theme do?

A skill your agent uses when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo. Set Theme is an agent skill from awebai/aweb. Use when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo.

When should I use Set Theme?

Set Theme fits situations like: an agent needs to brand folio presentation pages for its team: read; update GET/PUT /v1/theme with colors; an optional base64 raster logo.

How do I install Set Theme in Claude Code?

Run `npx skills add awebai/aweb --skill set-theme -a claude-code`. Or copy the skill folder (naapp/folio/skills/set-theme in awebai/aweb) into .claude/skills/set-theme in your project. Claude Code loads it when a task matches its description.

How do I install Set Theme in Codex?

Run `npx skills add awebai/aweb --skill set-theme -a codex`. Or copy the skill folder (naapp/folio/skills/set-theme in awebai/aweb) into .agents/skills/set-theme in your project. Codex loads it when a task matches its description.

Can I use Set Theme in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add awebai/aweb --skill set-theme -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/set-theme, .gemini/skills/set-theme, .github/skills/set-theme and .opencode/skills/set-theme in your project.

What does Set Theme need to run?

Going by SKILL.md and its folder, Set Theme needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Set Theme access the network?

SKILL.md names 1 domain. In commands or code: folio.aweb.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Set Theme safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Set Theme use?

Set Theme is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Set Theme use?

About 669 tokens (SKILL.md is roughly 2.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Set Theme?

Skills that share tags, products or a category with Set Theme: Theme Factory (anthropics/skills, 180k stars), Theme Factory (nexu-io/open-design, 100k stars), Presentations (asgeirtj/system_prompts_leaks, 69k stars) and Pierre Theme Package (pierrecomputer/pierre, 6.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Set Theme?

awebai (a GitHub organization) maintains it in awebai/aweb, which has 115 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 7, 2026.

Source: awebai/aweb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.