{"id":"0dcf5474-1c0f-40e5-a095-4fb5f8c17539","slug":"the-grid","kind":"skill","name":"the-grid","summary":"Inspired by Tron. Dotfiles for your AI assistant: curated skills and agent teams, wired identically onto every machine and every AI tool you use.","owner":"oneafrikan","repoUrl":"https://github.com/oneafrikan/the-grid","license":"MIT","licenseTier":"permissive","trust":"community","stars":4,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-06-02T13:59:04.000Z","addedAt":"2026-10-21T10:13:54.975Z","logoUrl":"https://avatars.githubusercontent.com/u/7143984?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","communication"],"tags":["antigravity","claude","claude-code","codex","gemini","opencod","openrouter"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T23:44:09.445Z","sample":false,"url":"https://conduits.dev/tools/the-grid","language":"Shell","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# the-grid\n\n**Inspired by Tron. Dotfiles for your AI assistant: curated skills and agent teams, wired identically onto every machine and every AI tool you use.**\n\n[![tests](https://github.com/oneafrikan/the-grid/actions/workflows/tests.yml/badge.svg)](https://github.com/oneafrikan/the-grid/actions/workflows/tests.yml) [![MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![site](https://img.shields.io/badge/site-oneafrikan.github.io%2Fthe--grid-informational)](https://oneafrikan.github.io/the-grid/)\n\nWorks today with Claude Code. Other AI tools: see [docs/roadmap.md](docs/roadmap.md).\n\n<!-- langs --><!-- /langs -->\n\n```\n████████╗██╗  ██╗███████╗    ██████╗ ██████╗ ██╗██████╗ \n╚══██╔══╝██║  ██║██╔════╝    ██╔════╝██╔══██╗██║██╔══██╗\n   ██║   ███████║█████╗      ██║  ███╗██████╔╝██║██║  ██║\n   ██║   ██╔══██║██╔══╝      ██║   ██║██╔══██╗██║██║  ██║\n   ██║   ██║  ██║███████╗    ╚██████╔╝██║  ██║██║██████╔╝\n   ╚═╝   ╚═╝  ╚═╝╚══════╝     ╚═════╝ ╚═╝  ╚═╝╚═╝╚══════╝\n _______________________________________________________\n \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ \\_ _/\n```\n\n## Who it's for\n\n- You use more than one machine (laptop, server, work, home) and your Claude Code setup keeps drifting between them.\n- You collect skills from many repos and installing everything buries your session. You want a short live list and a searchable shelf.\n- You build agent teams (tech lead, QA, security reviewer) and want each role defined once and wired the same everywhere.\n- Not for you if you want a supported product, a GUI or a one-click installer. I built this for my own machines and share it because the mechanics are reusable.\n\n## Quickstart\n\n```bash\ngit clone https://github.com/oneafrikan/the-grid.git ~/.the-grid && bash ~/.the-grid/scripts/bootstrap.sh --with-agents\n```\n\nNeeds git, bash, python3 (for the agent teams) and Claude Code. Node >= 20.19 only if you use the openspec-* skills (see [INSTALL.md](INSTALL.md)).\n\nYou should now see:\n\n- `bootstrap.sh` ends with `==> Bootstrap complete. Open a fresh Claude session to pick up new skills/agents.`\n- `ls ~/.claude/skills | wc -l` prints a number near <!--count:wired-->132<!--/count--> (plus the orchestrator skills; duplicate skill names across repos collapse to one link, so it is not exact), and `ls ~/.claude/skills/tron` lists a `SKILL.md`.\n- In a new Claude Code session `/tron` replies with a short question about what you want to do.\n\nFork first if you plan to customise: the clone URL above is read-only for you.\n\nOr paste this into Claude:\n\n> Clone https://github.com/oneafrikan/the-grid.git to ~/.the-grid, run bash ~/.the-grid/scripts/bootstrap.sh --with-agents, tell me what it printed, then tell me to open a fresh session and run /tron.\n\nStop there. If it felt useful, read [USAGE.md](USAGE.md).\n\n- Prefer the manual steps, or a machine without submodules? See [INSTALL.md](INSTALL.md).\n- Already set up and just pulled? Run `bash scripts/wire.sh` again. Composed agents need a recompose first: see [BOOTSTRAP.md](BOOTSTRAP.md) (\"Updating an existing machine\").\n\n## What you get\n\n- <!--count:wired-->132<!--/count--> curated skills as slash commands (/standup, /review, /ship, /skill-scout). <!--count:library-->100<!--/count--> more sit on a searchable shelf, switched off.\n- <!--count:roles-->40<!--/count--> ready-made agent roles: a dev team, a finance desk, a Socratic tutor (/morpheus), and /tron, which tells you which one to use.\n- One git pull plus wire.sh makes every machine identical; a per-machine overlay handles the differences.\n- Project templates with specs and agents already wired in.\n\nLost? The help skills are the entry point:\n\n| Command | Answers |\n|---|---|\n| `/tron` | I have a goal: which skill or agent should I use? |\n| `/grid-help` | Which slash command or subagent do I want? |\n| `/openspec-help` | How do I add specs to a repo? |\n| `/ponytail-help` | Which ponytail (minimum-diff) mode do I want? |\n\n## How it works\n\n```mermaid\nflowchart LR\n  subgraph Sources\n    R[\"repos/* submodules<br/>upstream skill repos\"]\n    S[\"skills/<br/>my own skills + edited forks\"]\n    A[\"agent-factory roles<br/>role x stack x skills\"]\n  end\n  M[\"allowlist<br/>baseline + machines/HOST.txt\"]\n  C[compose.py]\n  W[wire.sh]\n  R --> M --> W\n  S --> W\n  A --> C --> W\n  W -->|symlinks| K[\"~/.claude/skills<br/>~/.claude/agents\"]\n  R -. not on allowlist .-> L[\"Library<br/>SKILLS.md + /skill-scout\"]\n```\n\n- **Wired vs library.** Only repos on the allowlist are symlinked live. Everything else is indexed in [SKILLS.md](SKILLS.md) and found with `/skill-scout`.\n- **Per-machine overlay.** A shared baseline plus an optional `machines/<host>.txt` adds or removes entries for one machine.\n- **Symlinks, not copies.** Edit a skill once and every wired copy changes. A skill in `skills/` overrides a same-named upstream one.\n- **Agents compiled from one source.** `compose.py` builds each role from `role x stack x skills`; `wire.sh` links the result.\n\nFour sibling pieces produce the assets: `agent-factory/` (agent teams), `automation-factory/` (reusable automation patterns), `project-factory/` (project templates) and the skill wiring itself.\nThe layout, every script and the full `wire.sh` sequence are in [docs/architecture.md](docs/architecture.md).\n\n## Why \"the grid\"\n\n```\nThe Grid.\nA digital frontier.\nI tried to picture clusters of information as they moved through the computer.\nWhat did they look like?\nShips? Motorcycles?\nWere the circuits like freeways?\nI kept dreaming of a world I thought I'd never see.\nAnd then, one day...\nI got in.\n```\n\nKevin Flynn, *TRON: Legacy* (2010)\n\nSame idea, smaller scale: a shared place where your skills and agents live, and one command to get in.\n\n## Status\n\nThis is one person's working system, shared because the mechanics are reusable, not a supported product.\n\n- **It will change under you.** Versioned from v0.1.0; v0.x may still break between tags.\n- **It is opinionated.** The wiring model, the factories and the compose format are my choices, not a consensus design.\n- **Personal config is gitignored, not mixed in.** `baseline-submodules.txt`, `machines/<host>.txt` and the dev-journal `LOGS/` convention are personal and untracked. You get a generic `.example` starting point for the first two and owe nothing for the third. A fork never inherits my machine names, account routing or notes.\n- **Fork rather than depend.** The wiring model (manifest, symlinks, compose-then-wire) is the transferable part. Copy it and point it at your own skills.\n- **`wire.sh` mostly writes symlinks that point into this repo, but not only.** It never clobbers a real directory or a foreign symlink in `~/.claude/skills/`. It also keeps one auto-handoff hook entry in `~/.claude/settings.json` (on by default; opt out with `-hook:auto-handoff`). With opt-in entries it links rule packs under `~/.claude/rules/grid/` and other harness directories. Inside the clone it writes `.wired.manifest` and `SKILLS.md`. The full list is in [INSTALL.md](INSTALL.md) (\"What it touches\"). Read the script before running it; it writes to your home directory.\n\n## Docs\n\n- [USAGE.md](USAGE.md): daily use, orchestrators vs specialists, promoting a library skill.\n- [INSTALL.md](INSTALL.md): the short install guide and what the scripts touch.\n- [BOOTSTRAP.md](BOOTSTRAP.md): the full boot, update and troubleshooting reference.\n- [SKILLS.md](SKILLS.md): generated index of every skill.\n- [CONTRIBUTING.md](CONTRIBUTING.md): adding skills and repos, running tests, the gate.\n- [SECURITY.md](SECURITY.md): what the scripts write and how to report a problem.\n- [CHANGELOG.md](CHANGELOG.md): release notes.\n- [docs/architecture.md](docs/architecture.md): how the pieces fit, and the complete docs index.\n- [docs/roadmap.md](docs/roadmap.md): what is built, what is not.\n- [docs/private-projects.md](docs/private-projects.md): keeping a private desk out of the public repo.\n- [docs/model-selection.md](docs/model-selection.md): which model for which job, with prices.\n- [docs/rules.md](docs/rules.md): opt-in coding-convention rule packs.\n- [docs/harnesses.md](docs/harnesses.md): other AI tools (Codex CLI, OpenCode, Gemini CLI).\n- [hooks/README.md](hooks/README.md): guard hooks and the auto-handoff hook.\n- [CURATION.md](CURATION.md): why each wired repo is trusted.\n- [agent-factory/README.md](agent-factory/README.md): composing agent teams.\n- [project-factory/README.md](project-factory/README.md): scaffolding new projects.\n\nSpec-driven development uses OpenSpec, wired on every machine (the `openspec-*` skills).\nThe convention and the two thin layers the-grid adds are described in [CONTRIBUTING.md](CONTRIBUTING.md).\nRun `/openspec-help` for the reference card.\n\n## Credits and license\n\nWires skills from upstream projects, listed with licences in [docs/SOURCES.md](docs/SOURCES.md).\n\nBuilt by [Gareth Knight](https://github.com/oneafrikan). MIT licensed ([LICENSE](LICENSE)); submodules under `repos/` keep their own licences.\n"}