Hero Skills
Claude Code skills and shell tools for Hero ecosystem development.
Quick Install
curl -sSfL https://forge.ourworld.tf/lhumina_code/hero_skills/raw/branch/development/tools/install.sh | bash
This will:
- Clone
hero_skills to ~/hero/code/hero_skills (or pull if already present)
- Install
hero_ai_lib.sh to ~/hero/lib/ and source it from ~/.zshrc
- Install nushell and set it as your default shell
- Configure nushell modules (agent, git worktree, installers)
- Set up zoxide and fzf integrations
Commands (available in nushell)
AI & Development
| Command |
Description |
a <0-7> [--instruction/-i TEXT] [--template/-t NAME] |
Launch Claude with model selector. Optional: pass instructions and templates (local-dir, project) |
skills_edit |
Open the hero_skills repo in $EDITOR |
skills_install |
Sync skills from repo to ~/.claude/skills/ |
Git & Code Navigation
| Command |
Description |
ccd [nr] [search] |
cd to code directory (default: CODEROOT) |
ccc <nr> <url> |
Clone repo + create worktree |
cmerge |
Merge current worktree branch into target, clean up |
Installers
| Command |
Description |
install_base |
Install base tools (yazi, fzf, zoxide, curl) |
install_ai |
Install Claude Code |
install_py |
Install Python via uv + ipython, pudb, openai |
Forge (Forgejo repo management)
Requires FORGE_TOKEN (or FORGEJO_TOKEN) in env. FORGE_URL defaults to https://forge.ourworld.tf.
| Command |
Description |
forge user |
Show currently authenticated Forgejo user |
forge list [name] [--descr] |
List repos matching partial name or org/repo. No arg = all repos. |
forge find [--org ORG] [--search NAME] [--sort FIELD] [--one] [--edit] [--descr] |
Search repos with flag-based filters. --one returns a single URL or errors. |
forge info NAME |
Show repo details: branch, stars, forks, issues, clone URLs, local path |
forge edit NAME |
cd to repo and open $EDITOR. NAME is partial org/repo. |
forge pull NAME [--edit] |
Clone if missing, otherwise pull. Auto-resolves conflicts via Claude. |
forge push NAME [MESSAGE] [--edit] |
Add, commit, pull/merge, push. Default message: auto: sync. |
forge add NAME |
git add -A in repo's local path |
forge commit NAME MESSAGE |
git commit -m MESSAGE in repo's local path |
Name matching — all commands accept a partial name (hero) or partial org/repo (lhumina/hero). Errors if 0 or >1 match. Local paths resolve to $ROOTDIR/code0/<reponame>.
forge list # all repos
forge list hero # repos with 'hero' in name
forge list lhumina/hero # partial org + partial name
forge find --org lhumina_code # all repos in org (exact)
forge find --search zinit --one # single match → returns URL
forge info hero_lib # repo details
forge pull zinit # clone or pull
forge push hero_lib "fix: update" # full sync cycle
forge edit geomind/zinit # cd + open editor
AI model selector
| Command |
Description |
a <model> [-i TEXT] |
Launch Claude interactively. Model numbers below. -i passes an opening instruction. |
| # |
Model |
| 0 |
Claude Haiku |
| 1 |
Claude Sonnet |
| 2 |
Claude Opus |
| 4 |
OpenRouter: Mercury-2 |
| 5 |
OpenRouter: Kimi K2 |
| 6 |
OpenRouter: MiniMax M2.5 |
| 7 |
Groq: Kimi K2 (requires GROQ_API_KEY) |
a 2 # open Opus interactively
a 1 -i "refactor this file" # Sonnet with opening instruction
a 7 # Groq (errors if GROQ_API_KEY not set)
Utilities
| Command |
Description |
y |
Yazi file manager (cd to navigated dir on exit) |