assimilate-popular-wor…
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md…
Integrates MCP App UI with host theming system. Applies host CSS variables, handles onhostcontextchanged, safe area insets, display mode detection, and fullscreen configuration.
Claude Code
$ npx -y skills add a5c-ai/babysitter --skill mcp-host-styling-integration --agent claude-code
Codex
$ npx skills add a5c-ai/babysitter --skill mcp-host-styling-integration -a codex -y
Cursor
$ npx skills add a5c-ai/babysitter --skill mcp-host-styling-integration -a cursor -y
Gemini CLI
$ npx skills add a5c-ai/babysitter --skill mcp-host-styling-integration -a gemini-cli -y
GitHub Copilot
$ npx skills add a5c-ai/babysitter --skill mcp-host-styling-integration -a github-copilot -y
OpenCode
$ npx skills add a5c-ai/babysitter --skill mcp-host-styling-integration -a opencode -y
Windsurf
$ npx skills add a5c-ai/babysitter --skill mcp-host-styling-integration -a windsurf -y
name: mcp-host-styling-integration description: Integrates MCP App UI with host theming system. Applies host CSS variables, handles onhostcontextchanged, safe area insets, display mode detection, and fullscreen configuration. allowed-tools: Read, Write, Edit graph: domains: [domain:software-engineering] specializations: [specialization:ai-agents-conversational] skillAreas: [skill-area:mcp-server-implementation, skill-area:mcp-resource-design] roles: [role:backend-engineer, role:fullstack-engineer] workflows: [workflow:feature-development]
Integrate MCP App UIs with the host application's theming system so apps look native in Claude Desktop, ChatGPT, VS Code, Goose, Postman, and other MCP-enabled hosts.
MCP Apps render in sandboxed iframes inside host applications. Each host has its own visual theme (colors, fonts, border radii, spacing). The MCP Apps SDK provides:
The key principle is: always use CSS variable fallbacks so the app looks correct both as an MCP App (host provides variables) and standalone (fallback values apply).
import {
App,
PostMessageTransport,
applyDocumentTheme,
applyHostStyleVariables,
applyHostFonts,
} from '@modelcontextprotocol/ext-apps';
const app = new App({ transport: new PostMessageTransport() });
// Register handler BEFORE connect()
app.onhostcontextchanged = (params) => {
const ctx = params.context;
// Apply theme (light/dark)
if (ctx.theme) {
applyDocumentTheme(ctx.theme);
}
// Apply CSS variables
applyHostStyleVariables(ctx);
// Load and apply fonts
applyHostFonts(ctx);
};
// THEN connect
await app.connect();import { useApp, useHostStyles } from '@modelcontextprotocol/ext-apps/react';
function MyApp() {
const app = useApp();
useHostStyles(); // Handles all theme/variable/font application
return (
<div className="app-container">
<h1>My MCP App</h1>
</div>
);
}/* Always use fallbacks so app works standalone too */
.app-container {
background-color: var(--color-background-primary, #ffffff);
color: var(--color-text-primary, #1a1a1a);
font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
font-size: var(--font-text-base-size, 14px);
border-radius: var(--border-radius-md, 8px);
}
.card {
background-color: var(--color-background-secondary, #f5f5f5);
border: 1px solid var(--color-border-primary, #e0e0e0);
border-radius: var(--border-radius-sm, 4px);
padding: 16px;
}
.label {
color: var(--color-text-secondary, #666666);
font-size: var(--font-text-sm-size, 12px);
}
.code {
font-family: var(--font-mono, 'Courier New', monospace);
}
/* Safe area insets for mobile/embedded contexts */
.app-root {
padding-top: env(safe-area-inset-top, 0px);
padding-bottom: env(safe-area-inset-bottom, 0px);
padding-left: env(safe-area-inset-left, 0px);
padding-right: env(safe-area-inset-right, 0px);
}| Variable | Category | Description | |----------|----------|-------------| | `--color-background-primary` | Color | Main background | | `--color-background-secondary` | Color | Card/section background | | `--color-background-tertiary` | Color | Nested/subtle background | | `--color-text-primary` | Color | Main text | | `--color-text-secondary` | Color | Secondary/muted text | | `--color-text-tertiary` | Color | Subtle/hint text | | `--color-border-primary` | Color | Main borders | | `--color-border-secondary` | Color | Subtle borders | | `--color-accent` | Color | Interactive elements | | `--color-error` | Color | Error states | | `--color-success` | Color | Success states | | `--color-warning` | Color | Warning states | | `--font-sans` | Font | Sans-serif font family | | `--font-mono` | Font | Monospace font family | | `--font-text-xs-size` | Font | Extra small text size | | `--font-text-sm-size` | Font | Small text size | | `--font-text-base-size` | Font | Base text size | | `--font-text-lg-size` | Font | Large text size | | `--font-text-xl-size` | Font | Extra large text size | | `--border-radius-sm` |
Enforce obedience on agentic workforces. Manage extremely complex workflows through deterministic, hallucination-free self-orchestration.
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md…
This skill should be used when the user asks to "babysit issues", "work on assigned issues", "check a5c-agent issues", "process…
Discover public GitHub repositories that import defineTask from @a5c-ai/babysitter-sdk and maintain a deduplicated catalog of…
This skill should be used when the user asks to "fix pipelines", "fix CI", "check staging pipelines", "fix failing workflows",…
Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase…
For a repository in the babysitter-users catalog, locate its babysitter processes and any committed runs (.a5c/runs/<runId>/) and…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…