toga-harness
v1.0.0
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.
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.
