Skip to content

Latest commit

 

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awskills

Docs · Source · git clone https://github.com/Aitherium/awskills · The Aither World

The Aither World is an operating system for agents — a Linux you can hand to one, the runtimes it works in, and the tools it works with. awnix is the Linux underneath it; awskills is one of its 64 bricks — each installs on its own, runs offline, and needs no account.

Start here: Copy one .md into your agent's skills dir and tell it to use that skill.

Learn to run coding agents at program scale — from measured telemetry, not vibes. Free, MIT-licensed. The operating doctrine, plus 40+ battle-tested skills.

Most advice about working with AI coding agents is somebody's feeling. This repo is one operator's logs: 27,939 prompts across 3,183 sessions over 210 days, re-measured on a disjoint 34-day window (5,244 human prompts, 9,715 machine-written agent dispatches), then distilled into rules you can install into your own setup in about ten minutes.

Everything here came out of running a real platform — 260 services, ~166 containers, three repos — with agents doing most of the typing. The skills are the parts that survived.


📖 The Developer Codex — start here if you want the whole thing

Read it online → · Read it in the repo →

The skills below are procedures. The Codex is the doctrine underneath them — what makes a codebase run by agents get harder to break over time instead of quietly rotting while every dashboard stays green.

The path — 4 chapters, ~1 hour Never used a coding agent? From nothing to one real, verified change on your own repository. Then local models, then tools/skills/packs.
The eighteen laws Every one was a real failure first. Grouped into Enforcement · Silence · Adoption · Deployment · Trust.

The laws in one line each:

Enforcement — a rule nothing asserts is a suggestion · make it a check, not a ticket · watch your gate fail · mutate the test, not just the code

Silence — design for the silence · a check that cannot run must not pass · the symptom names the innocent · a checker in the wrong place found nothing · detection without delivery is not detection

Adoption — a gate that floods gets switched off · open green, ratchet down · measure it again

Deployment — written is not deployed · you wrote it, that does not mean it ships · generate, never copy · the defect lives in the union

Trust — fail closed, then prove the happy path · never trust the caller for an authorization decision

Why this exists. The failures that cost days do not throw. They return 200, render correctly, log nothing, and leave the container healthy — a missing thing is indistinguishable from a thing nobody wanted. Eighteen laws is what it took to make a system able to notice.

🧠 Start here — code like this

Skill What it teaches
awknowledge The doctrine. 13 measured rules for running an agent at program scale: prompt shape, live-proof gates, plan documents as files not modes, persistent memory with an index, when to orchestrate vs stay solo, when to compact, how to route models. Installs itself into your rules/memory/plans directories without overwriting anything.
ramble-driven-development The prompt-shape law. Median human prompt: 56 characters. But the 5.9% over 1,000 chars carry 78% of everything typed. Ramble to load intent, poke to steer, and put the precision in the harness — 90% of machine-written dispatches name a file path against 6% of human ones. Includes how to mine your transcripts, and the two filters that otherwise inflate your median by 33x.
git clone https://github.com/Aitherium/awskills
cd awskills
bash scripts/install-awskills.sh          # Windows: pwsh -File scripts/Install-AitherSkills.ps1

Then tell your agent: "use the awknowledge skill".

The one rule to take away if you read nothing else: the careful, fully-specified prompt still has to exist — you just shouldn't be the one typing it. Put your standards in a rules file once, add a gate that can fail, and your prompts collapse to "get it done." You don't type your standards. You install them.

⚠️ Doing this on a bare setup with no gates produces confident garbage at speed. Build the gate first. Both skills say so up front.


🚀 Then — run the agent on your own hardware, free

If you have a computer and access to an AI agent, you can run your own agent on your own hardware, for free, today. Install the pack and open the front door:

git clone https://github.com/Aitherium/awskills
cd awskills
bash scripts/install-awskills.sh          # Windows: pwsh -File scripts/Install-AitherSkills.ps1

Then tell your agent: "use the aither-start skill".

