KataSmith
KataSmith is a portable, language-agnostic Agent Skill: a reusable instruction package for coding-kata practice. It uses Socratic teaching, deliberate practice, and mock interviews while keeping the curriculum, coaching, and learner work deliberately separate.
View KataSmith source on GitHubThree repositories, one deliberate boundary
The curriculum is read-only, the skill is portable, and learner work lives in its own repository. That separation is a working rule, not just a diagram.
- Read-only curriculumOwns teaching material, public tests, starters, references, and toolchain declarations.
- Portable skillDiscovers, initializes, and coaches without becoming the curriculum.
- Independent learner repoHolds attempts and progress outside the curriculum.
The kata-smith.json workspace contract
{
"artifacts": [...],
"required_commands": [...],
"setup_commands": [...],
"compile_command": [...],
"test_command": [...]
}Invariants worth inspecting
- Artifact source and destination paths are relative and cannot contain ..
- Setup never reads or copies solution files.
- Learner and curriculum paths must not overlap.
- A conflicting attempt stops unless you explicitly replace it; replacement creates a backup.
- Reference material unlocks only after completion or an explicit decision to abandon the kata.
Execution evidence
26 tests passed against the pinned revision, covering isolation, overwrite refusal and backups, solution exclusion, guarded references, completion, and reflection.
Command used to run the tests
python3 -m unittest discover -s tests -vCurrent limits and installation
Work in progress. The repository currently claims end-to-end FizzBuzz compatibility only for Java and TypeScript at algorithms@b35586d; the current Go public-test layout is excluded.
Install in OpenCode
OpenCode installation command
npx skills add RubenOAlvarado/kata-smith@kata-smith -g -a opencodeRequires Python 3.11+, Git, and the toolchain declared by the selected curriculum language.
View requirements, WIP status, and source on GitHub