Hns Moaiadk Dev Reference
modu-ai/moai-adk
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10).
Explains how shellm's bash-based recursive LLM shell fits together - its core engine, identity system, memory, skills and trajectory log.
$ npx skills add laude-institute/headlong --skill shellm -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install laude-institute/headlong shellm --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/laude-institute/headlong.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/shellm .claude/skills/shellm && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "shellm" agent skill from https://github.com/laude-institute/headlong/tree/main/skills/shellm into .claude/skills/shellm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shellm", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/laude-institute/headlong/tree/main/skills/shellmType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add laude-institute/headlong --skill shellm -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install laude-institute/headlong shellm --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/laude-institute/headlong.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/shellm .agents/skills/shellm && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shellm" agent skill from https://github.com/laude-institute/headlong/tree/main/skills/shellm into .agents/skills/shellm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shellm", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add laude-institute/headlong --skill shellm -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install laude-institute/headlong shellm --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/laude-institute/headlong.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/shellm .cursor/skills/shellm && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "shellm" agent skill from https://github.com/laude-institute/headlong/tree/main/skills/shellm into .cursor/skills/shellm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shellm", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/laude-institute/headlong.git --path skills/shellm--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add laude-institute/headlong --skill shellm -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install laude-institute/headlong shellm --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/laude-institute/headlong.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/shellm .gemini/skills/shellm && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "shellm" agent skill from https://github.com/laude-institute/headlong/tree/main/skills/shellm into .gemini/skills/shellm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shellm", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install laude-institute/headlong shellmInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add laude-institute/headlong --skill shellm -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/laude-institute/headlong.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/shellm .github/skills/shellm && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "shellm" agent skill from https://github.com/laude-institute/headlong/tree/main/skills/shellm into .github/skills/shellm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shellm", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add laude-institute/headlong --skill shellm -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install laude-institute/headlong shellm --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/laude-institute/headlong.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/shellm .opencode/skills/shellm && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "shellm" agent skill from https://github.com/laude-institute/headlong/tree/main/skills/shellm into .opencode/skills/shellm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shellm", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
shellmExplains how shellm's bash-based recursive LLM shell fits together - its core engine, identity system, memory, skills and trajectory log.
This skill is a map of shellm, a set of composable bash scripts that turn an LLM into an autonomous agent living in a shell, stacked bottom to top from raw multi-provider LLM calls, through a recursive execute-in-shell loop, up to a step log and message assembly layer for multi-turn conversation. An agent activates one of several isolated identities by sourcing an activation script, which sets environment variables that every other tool then reads - there are no global config files.
It documents the core bin/ scripts by purpose: the shellm script itself runs the recursive loop that sends a prompt, executes returned bash code blocks, and feeds the output back until a FINAL marker is set; the llm script is a multi-provider CLI supporting Anthropic, OpenAI and Gemini with flags for model, system prompt, message JSON, streaming and thinking; the identity script manages isolated identities, each with its own memories, skills, kernel and trajectory; think, chat and focus manage one autonomous thinking cycle, the conversational message stream, and goal tracking; and mem is a file-based, markdown-plus-YAML memory store.
The file carries its own warning that it may be out of date and that the code under bin/ is the actual source of truth, directing anyone who finds a discrepancy to a separate skill-author skill to update it and open a pull request.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d77aadd. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ANTHROPIC_API_KEYOPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Shellm Architecture Reference loads about 2k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 771 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
.env (optional) identity-specific env varsAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from laude-institute/headlong at commit d77aadd, republished under its Apache-2.0 licence (© laude-institute). 771 words, ~1,989 tokens.
.claude/skills/shellm/SKILL.md (or your agent's skills folder).This skill may be out of date. The source of truth is always the code in
bin/. If you find discrepancies, use theskill-authorskill to update this file and open a PR.
shellm is a set of composable bash scripts that turn an LLM into an autonomous agent living in a shell. The stack, bottom to top:
llm raw LLM calls (Anthropic, OpenAI, Gemini)
shellm recursive execute-in-shell loop on top of llm
traj / context step log (DAG) + message assembly for multi-turn
mem / skills persistent memory + learnable capabilities
identity isolated agent identities (own mem, skills, traj)
think / chat autonomous thinking + human conversation
focus goal trackingAn agent activates an identity (source .identities/<name>/activate), which sets env vars. All tools read from those env vars — no global config files.
| Script | Purpose |
|---|---|
shellm | Recursive LLM-in-bash loop. Sends a prompt to the LLM, executes returned bash code blocks, feeds output back, repeats until FINAL is set. The heart of the system. |
llm | Multi-provider LLM CLI. llm [options] prompt or stdin. Supports Anthropic, OpenAI, Gemini. Key flags: -m MODEL, -s SYSTEM, -M MESSAGES_JSON, --stream, --thinking. |
| Script | Purpose |
|---|---|
identity | Manage isolated identities. Each has its own memories, skills, kernel, traj. Subcommands: new, list, info, switch, delete, shell, prompt. |
Activate an identity to set env vars for all other tools:
source .identities/myagent/activate # activate in current shell
deactivate_identity # undo
identity shell myagent # or: start a subshell| Script | Purpose |
|---|---|
think | One autonomous think cycle. Reads traj + memories, calls shellm with think prompt, writes thought/action to traj, dispatches thought processes. think step [--dry-run]. |
chat | Send messages into the thought stream. chat send <msg> appends a human-msg step. chat repl gives a readline loop. |
focus | Goal management. focus set <goal>, focus show, focus done <query>. Stores goals as mem entries with type=goal. |
| Script | Purpose |
|---|---|
mem | File-based memory store (markdown + YAML frontmatter). mem add --type TYPE <text>, mem search <query>, mem list, mem show <name>, mem forget <name>, mem edit <name> <text>. |
skills | Skill management. skills install <src>, skills show <name>, skills promote <name> (to kernel), skills search <query>, skills remote add <path>. |
| Script | Purpose |
|---|---|
traj | Trajectory operations (single-file and tree). Uses TRAJ_DIR + TRAJ_ID. traj new, traj append, traj tail, traj cat, traj fork, traj merge, traj show, traj list, traj root. show is unified: pass any ID (trajectory or step) and it searches all files in traj_dir. |
context | Reads traj, outputs a JSON messages array for llm -M. Maps step types to assistant/user roles. Key flags: --traj_dir, --tail N, --head N, --max-bytes, --pin <step_id>. |
| Script | Purpose |
|---|---|
view | Read files with line numbers. view FILE [START[:END]]. |
glob | Git-aware glob matching sorted by mtime. glob PATTERN [DIR] [--limit N]. |
sub | Exact-string substitution in files. sub FILE OLD NEW [--replace-all]. |
put | Atomic file write from stdin. echo content | put FILE [--force]. |
| Script | Purpose |
|---|---|
shellm-docker | Constrained Docker facade for sandboxed execution. run, build, ps, logs, rm. |
shellm-docker-broker | Host-side broker that manages Docker containers for sandboxed shellm envs. |
shellm-explore | (Not covered here — run exploration tool.) |
These are set by source .identities/<name>/activate:
| Variable | Points to |
|---|---|
IDENTITY_NAME | Identity name (e.g. "andy") |
IDENTITY_DIR | Identity root dir (e.g. .identities/andy) |
MEM_DIR | $IDENTITY_DIR/memories |
SKILLS_DIR | $IDENTITY_DIR/skills |
SKILLS_KERNEL_DIR | $IDENTITY_DIR/kernel |
TRAJ_DIR | $IDENTITY_DIR/trajectories |
TRAJ_ID | UUID of root trajectory |
SHELLM_TRAJ_DIR | Trajectory directory (default $HOME/.shellm/trajectories) |
SHELLM_ENVS_DIR | Env/container state directory |
SHELLM_WORKDIRS_DIR | Working directories base |
SHELLM_BROKER_DIR | Docker broker state directory |
THINK_MODEL | Model for think cycles |
THINK_TICK_INTERVAL | Seconds between autonomous ticks |
Other important vars (not identity-scoped):
| Variable | Purpose |
|---|---|
SHELLM_MODEL | Default model for shellm |
ANTHROPIC_API_KEY | Anthropic API key for llm |
OPENAI_API_KEY | OpenAI API key for llm |
.identities/<name>/
info.txt name=, cwd=, created=, think_model=, interval=
activate source-able activation script
core_identity_prompt.md (optional) custom system prompt
.env (optional) identity-specific env vars
memories/ mem entries (markdown files)
skills/ installed skills
.skillsrc skill remotes config
kernel/ kernel skills (always loaded)
mem/SKILL.md bootstrapped mem skill
.trajectories/ trajectory files
trajectory.jsonl main consciousness stream
blobs/ spilled large fields
.shellm/ shellm working state
workdir/ working directory for think cyclesthink step loads the think prompt template from $IDENTITY_DIR/prompts/think.md{{identity_name}} and {{goals}} in the templatetraj tail)shellm with this prompt — shellm executes bash, loops until FINALThinkers live in thinkers/. Each has a step script, prompt.md, and subscriptions.jsonl. They subscribe to trajectory events and run autonomously via thinkers start:
shellm is the only script that calls the LLM directly (via llm); everything else builds prompts and calls shellmcontext script is the bridge between traj (step log) and llm (messages array)skills show <name>; kernel skills are always in context--help or read the source in bin/© laude-institute, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/shellm of laude-institute/headlong.
Open the folder on GitHubat commit d77aadd
Shellm Architecture Reference next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Shellm Architecture Reference this skilllaude-institute/headlong | 1.2k | — | ~2k | Automated safety check: Notes | Apache-2.0 | |
| Hns Moaiadk Dev Referencemodu-ai/moai-adk | 1.2k | — | ~937 | Automated safety check: Pass | Apache-2.0 | |
| Mole Bug Patternstw93/Mole | 70k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| CLI DeveloperJeffallan/claude-skills | 12k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| JSON Processing with jqcharmbracelet/crush | 29k | — | ~746 | Automated safety check: Pass | Custom licence |
modu-ai/moai-adk
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10).
tw93/Mole
A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
Jeffallan/claude-skills
Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.
charmbracelet/crush
Explains the jq command built into Crush for querying, filtering and reshaping JSON, including its supported flags and where it differs from standard jq.
crazyguitar/cppcheatsheet
Comprehensive C/C++ programming reference covering everything from C11-C23 and C++11-C++23, system programming, CUDA GPU computing, debugging tools, Rust interop, and advanced topics.
laude-institute/headlong
Scaffolds new ShellLM skills with the right frontmatter, directory layout and agent-facing writing style, so an agent can extend its own capabilities.
laude-institute/headlong
Looks things up online from the shell with curl: fetching pages, searching DuckDuckGo's HTML endpoint, stripping tags for readable text and pulling JSON APIs.
laude-institute/headlong
Drives Google Drive, Gmail, Calendar, Sheets, Docs and Chat from the shell with the gws CLI, including its sign-in, flags, helper commands and safety rules.
laude-institute/headlong
Read, write, search, and manage notes in an Obsidian vault. An agent skill from laude-institute/headlong.
laude-institute/headlong
Talk with people on Slack — recognize slack- senders and reach them via chat reply
laude-institute/headlong
Send and receive messages via the Telegram Bot API using curl
Works with
Categories
Explains how shellm's bash-based recursive LLM shell fits together - its core engine, identity system, memory, skills and trajectory log. This skill is a map of shellm, a set of composable bash scripts that turn an LLM into an autonomous agent living in a shell, stacked bottom to top from raw multi-provider LLM calls, through a recursive execute-in-shell loop, up to a step log and message assembly layer for multi-turn conversation. An agent activates one of several isolated identities by sourcing an activation script, which sets environment variables that every other tool then reads - there are no global config files.
Shellm Architecture Reference fits situations like: understanding how shellm's identity, memory and trajectory pieces fit together; debugging unexpected agent behavior inside the shellm system; looking up which bin/ script handles a specific shellm capability.
Run `npx skills add laude-institute/headlong --skill shellm -a claude-code`. Or copy the skill folder (skills/shellm in laude-institute/headlong) into .claude/skills/shellm in your project. Claude Code loads it when a task matches its description.
Run `npx skills add laude-institute/headlong --skill shellm -a codex`. Or copy the skill folder (skills/shellm in laude-institute/headlong) into .agents/skills/shellm in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add laude-institute/headlong --skill shellm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shellm, .gemini/skills/shellm, .github/skills/shellm and .opencode/skills/shellm in your project.
Going by SKILL.md and its folder, Shellm Architecture Reference needs credentials named ANTHROPIC_API_KEY and OPENAI_API_KEY. Our summary lists: bash.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Shellm Architecture Reference is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Shellm Architecture Reference: Hns Moaiadk Dev Reference (modu-ai/moai-adk, 1.2k stars), Mole Bug Patterns (tw93/Mole, 70k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and CLI Developer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
laude-institute (a GitHub organization) maintains it in laude-institute/headlong, which has 1,217 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: laude-institute/headlong on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.