Skill What it gets you
aither-start The front door. Zero → working agent on your own machine: detect the hardware, install the toolkit, run a model that actually fits, wire it into the agent you already use. Every step ends in a check that can fail.
agents-everywhere Idea → sharable tool. Compose awdk, awsh, MCP, WebMCP, PWA, Codex, Claude Code, and other agent CLIs behind awnest/awnboard/awiam/awbac/awdit, then scaffold a reviewable tools/agent/<name>/ bundle.
local-inference A language model on your box for $0 — pick Ollama / llama.cpp / vLLM for the machine you have, size the model so it doesn't OOM, serve it OpenAI-compatible, prove it with a real round-trip. Includes tool-calling setup and the failure modes that look like success.
install-skills Install this pack into any agent — Claude Code, OpenClaw, Hermes, Cursor, Goose, Codex, Gemini CLI. Explains the two layouts (SKILL.md folder vs flat slash-command) and why the wrong one makes an agent "not see" skills that are right there.
repo-is-not-a-runtime The doctrine underneath the cleanup. Two rules: a repo is a source artifact, not a runtime; and every ephemeral an agent creates needs an owner, a TTL and a reaper. Measured: a checkout that was 0.4% .git and 99.6% runtime data + agent debris. Ships repo-hygiene-audit.sh — a gate that fails, because doctrine without a gate is a wish.
agent-disk-hygiene Your agents are quietly eating your disk. A real checkout grew to 1.15 TB — of which .git was 4.7 GB; the rest was agent debris, led by 295 GB of abandoned worktrees. How to reap them safely, and the git log --branches trap that makes every worktree look dirty forever so nothing ever gets cleaned. Ships agent-worktree-reaper.sh.
concurrent-safe-git You do not have this working tree to yourself. The moment two agents (or an agent and a cron loop) share a checkout, ordinary git turns destructive: a bare git commit ships whatever somebody else staged. Two real incidents — a reset --hard that wiped a session's uncommitted work and re-deployed an already-fixed data leak, and a 10-line fix that committed 270 lines. The pathspec commit form, the four commands to never run, and the git update-index --refresh trick for a merge git only thinks is unsafe (measured: 7 blocked files, 1 real, all 7 kept their content).
docker-wsl2-disk-reclaim Your drive is full, you pruned 200GB, and nothing changed. Docker Desktop's VHDX never shrinks — its data disk is mounted without discard. The three-layer accounting model (VHDX 2.0TB ≥ ext4 1.6TB ≥ docker system df 634GB), why fstrim before compaction is mandatory, and why moving the file to another drive doesn't help. Ships docker-wsl2-reclaim.sh.
docker-wsl2-build-safety Stop bulk image builds from crashing Docker Desktop's WSL2 backend and taking every container down — plus the day-distribution check that tells a VM storage collapse apart from a failing disk. They look identical: 44k disk I/O errors in an hour, Device offlined, "Docker Desktop is unable to start". One is a config problem; the other is a hardware purchase.
docker-network-ops Container DNS lies to you. Docker's embedded resolver 127.0.0.11 is a goroutine inside dockerd, not a kernel service — measured failing 38–65% of queries with clean 2s timeouts, sustained, while conntrack sat at 11% and Udp InErrors=0. Why no kernel counter will ever show it, why musl/glibc/nginx each fail differently in the same container, the silent --bind-interfaces race that leaves dnsmasq Up (healthy) serving nothing, and the six measurement traps that each produced a confident wrong answer. Ships docker-net-doctor.py.
openclaw Install OpenClaw, point it at your model instead of a paid API, and connect the AitherOS toolset with one command (aither integrate openclaw).
hermes-agent Install Nous Research's Hermes — self-improving, persistent memory, cron automation — on your own inference. Includes the two config shapes that silently do nothing if you get them wrong.
tau Install Tau — a minimalist Python terminal coding agent — on your own model via ~/.tau/catalog.toml. Includes the folder-only skill layout tau enforces (bare .md is silently skipped) and the /skill:name invocation.
deer-flow Run DeerFlow — ByteDance's LangGraph super-agent harness for long autonomous research/coding runs — on your own endpoint, with MCP servers and per-tool timeouts.
ods Stand up ODS: one installer turns a PC/Mac/Linux box into a private AI server — inference, chat UI, voice, agents, workflows, RAG, image gen, all in Docker, CPU fallback included.
ship-an-app-free Idea → working app → public URL, on free tiers only. GitHub Pages + Actions, Cloudflare Workers when you need a backend. No credit card, no server to rent.
github-actions-image-pipeline Build once, deploy many. GitHub Actions has no cross-workflow dependency, so two workflows that both build an image build it twice on every push — and an ML base is a 40–56 minute build, cold. The division-of-labor fix: one workflow builds, deployers docker buildx imagetools create-retag the :latest in seconds. Plus the 10GB cache that evicts your base, the disk-reclaim an ML base needs on a hosted runner, the actions: read permission github-script silently needs, and the never-exercised-path chain — every step a workflow never ran fails on a real latent bug the first time it runs.

Everything above is free. No paid API key is required anywhere in that path.


Layout

