automation/skills/alias/SKILL.md
MUST be invoked before any work involving: host command aliases, charly alias add/remove/install/uninstall, or wrapper scripts that run inside containers.
npx skillsauth add overthinkos/overthink-plugins aliasInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
charly alias creates distrobox-style wrapper scripts in ~/.local/bin/ that transparently run commands inside containers. Typing the alias name on the host executes the command inside the container via charly shell.
| Action | Command | Description |
|--------|---------|-------------|
| Install defaults | charly alias install <image> | Create wrappers from candy/box config |
| Uninstall all | charly alias uninstall <image> | Remove all wrappers for a box |
| Add manually | charly alias add <name> <image> [command] | Create a single wrapper |
| Remove one | charly alias remove <name> | Remove a single wrapper |
| List all | charly alias list | Show all installed aliases |
charly alias install openclaw # Creates ~/.local/bin/openclaw
openclaw # Runs inside container transparently
charly alias uninstall openclaw # Removes wrapper
charly alias add / charly alias install writes shell scripts to ~/.local/bin/:
#!/bin/sh
# charly-alias
# image: openclaw
# command: openclaw
_charly_q(){ printf "'"; printf '%s' "$1" | sed "s/'/'\\\\''/g"; printf "' "; }
c="openclaw"; for a in "$@"; do c="$c $(_charly_q "$a")"; done
exec charly shell openclaw -c "$c"
Key details:
# charly-alias marker enables safe list/delete scanningcharly alias remove verifies the marker before deleting_charly_q() helper properly single-quotes each argument (POSIX sh compatible)charly shell <image> -c "<command> <args>"charly.ymlCandy aliases require both name and command:
aliases:
- name: ollama
command: ollama
- name: ollama-run
command: "ollama run"
charly.ymlBox-level aliases default command to name if omitted. Box-level aliases override candy aliases with the same name.
box:
my-app:
aliases:
- name: myapp # command defaults to "myapp"
- name: myctl
command: "myapp ctl"
CollectImageAliases() gathers aliases from the box's own candies (in dependency order) plus box-level config. No base chain traversal -- aliases are leaf-box specific (unlike volumes).
Source: charly/alias.go, charly/layers.go (AliasYAML, HasAliases, Aliases()).
charly alias install openclaw
# Created alias: openclaw -> openclaw (in openclaw)
Installs all aliases declared in the box's candies and box config.
charly alias uninstall openclaw
# Removed alias: openclaw
Removes all wrapper scripts that reference the box.
charly alias add mycommand my-image # command = mycommand
charly alias add mycommand my-image "custom command" # explicit command
charly alias remove mycommand
Only removes if the file contains the # charly-alias marker.
charly alias list
# NAME IMAGE COMMAND
# openclaw openclaw openclaw
# ollama ollama ollama
Scans ~/.local/bin/ for files with the # charly-alias marker.
name and command^[a-zA-Z0-9][a-zA-Z0-9._-]*$command defaults to name if omitted/charly-build:pull -- Prerequisite: fetch the image into local storage; handles remote refs (@github.com/...) and the ErrImageNotLocal recovery path
/charly-core:shell -- How aliases execute commands via charly shell -c
/charly-image:layer -- Declaring aliases in charly.yml
/charly-image:image -- Box-level alias overrides
MUST be invoked when the task involves host command aliases, charly alias commands, or wrapper scripts that run inside containers. Invoke this skill BEFORE reading source code or launching Explore agents.
Workflow position: Post-deployment. Use after a service is running to create host command shortcuts.
tools
OpenCharly CLI (charly) binary installed into container/VM images for in-container use. Use when working with charly binary deployment inside containers, native D-Bus support, or the full charly toolchain (charly binary + virtualization + gocryptfs + socat).
development
Operator CachyOS workstation profile — a kind:local template + target:local deploy that installs the full dev stack (30 candies) onto a CachyOS host via ShellExecutor. Lives in the overthinkos/cachyos submodule. MUST be invoked before editing or applying the charly-cachyos workstation profile.
tools
Fedora box with the full charly toolchain using shared candies. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Same candy list as charly-arch. Includes NVIDIA GPU runtime. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-fedora box.
tools
Arch Linux box with the full charly toolchain. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Composes /charly-coder:charly-mcp so the box is reachable as an MCP gateway on port 18765. NVIDIA GPU runtime composed in. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-arch box.