@litfamily/lithermes 1.0.10 → 1.0.11
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/README.md +61 -431
- package/README_Ko-KR.md +62 -433
- package/assets/lithermes-plugin/README.md +6 -4
- package/assets/lithermes-plugin/humanizer_detector.py +1 -1
- package/assets/lithermes-plugin/jev_hint.py +42 -20
- package/assets/lithermes-plugin/payload-version.json +8 -8
- package/assets/lithermes-plugin/plugin.yaml +1 -1
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +2 -2
- package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +2 -2
- package/package.json +1 -1
- package/readme-assets/badge-version.svg +1 -1
package/README.md
CHANGED
|
@@ -1,344 +1,87 @@
|
|
|
1
|
-
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
1
|
+
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/cover-motion.webp" width="100%" alt="LitFamily motion cover: five armored robots power on one by one, the LitHermes robot wakes with glowing eyes and a lit frame, then LITFAMILY and KEEP THE WORK LIT. light up." /></picture></p>
|
|
2
2
|
|
|
3
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
4
|
-
|
|
5
|
-
<details>
|
|
6
|
-
<summary>Copy ASCII logo</summary>
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
▄▄▄▄
|
|
10
|
-
▗███▌ ▗██████▖
|
|
11
|
-
▗▄▄▄▄▄ ▗▟████▌ ▝██████▘
|
|
12
|
-
▐█████ ▗▟██████▌ ▝▀▜█▀▘
|
|
13
|
-
▐█████ ▗▟███████▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
|
14
|
-
▐█████ ▗▟█████████████████████████ ▐█▀
|
|
15
|
-
▐█████ ████████████████████████████▀
|
|
16
|
-
▐█████ ██▛▘ ▄ ▄▄▄▄▖▄▄▄▄▄▄▄▄▄▄▄▄▄▖
|
|
17
|
-
▐█████ ▀ ▄██ ████▌█████████████▌
|
|
18
|
-
▐█████ ▄████ ████▌█████████████▌
|
|
19
|
-
▐█████ ▄█████▛ lithermes
|
|
20
|
-
▐█████ ▗▟█████▀▘ ▄▄▄▄▄ ▗▖
|
|
21
|
-
▐█████ ▐█████▀ █████ ▐▛▀
|
|
22
|
-
▐█████ ▐███▀ █████
|
|
23
|
-
▐█████ ▐█▀ █████
|
|
24
|
-
▐█████ ▝ █████
|
|
25
|
-
▐█████▄▄▄▄▄▄▄▖ █████
|
|
26
|
-
▐███████████▛ █████
|
|
27
|
-
▐██████████▀ █████
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
</details>
|
|
32
|
-
|
|
33
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/lithermes-wordmark.svg" width="480" alt="LITHERMES display type" /></p>
|
|
34
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/lithermes-clay-icon.png" width="160" alt="LitHermes clay mark" /></p>
|
|
3
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B mark" /></p>
|
|
35
4
|
|
|
36
5
|
<p align="center">
|
|
37
|
-
<a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
38
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
6
|
+
<a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/badge-version.svg" alt="1.0.11" /></a>
|
|
7
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/badge-license.svg" alt="MIT license" /></a>
|
|
39
8
|
</p>
|
|
40
9
|
|
|
41
10
|
<p align="center">
|
|
42
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
43
|
-
<a href="
|
|
44
|
-
<a href="https://
|
|
45
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
11
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/lucide-book-open.svg" width="16" alt="" /> Guide</a>
|
|
12
|
+
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition film</a>
|
|
13
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/readme-assets/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
46
14
|
</p>
|
|
47
15
|
|
|
48
16
|
# LitHermes
|
|
49
17
|
|
|
50
18
|
**Keep the work lit.**
|
|
51
19
|
|
|
52
|
-
**
|
|
20
|
+
A plugin for **Hermes Agent**. Add `lit` to a request, and Hermes plans the task, does it, checks it, and leaves a note the next session can pick up.
|
|
53
21
|
|
|
54
|
-
[한국어](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
22
|
+
**[Full guide, skills gallery and A/B results on GitHub](https://github.com/wjgoarxiv/lithermes#readme)** · [한국어](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.11/README_Ko-KR.md)
|
|
55
23
|
|
|
56
24
|
## Install
|
|
57
25
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
The installer targets your Hermes home. For an isolated trial, set `HERMES_HOME` to a new empty directory before installation and use that same value when starting Hermes. Keep your existing home and settings. `--no-patch-installed-hermes` also prevents compatibility edits to the detected host installation outside that profile.
|
|
61
|
-
|
|
62
|
-
Install the scoped npm package:
|
|
26
|
+
You need Hermes Agent, Node.js 18 or later, and write access to your Hermes home (normally `~/.hermes`).
|
|
63
27
|
|
|
64
28
|
```sh
|
|
65
29
|
npx --yes --package @litfamily/lithermes@latest -- lithermes install --yes --no-style
|
|
66
30
|
```
|
|
67
31
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
```sh
|
|
71
|
-
LITHERMES_PACK='/absolute/path/to/the-reviewed-package.tgz'
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
```sh
|
|
75
|
-
npm exec --yes --package "$LITHERMES_PACK" -- lithermes install --yes --no-style --no-auto-update --no-patch-installed-hermes
|
|
76
|
-
```
|
|
32
|
+
The first `--yes` lets npx run the package; the second approves the changes to your Hermes configuration. `--no-style` skips the reply-style picker and leaves the Ignition skin alone. Nothing connects to Telegram during installation.
|
|
77
33
|
|
|
78
|
-
|
|
34
|
+
To try it apart from your usual setup, set `HERMES_HOME` to a new, empty directory before installing and start Hermes with the same value. Adding `--no-patch-installed-hermes` also keeps compatibility edits away from the Hermes installation outside that profile.
|
|
79
35
|
|
|
80
|
-
##
|
|
36
|
+
## Your first task
|
|
81
37
|
|
|
82
|
-
Restart the Hermes CLI or gateway, then
|
|
38
|
+
Restart the Hermes CLI or gateway, then type:
|
|
83
39
|
|
|
84
40
|
```text
|
|
85
41
|
lit Build a to-do list in one HTML file without external dependencies. Implement add, complete, and delete; record what you checked and what remains.
|
|
86
42
|
```
|
|
87
43
|
|
|
88
|
-
|
|
44
|
+
The reply begins with exactly one `🔥 **LIT IGNITED · <discipline>** 🔥` line, so you can tell the route took. When it finishes, open the file and try each action yourself, and ask Hermes to separate what it actually checked from what is still unverified. Then run `/lit-handoff`. A new session in the same project can read that handoff and continue from it.
|
|
89
45
|
|
|
90
|
-
|
|
46
|
+
The spark is the record you leave. It does not mean work keeps running after the session closes.
|
|
91
47
|
|
|
92
|
-
|
|
48
|
+
## Routes you will use most
|
|
93
49
|
|
|
94
|
-
|
|
50
|
+
| Type | Skill | For |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| `lit <request>` or `/lit` | `litwork` | A bounded task that ends with checked results |
|
|
53
|
+
| `lit-plan` or `/lit-plan` | `lit-plan` | A plan, before anything is edited |
|
|
54
|
+
| `/start-work <approved-plan>` | `start-work` | Running a plan you approved |
|
|
55
|
+
| `lit review <target>` or `/review-work` | `review-work` | Reviewing a plan or a result |
|
|
56
|
+
| `lit research <question>` | `litresearch` | Research with source notes |
|
|
57
|
+
| `handoff` or `/lit-handoff` | `lit-handoff` | Carrying the work into the next session |
|
|
58
|
+
| `/lit-humanizer` | `lit-humanizer` | Revising Korean or English prose without changing its meaning |
|
|
59
|
+
| `/lit-diagram-drawer <brief>` | `lit-diagram-drawer` | A checked, editable diagram |
|
|
60
|
+
| `/lit-pptx <brief>` | `lit-pptx` | A PowerPoint deck with its Markdown source |
|
|
61
|
+
| `/lit-docx <brief>` | `lit-docx` | A styled Word report with its Markdown source |
|
|
62
|
+
| `/lit-typographic-motion <brief>` | `lit-typographic-motion` | A short film, treatment first |
|
|
95
63
|
|
|
96
|
-
|
|
64
|
+
On a Telegram gateway, use `/lit_loop` and `/lit_plan`. Every skill also loads by name as `lithermes:<name>`, for example `lithermes:lit-pptx` or `lithermes:lit-docx`. The other bundled skills are `litgoal`, `lit-recap`, `deep-interview`, `lit-crucible`, `lit-init`, `lit-comprehend`, `frontend-ui-ux`, `readme-studio`, `lit-scientific-visualization`, `visual-qa`, `browser-drive`, `structural-search`, `wikify`, `debugging`, `refactor`, `lit-burnoff`, `lit-burnoff-file`, `lit-code`, `lit-commit`, `lsp-setup`, `lsp`, `rules`, `comment-checker`, `autoresearch` and `autoconference`. The GitHub page shows each one with a picture.
|
|
97
65
|
|
|
98
|
-
|
|
66
|
+
## Making more than code
|
|
99
67
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
68
|
+
- **Reports and slides.** A report or presentation request with a bare `lit` goes to `lit-docx` or `lit-pptx`. You get DOCX, PPTX or both, with the Markdown source beside them. Korean documents default to the korean-generic profile and slides to AZURE-PRO with Pretendard, unless you choose otherwise. On first use the Office runtime installs pinned dependencies into a LitHermes cache.
|
|
69
|
+
- **Diagrams.** `lit-diagram-drawer` makes conceptual and technical diagrams. Product pages stay with `frontend-ui-ux`, and plots of measured data with `lit-scientific-visualization`.
|
|
70
|
+
- **Films.** `lit-typographic-motion` writes a treatment first, and when its gate passes you get a 60 fps film with a poster, a reduced-motion still and a QA report. Run `lithermes motion-runtime status` to check Chrome, ffmpeg, WebGL2 and fonts, and `lithermes motion-runtime install` to fetch dependencies ahead of time.
|
|
71
|
+
- **Prose.** `lit-humanizer` revises Korean and English drafts while keeping their facts. Its detector checks reader-facing text written through Hermes `write_file` and `patch`: a block-tier finding can stop the write, and warnings are advice.
|
|
103
72
|
|
|
104
|
-
|
|
73
|
+
## What changes after install
|
|
105
74
|
|
|
106
|
-
### Hermes integration
|
|
107
75
|
|
|
108
|
-
|
|
76
|
+
- The plugin goes into your Hermes home. After a restart, Hermes has new hooks, commands, skills and `goal_*` work tools.
|
|
77
|
+
- Goals, plans and evidence are written to local records under `.hermes/lithermes/` in your project, where the next session can read them.
|
|
78
|
+
- The Hermes CLI gains the Ignition skin. Choose it with `/skin lithermes-ignition` and restart, or use `/skin lithermes-tokyonight-day` on a light terminal and `/skin lithermes-tokyonight` on a dark one. A fresh interactive, color-capable install run with `--yes` selects Ignition only when `display.skin` is absent, and existing skin files are kept.
|
|
79
|
+
- Update notices are cache-only, and you decide whether to act on them. The check runs at most once every 24 hours through `update-check.json`; `--offline`, `--json`, `--dry-run`, CI and piped streams never install updates. The notice suggests `npx --yes --package @litfamily/lithermes@<version> -- lithermes install --yes --no-hud`. Set `NO_UPDATE_NOTIFIER=1` or `LITHERMES_NO_UPDATE_CHECK=1` to turn the check off.
|
|
80
|
+
- LitHermes routes the request; Hermes Agent still runs the model.
|
|
109
81
|
|
|
110
|
-
|
|
111
|
-
flowchart TD
|
|
112
|
-
H["Hermes Agent"] --> P["Python plugin · register(ctx)"]
|
|
113
|
-
P --> K["Hooks · before and after model and tool calls"]
|
|
114
|
-
P --> S["Commands and skills · SKILL.md"]
|
|
115
|
-
P --> T["goal_* work tools"]
|
|
116
|
-
T <--> R["Project records · .hermes/lithermes/litgoal/"]
|
|
117
|
-
R --> K
|
|
118
|
-
```
|
|
82
|
+
## Does it help?
|
|
119
83
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
### Ignition Skin
|
|
123
|
-
|
|
124
|
-
In the Hermes CLI, `/skin` lists the active and available skins. Select `/skin lithermes-ignition`, then restart Hermes to inspect the startup banner. Ignition uses orange, lime, ivory, and navy. Its supported welcome includes the five-row MICRO mark in compact layout, while the host may still omit the full `banner_logo` there. The ten numbered accent presets remain available. A fresh interactive color-capable unattended install selects Ignition only when `display.skin` is absent. Existing selections and skin files are preserved.
|
|
125
|
-
|
|
126
|
-
For a light terminal, select `/skin lithermes-tokyonight-day`; for a dark terminal, select `/skin lithermes-tokyonight`, then restart Hermes. Both keep body, status, and completion-menu text readable, recolor the existing MICRO and banner artwork, and preserve existing skin selections and files. Typed input keeps the terminal's default color. A natural Lit reply adds its MICRO acknowledgement once at the end.
|
|
127
|
-
|
|
128
|
-
The Skin changes the CLI appearance. Output style changes reply wording. A gateway conversation does not show the CLI Skin. Rendered appearance depends on the host and terminal; installed YAML alone does not establish that it is visible.
|
|
129
|
-
|
|
130
|
-
Existing named skin files are not auto-refreshed. To refresh an existing regular file, move it to a preserved backup, rerun the installer so the missing named file is recreated, then reapply your custom edits. Symlinked or unexpected targets remain protected. On macOS, the CPR-disabled `prompt_toolkit` divider may remain ANSI-256 even when other Rich output retains the approved colors.
|
|
131
|
-
|
|
132
|
-
### Interface and README work
|
|
133
|
-
|
|
134
|
-
`frontend-ui-ux` builds a specified interface after confirming material design choices; review-only and plan-only requests stay read-only. `readme-studio` writes a factual README and local cover with outlined Pretendard/Meslo type, editable source, and verified motion when available. Hermes lists it as `lithermes:readme-studio`. If no native image generator is available, the skill reports `IMAGE_GENERATION_UNAVAILABLE`; explicitly supplied imagery can still be composed. These workflows do not log in, install globally, or publish.
|
|
135
|
-
|
|
136
|
-
Use the exact `lit-diagram-drawer` route, exposed as `lithermes:lit-diagram-drawer`, for conceptual and technical diagrams. A diagram-creation request with leading or trailing bare `lit` also selects this skill and points to its installed entrypoint. Product pages stay with `frontend-ui-ux`, and plots of measured scientific data stay with `lit-scientific-visualization`. For reports and presentations, bare `lit` routes to the bundled `lithermes:lit-docx` and `lithermes:lit-pptx` skills. It creates DOCX, PPTX, or both as requested and keeps Markdown sources beside them. The defaults are the korean-generic document profile for Korean and AZURE-PRO with Pretendard for slides; explicit user choices win. The packaged Office runtime installs pinned dependencies on first use into a LitHermes cache, then runs the document and deck QA gates. Use `/lit-docx <brief>` or `/lit-pptx <brief>` for an explicit route.
|
|
137
|
-
|
|
138
|
-
The installed skill IDs are `lit-pptx` and `lit-docx`; Hermes exposes them as `lithermes:lit-pptx` and `lithermes:lit-docx`.
|
|
139
|
-
|
|
140
|
-
`lit-typographic-motion` is available as `lithermes:lit-typographic-motion` and `/lit-typographic-motion <brief>`. Bare `lit` plus a film-creation request loads it as a film director: it writes a treatment first, then renders a stage film (a model-authored HTML page captured frame by frame) or, when the words themselves are the film, a type film on its original WebGL2 engine, with a labelled generated sound bed by default. Run `lithermes motion-runtime status` to check Chrome, ffmpeg, WebGL2, software rendering and pinned fonts; `lithermes motion-runtime install` pre-warms dependencies outside the render session. The skill delivers a 60 fps film (1920×1080, or 1080×1920 on the stage path), compact preview, poster, reduced-motion still and a numeric QA report when its gate passes. Typographic-motion engine adapted from mexicat/pdoom-video (MIT, Giacomo Magnanini), commit `ca251e3`.
|
|
141
|
-
|
|
142
|
-
### Reader-facing prose
|
|
143
|
-
|
|
144
|
-
The `lit-humanizer` skill is available as `lithermes:lit-humanizer`.
|
|
145
|
-
|
|
146
|
-
`lithermes:lit-humanizer` helps revise Korean and English drafts while preserving their facts and intended meaning. Its detector checks changed reader-facing text in supported formats, including SVG, passed through Hermes `write_file` and `patch`: block-tier findings can stop those writes before save, and warning-tier findings are review advice. DOCX/PPTX checks run after creation when a file-write event or script result reports the output path; PDF text is checked only when `pdftotext` is available and its path is reported. Those document checks are advisory and ask Hermes to revise the source and rebuild. The detector does not identify who wrote text.
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
## Skills at a glance
|
|
150
|
-
|
|
151
|
-
Every skill you can call in LitHermes, with the route that starts it. Each one also loads explicitly as `lithermes:<name>`.
|
|
152
|
-
|
|
153
|
-
<table>
|
|
154
|
-
<tr><th>What it looks like</th><th>Skill</th><th>What you get</th></tr>
|
|
155
|
-
<tr>
|
|
156
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/litwork.webp" width="240" alt="Add lit to a request. A notepad plus a strict RED, GREEN, surface, cleanup loop for each criterion." /></td>
|
|
157
|
-
<td><code>litwork</code><br /><sub><code>lit <task></code> · <code>litwork <task></code></sub></td>
|
|
158
|
-
<td>Add <code>lit</code> to a request. A notepad plus a strict RED, GREEN, surface, cleanup loop for each criterion.</td>
|
|
159
|
-
</tr>
|
|
160
|
-
<tr>
|
|
161
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-plan.webp" width="240" alt="A plan file with numbered task rows that start-work can execute. Nothing is edited yet." /></td>
|
|
162
|
-
<td><code>lit-plan</code><br /><sub><code>lit plan <what></code> · <code>/lit-plan</code></sub></td>
|
|
163
|
-
<td>A plan file with numbered task rows that <code>start-work</code> can execute. Nothing is edited yet.</td>
|
|
164
|
-
</tr>
|
|
165
|
-
<tr>
|
|
166
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/start-work.webp" width="240" alt="Runs a plan row by row. A box is checked only after all five gates pass." /></td>
|
|
167
|
-
<td><code>start-work</code><br /><sub><code>/start-work <approved-plan></code></sub></td>
|
|
168
|
-
<td>Runs a plan row by row. A box is checked only after all five gates pass.</td>
|
|
169
|
-
</tr>
|
|
170
|
-
<tr>
|
|
171
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/review-work.webp" width="240" alt="Five independent review lanes read the same change and report findings first." /></td>
|
|
172
|
-
<td><code>review-work</code><br /><sub><code>lit review <scope></code> · <code>/review-work</code></sub></td>
|
|
173
|
-
<td>Five independent review lanes read the same change and report findings first.</td>
|
|
174
|
-
</tr>
|
|
175
|
-
<tr>
|
|
176
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/litgoal.webp" width="240" alt="One objective with checkable criteria, kept on disk so the next session can pick it up." /></td>
|
|
177
|
-
<td><code>litgoal</code><br /><sub><code>lit goal <outcome></code> · <code>/litgoal</code></sub></td>
|
|
178
|
-
<td>One objective with checkable criteria, kept on disk so the next session can pick it up.</td>
|
|
179
|
-
</tr>
|
|
180
|
-
<tr>
|
|
181
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-recap.webp" width="240" alt="A read-only summary: done, in progress, blocked, where the evidence is, what comes next." /></td>
|
|
182
|
-
<td><code>lit-recap</code><br /><sub><code>lit-recap</code></sub></td>
|
|
183
|
-
<td>A read-only summary: done, in progress, blocked, where the evidence is, what comes next.</td>
|
|
184
|
-
</tr>
|
|
185
|
-
<tr>
|
|
186
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-handoff.webp" width="240" alt="Type handoff to get a continuation file the next session can read and resume from." /></td>
|
|
187
|
-
<td><code>lit-handoff</code><br /><sub><code>handoff</code> · <code>/lit-handoff</code></sub></td>
|
|
188
|
-
<td>Type <code>handoff</code> to get a continuation file the next session can read and resume from.</td>
|
|
189
|
-
</tr>
|
|
190
|
-
<tr>
|
|
191
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/deep-interview.webp" width="240" alt="One question at a time until the idea is clear enough to build. A meter shows how much is still vague." /></td>
|
|
192
|
-
<td><code>deep-interview</code><br /><sub><code>deep-interview <idea></code> · <code>/deep-interview</code></sub></td>
|
|
193
|
-
<td>One question at a time until the idea is clear enough to build. A meter shows how much is still vague.</td>
|
|
194
|
-
</tr>
|
|
195
|
-
<tr>
|
|
196
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/litresearch.webp" width="240" alt="Splits a research question, sends parallel searchers and follows every lead before answering with sources." /></td>
|
|
197
|
-
<td><code>litresearch</code><br /><sub><code>lit research <question></code></sub></td>
|
|
198
|
-
<td>Splits a research question, sends parallel searchers and follows every lead before answering with sources.</td>
|
|
199
|
-
</tr>
|
|
200
|
-
<tr>
|
|
201
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-crucible.webp" width="240" alt="Pressure-tests a brief before planning. Only the risks that survive critique reach the plan." /></td>
|
|
202
|
-
<td><code>lit-crucible</code><br /><sub><code>lit-crucible <brief></code></sub></td>
|
|
203
|
-
<td>Pressure-tests a brief before planning. Only the risks that survive critique reach the plan.</td>
|
|
204
|
-
</tr>
|
|
205
|
-
<tr>
|
|
206
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-init.webp" width="240" alt="Maps a repository into a root AGENTS.md and short guides for the folders that need one." /></td>
|
|
207
|
-
<td><code>lit-init</code><br /><sub><code>lit-init</code></sub></td>
|
|
208
|
-
<td>Maps a repository into a root AGENTS.md and short guides for the folders that need one.</td>
|
|
209
|
-
</tr>
|
|
210
|
-
<tr>
|
|
211
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-comprehend.webp" width="240" alt="An explainer page for agent-written work: intuition first, then the walkthrough, then a short quiz." /></td>
|
|
212
|
-
<td><code>lit-comprehend</code><br /><sub><code>lit-comprehend</code> · <code>comprehend <range></code></sub></td>
|
|
213
|
-
<td>An explainer page for agent-written work: intuition first, then the walkthrough, then a short quiz.</td>
|
|
214
|
-
</tr>
|
|
215
|
-
<tr>
|
|
216
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-humanizer.webp" width="240" alt="Rewrites stiff model prose in English or Korean. Facts and hedges stay, and no file is edited on its own." /></td>
|
|
217
|
-
<td><code>lit-humanizer</code><br /><sub><code>humanizer <text></code> · <code>/lit-humanizer</code></sub></td>
|
|
218
|
-
<td>Rewrites stiff model prose in English or Korean. Facts and hedges stay, and no file is edited on its own.</td>
|
|
219
|
-
</tr>
|
|
220
|
-
<tr>
|
|
221
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-diagram-drawer.webp" width="240" alt="A checked, editable diagram for slides and documents, with PNG and Office-safe SVG exports." /></td>
|
|
222
|
-
<td><code>lit-diagram-drawer</code><br /><sub><code>lit-diagram-drawer <brief></code> · <code>/lit-diagram-drawer</code></sub></td>
|
|
223
|
-
<td>A checked, editable diagram for slides and documents, with PNG and Office-safe SVG exports.</td>
|
|
224
|
-
</tr>
|
|
225
|
-
<tr>
|
|
226
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-pptx.webp" width="240" alt="Ask for slides with lit and get an editable PowerPoint deck and its Markdown source, AZURE-PRO with Pretendard by default. QA and integrity checks run on the finished file." /></td>
|
|
227
|
-
<td><code>lit-pptx</code><br /><sub><code>lit-pptx <brief></code> · <code>/lit-pptx</code></sub></td>
|
|
228
|
-
<td>Ask for slides with <code>lit</code> and get an editable PowerPoint deck and its Markdown source, AZURE-PRO with Pretendard by default. QA and integrity checks run on the finished file.</td>
|
|
229
|
-
</tr>
|
|
230
|
-
<tr>
|
|
231
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-docx.webp" width="240" alt="Ask for a report with lit and get a styled Word file and its Markdown source. Korean text uses the korean-generic profile; prose lint and a rendered-page check follow." /></td>
|
|
232
|
-
<td><code>lit-docx</code><br /><sub><code>lit-docx <brief></code> · <code>/lit-docx</code></sub></td>
|
|
233
|
-
<td>Ask for a report with <code>lit</code> and get a styled Word file and its Markdown source. Korean text uses the korean-generic profile; prose lint and a rendered-page check follow.</td>
|
|
234
|
-
</tr>
|
|
235
|
-
<tr>
|
|
236
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/frontend-ui-ux.webp" width="240" alt="Builds a working interface, then the installed measured probe renders it in seven views: four widths, dark, reduced motion and 200% zoom." /></td>
|
|
237
|
-
<td><code>frontend-ui-ux</code><br /><sub><code>lit design <target></code> · <code>frontend-ui-ux <target></code></sub></td>
|
|
238
|
-
<td>Builds a working interface, then the installed measured probe renders it in seven views: four widths, dark, reduced motion and 200% zoom.</td>
|
|
239
|
-
</tr>
|
|
240
|
-
<tr>
|
|
241
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/readme-studio.webp" width="240" alt="A factual README with a moving cover, checked at phone and desktop widths in light and dark." /></td>
|
|
242
|
-
<td><code>readme-studio</code><br /><sub><code>readme-studio <scope></code></sub></td>
|
|
243
|
-
<td>A factual README with a moving cover, checked at phone and desktop widths in light and dark.</td>
|
|
244
|
-
</tr>
|
|
245
|
-
<tr>
|
|
246
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-typographic-motion.webp" width="240" alt="Ask for a video with lit. A treatment comes first, then drawn scenes or moving type, a generated sound bed and a gate before the film is delivered." /></td>
|
|
247
|
-
<td><code>lit-typographic-motion</code><br /><sub><code>lit-typographic-motion <request></code> · <code>/lit-typographic-motion</code></sub></td>
|
|
248
|
-
<td>Ask for a video with <code>lit</code>. A treatment comes first, then drawn scenes or moving type, a generated sound bed and a gate before the film is delivered.</td>
|
|
249
|
-
</tr>
|
|
250
|
-
<tr>
|
|
251
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-scientific-visualization.webp" width="240" alt="A journal-sized figure with vector and 600 DPI exports. The chart type follows the data." /></td>
|
|
252
|
-
<td><code>lit-scientific-visualization</code><br /><sub><code>lit-scientific-visualization</code> · <code>/lit-scientific-visualization</code></sub></td>
|
|
253
|
-
<td>A journal-sized figure with vector and 600 DPI exports. The chart type follows the data.</td>
|
|
254
|
-
</tr>
|
|
255
|
-
<tr>
|
|
256
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/visual-qa.webp" width="240" alt="Checks a real screen at each viewport and returns an honest verdict, or names exactly what blocked it." /></td>
|
|
257
|
-
<td><code>visual-qa</code><br /><sub><code>visual-qa <target></code></sub></td>
|
|
258
|
-
<td>Checks a real screen at each viewport and returns an honest verdict, or names exactly what blocked it.</td>
|
|
259
|
-
</tr>
|
|
260
|
-
<tr>
|
|
261
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/browser-drive.webp" width="240" alt="Drives a real page after verifying the browser driver. If there is none, it says so." /></td>
|
|
262
|
-
<td><code>browser-drive</code><br /><sub><code>browser-drive <task></code></sub></td>
|
|
263
|
-
<td>Drives a real page after verifying the browser driver. If there is none, it says so.</td>
|
|
264
|
-
</tr>
|
|
265
|
-
<tr>
|
|
266
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/structural-search.webp" width="240" alt="Finds code by its syntax shape, not its text, and previews rewrites before applying them." /></td>
|
|
267
|
-
<td><code>structural-search</code><br /><sub><code>lit structural <pattern></code> · <code>structural-search <pattern></code></sub></td>
|
|
268
|
-
<td>Finds code by its syntax shape, not its text, and previews rewrites before applying them.</td>
|
|
269
|
-
</tr>
|
|
270
|
-
<tr>
|
|
271
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/wikify.webp" width="240" alt="Keeps reviewed project knowledge on disk and answers later questions from it, with sources." /></td>
|
|
272
|
-
<td><code>wikify</code><br /><sub><code>wikify <mode></code> · <code>lit wikify <mode></code></sub></td>
|
|
273
|
-
<td>Keeps reviewed project knowledge on disk and answers later questions from it, with sources.</td>
|
|
274
|
-
</tr>
|
|
275
|
-
<tr>
|
|
276
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/debugging.webp" width="240" alt="Reproduces the bug, tests at least three explanations, and fixes only the confirmed cause." /></td>
|
|
277
|
-
<td><code>debugging</code><br /><sub><code>lit debug <symptom></code> · <code>debugging <symptom></code></sub></td>
|
|
278
|
-
<td>Reproduces the bug, tests at least three explanations, and fixes only the confirmed cause.</td>
|
|
279
|
-
</tr>
|
|
280
|
-
<tr>
|
|
281
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/refactor.webp" width="240" alt="Restructures code while tests pin its behavior before and after every step." /></td>
|
|
282
|
-
<td><code>refactor</code><br /><sub><code>lit refactor <target></code> · <code>refactor <target></code></sub></td>
|
|
283
|
-
<td>Restructures code while tests pin its behavior before and after every step.</td>
|
|
284
|
-
</tr>
|
|
285
|
-
<tr>
|
|
286
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-burnoff.webp" width="240" alt="Cleans AI-written bloat out of a change set after tests lock what it does." /></td>
|
|
287
|
-
<td><code>lit-burnoff</code><br /><sub><code>lit slop <scope></code></sub></td>
|
|
288
|
-
<td>Cleans AI-written bloat out of a change set after tests lock what it does.</td>
|
|
289
|
-
</tr>
|
|
290
|
-
<tr>
|
|
291
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-burnoff-file.webp" width="240" alt="The same cleanup for one file: fewer narrating comments, less defensive noise, flatter code." /></td>
|
|
292
|
-
<td><code>lit-burnoff-file</code><br /><sub><code>ask to clean one file</code></sub></td>
|
|
293
|
-
<td>The same cleanup for one file: fewer narrating comments, less defensive noise, flatter code.</td>
|
|
294
|
-
</tr>
|
|
295
|
-
<tr>
|
|
296
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-code.webp" width="240" alt="Strict implementation rules: tests first, typed boundaries, small files." /></td>
|
|
297
|
-
<td><code>lit-code</code><br /><sub><code>ask for strict implementation</code></sub></td>
|
|
298
|
-
<td>Strict implementation rules: tests first, typed boundaries, small files.</td>
|
|
299
|
-
</tr>
|
|
300
|
-
<tr>
|
|
301
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lit-commit.webp" width="240" alt="Splits your changes into atomic commits in the repo's own style and leaves unrelated work alone." /></td>
|
|
302
|
-
<td><code>lit-commit</code><br /><sub><code>lit git <task></code></sub></td>
|
|
303
|
-
<td>Splits your changes into atomic commits in the repo's own style and leaves unrelated work alone.</td>
|
|
304
|
-
</tr>
|
|
305
|
-
<tr>
|
|
306
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lsp-setup.webp" width="240" alt="Sets up a language server for your language and proves diagnostics really work." /></td>
|
|
307
|
-
<td><code>lsp-setup</code><br /><sub><code>lsp-setup <language></code></sub></td>
|
|
308
|
-
<td>Sets up a language server for your language and proves diagnostics really work.</td>
|
|
309
|
-
</tr>
|
|
310
|
-
<tr>
|
|
311
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/lsp.webp" width="240" alt="Uses Hermes' language server for diagnostics, references and rename checks when you ask." /></td>
|
|
312
|
-
<td><code>lsp</code><br /><sub><code>lsp <request></code></sub></td>
|
|
313
|
-
<td>Uses Hermes' language server for diagnostics, references and rename checks when you ask.</td>
|
|
314
|
-
</tr>
|
|
315
|
-
<tr>
|
|
316
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/rules.webp" width="240" alt="Explains which rule files Hermes loads, and when." /></td>
|
|
317
|
-
<td><code>rules</code><br /><sub><code>rules <question></code></sub></td>
|
|
318
|
-
<td>Explains which rule files Hermes loads, and when.</td>
|
|
319
|
-
</tr>
|
|
320
|
-
<tr>
|
|
321
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/comment-checker.webp" width="240" alt="Reviews the comments an edit added: reasons stay, narration goes. It also runs after source edits." /></td>
|
|
322
|
-
<td><code>comment-checker</code><br /><sub><code>comment-checker</code></sub></td>
|
|
323
|
-
<td>Reviews the comments an edit added: reasons stay, narration goes. It also runs after source edits.</td>
|
|
324
|
-
</tr>
|
|
325
|
-
<tr>
|
|
326
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/autoresearch.webp" width="240" alt="An approved, budgeted experiment loop. Each round changes one thing and keeps or reverts it." /></td>
|
|
327
|
-
<td><code>autoresearch</code><br /><sub><code>autoresearch <mode></code></sub></td>
|
|
328
|
-
<td>An approved, budgeted experiment loop. Each round changes one thing and keeps or reverts it.</td>
|
|
329
|
-
</tr>
|
|
330
|
-
<tr>
|
|
331
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/skills/autoconference.webp" width="240" alt="A budgeted research conference: separate researchers, reviewers, and a synthesis that keeps disagreement." /></td>
|
|
332
|
-
<td><code>autoconference</code><br /><sub><code>autoconference <mode></code></sub></td>
|
|
333
|
-
<td>A budgeted research conference: separate researchers, reviewers, and a synthesis that keeps disagreement.</td>
|
|
334
|
-
</tr>
|
|
335
|
-
</table>
|
|
336
|
-
|
|
337
|
-
## Simple-prompt A/B
|
|
338
|
-
|
|
339
|
-
Each prompt is one casual Korean line. The LitHermes arm adds ` lit` to the same line and nothing else. Both arms ran in Hermes Agent v0.21.3 with `gpt-6-sol` at reasoning `high` on 2026-09-26, one trial per arm; the LitHermes arm used a local pre-release build. A blind judge (Claude Opus 5.5) saw both outputs with tool names removed and compared them in both orders. The maintainer then looked at both outputs side by side and made the final call.
|
|
340
|
-
|
|
341
|
-
S3, S4 and S11 come from a later UI round, and S5, S8 and S9 from an office round that used `lit-pptx` and `lit-docx`; each replaces the earlier result for the same task. In the UI round the LitHermes arm never ran its measured interface probe, because the skill did not yet give the probe's installed path. The skill now does; those three tasks have not been re-run. In S3 and S4 the baseline ran without the file-write sandbox the LitHermes arm ran in.
|
|
84
|
+
Ten casual one-line Korean prompts were each run once in Hermes Agent v0.21.3 with `gpt-6-sol` at reasoning `high`, as written and with ` lit` added at the end. A blind judge compared each pair in both orders, and the maintainer made the final call.
|
|
342
85
|
|
|
343
86
|
| Task | Prompt | Final verdict | Blind judge (same round) |
|
|
344
87
|
|---|---|---|---|
|
|
@@ -354,148 +97,35 @@ S3, S4 and S11 come from a later UI round, and S5, S8 and S9 from an office roun
|
|
|
354
97
|
| S11 · Meeting-room booking web app (UI round) | 회의실 예약 웹앱 만들어줘 | **LitHermes won** | Tie |
|
|
355
98
|
| Total | | **8 won, 2 tied, 0 lost** | 5 won, 3 tied, 2 lost |
|
|
356
99
|
|
|
357
|
-
The motion cover at the top was made with the LitFamily motion skill. That skill (`lit-typographic-motion` here) was rebuilt after its first A/B and has no A/B result yet.
|
|
358
|
-
|
|
359
|
-
### What each side produced
|
|
360
|
-
|
|
361
|
-
**S1 · Tie (judge: baseline won).** Both CLIs handled help, add, list and done, and both passed their own tests (6 for the baseline, 4 for LitHermes). The judge preferred the baseline: its interface stayed in Korean, it added editing and a done-only filter, and it guarded the data file with locking and atomic writes, while the LitHermes CLI and README were in English. The maintainer judged the two even.
|
|
362
|
-
|
|
363
|
-
**S2 · Tie.** Both arms fixed all six known bugs and left no visible test failing. LitHermes named four of them in its reply against three and confirmed the page-two fix on a running server; the baseline documented its new validation rules in the README. The judge and the maintainer both called it even.
|
|
364
|
-
|
|
365
|
-
**S3 · LitHermes won.** The LitHermes dashboard added CSV export and budget editing with one consistent icon set, and its reply cited browser checks from 320 to 1440 px. The baseline chart stretched its axis and month labels, worst on a phone. The accessibility scan flagged more nodes on the LitHermes page (117 against 91).
|
|
366
|
-
|
|
367
|
-
| Baseline | LitHermes |
|
|
368
|
-
|---|---|
|
|
369
|
-
|  |  |
|
|
370
|
-
|
|
371
|
-
**S4 · LitHermes won.** LitHermes built a tabbed menu with items and prices, six distinct photos and an arched hero; the baseline menu was three mood cards, and it reused one interior photo. Only the baseline gave location and opening hours, and the page check found 7 clipped or off-screen text boxes on the LitHermes page against none on the baseline.
|
|
372
|
-
|
|
373
|
-
| Baseline | LitHermes |
|
|
374
|
-
|---|---|
|
|
375
|
-
|  |  |
|
|
376
|
-
|
|
377
|
-
**S5 · LitHermes won.** Both arms got all 12 checked source facts right. LitHermes noticed that the 2026 review and council deadlines had already passed, where the baseline listed them as upcoming tasks, and it added points the sources support, such as the gap between weekend hub and weekday van use. The baseline's slides are the better designed ones; the LitHermes deck is a plain default template.
|
|
378
|
-
|
|
379
|
-
Baseline:
|
|
380
|
-
|
|
381
|
-

|
|
382
|
-
|
|
383
|
-
LitHermes:
|
|
384
|
-
|
|
385
|
-

|
|
386
|
-
|
|
387
|
-
**S6 · LitHermes won (judge: tie).** LitHermes found 3 of 10 reference facts against 1, every link it gave pointed to an official source (a quarter of the baseline's did), and it covered npm 11 applying `--ignore-scripts` to `prepare`, Undici 7 and the dropped ARMv7 builds. The baseline listed more API details but presented the permission-flag rename as new in 24, which the judge called misleading.
|
|
388
|
-
|
|
389
|
-
**S7 · LitHermes won.** LitHermes delivered a rendered, editable HTML diagram with payment-failure and cancellation paths, and said plainly that it skipped the PNG export and visual check because the required Chrome was missing. The baseline drew ASCII boxes in chat, which the judge expected to misalign because Korean characters are double width. The maintainer called the gap overwhelming.
|
|
100
|
+
The judge preferred the baseline in S1 and S8. What each side produced, the screenshots, and the notes on which tasks came from later rounds are on GitHub. The motion cover at the top was made with the LitFamily motion skill. That skill (`lit-typographic-motion` here) was rebuilt after its first A/B and has no A/B result yet.
|
|
390
101
|
|
|
391
|
-
|
|
392
|
-
|---|---|
|
|
393
|
-
| ASCII boxes in chat; no rendered file |  |
|
|
102
|
+
## Optional: Jev skill hint
|
|
394
103
|
|
|
395
|
-
|
|
104
|
+
This is off by default. With `LITHERMES_JEV=1` and your own `TYPESAFE_API_KEY` set in the environment Hermes runs in, LitHermes asks Jev, TypeSafe's hosted decision model, which bundled skill fits a plain prompt. The answer becomes one advisory line in that turn's context. The Hermes model still decides, and the hint grants no permission and starts no tool.
|
|
396
105
|
|
|
397
|
-
|
|
106
|
+
While it is on, each eligible prompt is sent to TypeSafe (typesafe.ai), truncated to 2,000 characters, with home paths, email addresses and token-shaped strings redacted. Anything without a token shape is sent as written, such as hostnames, customer names, and passwords not written as `password=...`. In gateway mode, other participants' messages in a chat are eligible too. The agent's own tools can read the exported key, so use a dedicated key with a low spend limit; TypeSafe bills your account, at about $0.04 per million input tokens. Each request stops after 1.5 seconds with no retry, and a failed request leaves the turn unchanged.
|
|
398
107
|
|
|
399
|
-
|
|
108
|
+
The first reply of each session starts with `✦ Jev skill hint ON`. Inside a Hermes session, `hermes lithermes status` and `hermes lithermes doctor` show that session's last hint, for example `Jev skill hint: on — last hint lit-humanizer (0.43s)`, or `on — no hint yet`. Outside any session they read `on — no session`; otherwise `off` or `flag on but TYPESAFE_API_KEY missing`. To turn it off, unset `LITHERMES_JEV` or set it to any value other than `1`. The full details are in the GitHub README and the [privacy notes](https://github.com/wjgoarxiv/lithermes/blob/main/docs/privacy.md).
|
|
400
109
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-

|
|
404
|
-
|
|
405
|
-
**S9 · LitHermes won.** The baseline asked which product to plan and wrote no document. LitHermes wrote a 3-page Word plan for a fictional modular desk tray, with the customer problem, price assumptions, a validation schedule and a production decision rule, and the judge found its break-even arithmetic correct.
|
|
406
|
-
|
|
407
|
-
| Baseline | LitHermes |
|
|
408
|
-
|---|---|
|
|
409
|
-
| No document; it asked which product to plan |  |
|
|
410
|
-
|
|
411
|
-
**S11 · LitHermes won (judge: tie).** LitHermes delivered an app with a date overview, a people filter, search, 30-minute slots and four passing logic tests. The judge found the baseline's single timeline across all rooms clearer and noted that it opens straight from `index.html`, while the LitHermes app needs npm and a local server and puts an illustrated banner above the schedule. The maintainer preferred the LitHermes app.
|
|
412
|
-
|
|
413
|
-
| Baseline | LitHermes |
|
|
414
|
-
|---|---|
|
|
415
|
-
|  |  |
|
|
416
|
-
|
|
417
|
-
Image URLs are pinned candidate release paths; they do not imply public availability before a separately approved package release.
|
|
418
|
-
|
|
419
|
-
## Commands and hooks
|
|
420
|
-
|
|
421
|
-
### Core commands
|
|
422
|
-
|
|
423
|
-
| Input | Use |
|
|
424
|
-
|---|---|
|
|
425
|
-
| `lit <request>` or `/lit` | Start a bounded task and leave checked results. |
|
|
426
|
-
| `handoff` or `/lit-handoff` | Carry the current work and next step into another session. |
|
|
427
|
-
| `lit-plan` or `/lit-plan` | Write a plan before execution. |
|
|
428
|
-
| `/start-work <approved-plan>` | Execute an approved plan. |
|
|
429
|
-
| `/review-work` | Review a plan or result and record findings. |
|
|
430
|
-
| `litresearch` or `lit research <question>` | Use the shipped research workflow with source notes. |
|
|
431
|
-
| `lit review <target>` | Review a plan or result. |
|
|
432
|
-
| `/lit-loop` | Start, inspect, resume, or close an explicit loop. |
|
|
433
|
-
| `/litgoal` | Track criteria, evidence, checkpoints, and blockers. |
|
|
434
|
-
| `/lit-humanizer` | Revise Korean and English prose while preserving meaning. Legacy aliases include `/lit-korean`, `/text-naturalization`, `/text-neutralization`, and `/korean-ai-slop-remover`. |
|
|
435
|
-
| `/lit-diagram-drawer <brief>` | Create an accessible, Korean-ready diagram and check its content and geometry with the installed Python tools. |
|
|
436
|
-
| `/lit-pptx <brief>` | Create and check a PowerPoint deck with the bundled AZURE-PRO engine. |
|
|
437
|
-
| `/lit-docx <brief>` | Create, edit, and audit a Word report with publisher profiles. |
|
|
438
|
-
| `/lit-typographic-motion <brief>` | Direct and gate an original film from a treatment, on the stage or the type path. |
|
|
439
|
-
|
|
440
|
-
For Telegram gateway dispatch, use `/lit_loop` and `/lit_plan`. The complete command examples and hook behavior are in the [operating guide](https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md). A route acknowledgement is a host message; it does not prove that the work or visual checks are complete.
|
|
441
|
-
|
|
442
|
-
### Jev skill hint (optional)
|
|
443
|
-
|
|
444
|
-
LitHermes can ask Jev, TypeSafe's hosted decision model, which bundled LitHermes skill fits a plain prompt. The answer becomes one advisory line in that turn's context. The Hermes model still decides whether to load the skill; the hint grants no permission and starts no tool. Slash commands and prompts that an existing LitHermes route already handles are left alone.
|
|
445
|
-
|
|
446
|
-
It is off by default. To turn it on, set both variables, with your own TypeSafe key, in the environment Hermes runs in:
|
|
110
|
+
## Check, remove, stay safe
|
|
447
111
|
|
|
448
112
|
```sh
|
|
449
|
-
|
|
450
|
-
|
|
113
|
+
npx --package @litfamily/lithermes -- lithermes doctor --offline
|
|
114
|
+
npx --package @litfamily/lithermes -- lithermes uninstall --yes
|
|
451
115
|
```
|
|
452
116
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
## Troubleshooting
|
|
117
|
+
If compatibility patches were installed, add `--rollback-patches` when uninstalling. Uninstalling leaves the skin files and `display.skin` in place; `npx --package @litfamily/lithermes -- lithermes hud off` clears that choice and keeps the files.
|
|
456
118
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
- Preview configuration changes with `npm exec --yes --package "$LITHERMES_PACK" -- lithermes install --dry-run --no-auto-update --no-patch-installed-hermes`. Code, quotations, and copied commands remain inert data; secrets are redacted before persistence or model handoff.
|
|
119
|
+
- Preview configuration changes with `lithermes install --dry-run`. Code, quotations and copied commands remain inert data, and secrets are redacted before persistence or model handoff.
|
|
460
120
|
- Native `/goal` is user-managed and unobserved. Durable `goal_*` state is authoritative; there is no automatic update, clear, or resume of native `/goal`.
|
|
461
|
-
- Hermes uses
|
|
462
|
-
-
|
|
463
|
-
-
|
|
121
|
+
- Hermes uses one global child model route. Per-task model overrides and named reviewer routes are unavailable, and a configuration receipt does not prove which route a child actually ran on.
|
|
122
|
+
- If Lit skills seem to be missing, ask Hermes to call its `skills_list` tool and look for LitHermes entries. The filesystem-only `/skills` listing may differ by host version. An import error in the Hermes log is a loading failure, not a missing pip package to install on a guess.
|
|
123
|
+
- If a same-named skill elsewhere shadows a LitHermes one, `lithermes doctor` prints a `skill shadow check: WARNING` line. Load the LitHermes copy as `lithermes:<name>`. The warning never changes doctor's exit status.
|
|
464
124
|
|
|
465
|
-
|
|
125
|
+
## Learn more
|
|
466
126
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
npm exec --yes --package "$LITHERMES_PACK" -- lithermes doctor --offline --no-auto-update
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
Remove the plugin:
|
|
474
|
-
|
|
475
|
-
```sh
|
|
476
|
-
npm exec --yes --package "$LITHERMES_PACK" -- lithermes uninstall --yes --no-auto-update
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
If compatibility patches were installed, add `--rollback-patches` when uninstalling. Uninstall leaves native skin files and the selected `display.skin` in place. To clear the choice explicitly, run `npm exec --yes --package "$LITHERMES_PACK" -- lithermes hud off` in that profile; this keeps the skin files and other settings.
|
|
480
|
-
|
|
481
|
-
If Lit skills are missing, ask Hermes to call its `skills_list` tool and look for LitHermes entries. Plugin-provided skills and filesystem-only `/skills` listings may differ by host version. An import error in the Hermes log is a loading failure, not a missing pip package to install speculatively; retain the message and consult the operating guide.
|
|
482
|
-
|
|
483
|
-
## Links
|
|
484
|
-
|
|
485
|
-
### Deeper docs
|
|
486
|
-
|
|
487
|
-
- [Operating guide: commands, models, skins, and troubleshooting](https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md)
|
|
488
|
-
- [Python plugin contract](https://github.com/wjgoarxiv/lithermes/blob/main/packages/lithermes-installer/assets/lithermes-plugin/README.md)
|
|
489
|
-
- [Changelog](https://github.com/wjgoarxiv/lithermes/blob/main/CHANGELOG.md)
|
|
490
|
-
- [npm package guide](https://github.com/wjgoarxiv/lithermes/blob/main/packages/lithermes-installer/README.md)
|
|
491
|
-
- [Privacy](https://github.com/wjgoarxiv/lithermes/blob/main/docs/privacy.md) · [Migration](https://github.com/wjgoarxiv/lithermes/blob/main/docs/migration.md)
|
|
492
|
-
|
|
493
|
-
### Community and migration
|
|
494
|
-
|
|
495
|
-
[Contributing](https://github.com/wjgoarxiv/lithermes/blob/main/CONTRIBUTING.md) · [Security](https://github.com/wjgoarxiv/lithermes/blob/main/SECURITY.md) · [Conduct](https://github.com/wjgoarxiv/lithermes/blob/main/CODE_OF_CONDUCT.md) · [Support](https://github.com/wjgoarxiv/lithermes/blob/main/SUPPORT.md)
|
|
127
|
+
- [Full README on GitHub](https://github.com/wjgoarxiv/lithermes#readme): the skills gallery, the A/B results with screenshots, and how it works
|
|
128
|
+
- [Operating guide](https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md): commands, models, skins and troubleshooting
|
|
129
|
+
- [Changelog](https://github.com/wjgoarxiv/lithermes/blob/main/CHANGELOG.md) · [Contributing](https://github.com/wjgoarxiv/lithermes/blob/main/CONTRIBUTING.md) · [Security](https://github.com/wjgoarxiv/lithermes/blob/main/SECURITY.md) · [Support](https://github.com/wjgoarxiv/lithermes/blob/main/SUPPORT.md)
|
|
496
130
|
|
|
497
131
|
MIT License.
|
|
498
|
-
|
|
499
|
-
### LITFAMILY
|
|
500
|
-
|
|
501
|
-
Install each product separately in its supported agent harness.
|