awskills/
├── codex/      # the Developer Codex — the reading path + the eighteen laws
├── skills/     # skill files (.md) — install into any agent, see `install-skills`
├── scripts/    # standalone scripts you can run directly
├── tools/      # MCP tools / CLI utilities
└── packs/      # themed bundles (docker, deploy, security)

Installing into your agent

The Agent Skills standard wants skills/<name>/SKILL.md; Claude Code slash commands want a flat .claude/commands/<name>.md. This repo ships flat files and the installer converts per target — so you don't have to care:

bash scripts/install-awskills.sh --list                 # what's detected
bash scripts/install-awskills.sh --dry-run              # show, write nothing
bash scripts/install-awskills.sh --target openclaw      # just one agent
bash scripts/install-awskills.sh --only local-inference # just one skill

Nothing is overwritten without --force, so re-running is safe. Full per-agent path table in install-skills.

Skills

🐳 recover-docker — un-wedge Docker Desktop's WSL2 engine

Docker Desktop on Windows wedges its WSL2 Linux engine: the docker API returns 500 Internal Server Error, or docker stop/recreate dies with tried to kill container, but did not receive an exit event (common on nvidia-runtime / GPU containers). The GUI looks healthy; the daemon is dead.

scripts/Recover-Docker.ps1 does a complete teardown in the right order — kill the UI + backends → wsl --shutdown → reap vmmem/wslservice zombies → bounce the Windows services → cold-start Docker Desktop → wait for the engine → clean dead containers + restart exited ones. No reboot, container volumes intact, healthy in ~30–60s.

Run it directly:

# one-shot recovery (run elevated for the service bounce)
pwsh -File scripts/Recover-Docker.ps1

# 30s watchdog — auto-recovers on failure
pwsh -File scripts/Recover-Docker.ps1 -Monitor

As a Claude Code skill: copy skills/recover-docker.md into your project's .claude/commands/ and scripts/Recover-Docker.ps1 somewhere on disk, then run /recover-docker (or /recover-docker --monitor). The agent detects the wedge, runs recovery, verifies with docker version / docker ps, and reports which containers came back.

📖 Background: Self-Healing Docker: One Command to Un-Wedge the WSL2 Engine

🛡️ moat-guard — keep private code out of your public package

Open-core release hygiene. Three parameterized tools (nothing project-specific — every rule is a flag) plus a /moat-guard skill that drives them:

Tool Job
tools/check_package_leaks.py Pre-publish gate. Inspect a built wheel/sdist; fail (non-zero exit) if it bundles forbidden files/imports or is missing a required keystone. Drop it in CI before twine upload.
tools/find_leaky_releases.py Audit what already shipped. List index versions below a cutoff and, with --verify, download each wheel to prove the leak. Prints the exact yank checklist (indexes have no yank API).
tools/purge_public_leaks.sh Scrub the public GitHub surface. Delete pre-cutoff releases + tags and filter a leaked file out of the repo's entire history (mirror force-push). Dry-run by default.
# CI gate: fail the build if it bundles secrets or imports an internal package
python tools/check_package_leaks.py dist/mypkg-2.0.0-py3-none-any.whl \
  --forbid-path '*/secrets*.py' --forbid-import mycorp_internal \
  --require-file '*/licensing.py'

# Audit a published project and prove which versions leak
python tools/find_leaky_releases.py mypkg --cutoff 2.0.0 --verify \
  --forbid-path '*/nanogpt.py'

# Plan a purge (dry-run), then execute once you've read it
bash tools/purge_public_leaks.sh --repo me/mypkg --keep-from 2.0.0 --leak-path src/secret.py
bash tools/purge_public_leaks.sh --repo me/mypkg --keep-from 2.0.0 --leak-path src/secret.py \
  --execute --rewrite-history          # irreversible — breaks pinned installs & forks

As a Claude Code skill: copy skills/moat-guard.md into .claude/commands/ and run /moat-guard check (pre-publish), /moat-guard find (audit), or /moat-guard purge (destructive — always dry-runs first, confirms before force-pushing).

⚠️ Purging shrinks exposure but cannot un-distribute what already shipped. If a removed file carried a secret, rotate it.

🗜️ model-quantization — shrink an LLM to 4-bit, locally and free

Make a model fit where bf16 won't — on a smaller GPU, or beside another model on the same card. tools/quantize_model.py drives AutoRound and bakes in the gotchas that otherwise produce a broken or un-loadable artifact.

The default is RTN (round-to-nearest, --iters 0): weight-only, no calibration data, no forward pass, ~<2 GB peak VRAM, ~1 minute. It runs on your CPU + GPU together (host-RAM offload) — $0, fully local, and enough for most models. Calibrated AWQ (--iters > 0) is higher quality but needs a real GPU, and is refused on architectures whose calibrated path crashes (per-layer head dims) with a clear steer back to RTN.

