toga-ai
v1.0.71
Published
TOGA Technology Team Claude Knowledge System — shared AI coding harness with skills, knowledge base CLI, and project installer for Claude Code.
Maintainers
Readme
claude
Shared Claude Code skills, configuration, and the team knowledge base for TOGA Technology projects.
Onboarding — install on a new machine
Do this once per developer. The harness has two independent parts: the ECC plugin
(provides the ecc:* reviewer agents the TOGA agents delegate to) and the TOGA harness
(npx toga-ai, which installs the skills, agents, rules, and knowledge base). Install order
between the two does not matter.
Prerequisites (must already be installed):
- Node.js ≥ 18 — required by
npxand the installer. - Git — required for
/captureto push and for knowledge auto-updates. - Claude Code — the
claudeCLI.
Steps:
- Open a terminal in VS Code and launch Claude Code:
claude - Add the ECC marketplace and install the plugin, then reload:
/plugin marketplace add https://github.com/affaan-m/ECC /plugin install ecc@ecc /reload-plugins - Open a new terminal, and from inside the project repo you'll work in, run:
This installs the harness into that project'snpx toga-ai.claude/and clones the shared knowledge repo to~/toga-tech. Run it once in each project folder you work in. - Start a new Claude Code session. Begin every session with
/kickoff, and run/capturewhenever you have something to add to the team knowledge base.
Push access is required to contribute.
/capturepushes to_mainonagilantsolutions/claude. Each developer must be a collaborator on that repo with git credentials configured (HTTPS token / credential manager or SSH). Without it,/capturestill writes docs locally but the push fails silently — so the developer won't be contributing knowledge back.npx toga-aithen delivers everyone's captured knowledge to the whole team on each run.
Skills
| Skill | Description |
|-------|-------------|
| kickoff | Start of session. Asks what you're working on (framework 1.0/2.0/both, front/back/hybrid, repo/project, client) and loads the matching coding standards, framework-core architecture, repo knowledge, and client knowledge from knowledge/. |
| capture | End of session. Figures out what you worked on, matches it against existing knowledge, and proposes create/update/retire changes for one-tap approval — then writes them and keeps registry.json, frontmatter, and INDEX files consistent. |
| create-elastic-beanstalk | Interview for a new Elastic Beanstalk environment, then emit a ready-to-paste CloudShell create-environment command. |
The knowledge base (knowledge/)
The team's feature, workflow, client, and architecture knowledge lives under knowledge/,
managed entirely by the kickoff and capture skills. Developers never hand-edit
these files — run kickoff to start a session and capture to finish one.
- Framework partitions everything:
1.0/(theApp_framework, core repolibrary) and2.0/(the_underscoreframework, core repo_underscore). Each owns itsapps/andstandards/. - App folders are keyed by repo name (
2.0/apps/worker2/, …); the project name lives inregistry.jsonand doc frontmatter. - Clients are shared at the top level (
clients/<client>/), each doc tagging its framework. registry.jsonmaps repo ↔ project ↔ framework ↔ role ↔ dependsOn. Every repo implicitly depends on its framework core;dependsOnadds more.- See
knowledge/CONVENTIONS.mdfor the full structure spec (the same spec is embedded in both skills).
knowledge.js
A dependency-free Node helper that keeps the mechanical parts deterministic (the skills call it):
node knowledge.js search --framework= --repo= --project= --client= --file= --q= # find docs
node knowledge.js index # rebuild all INDEX.md
node knowledge.js deps --repo=<repo> # resolve load set (core + deps)
node knowledge.js validate # integrity checkvalidate enforces that registry.json, the folder layout, and every doc's frontmatter
agree, and runs after every capture write.
Where local paths live
Absolute repo paths are machine-specific and are not stored in this repo. The skills keep
them in Claude memory (reference entries team-repo-path and repo-path-<repo>),
resolved lazily and asked for by repo name only when a session needs them. The first time a
developer references a repo on a new machine, the skill asks "What is the path to the
<repo> repository?" and remembers the answer.
How skills are deployed
Claude Code loads skills from .claude/skills/ at the project root. The skills in this repo
are the source of truth — run the sync script to copy them into that directory.
Syncing skills
After pulling new skills from this repo, run:
node claude/sync-skills.jsWorks on Mac and PC. Run it from anywhere inside the project.
Adding a skill
- Create a directory under
skills/with your skill name. - Add a
SKILL.mdwith YAML frontmatter (name,description) and the instructions. - Run
node claude/sync-skills.jsto deploy it. - Update the table above.
