
Dynamic Resources
- 81 installs
- 849 repo stars
- Updated June 21, 2026
- juliusbrussee/caveman-code
Customize pi-mono coding-agent interactive UI colors and message surfaces using the caveman-code dynamic-resources theme schema.
About
Dynamic-resources is an agent skill in the caveman-code repo for defining and shipping a coding-agent color theme as structured JSON. Solo and indie builders who run pi-mono style interactive coding agents use it when the default terminal palette feels flat or when tool-call states are hard to scan at a glance. The skill centers on a single theme document with vars for cyan, blue, green, red, yellow, grays, and role-specific backgrounds for user messages, custom messages, and tool outcomes. Colors map those vars into borders, accents, warnings, markdown elements, and diff styling so agent transcripts stay readable during long sessions. Install it when you are polishing the agent shell alongside your project, not when you need marketing pages or production observability. Confidence is moderate because public docs emphasize the theme payload rather than a full procedural SKILL.md checklist.
- Theme JSON validated against the pi-mono coding-agent interactive theme schema URL
- Named vars for tool pending, success, and error backgrounds plus user and custom message panels
- Markdown rendering tokens for headings, links, code blocks, quotes, and diff added/removed lines
- Syntax highlighting palette for comments and inline code in terminal agent output
- Reusable accent and border tokens for selection and bordered UI chrome
Dynamic Resources by the numbers
- 81 all-time installs (skills.sh)
- Ranked #1,177 of 1,896 Design & UI/UX skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/juliusbrussee/caveman-code --skill dynamic-resourcesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 81 |
|---|---|
| repo stars | ★ 849 |
| Last updated | June 21, 2026 |
| Repository | juliusbrussee/caveman-code ↗ |
What it does
Customize pi-mono coding-agent interactive UI colors and message surfaces using the caveman-code dynamic-resources theme schema.
Files
Dynamic Resources Skill
This skill is provided by the dynamic-resources extension.
{
"$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
"name": "dynamic-resources",
"vars": {
"cyan": "#00d7ff",
"blue": "#5f87ff",
"green": "#b5bd68",
"red": "#cc6666",
"yellow": "#ffff00",
"gray": "#808080",
"dimGray": "#666666",
"darkGray": "#505050",
"accent": "#8abeb7",
"selectedBg": "#3a3a4a",
"userMsgBg": "#343541",
"toolPendingBg": "#282832",
"toolSuccessBg": "#283228",
"toolErrorBg": "#3c2828",
"customMsgBg": "#2d2838"
},
"colors": {
"accent": "accent",
"border": "blue",
"borderAccent": "cyan",
"borderMuted": "darkGray",
"success": "green",
"error": "red",
"warning": "yellow",
"muted": "gray",
"dim": "dimGray",
"text": "",
"thinkingText": "gray",
"selectedBg": "selectedBg",
"userMessageBg": "userMsgBg",
"userMessageText": "",
"customMessageBg": "customMsgBg",
"customMessageText": "",
"customMessageLabel": "#9575cd",
"toolPendingBg": "toolPendingBg",
"toolSuccessBg": "toolSuccessBg",
"toolErrorBg": "toolErrorBg",
"toolTitle": "",
"toolOutput": "gray",
"mdHeading": "#f0c674",
"mdLink": "#81a2be",
"mdLinkUrl": "dimGray",
"mdCode": "accent",
"mdCodeBlock": "green",
"mdCodeBlockBorder": "gray",
"mdQuote": "gray",
"mdQuoteBorder": "gray",
"mdHr": "gray",
"mdListBullet": "accent",
"toolDiffAdded": "green",
"toolDiffRemoved": "red",
"toolDiffContext": "gray",
"syntaxComment": "#6A9955",
"syntaxKeyword": "#569CD6",
"syntaxFunction": "#DCDCAA",
"syntaxVariable": "#9CDCFE",
"syntaxString": "#CE9178",
"syntaxNumber": "#B5CEA8",
"syntaxType": "#4EC9B0",
"syntaxOperator": "#D4D4D4",
"syntaxPunctuation": "#D4D4D4",
"thinkingOff": "darkGray",
"thinkingMinimal": "#6e6e6e",
"thinkingLow": "#5f87af",
"thinkingMedium": "#81a2be",
"thinkingHigh": "#b294bb",
"thinkingXhigh": "#d183e8",
"bashMode": "green"
},
"export": {
"pageBg": "#18181e",
"cardBg": "#1e1e24",
"infoBg": "#3c3728"
}
}
Summarize the current repository structure and mention any build or test commands.
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
import type { ExtensionAPI } from "@juliusbrussee/caveman-code";
const baseDir = dirname(fileURLToPath(import.meta.url));
export default function (pi: ExtensionAPI) {
pi.on("resources_discover", () => {
return {
skillPaths: [join(baseDir, "SKILL.md")],
promptPaths: [join(baseDir, "dynamic.md")],
themePaths: [join(baseDir, "dynamic.json")],
};
});
}