# Preview the plan — no weight load, no GPU, no write
python tools/quantize_model.py google/gemma-3-12b-it --dry-run

# RTN 4-bit, local + free (keeps lm_head + multimodal projectors in bf16)
python tools/quantize_model.py google/gemma-3-12b-it -o ./gemma-3-12b-it-awq

# Calibrated AWQ on a GPU (refused on het-head models — use RTN there)
python tools/quantize_model.py mistralai/Mistral-7B-Instruct-v0.3 \
  -o ./mistral-7b-awq --iters 200 --nsamples 128

What it gets right for you: uses AutoRound, not llm-compressor (which silently downgrades transformers); keeps lm_head + vision/audio projectors in bf16 (vLLM loaders require it); exports compressed-tensors so un-quantized modules stay plain; and detects heterogeneous head dims to avoid the calibrated-mode crash. Serve the result with vllm serve <outdir> --quantization awq_marlin.

As a Claude Code skill: copy skills/model-quantization.md into .claude/commands/ and tools/quantize_model.py onto disk, then run /model-quantization <model-id> -o <outdir>. The agent dry-runs first, runs RTN by default, and reports the output path + serve command. Needs pip install auto-round torch transformers.

🗜️ aither-headroom — cut agent token cost with reversible context compression

Agents burn most of their tokens re-sending bulky context — verbose JSON tool output, retrieved docs, file dumps. headroom (headroom-ai) crushes that content with a SmartCrusher pipeline — measured ~46% token savings on an 87 KB tool blob — while protecting conversation/user text so answers don't degrade. Two ways in: an automatic pre-send hook at the single LLM chokepoint (flag-gated, graceful no-op — if the sidecar is off, calls just proceed uncompressed), and agent-callable tools (headroom_compress(content), headroom_stats()) from the free headroom tool pack.

export AITHER_HEADROOM_ENABLED=true              # turn on the automatic pre-send hook
curl http://127.0.0.1:8788/health                # sidecar healthy? → {"ok":true,"headroom":"0.25.0"}
# prove the savings on a realistic payload before trusting the ratio

Give an adk agent the tools self-service with apply_pack_self("headroom") (free, no entitlement). Present bulky context as the content blob (conversation text is protected and barely compresses; below ~800 chars it no-ops). See skills/aither-headroom.md.

🔄 resume-all — bring back every Claude Code session you lost

A reboot, a crash, or a closed terminal and your Claude Code conversations are gone — not deleted, just unfindable. You reopen N terminals, cd into each project, run claude, then /resume and squint at a list of UUIDs trying to remember which was which.

scripts/Resume-ClaudeSessions.ps1 reads Claude Code's own session journals (~/.claude/projects/<encoded-cwd>/<session-id>.jsonl), recovers each session's AI title, last prompt, working directory, git branch and last-active time, lets you pick, and reopens them — each in its own terminal tab or tmux window. Read-only against your history; it never mutates the journals.

# interactive picker — choose which to bring back
pwsh -File scripts/Resume-ClaudeSessions.ps1

# reopen the most-recent session for every project directory, no prompt
pwsh -File scripts/Resume-ClaudeSessions.ps1 -PerDir -All

# only sessions matching some text, from the last day
pwsh -File scripts/Resume-ClaudeSessions.ps1 -Filter payments -LookbackHours 24

# over SSH? resume into tmux — the windows survive a disconnect
pwsh -File scripts/Resume-ClaudeSessions.ps1 -Tmux -Select 1,3

Cross-platform (PowerShell 7): Windows Terminal tabs on Windows, tmux windows anywhere, Terminal.app on macOS — and if none of those exist it prints the commands rather than pretending it launched something. -DryRun prints the resolved session ids to stdout.

⚠️ The gotcha this exists to solve: sub-agent sidechains (agent-*.jsonl) and workflow journals are rewritten constantly, so by write-time they crowd out your real sessions. A naive "most recently modified N journals" scan surfaces almost none of them. This filters to genuine top-level conversations before truncating the scan window.

⚠️ Second gotcha, fixed in the engine: resumed tabs used to come up fully monochrome whenever you launched them from inside a Claude Code session. Claude Code exports NO_COLOR=1 to its subprocesses so tool output comes back clean — and the terminal this engine spawns is one of those subprocesses, so the new window, every shell in it, and every claude inside those shells inherited it. It looks exactly like a terminal-theme problem and is not one. The engine now scrubs the variable per tab. If you edit the launch command, keep that scrub — and delete the variable rather than blanking it, since the check is !("NO_COLOR" in process.env) (presence, not value), so NO_COLOR="" still kills colour.

