Agent skill
component-management
Guidelines for managing zylos components via CLI and C4 channels. Use when installing, upgrading, or uninstalling components, or when user asks about available components.
Install this agent skill to your Project
npx add-skill https://github.com/zylos-ai/zylos-core/tree/main/skills/component-management
SKILL.md
Component Management
Guidelines for installing, upgrading, and managing zylos components.
CLI
zylos is a global npm command (installed via npm install -g zylos).
Run it directly as zylos, NOT as ~/zylos/zylos or ./zylos.
General Principles
- Always confirm before executing - User must explicitly approve install/upgrade/uninstall
- Guide interactively - Never just tell user to "manually edit files"
- Read SKILL.md - Each component declares its requirements in SKILL.md frontmatter
- Detect execution mode - Handle both Claude session and C4 channels differently
- CLI = mechanical, Claude = intelligent - CLI handles downloads, backups, file sync. Claude handles config, hooks, service management, user interaction.
Workflows
Detailed step-by-step workflows for each operation (Session + C4 modes):
- Install — Add new components
- Upgrade — Upgrade components and zylos-core (self-upgrade)
- Uninstall — Remove components with data options
Quick Commands
# Check zylos-core version
zylos --version
# List installed components (with versions)
zylos list
# Search available components
zylos search <keyword>
# Component status
zylos status
# Check for zylos-core updates
zylos upgrade --self --check
# Check for beta/prerelease updates
zylos upgrade --self --check --beta
# Check all components for updates
zylos upgrade --all --check
SKILL.md Config Format
Components declare their configuration requirements in SKILL.md frontmatter:
---
name: my-component
version: 1.0.0
description: Component description
config:
required:
- name: ENV_VAR_NAME
description: Human-readable description
sensitive: true # Optional: marks as secret
optional:
- name: OPTIONAL_VAR
description: Optional setting
default: "default-value"
---
When sensitive: true, the value should be handled carefully (not logged, stored in .env).
C4 Mode (IM Channels)
When user sends requests via C4 comm-bridge (Telegram, Lark, etc.), use streamlined flows with two-step confirmation. Replies must be plain text (no markdown).
Detecting C4 Mode
The request is from C4 when the message arrives via a communication channel
(e.g., <user> said: ... with a reply via: instruction).
C4 Reply Formatting
All --json outputs include structured data and a reply field (pre-formatted fallback).
Preferred: Use the JSON data fields to craft a clear, user-friendly plain text reply.
Fallback: If you're unsure how to format the reply, use the reply field directly.
C4 Command Mapping
CRITICAL: "add <name>" and "upgrade <name>" MUST ONLY run --check. NEVER execute install/upgrade without the word "confirm" in the user's message.
CRITICAL: confirm flow now always re-downloads (no temp-dir reuse):
--checkis for preview/analysis only; any temporary download from check is cleaned up after the check completes.upgrade <name> confirmandupgrade zylos confirmalways download a fresh package.- Do not pass
--temp-dir; it is no longer supported and the CLI will fail fast.
| User says | CLI command |
|---|---|
| list / list components | zylos list |
| info <name> | zylos info <name> --json |
| check / check updates | zylos upgrade --all --check --json |
| check <name> | zylos upgrade <name> --check --json |
| upgrade <name> | zylos upgrade <name> --check --json (CHECK ONLY) |
| upgrade <name> confirm | zylos upgrade <name> --yes --skip-eval --json |
| upgrade <name> beta | zylos upgrade <name> --check --beta --json (CHECK ONLY) |
| upgrade <name> beta confirm | zylos upgrade <name> --yes --skip-eval --beta --json |
| add <name> | zylos add <name> --check --json (CHECK ONLY) |
| add <name> confirm | zylos add <name> --json |
| upgrade zylos | zylos upgrade --self --check --json (CHECK ONLY) |
| upgrade zylos confirm | zylos upgrade --self --yes --json |
| upgrade zylos beta | zylos upgrade --self --check --beta --json (CHECK ONLY) |
| upgrade zylos beta confirm | zylos upgrade --self --yes --beta --json |
| uninstall <name> | zylos uninstall <name> --check --json (CHECK ONLY) |
| uninstall <name> confirm | zylos uninstall <name> confirm --json |
| uninstall <name> purge | zylos uninstall <name> purge --json |
C4 Output Formatting
- Plain text only, no markdown
- For
info --json: format as<name> v<version>\nType: <type>\nRepo: <repo>\nService: <name> (<status>) - For
add --check --json: format as<name> (v<version>)\n<description>\nType: <type>\nRepo: <repo>, ask user to confirm - For
add --json(install result): format as<name> installed (v<version>), mention required config if any - For
check --json: format as<name>: <current> -> <latest>, actively analyze changes - For upgrade result: format as
<name> upgraded: <from> -> <to>, include change summary - For errors: when JSON has both
errorandmessagefields, displaymessage(human-readable)
C4 vs Session Differences
| Aspect | Claude Session | C4 |
|---|---|---|
| Confirmation | Interactive dialog | Two-step: preview + "confirm" command |
| Output format | Rich (emoji, formatting) | Plain text only |
| Config collection | Interactive prompts | User provides via follow-up messages |
| Upgrade eval | Claude evaluation runs | Skipped (--skip-eval) |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
web-console
Built-in web interface for communicating with Claude without external services. Use when setting up or configuring the web console channel, or troubleshooting browser-based access.
restart-claude
Use when the user asks to restart Claude Code, or after changing settings/hooks/keybindings.
comm-bridge
C4 communication bridge — central gateway for ALL external communication (Telegram, Lark, etc.). Use when replying to users via the "reply via" path, sending proactive messages to external channels, querying recent conversations or checkpoint status (prefer c4-db.js CLI; sqlite3 OK for unsupported queries), fetching conversation history for Memory Sync, or creating checkpoints after sync. Incoming messages are queued by channel bots and delivered to Claude via a PM2 dispatcher daemon. Session-start hooks automatically provide conversation context and can trigger Memory Sync when unsummarized conversations exceed the configured threshold.
new-session
Start a new session when context is high. Claude uses /clear, Codex uses /exit. Use when context is high or when a fresh session is needed.
http
Caddy-based web server providing web console hosting, file sharing, and health check endpoints. Use when configuring HTTP access, setting up file sharing, or troubleshooting web connectivity.
health-check
System health check dispatched by the activity monitor via Control queue. Checks PM2 services, disk space, and memory usage. Use when receiving a control message containing "health-check".
Didn't find tool you were looking for?