wize-dev-kit 0.15.0 → 0.16.1
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/CHANGELOG.md +13 -0
- package/README.md +4 -0
- package/package.json +1 -1
- package/src/core-skills/module.yaml +3 -0
- package/src/core-skills/wize-eli5/skill.md +72 -0
- package/tools/check-eli5-all-adapters.js +50 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,19 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [0.16.1] — 2026-09-02
|
|
13
|
+
|
|
14
|
+
**Publish fix.** The `0.16.0` release was published from a stale commit (missing the Hermes adapter and `wize-check`). `0.16.1` republishes the full `main` history plus `/wize-eli5`; `0.16.0` is deprecated on npm.
|
|
15
|
+
|
|
16
|
+
## [0.16.0] — 2026-09-02
|
|
17
|
+
|
|
18
|
+
**`/wize-eli5` — explain anything to anyone.** New core skill that detects the audience (age, grade level, job role, relationship) and calibrates vocabulary, analogies, tone, depth and framing to the listener — a concept, code, error, or decision explained for a 5-year-old, a manager, an engineer, or a client. Inspired by [ELI5](https://github.com/dreambigou/eli5) by Andrew Ou (credited in all 3 READMEs). Registered in the core module catalog; rendered by all 10 harness adapters (Claude Code, Antigravity, Codex, Kimi Code, Hermes, Cursor, Windsurf, Continue, OpenCode, Generic).
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **`wize-eli5` core skill** (`src/core-skills/wize-eli5/skill.md`) — audience detection → five-axis calibration (vocabulary, analogies, tone, depth, framing) → explanation → comprehension check; role-specific framing (manager, designer, engineer, client, child) and anti-patterns.
|
|
23
|
+
- **READMEs (en/pt-BR/es)** — `/wize-eli5` listed in the cross-cutting commands walkthrough; ELI5 credited in the Inspiration & credits section.
|
|
24
|
+
|
|
12
25
|
## [0.15.0] — 2026-09-02
|
|
13
26
|
|
|
14
27
|
**Hermes Agent is now the 10th supported harness.** New `hermes` IDE target renders the kit's agents/skills/workflows as project-local skills at `.hermes/skills/wize-{code}/SKILL.md` (Anthropic-compatible format, same as Claude Code/Codex/Kimi Code). Hermes discovers project skills at the git root, loads them only when the repo is trusted (`hermes skills trust`), and lets trusted project skills override same-named profile skills — vendored repo skills win inside their repo. Hermes also reads root `AGENTS.md` as project context, and its CLI (`hermes -z "<prompt>"`) is registered in the installer's brownfield baseline for headless runs. Highlighted in all 3 READMEs + `docs/harnesses/hermes.md` (+pt-BR); registered in the installer targets, `doctor`, `.gitignore` block, and 4 test suites.
|
package/README.md
CHANGED
|
@@ -155,6 +155,9 @@ Cross-cutting:
|
|
|
155
155
|
done (with evidence), in progress, what's left —
|
|
156
156
|
then resumes the interrupted work.
|
|
157
157
|
/wize-grill Interview-to-understanding before any authoring step.
|
|
158
|
+
/wize-eli5 Explain anything to anyone — vocabulary, analogies,
|
|
159
|
+
tone, depth and framing calibrated to the audience
|
|
160
|
+
(age, role, relationship).
|
|
158
161
|
/wize-quick-dev Shuri takes a small fix without the full ride.
|
|
159
162
|
/wize-pre-pr-check Run lint/format/build/unit tests locally before
|
|
160
163
|
opening a PR — fail fast, zero CI runner cost.
|
|
@@ -259,6 +262,7 @@ npx wize-dev-kit version # print the installed kit version
|
|
|
259
262
|
|
|
260
263
|
- [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD) by Brian (BMad) Madison — agile AI lifecycle, agent personas, installer pattern, module system.
|
|
261
264
|
- [Whiteport Design Studio expansion](https://github.com/bmad-code-org/bmad-method-wds-expansion) — UX-first methodology, Norse pantheon (Saga, Freya), phase structure.
|
|
265
|
+
- [ELI5](https://github.com/dreambigou/eli5) by Andrew Ou — audience-calibrated explanations; the inspiration for `/wize-eli5`.
|
|
262
266
|
|
|
263
267
|
Wize Development Kit is an **independent adaptation** — not affiliated with or endorsed by BMAD or WDS authors. Marvel persona names are used as creative references under nominative fair use.
|
|
264
268
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "wize-dev-kit",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.16.1",
|
|
5
5
|
"description": "Full-lifecycle AI-assisted development kit with Test Architect and Whiteport Design Studio embedded. Inspired by BMAD Method and WDS.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"ai",
|
|
@@ -16,6 +16,9 @@ skills:
|
|
|
16
16
|
- code: wize-grill
|
|
17
17
|
name: "Grill"
|
|
18
18
|
description: "Exhaustive one-question-at-a-time interview to reach shared understanding before drafting briefs, PRDs, epics, stories, or plans."
|
|
19
|
+
- code: wize-eli5
|
|
20
|
+
name: "ELI5"
|
|
21
|
+
description: "Explain anything to anyone — adapts vocabulary, analogies, tone, depth and framing to the audience (age, role, relationship)."
|
|
19
22
|
- code: wize-brainstorming
|
|
20
23
|
name: "Brainstorming"
|
|
21
24
|
description: "Divergent-then-convergent ideation; produces idea-pool.md."
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
code: wize-eli5
|
|
3
|
+
description: "Use quando alguém pedir para explicar um conceito, trecho de código, erro ou decisão para um público específico — adapta vocabulário, analogias, tom, profundidade e framing ao ouvinte."
|
|
4
|
+
name: ELI5
|
|
5
|
+
module: core
|
|
6
|
+
status: ready
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ELI5 — Explain Like I Am 5
|
|
10
|
+
|
|
11
|
+
**Goal.** Explain anything to anyone — a concept, a piece of code, an error, an architecture decision, a business rule — calibrated to the listener. The same idea gets a different explanation for a 5-year-old, a manager, an engineer, or a client. ELI5 is a communication tool, not an artifact of its own: it produces the explanation in the conversation (or as a short doc when asked).
|
|
12
|
+
|
|
13
|
+
Inspired by [ELI5](https://github.com/dreambigou/eli5) by Andrew Ou — adapted to the Wize method: audience detection first, explicit calibration, and a comprehension check before handing off.
|
|
14
|
+
|
|
15
|
+
## Step 1 — Detect the audience
|
|
16
|
+
|
|
17
|
+
Read the prompt for an explicit or implicit audience. If none is given, ask **one** question with a recommendation (rule 2 of `wize-grill`): "I'll explain it for a non-technical stakeholder — or would you prefer the engineering version?"
|
|
18
|
+
|
|
19
|
+
| Category | Examples |
|
|
20
|
+
|---|---|
|
|
21
|
+
| **Ages** | 5, 10, 15, 20, 30, 40+ |
|
|
22
|
+
| **Grade levels** | 5th grade, middle school, high school, college, graduate |
|
|
23
|
+
| **Job roles** | Manager, engineer, designer, director, product manager, client, stakeholder |
|
|
24
|
+
| **Relationships** | Wife, husband, parents, kids, friend, investor |
|
|
25
|
+
|
|
26
|
+
## Step 2 — Calibrate on five axes
|
|
27
|
+
|
|
28
|
+
| Axis | Non-technical / child | Technical / peer |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| **Vocabulary** | No jargon; everyday words; define any term you must use | Proper terminology, precise names |
|
|
31
|
+
| **Analogies** | Toys, playground, kitchen, games | Systems, patterns, prior art, math |
|
|
32
|
+
| **Tone** | Playful, warm, patient | Direct, professional, dense |
|
|
33
|
+
| **Depth** | Short and sweet; one idea at a time | Nuanced; trade-offs; edge cases |
|
|
34
|
+
| **Framing** | What it does for *them*, in their world | Impact/risk, architecture, constraints |
|
|
35
|
+
|
|
36
|
+
Role-specific framing:
|
|
37
|
+
- **Manager / director** → business outcome, cost, risk, timeline. No implementation detail unless asked.
|
|
38
|
+
- **Designer** → user experience, flow, visual impact.
|
|
39
|
+
- **Engineer** → mechanism, contracts, failure modes.
|
|
40
|
+
- **Client / stakeholder** → what changes for them, what they must decide, what it costs.
|
|
41
|
+
- **Child / layperson** → one concrete analogy, one sentence per idea, check understanding.
|
|
42
|
+
|
|
43
|
+
## Step 3 — Explain
|
|
44
|
+
|
|
45
|
+
1. **One idea per beat.** Short sentences. If the explanation needs more than ~5 beats, structure it (numbered steps or a tiny table).
|
|
46
|
+
2. **Lead with the analogy for non-technical audiences** — then, only if asked, bridge to the real mechanism ("it's like a library card catalog… and the actual index is a B-tree").
|
|
47
|
+
3. **For code**: show the *behavior* first (what it does), then the *why* (why it exists), then the *how* (mechanism) — in that order, stopping at the depth the audience needs.
|
|
48
|
+
4. **For errors**: plain-language what happened → why it happened → what we do about it. Never dump a stack trace at a non-technical audience.
|
|
49
|
+
5. **For decisions**: the decision → the reason → the alternative considered → the cost of being wrong.
|
|
50
|
+
|
|
51
|
+
## Step 4 — Verify comprehension
|
|
52
|
+
|
|
53
|
+
Close with a lightweight check, matched to the audience:
|
|
54
|
+
|
|
55
|
+
- **Child / layperson**: "Does that make sense? Want me to say it with a different example?"
|
|
56
|
+
- **Manager / client**: one-line summary + the single decision or action they own.
|
|
57
|
+
- **Engineer**: offer the next level: "Want the implementation details / the failure modes / the alternatives?"
|
|
58
|
+
|
|
59
|
+
If the listener asks a follow-up, re-calibrate — the audience may have shifted (a manager asking "how does that work technically?" is now an engineer).
|
|
60
|
+
|
|
61
|
+
## Anti-patterns
|
|
62
|
+
|
|
63
|
+
- Explaining to a 5-year-old with the same depth as a code review.
|
|
64
|
+
- Dumping jargon at a non-technical audience ("it's a distributed consensus algorithm").
|
|
65
|
+
- Over-simplifying for an engineer (no hand-waving at peers).
|
|
66
|
+
- Skipping the audience check when the prompt is ambiguous.
|
|
67
|
+
- Explaining *everything* — answer the question asked, then stop.
|
|
68
|
+
- Using the same analogy for every audience (a playground analogy lands for a child, not for a CFO).
|
|
69
|
+
|
|
70
|
+
## Hand-off
|
|
71
|
+
|
|
72
|
+
> Explained {topic} for {audience} — calibrated on vocabulary, analogies, tone, depth and framing. Comprehension check: {result}. {One-line summary or next action for the listener.}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Verifica que o wize-eli5 é renderizado por TODOS os 10 adapters de harness.
|
|
3
|
+
'use strict';
|
|
4
|
+
const fs = require('node:fs');
|
|
5
|
+
const path = require('node:path');
|
|
6
|
+
const os = require('node:os');
|
|
7
|
+
|
|
8
|
+
const KIT = path.resolve(__dirname, '..');
|
|
9
|
+
const EXPECT = [
|
|
10
|
+
{ code: 'claude-code', file: '.claude/skills/wize-eli5/SKILL.md' },
|
|
11
|
+
{ code: 'antigravity', file: '.agent/skills/wize-eli5/SKILL.md' },
|
|
12
|
+
{ code: 'codex', file: '.agents/skills/wize-eli5/SKILL.md' },
|
|
13
|
+
{ code: 'kimi-code', file: '.kimi/skills/wize-eli5/SKILL.md' },
|
|
14
|
+
{ code: 'hermes', file: '.hermes/skills/wize-eli5/SKILL.md' },
|
|
15
|
+
{ code: 'cursor', file: '.cursor/rules/wize-eli5.mdc' },
|
|
16
|
+
{ code: 'windsurf', file: '.windsurf/rules/wize-eli5.md' },
|
|
17
|
+
{ code: 'continue', file: '.continue/prompts/wize-eli5.prompt' },
|
|
18
|
+
{ code: 'opencode', file: '.opencode/commands/wize-eli5.md' },
|
|
19
|
+
{ code: 'generic', file: '.wize/agents/wize-eli5.md' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
let ok = 0, fail = 0;
|
|
23
|
+
for (const a of EXPECT) {
|
|
24
|
+
const root = fs.mkdtempSync(path.join(os.tmpdir(), `wize-eli5-${a.code}-`));
|
|
25
|
+
try {
|
|
26
|
+
const mod = require(path.join(KIT, 'adapters', a.code, 'render.js'));
|
|
27
|
+
mod.render(KIT, root, { profiles: ['core'] });
|
|
28
|
+
const f = path.join(root, a.file);
|
|
29
|
+
if (fs.existsSync(f)) {
|
|
30
|
+
const content = fs.readFileSync(f, 'utf-8');
|
|
31
|
+
if (/ELI5/.test(content) && /Explain Like I Am 5/.test(content)) {
|
|
32
|
+
console.log(` ✓ ${a.code.padEnd(11)} -> ${a.file}`);
|
|
33
|
+
ok++;
|
|
34
|
+
} else {
|
|
35
|
+
console.log(` ✖ ${a.code}: arquivo existe mas sem conteúdo wize-eli5`);
|
|
36
|
+
fail++;
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
console.log(` ✖ ${a.code}: ${a.file} NÃO foi gerado`);
|
|
40
|
+
fail++;
|
|
41
|
+
}
|
|
42
|
+
} catch (e) {
|
|
43
|
+
console.log(` ✖ ${a.code}: erro ao renderizar — ${e.message}`);
|
|
44
|
+
fail++;
|
|
45
|
+
} finally {
|
|
46
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
console.log(`\n${ok}/10 harnesses com wize-eli5.`);
|
|
50
|
+
process.exit(fail ? 1 : 0);
|