As a Claude Code skill: copy skills/resume-all.md into .claude/commands/ and the script onto disk, then run /resume-all (or /resume-all all, or /resume-all <filter text>).

🕸️ omninode-node — join the OmniNode P2P inference mesh in one command

OmniNode Protocol (by SUM-INNOVATION) is a trustless, peer-to-peer network that pools ordinary machines into a fabric big enough to run models no single device could hold — any device with a chip can become a node. Standing one up shouldn't be a ten-step wiki page.

scripts/omninode-node-up.sh takes a fresh machine (Linux / macOS / Windows-WSL2) from nothing installed → a live, discoverable node: detect hardware → install Rust if missing → clone + build omni-node → verify two peers discover each other over libp2p/mDNS (or --listen to run a persistent node). If awdk is present it can also adk mesh onboard the node so your agents use it — one motion, not two projects.

./scripts/omninode-node-up.sh          # build + self-verify P2P discovery
./scripts/omninode-node-up.sh --listen # run a persistent mesh node
./scripts/omninode-node-up.sh --adk    # + enroll into AitherMesh for adk agents

Verified end-to-end on a 12-core Linux box: clone → build → NODE OK, P2P discovery live. See skills/omninode-node.md. No credentials, no account, no central server.

🧩 The Aither substrate — set up and use awdk, awnode, AitherConnect, AitherZero & AitherMesh

Five skills for the coherent substrate the OmniNode node plugs into. Each is a "set it up, then use it" guide grounded in real commands — standing up compute and having your agents use it is one motion, not five projects.

Skill What it sets up
awdk The agent toolkit — pip install awdkadk onboard --quickadk run. Your model, your loop, your data on your box; manage from the portal.
aither-discord-agent Deploy any awdk agent as a Discord bot with one automated onboarding command — adk onboard --discord installs your pack, validates the bot token live, prints the invite link, verifies identity/tools, and launches. Every DM/@mention runs your agent's own loop. No paid tier needed (hand-rolled fallback).
awnode The body — a local MCP server (adk mcp node) exposing GPU, local inference, ComfyUI, and files to agents; or bootstrap the box as a full inference node.
aitherconnect The seam — adk connect / adk mesh onboard (--headscale behind NAT) to wire a machine, agent, and browser into AitherOS and the mesh.
aitherzero The provisioner — one config.psd1 + bootstrap.ps1 to stand up bare-metal/on-prem/cloud/hybrid, with a generated-from-inventory config editor and az_* agent tools.
aithermesh The fabric — one playbook (Invoke-AitherPlaybook deploy-mesh-agent) to create a private WireGuard mesh, join nodes to the overlay, and deploy agents onto them; nodes defined in config/nodes.yaml.
bonsai-27b A model to run on a node — PrismML's 1-bit Bonsai-27B (Q1_0, 3.8 GB) served on a plain CPU box via the PrismML llama.cpp fork; a 27B model on a laptop.
graph-rag-agent Knowledge on tap — adk ingest a folder/codebase into a knowledge graph, then an agent (adk create-app + recall/search_knowledge) that answers from your material. Local-first graph RAG, no separate vector DB.
graph-a-repo The operational runbook — graph a repo OR a KB end-to-end and prove both halves: the embedder returns the right-dimension vector (rag_verify_embedder, 768 for nomic-embed-text) AND retrieval returns the ingested content (rag_verify_retrieval — an empty graph answers 200 with zero hits). Picks code (CodeRankEmbed + codegraph_*) vs prose (nomic-embed-text) embedder; bakes in the traps (code≠text vector spaces, fleet-vector parity, adk chat not adk query). Front door for the graphrag toolpack.
aither-code-intelligence The operational layer — how to run prospector+codegraph+headroom for real and prove they still work. A 60-second health check, nine silent failure modes with the symptom you actually see (stale paths, orphaned embeddings, mount traps, self-healers killing slow indexers, OOMKilled=false hiding a real OOM), and why hybrid search needs Reciprocal Rank Fusion (measured F1 0.083 → 0.293 → 0.470). Every bug in it reported healthy while broken.
aither-codegraph The what — a call-graph-aware code index. adk run auto-indexes a Python project; agents gain code_search/code_context (symbols, signatures, callers, callees, blast radius). Fleet path: the managed CodeGraph service + codegraph_* MCP tools.
aither-prospector The where — a semantic file-explorer. apply_pack_self("prospector")map_build(repo) then map_localize("where is auth?") returns the dirs to search first, so CodeGraph/grep only look where it matters. Free pack, dependency-free builder.
aither-agent-notebook The reviewable unit of work — turn "build X" into a runnable .anb Agent Notebook of typed cells (plan / prompt / tool_call / agent_delegate / human checkpoint / result). adk notebook plan "…"runstatusexport to Jupyter; every run is cost-tracked and can be replayed/diffed against a baseline. Six agent tools (notebook_*) proxy the Genesis /notebooks API. The durable counterpart to a one-shot adk forge.

