On-device adaptive AI

Six open-source experiments mapping a cognitive stack onto local LLMs.

Apache 2.0 · permanently alpha · 2026

skillos

markdown OS

Define agents, tools, and memory as .md files. Run them on Claude Code, Gemini CLI, or a 2B local model. Dream consolidation turns traces into strategies overnight.

$ /skillos "Plan a weekly menu for 4 people"
[OK] agent created   MenuPlannerAgent
[OK] output          projects/Menu/output/menu.md

$ /skillos dream
[OK] strategies      3 new · 2 updated

skillos_plugin

Claude Code plugin

Install skillos as a Claude Code plugin. Adds the /skillos command — goal decomposition, agent creation, execution, and memory in one prompt.

$ /plugin install ./skillos_plugin/skillos-plugin
[OK] installed       skillos-plugin v1.1.0

$ /skillos "Build a REST API with auth and tests"
[OK] agents          3 created · triad decomposition

Control plane for skillos projects. Security audits, agent scoring, controlled evolution, and lifecycle management. Never modifies files directly — produces reports for human approval.

$ /sysctl "audit and score all agents in Project_webapp"
[OK] security        9 checks passed · 0 critical
[OK] scores          AgentA: S(0.92) · AgentB: A(0.78)

$ /sysctl "evolve low-scoring agents"
[OK] proposals       2 minimal-surface edits · awaiting approval

skillos_mini

Android · on-device

Capacitor + Svelte 5 trade-app for tradespeople. Gemma 4 vision runs on-device via LiteRT. Capture a photo, get a diagnosis, generate a branded PDF, share via WhatsApp. No backend.

$ npm run dev
[OK] cartridges      trade-electricista · trade-plomero · trade-pintor
[OK] vision          gemma-4-e2b · on-device · ~200ms

skillos_robot

robot · VLM

A 20cm cube robot driven by a vision language model. Give it a goal — it sees through the camera, reasons about the scene, and drives to the target. Failed runs get retried in MuJoCo overnight.

$ robot navigate "go to the red cube"
[OK] vlm             gemini-3.1-flash-lite · 200ms/frame
[OK] navigation      target reached · 12 steps

$ robot dream
[OK] retried         3 failed traces in MuJoCo

llm_os

LLM as CPU

An OS where the LLM is the CPU. 13-opcode ISA enforced by GBNF grammar — invalid sequences are physically impossible to emit. KV cache as RAM. Runs on a Raspberry Pi 5.

$ bash scripts/dev.sh --model qwen2.5-3b-q4.gguf
[OK] grammar         isa.gbnf · 13 opcodes
[OK] cartridges      6 mounted · system · io · domestic

$ bash image/build.sh --model qwen2.5-3b-q4.gguf
[OK] image           pi5-sdcard.img · 1.8GB