@metaharness/education 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 rUv
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # MetaHarness: education vertical
2
+
3
+ A ready-made Claude Code scaffold for a multi-agent tutoring pod. You get a planner that sequences a curriculum, a tutor that delivers lessons and answers questions, and a grader that checks understanding with rubric-backed feedback — all wired into Claude Code with sensible model tiers, memory, and slash commands. This is a starting template for educators, EdTech prototypers, and self-learners building a focused study companion. It is not a full LMS, not a content library, and does not ship pre-built curricula — you bring the syllabus, the pod runs the lessons.
4
+
5
+ ## Quickstart
6
+
7
+ ```bash
8
+ npx @metaharness/education@latest my-bot
9
+ cd my-bot && npm install && harness doctor
10
+ ```
11
+
12
+ That produces a `my-bot/` directory containing a Claude Code plugin: agents under `.claude/agents/`, slash commands under `.claude/commands/`, MCP wiring under `.mcp.json`, and a `harness.config.json` describing the pod.
13
+
14
+ ## What you get
15
+
16
+ - `planner` agent (sonnet) — parses a syllabus, builds a lesson sequence, tracks where each learner is in the curriculum.
17
+ - `tutor` agent (sonnet) — runs the actual lesson turn: explains concepts, answers follow-ups, adapts depth to the learner's level.
18
+ - `grader` agent (opus) — scores free-response answers against a rubric and produces actionable feedback.
19
+ - `drill` agent (haiku) — generates flashcards, quick-check questions, and spaced-repetition prompts. Cheap, high-volume.
20
+ - `/lesson`, `/quiz`, `/review` slash commands wired to the pod.
21
+ - `.mcp.json` registering the curriculum store and progress-tracking MCP servers.
22
+ - `harness.config.json` describing tiers, routing rules, and the agent graph.
23
+
24
+ ## Advanced
25
+
26
+ Verify the scaffold:
27
+
28
+ ```bash
29
+ harness doctor
30
+ # ✓ node >= 20
31
+ # ✓ .claude/agents (4 agents)
32
+ # ✓ .claude/commands (3 commands)
33
+ # ✓ .mcp.json valid
34
+ # ✓ harness.config.json schema OK
35
+ ```
36
+
37
+ Validate the agent graph and routing rules:
38
+
39
+ ```bash
40
+ harness validate
41
+ # planner -> tutor -> grader OK
42
+ # drill (parallel) OK
43
+ # no orphan agents OK
44
+ ```
45
+
46
+ Smoke-test the pod headlessly without launching the interactive UI:
47
+
48
+ ```bash
49
+ claude -p --plugin-dir my-bot "Teach me the chain rule, then quiz me."
50
+ ```
51
+
52
+ Swap a tier — for example, demote the tutor to haiku for cost-sensitive deployments — by editing `harness.config.json` and re-running `harness validate`.
53
+
54
+ ## FAQ
55
+
56
+ **Q: Do I need a curriculum file to start?**
57
+ A: No. The planner will accept a topic ("teach me linear algebra") and synthesize a working sequence. Drop a `curriculum.md` in the project root to override.
58
+
59
+ **Q: Can I use it with a model other than Claude?**
60
+ A: The scaffold targets `claude-code` as the host. You can re-point individual agents at other providers via the agent frontmatter, but slash commands and MCP wiring assume Claude Code.
61
+
62
+ **Q: How is learner state persisted?**
63
+ A: Progress goes through the MCP server defined in `.mcp.json` — by default a local SQLite-backed store under `.harness/`. Replace it with your own server if you want server-side state.
64
+
65
+ ## License
66
+
67
+ MIT. Built on metaharness (https://www.npmjs.com/package/metaharness).
68
+
69
+ ## Deep-dive
70
+
71
+ Full explainer gist: https://gist.github.com/ruvnet/c459b1590580a91bee8cc879140196c6
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env node
2
+ import { execSync } from 'node:child_process';
3
+ import process from 'node:process';
4
+
5
+ const name = process.argv[2] || 'my-bot';
6
+ const extra = process.argv.slice(3);
7
+
8
+ const args = [
9
+ '--yes',
10
+ 'metaharness@latest',
11
+ name,
12
+ '--template', 'vertical:education',
13
+ '--host', 'claude-code',
14
+ '--force',
15
+ ...extra,
16
+ ];
17
+
18
+ try {
19
+ execSync(`npx ${args.map(a => (a.includes(' ') ? JSON.stringify(a) : a)).join(' ')}`, {
20
+ stdio: 'inherit',
21
+ });
22
+ } catch (err) {
23
+ process.exit(typeof err?.status === 'number' ? err.status : 1);
24
+ }
25
+
26
+ console.log('');
27
+ console.log(`Next steps:`);
28
+ console.log(` cd ${name} && npm install`);
29
+ console.log(` harness doctor && claude -p --plugin-dir . "Teach me the chain rule"`);
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@metaharness/education",
3
+ "version": "0.1.0",
4
+ "description": "MetaHarness example — tutor pod that teaches over a curriculum with planner, tutor, and grader agents (npx @metaharness/education my-bot)",
5
+ "homepage": "https://github.com/ruvnet/agent-harness-generator/tree/main/examples-packages/education",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/ruvnet/agent-harness-generator.git",
9
+ "directory": "examples-packages/education"
10
+ },
11
+ "license": "MIT",
12
+ "author": "rUv <ruv@ruv.net>",
13
+ "type": "module",
14
+ "bin": "./bin/scaffold.mjs",
15
+ "files": [
16
+ "bin/**",
17
+ "README.md",
18
+ "LICENSE"
19
+ ],
20
+ "scripts": {
21
+ "smoke": "node --check bin/scaffold.mjs"
22
+ },
23
+ "keywords": [
24
+ "metaharness",
25
+ "agent-harness",
26
+ "agent-harness-generator",
27
+ "education",
28
+ "vertical",
29
+ "claude-code",
30
+ "ai-agent",
31
+ "mcp",
32
+ "npx",
33
+ "scaffold"
34
+ ],
35
+ "publishConfig": {
36
+ "access": "public"
37
+ },
38
+ "engines": {
39
+ "node": ">=20.0.0"
40
+ }
41
+ }