More skills (drop into .claude/commands/)

Generic, project-agnostic slash commands — pure prompt-skills, no code or dependencies:

Skill What it does
secretguard Scan git history for leaked secrets with gitleaks; purge a file from history (filter-repo) or allowlist a false positive. Never echoes secret values.
security-audit Code + dependency + config audit against the OWASP Top 10 — injection, crypto, access control, secret exposure — with severity-ranked findings.
dependencies Audit / update / prune dependencies and check licenses across pip, npm/yarn, and Docker base images (pip-audit, npm audit, safety).
performance Profile and optimize: cProfile/memory_profiler, hotspot hunting, caching, N+1 queries, algorithmic complexity. Measure first.
refactor Apply clean-code refactors — extract method, replace conditionals with polymorphism, simplify nested logic — without changing behavior.
compare-versions Diff two versions of a file/commit/release: structural + behavioral changes, breaking-change risk, and a migration checklist.

Standalone tools

CLI utilities you can run directly — all parameterized, no AitherOS dependency:

Tool What it does
tools/check_exports.py Validate a Python package: __all__ entries that don't resolve (ghost exports), __version__ vs pyproject.toml drift, and orphan modules nothing imports. Stdlib-only.
tools/validate_compose_ports.py Lint docker-compose for host-port collisions (across one or many -f files), malformed mappings, and unpublished container ports. --strict to fail CI.
tools/Backup-DockerVolumes.ps1 Snapshot Docker named volumes → timestamped .tgz + manifest.json, via a throwaway Alpine container. -Pattern/-SkipPattern/-DryRun, auto-prunes old snapshots.
tools/quantize_model.py Quantize an LLM to 4-bit with AutoRound. RTN runs free on local CPU+GPU (--iters 0, default); keeps lm_head/multimodal projectors in bf16, exports compressed-tensors, and refuses calibrated mode on het-head architectures that would crash. --dry-run to preview.

PowerShell dev utilities (tools/powershell/)

Standalone PS7 helpers — no module, no setup, just pwsh -File:

Script What it does
Invoke-FileGrep.ps1 Recursive regex content search with context lines.
Invoke-BulkReplace.ps1 Regex find/replace across globs, with -DryRun and backreferences.
Invoke-FileDiff.ps1 Unified diff of two files (or inline strings).
Invoke-FileSplice.ps1 Surgically replace a line range in a text file.
New-GitBranch.ps1 Create a branch with a conventional prefix (configurable).
New-GitCommit.ps1 Stage + commit with Conventional Commits validation.

More coming

More agent-ops glue is on the way. Star the repo to follow along — and PRs/issues welcome.

License

MIT © Aitherium. Use it, fork it, ship it.

The aw family

Standalone tools that share one idea: replace something you would otherwise have to trust with something you can check.

Each installs on its own, works offline, and needs no account.

instead of trusting you check
awdk a framework's idea of how your agents should run one loop you can read, pointed at a backend you already pay for
awskills (you are here) that an agent knows your procedure the procedure written down, versioned, and loadable by any agent
awpack that the pack you want shipped inside somebody's SDK, under whatever licence that SDK happens to carry the pack as its own versioned artifact, with its own licence, that any agent runtime can install
awm that memory stayed in its lane tenant:user:project scopes, so a write cannot cross a boundary
awdesk that the agent is somewhere behind a browser tab a tray icon, a face on your desktop, and the decision card that pops when it needs you
awnode a vendor's cloud with every prompt a local gateway routing to backends you chose
awgraph that grep found everything an AST + tree-sitter call graph an agent can traverse
awgit that no one else is editing this file a lease, refused at commit time if you do not hold it
awdelphi one agent's confident take on a decision the round trace, the anonymity, and who dissents
awclassify a filename, a folder, or whoever last touched it doc_type, visibility, audience and topics, with the evidence lines that decided each
awtoll that your tooling is saving you context the measured token cost of each tool call, and what the alternative cost
awseal that the artifact came from who you think an Ed25519 seal — the key that verifies is not the key that forges
awshare that the download is intact content-addressed bundles, verified on fetch
awnest that there is a person on the other end a verdict with evidence, where "we could not tell" is not "yes"
awrena a leaderboard someone can edit, and votes nobody counted a scored duel with both answers kept, and a result bound to them
awnboard a share link anyone who sees it can use an invitation addressed to one person, for one gate, revocable
awnix that the box is what you left it as an immutable image you built, with atomic rollback
awrecover that the restore worked a restore that fully lands or does not land at all
awstorage a du you ran last month, and a peers file that says 3 TB free an inventory snapshot per node with a diff since the last one, and each tree classified re-fetchable or not
awrelay a SaaS in the middle of your agents findings, alerts and coordination over your own transport
awask that anyone read the paragraph where you asked the ask itself, with a button that steers the session that raised it
awmail a mailbox somebody else can read mail your agents send and receive over your own server
awswarm that a model either fits your GPU or it doesn't run at all a placement plan and an acquisition-probability estimate before you spend on a run
awfind one vendor's idea of the web results from whichever providers you configured
awbrowse that the page said what you were told the render, the DOM and the requests it made
awvoice that a cloud vendor may hold your audio a transcript and a wav from a service you host
awvision a filename and a caption somebody wrote what a model actually reports about the pixels
awscreen a selector that was true when the page was written the elements actually rendered, by what they look like
awbeads that a layout your users built survives the next deploy the arrangement as data you can read back, diff, and hand to another surface
awbonsai that inference always means a request left the machine a WebGPU model answering on the tab's own GPU, with a consent record logged before it ever loaded
gawbbonet the model to keep a 300-message campaign coherent by itself campaign facts recalled from scoped memory you can list and edit
aitherkvcache a vendor's quantisation defaults sub-byte KV cache kernels you can benchmark yourself
awrtifact a hand-rolled split script and a hand-edited worker manifest byte-verified parts in a release, served with Range + CORS, sizes asserted by a live gate
AitherZero a pile of scripts nobody has numbered numbered, discoverable automation with declarative playbooks
AitherConnect what a page tells your browser to do a federated search and desktop bridge you host
awreason a confident paragraph the phases it went through, and every tool call it made to get there
awrecurse that everything you pasted in was actually read which slices it opened, and what it concluded from each
awprism the first explanation that fits the ranked alternatives, and the observation that separates them
awrepl what the agent believes the value is the value, printed from the live session
awreport that the report you pasted carried no token in it a redacted report, and the duplicate it merged into instead of filing twice
awresearch a summary of pages nobody opened every claim against the source it came from
awfocus twelve terminal tabs and a bad memory one command that names every session, finds any transcript, and opens or steers the one you want
awgym that a world model learned anything from the games it saw transitions captured from real play, fed back, and the retrodiction score falling on grids it never saw
awpredict a model because it trained without erroring its prediction against a self-updating lookup, on the rows that are actually novel
awevolve that your optimisation loop is finding anything every version it kept, the score that version earned, and the edit that produced it
awsh that you already know the name of the command what it decided your line meant, before it acts on it
awrise that a scheduled agent ran at all, and ran exactly once a durable record of every wake -- fired, skipped, overlapped or timed out -- each with its reason
awkno that the docs site is up, or that you remember the family the whole ecosystem in your terminal, with no network at all
awwall that a service only talks to the hosts you think it talks to an explicit egress allowlist, where a denial names the rule that denied it
awembed a general-purpose embedder that has never seen your code a held-out split of whole directories, scored teacher vs student vs int8
awtax a closed tax app's sealed file you can never read again a plain, provider-neutral schema of every figure, with the page it came from
awsettings that you will remember to re-approve the same thing on every box you work from one profile, unioned rather than overwritten, with the credentials left behind
awavatar a cloud 3D vendor's opaque task id a manifest with a sha256, a licence and a rig-audit verdict per file

awnix is the ground floor — A Linux you can hand to an agent — immutable base, capabilities included.

The Aitherium ecosystem

Every repository here is public. Each publishes an aither-manifest.json beside its page, so any surface can read every sibling's — the network is browsable from any node in it.

repo what it is pages
awdk Build AI agent fleets — 3 lines, any backend, local or cloud docs
awskills (you are here) Portable agent skills — self-contained procedures an agent loads on demand docs
awpack First-party agent packs — the ones we build, versioned and installable on their own docs
awm A portable, scoped agent memory docs
awdesk Aither World Desk -- the desktop body of AitherOS Online: tray, avatars, decision cards, the Living Desktop as an overlay docs
awnode A lightweight local gateway — bridges your apps to the AI backends you chose docs
awrun A priority-aware queue and dispatcher for agentic runs and ad-hoc CI builds. It also judges whether the runner pool is big enough for the queue it is draining, and can ask a host to grow it -- reserving capacity is zero-sum, so a saturated pool needs more of it, not a different share of it docs
awgraph A semantic code graph for agents — AST + tree-sitter, call graphs docs
awgit Semantic version control on top of git — edit-ops and leases docs
awdelphi Anonymous multi-round expert panels — a converged answer with a trace docs
awclassify Classify any document -- what it is, who may read it, who it is for, what it is about
awtoll What every tool call costs you in context, measured from your own transcripts docs
awseal Sign an artifact so a stranger can verify it docs
awshare Publish an artifact and fetch it back verified docs
awdit An append-only audit trail whose gaps are DETECTABLE docs
awbac Role-based access control that fails closed and explains itself docs
awiam Who is this caller? A directory and session store that fails honestly docs
awtunnel Reach a service that has no public address docs
awnest Prove there is a human before you let them into the nest docs
awrena Put two agents head to head and get a verdict you can check docs
awnboard A front gate you can put in front of anything, and hand someone the key to docs
awnix A Linux you can hand to an agent — immutable base, capabilities included docs
awrecover Labelled snapshots with an all-or-nothing restore docs
awstorage Every drive on every node, indexed, classified and diffed -- so you can see what you own before you delete it docs
awrelay Portable agent messaging — findings, alerts, coordination docs
awask Your agent asks you a question — and acts on your answer docs
awmail Give an agent an email address — send, and actually receive docs
awnet The agentic web — agents host a mesh, and agents join one docs
awswarm Run one model too big for any single GPU across a pool of small ones
awfind A portable search client — query, results, ranking docs
awbrowse A portable browser client — navigate, console, network, DOM, screenshot docs
awvoice Hear and speak — transcribe audio, synthesize a voice docs
awvision See an image — describe it, ask it a question, compare two docs
awscreen See this machine — what is on screen, and where to click it docs
awkit Render an agent panel from a tool result — one component, any React app
awbeads A spatial canvas for a page — arrange things, connect them, and keep the arrangement
awbonsai Run a real model in the visitor's own browser — no server round trip, no upload
awknowledge How to run a coding agent so the result survives — the laws, with evidence docs
awbrain Your history as a wiki of linked markdown — claims pinned to the evidence
gawbbonet GobboNet campaigns with a real agent brain — scoped memory, graph recall docs
aitherkvcache Near-optimal KV cache quantization for LLM inference — sub-byte compression docs
awrtifact Deliberately chunk artifacts into GitHub release assets — the productized aitherkvcache mirror lane docs
AitherZero PowerShell 7+ automation framework — numbered, self-describing scripts docs
AitherConnect Browser extension — federated AI search, page context, and the Living OS overlay docs
awreason A portable reasoning client — sessions, phases, thoughts, and the chain that produced the answer docs
awrecurse Answer a question over a context far larger than the window — recursively, with the trace kept docs
awprism Turn a failure into ranked hypotheses — and say what would confirm each one docs
awrepl A REPL an agent can actually use — state that survives between turns docs
awreport File a bug report that has already scrubbed your secrets and collapsed the duplicate
awresearch Ask a research question, get a cited report you can check docs
awfocus See, search and steer every Claude session from one command docs
awgym An ARC training gym — a game a world model can watch, and six roles that play through it docs
awpredict Predict what your environment does next, and how surprised you were docs
awevolve Point an agent at a file and a command that scores it, and let it improve
awsh Your terminal answers you -- type a question where a command would go docs
awrise Wake an agent on a schedule, let it do one thing, and put it back to sleep docs
awkno The man page for the Aither World — every brick, stack and law, offline docs
awwall Say what a workload may reach, and watch everything else fail closed docs
awrouter OpenRouter for your own fleet: pick a model backend by cost/latency/ capability, fail over, fit the context window, stream. Standalone, OpenAI-compatible, no Aither-specifics required to be valuable
awembed Train an embedding model that knows your corpus, and prove it beats the big one docs
awtax Turn any tax PDF -- returns, W-2, 1099, statements, even scans -- into structured data you can check docs
awflow A deterministic workflow runtime — chain agent calls with journal replay and budget control docs
awsettings Your agent's permissions and config, following you to the next machine docs
awavatar One character spec in, a rigged, animated, multi-style avatar pack out docs
<script src="aither-constellation.js"></script>

About

Free, MIT-licensed agent skills, scripts & automations from AitherOS — recovery routines, deploy helpers, secret-safety. Self-healing infra glue for agents.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages