@litfamily/litclaude 1.0.13 → 1.0.14
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 +9 -0
- package/README.md +82 -986
- package/README_ko-KR.md +79 -978
- package/docs/assets/readme/badge-version.svg +1 -1
- package/docs/hooks.md +10 -7
- package/docs/privacy.md +2 -2
- package/package.json +4 -1
- package/plugins/litclaude/.claude-plugin/plugin.json +1 -1
- package/plugins/litclaude/bin/litclaude-hud.js +22 -10
- package/plugins/litclaude/bin/litclaude-mcp.js +1 -1
- package/plugins/litclaude/lib/canonical-skill-resources.mjs +3 -3
- package/plugins/litclaude/lib/hud-accent-palette.mjs +16 -4
- package/plugins/litclaude/lib/jev-skill-hint.mjs +25 -7
- package/plugins/litclaude/lib/office-runtime.mjs +14 -0
- package/plugins/litclaude/lib/secret-shapes.mjs +5 -1
- package/plugins/litclaude/skills/lit-typographic-motion/engine/node/runtime.mjs +17 -4
package/README.md
CHANGED
|
@@ -1,1027 +1,123 @@
|
|
|
1
|
-
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.
|
|
1
|
+
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/docs/assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/docs/assets/cover-motion.webp" width="100%" alt="LitFamily motion cover: five armored robots power on one by one, the LitClaude robot wakes with glowing eyes and a lit frame, then LITFAMILY and KEEP THE WORK LIT. light up." /></picture></p>
|
|
2
2
|
|
|
3
3
|
<h1 align="center">LitClaude</h1>
|
|
4
4
|
<p align="center"><strong>Keep the work lit.</strong></p>
|
|
5
5
|
<p align="center">Plan, build, and check your work in Claude Code. Leave the next session a place to begin.</p>
|
|
6
6
|
<p align="center">
|
|
7
|
-
<
|
|
7
|
+
<img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/docs/assets/readme/badge-version.svg" alt="1.0.14" />
|
|
8
|
+
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
|
|
8
9
|
</p>
|
|
9
|
-
|
|
10
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/readme/ascii-readme.svg" width="480" alt="LIT ASCII B mark" /></p>
|
|
11
|
-
|
|
12
|
-
<details>
|
|
13
|
-
<summary>Copy ASCII logo</summary>
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
▄▄▄▄
|
|
17
|
-
▗███▌ ▗██████▖
|
|
18
|
-
▗▄▄▄▄▄ ▗▟████▌ ▝██████▘
|
|
19
|
-
▐█████ ▗▟██████▌ ▝▀▜█▀▘
|
|
20
|
-
▐█████ ▗▟███████▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
|
21
|
-
▐█████ ▗▟█████████████████████████ ▐█▀
|
|
22
|
-
▐█████ ████████████████████████████▀
|
|
23
|
-
▐█████ ██▛▘ ▄ ▄▄▄▄▖▄▄▄▄▄▄▄▄▄▄▄▄▄▖
|
|
24
|
-
▐█████ ▀ ▄██ ████▌█████████████▌
|
|
25
|
-
▐█████ ▄████ ████▌█████████████▌
|
|
26
|
-
▐█████ ▄█████▛ claude
|
|
27
|
-
▐█████ ▗▟█████▀▘ ▄▄▄▄▄ ▗▖ ──────────────
|
|
28
|
-
▐█████ ▐█████▀ █████ ▐▛▀ hermes · codex
|
|
29
|
-
▐█████ ▐███▀ █████ opencode · grok
|
|
30
|
-
▐█████ ▐█▀ █████
|
|
31
|
-
▐█████ ▝ █████
|
|
32
|
-
▐█████▄▄▄▄▄▄▄▖ █████
|
|
33
|
-
▐███████████▛ █████
|
|
34
|
-
▐██████████▀ █████
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
</details>
|
|
39
|
-
|
|
40
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/litclaude-wordmark.svg" width="480" alt="LITCLAUDE display type" /></p>
|
|
41
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/litclaude-clay-icon.png" width="160" alt="LitClaude clay mark" /></p>
|
|
42
|
-
|
|
43
10
|
<p align="center">
|
|
44
|
-
<
|
|
45
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
|
|
11
|
+
<a href="https://github.com/wjgoarxiv/litclaude#readme">Full guide, skills gallery and A/B results on GitHub</a> · <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/README_ko-KR.md">한국어</a>
|
|
46
12
|
</p>
|
|
47
13
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
14
|
+
LitClaude is a Claude Code plugin. Add `lit` to a request and Claude pins the goal, writes a
|
|
15
|
+
failing test first, checks the real surface and leaves a record in your project. The next
|
|
16
|
+
session reads that record and picks up where this one stopped.
|
|
51
17
|
|
|
52
18
|
## Install
|
|
53
19
|
|
|
54
|
-
|
|
55
|
-
For local validation, start with the
|
|
56
|
-
[separate trial profile](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#separate-trial-profile).
|
|
57
|
-
|
|
58
|
-
The default safe installation command is:
|
|
20
|
+
You need Node.js with npm, and Claude Code.
|
|
59
21
|
|
|
60
22
|
```bash
|
|
61
23
|
npm exec --yes --package @litfamily/litclaude@latest -- litclaude install --yes
|
|
62
24
|
```
|
|
63
25
|
|
|
64
|
-
`--yes` skips install questions.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
## Quick start
|
|
69
|
-
|
|
70
|
-
Start Claude Code normally:
|
|
26
|
+
`--yes` skips the install questions. A new install uses the `safe` permission mode, which
|
|
27
|
+
adds no permission rules, and leaves your other Claude settings as they are. If you want
|
|
28
|
+
Claude to ask less often, choose a wider mode yourself:
|
|
71
29
|
|
|
72
30
|
```bash
|
|
73
|
-
claude
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
In Claude Code, begin with:
|
|
77
|
-
|
|
78
|
-
```text
|
|
79
|
-
lit
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
After the activation notice, try one small task:
|
|
83
|
-
|
|
84
|
-
```text
|
|
85
|
-
Build a to-do list in a single HTML file with no external dependencies.
|
|
86
|
-
Implement add, complete, and delete. Record what you checked and the next step.
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Open the HTML yourself and check all three actions. A created file is not proof of
|
|
90
|
-
working interactions. If no browser is available, ask for the visual and interaction
|
|
91
|
-
checks to remain unverified. The logo marks activation, not task completion.
|
|
92
|
-
|
|
93
|
-
Then use a core route from the table below. Bare prompt routes are handled by
|
|
94
|
-
the hook; namespaced slash commands use Claude Code's native command surface and
|
|
95
|
-
do not double-activate the hook. For an explicit skill invocation, use a route
|
|
96
|
-
such as `/litclaude:lit-loop`.
|
|
97
|
-
|
|
98
|
-
## Key features
|
|
99
|
-
|
|
100
|
-
A spark has been placed in your hands. Give it somewhere to stay.
|
|
101
|
-
|
|
102
|
-
A bug you want fixed. A screen you want built. A project you want to finish.
|
|
103
|
-
|
|
104
|
-
Starting takes a sentence. Then the conversation grows, the session ends, and you
|
|
105
|
-
have to work out where you left off: what you decided, what you checked, what comes next.
|
|
106
|
-
|
|
107
|
-
**LIT leaves that spark with the work.** A goal, a plan, the results you checked,
|
|
108
|
-
and the next step stay in the project for the next session to read.
|
|
109
|
-
|
|
110
|
-
**Leave something the next session can pick up.**
|
|
111
|
-
|
|
112
|
-
LitClaude adds evidence-first execution, planning, research and review to Claude Code.
|
|
113
|
-
Install its plugin and managed HUD once, then work in ordinary `claude` sessions.
|
|
114
|
-
|
|
115
|
-
## A/B results
|
|
116
|
-
|
|
117
|
-
Each prompt is one casual Korean line, typed as is. The LitClaude side adds ` lit` to the end of the same line and nothing else. Both sides ran in Claude Code 2.1.283 with Opus 5.5 (`opus[1m]`) at high effort on 2026-09-26, one trial per side; the baseline is Claude Code without LitClaude, and the LitClaude side used a local pre-release build.
|
|
118
|
-
|
|
119
|
-
A blind judge (Claude Opus 5.5 without LitClaude) saw the two outputs only as A and B, with words that could name the tool removed, and was asked twice with the order swapped; a side wins only when both orders agree. The maintainer then looked at both outputs side by side and made the final call. Where the maintainer did not review a pair, the judge's verdict stands and the row says so.
|
|
120
|
-
|
|
121
|
-
S3 and S4 come from a UI round that re-ran them after the interface update and added S11. S5 comes from an office round that re-ran it with `lit-pptx` and `lit-docx` and added S8 and S9. Some LitClaude runs were repeated after fixes, and runs whose fix copied a judge's reasons were thrown out; each row compares the latest kept LitClaude run with the one baseline run.
|
|
122
|
-
|
|
123
|
-
| Task | Prompt | Final verdict | Blind judge (same round) |
|
|
124
|
-
| --- | --- | --- | --- |
|
|
125
|
-
| S1 · Terminal to-do CLI | `터미널에서 쓰는 할 일 관리 CLI 만들어줘` | LitClaude won | Tie |
|
|
126
|
-
| S2 · API server bugs | `이 API 서버 가끔 이상하게 동작하는데 고쳐줘` | LitClaude won (blind judge; not reviewed by eye) | LitClaude won |
|
|
127
|
-
| S3 · Personal budget dashboard (UI round) | `개인 가계부 대시보드 웹페이지 만들어줘` | LitClaude won | Baseline won |
|
|
128
|
-
| S4 · Neighbourhood café landing page (UI round) | `동네 카페 브랜드 랜딩페이지 만들어줘` | LitClaude won | LitClaude won |
|
|
129
|
-
| S5 · Report and slides from sources (office round) | `sources 폴더 자료로 보고서랑 발표자료 만들어줘` | LitClaude won | Baseline won |
|
|
130
|
-
| S6 · Node 22 to 24 research | `Node 22에서 24로 올릴 때 달라지는 거 조사해줘` | LitClaude won | Tie |
|
|
131
|
-
| S7 · Order, payment and shipping diagram | `주문-결제-배송 서비스 구조도 그려줘` | LitClaude won (blind judge; not reviewed by eye) | LitClaude won |
|
|
132
|
-
| S8 · Quarterly results deck (office round) | `분기 실적 발표자료 만들어줘` | LitClaude won | Baseline won |
|
|
133
|
-
| S9 · New product plan (office round) | `신제품 기획서 써줘` | LitClaude won | LitClaude won |
|
|
134
|
-
| S11 · Meeting-room booking web app (UI round) | `회의실 예약 웹앱 만들어줘` | LitClaude won | LitClaude won |
|
|
135
|
-
| Total | | LitClaude 10 won | LitClaude 5 won, 2 ties, 3 lost |
|
|
136
|
-
|
|
137
|
-
The motion skill, `lit-typographic-motion`, was rebuilt after its first A/B and has no A/B result yet. The cover at the top of this page was made with it.
|
|
138
|
-
|
|
139
|
-
### S1 · Terminal to-do CLI
|
|
140
|
-
|
|
141
|
-
The baseline built more features (due dates, tags, filters, stats) but wrote no tests; LitClaude kept to priorities and shipped 12 passing tests and a pip-installable package. The blind judge called it a tie. The maintainer gave it to LitClaude because its own tests ran and passed.
|
|
142
|
-
|
|
143
|
-
### S2 · API server bugs
|
|
144
|
-
|
|
145
|
-
LitClaude fixed all six hidden bugs (the baseline fixed five), added a regression test for every fix, and also fixed a startup failure on symlinked paths and a wrong start command in the README. The baseline added no tests. The maintainer did not review this pair, so the blind judge's verdict stands.
|
|
146
|
-
|
|
147
|
-
### S3 · Personal budget dashboard
|
|
148
|
-
|
|
149
|
-
The blind judge preferred the baseline: a fuller dashboard (six-month bars, a running-total chart, top-5 expenses) on a balanced grid, where LitClaude left an empty column beside its long transaction list. LitClaude tried every action in a real browser and checked 320 to 1440 px, dark mode and 200% zoom; the automatic checks were mixed, with 6 accessibility violations against the baseline's 730 but more clipped text (51 against 30). The maintainer looked at both screens and chose LitClaude.
|
|
150
|
-
|
|
151
|
-
| Baseline | LitClaude |
|
|
152
|
-
| --- | --- |
|
|
153
|
-
| <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-baseline-desktop.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-baseline-desktop.webp" alt="Baseline budget dashboard, desktop: balance, monthly bar chart and category budgets" width="400" /></a> | <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-litclaude-desktop.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-litclaude-desktop.webp" alt="LitClaude budget dashboard, desktop: pixel piggy bank, balance, entry form and category budgets" width="400" /></a> |
|
|
154
|
-
|
|
155
|
-
<details>
|
|
156
|
-
<summary>Phone view</summary>
|
|
157
|
-
|
|
158
|
-
| Baseline | LitClaude |
|
|
159
|
-
| --- | --- |
|
|
160
|
-
| <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-baseline-phone.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-baseline-phone.webp" alt="Baseline budget dashboard, phone" width="180" /></a> | <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-litclaude-phone.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S3-litclaude-phone.webp" alt="LitClaude budget dashboard, phone" width="180" /></a> |
|
|
161
|
-
|
|
162
|
-
</details>
|
|
163
|
-
|
|
164
|
-
### S4 · Neighbourhood café landing page
|
|
165
|
-
|
|
166
|
-
LitClaude's page has a restrained design with hand-drawn pixel art and a dark mode, and its reply lists what it checked (opening-hours logic, keyboard tabs, four widths, dark mode). The baseline leans on emoji, made-up five-star reviews and a scrolling banner, and its full-page capture shows blank sections below the banner. The blind judge and the maintainer both chose LitClaude.
|
|
167
|
-
|
|
168
|
-
| Baseline | LitClaude |
|
|
169
|
-
| --- | --- |
|
|
170
|
-
| <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-baseline-desktop.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-baseline-desktop.webp" alt="Baseline café landing page, desktop: headline and a drawn coffee cup" width="400" /></a> | <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-litclaude-desktop.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-litclaude-desktop.webp" alt="LitClaude café landing page, desktop: headline and a pixel-art storefront" width="400" /></a> |
|
|
171
|
-
|
|
172
|
-
<details>
|
|
173
|
-
<summary>Phone view</summary>
|
|
174
|
-
|
|
175
|
-
| Baseline | LitClaude |
|
|
176
|
-
| --- | --- |
|
|
177
|
-
| <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-baseline-phone.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-baseline-phone.webp" alt="Baseline café landing page, phone" width="180" /></a> | <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-litclaude-phone.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S4-litclaude-phone.webp" alt="LitClaude café landing page, phone" width="180" /></a> |
|
|
178
|
-
|
|
179
|
-
</details>
|
|
180
|
-
|
|
181
|
-
### S5 · Report and slides from sources
|
|
182
|
-
|
|
183
|
-
The blind judge preferred the baseline: it added its own clearly labelled analysis (a Monday and weekend service gap, different data cut-off dates) and kept its 11-slide deck restrained, while LitClaude's 9-slide deck used decorative gradient circles, numbered badges and a closing thank-you slide. Both were accurate and checked; LitClaude's deck and 5-page Word report read their numbers from one data file, and the deck shows the budget as a doughnut chart. The maintainer judged LitClaude's files far more usable for real work.
|
|
184
|
-
|
|
185
|
-
Baseline slides:
|
|
186
|
-
|
|
187
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-baseline-slides.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-baseline-slides.webp" alt="First five slides of the baseline deck: cover, summary cards, program table, visit and boarding counts, on-site notes" width="100%" /></a>
|
|
188
|
-
|
|
189
|
-
LitClaude slides:
|
|
190
|
-
|
|
191
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-litclaude-slides.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-litclaude-slides.webp" alt="First five slides of the LitClaude deck: cover, KPI cards, key figures, a units table, observation cards" width="100%" /></a>
|
|
192
|
-
|
|
193
|
-
<details>
|
|
194
|
-
<summary>Report pages</summary>
|
|
195
|
-
|
|
196
|
-
Baseline:
|
|
197
|
-
|
|
198
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-baseline-pages.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-baseline-pages.webp" alt="First three pages of the baseline Word report" width="100%" /></a>
|
|
199
|
-
|
|
200
|
-
LitClaude:
|
|
201
|
-
|
|
202
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-litclaude-pages.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S5-litclaude-pages.webp" alt="First three pages of the LitClaude Word report" width="100%" /></a>
|
|
203
|
-
|
|
204
|
-
</details>
|
|
205
|
-
|
|
206
|
-
### S6 · Node 22 to 24 research
|
|
207
|
-
|
|
208
|
-
LitClaude marked SlowBuffer correctly as runtime-deprecated where the baseline listed it as removed, and added the Node 24.11.0 `Buffer.allocUnsafe` issue, build toolchain requirements and a full LTS table. The baseline matched more of the reference facts (4 of 10 against 2) and gave a fuller codemod list, and the blind judge called it a tie. The maintainer gave it to LitClaude because far more of its links were official sources (86% against 43%).
|
|
209
|
-
|
|
210
|
-
### S7 · Order, payment and shipping diagram
|
|
211
|
-
|
|
212
|
-
LitClaude drew a real diagram and saved it as HTML/SVG and PNG, with a boundary box, a legend, solid lines for calls and dashed lines for events; it checked the export and listed what it left out. The baseline gave ASCII art in chat and saved no file. The maintainer did not review this pair, so the blind judge's verdict stands.
|
|
213
|
-
|
|
214
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S7-litclaude-diagram.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S7-litclaude-diagram.webp" alt="LitClaude diagram: customer app, API gateway, order service, event broker, payment and shipping services, with PG and courier outside the service boundary" width="640" /></a>
|
|
215
|
-
|
|
216
|
-
### S8 · Quarterly results deck
|
|
217
|
-
|
|
218
|
-
Both sides invented sample figures and marked them as samples on every slide. The blind judge preferred the baseline: its 9 slides follow the usual Korean earnings-deck order (a legal notice, year-on-year and quarter-on-quarter comparisons, Q&A), while LitClaude's 8-slide deck has decorative gradient circles on the cover and no notice slide; the layout check found 16 overlapping text pairs in the baseline deck and none in LitClaude's, which had one overflowing text box. The maintainer found LitClaude's deck clearly better.
|
|
219
|
-
|
|
220
|
-
Baseline slides:
|
|
221
|
-
|
|
222
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S8-baseline-slides.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S8-baseline-slides.webp" alt="First five slides of the baseline earnings deck: cover, legal notice, KPI cards, income statement, revenue chart" width="100%" /></a>
|
|
223
|
-
|
|
224
|
-
LitClaude slides:
|
|
225
|
-
|
|
226
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S8-litclaude-slides.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S8-litclaude-slides.webp" alt="First five slides of the LitClaude earnings deck: cover, KPI cards, quarterly chart, segment chart, income table" width="100%" /></a>
|
|
227
|
-
|
|
228
|
-
### S9 · New product plan
|
|
229
|
-
|
|
230
|
-
LitClaude wrote a 5-page Word plan for an example product it labels as one, with financials that add up; the baseline wrote only a Markdown file, with no financials and blank market-size figures. The maintainer found the first LitClaude run in this round weak (it returned a template of bracketed blanks) and the later runs a clear win. The blind judge also chose LitClaude.
|
|
231
|
-
|
|
232
|
-
LitClaude pages (the baseline made no Word file):
|
|
233
|
-
|
|
234
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S9-litclaude-pages.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S9-litclaude-pages.webp" alt="First three pages of the LitClaude product plan: summary, target customer and spec table, competitor and unit-economics tables" width="100%" /></a>
|
|
235
|
-
|
|
236
|
-
### S11 · Meeting-room booking web app
|
|
237
|
-
|
|
238
|
-
LitClaude shipped unit and API tests and tried booking, conflicts, cancelling and keyboard-only use in a real browser; the baseline has no tests and says it never submitted its own booking form. LitClaude also adds dark mode and a room picker for phones. The blind judge and the maintainer both chose LitClaude.
|
|
239
|
-
|
|
240
|
-
The screenshot check served only the page files, without each app's own server, so both screens show how the app reports a failed load.
|
|
241
|
-
|
|
242
|
-
| Baseline | LitClaude |
|
|
243
|
-
| --- | --- |
|
|
244
|
-
| <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-baseline-desktop.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-baseline-desktop.webp" alt="Baseline booking app, desktop: empty page with a raw 404 error toast" width="400" /></a> | <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-litclaude-desktop.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-litclaude-desktop.webp" alt="LitClaude booking app, desktop: a plain Korean message that the room list could not load, beside the booking form" width="400" /></a> |
|
|
245
|
-
|
|
246
|
-
<details>
|
|
247
|
-
<summary>Phone view</summary>
|
|
248
|
-
|
|
249
|
-
| Baseline | LitClaude |
|
|
250
|
-
| --- | --- |
|
|
251
|
-
| <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-baseline-phone.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-baseline-phone.webp" alt="Baseline booking app, phone" width="180" /></a> | <a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-litclaude-phone.webp"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/ab/S11-litclaude-phone.webp" alt="LitClaude booking app, phone" width="180" /></a> |
|
|
252
|
-
|
|
253
|
-
</details>
|
|
254
|
-
|
|
255
|
-
## Core routes
|
|
256
|
-
|
|
257
|
-
### Start with one lit task
|
|
258
|
-
|
|
259
|
-
Append `lit` to the end of a prompt to activate the Claude Code hook. It supplies routing guidance; Claude Code still performs the work.
|
|
260
|
-
|
|
261
|
-
| Prompt or route | Effect |
|
|
262
|
-
| --- | --- |
|
|
263
|
-
| `lit` | Activate the evidence-first work loop in the current Claude Code conversation. |
|
|
264
|
-
| `handoff` | Carry the checked result and next step into another session. |
|
|
265
|
-
| `lit-plan` | Write a bounded plan and its checks before implementation. |
|
|
266
|
-
| `/litclaude:start-work <approved-plan>` | Execute a plan that has already been approved. |
|
|
267
|
-
| `review-work` | Read the change and evidence, then report remaining work. |
|
|
268
|
-
| `litresearch` | Research with sources; this route records facts and uncertainty separately. |
|
|
269
|
-
|
|
270
|
-
The hook marks entry into the workflow; it does not prove that a task or browser check finished.
|
|
271
|
-
|
|
272
|
-
<p align="center"><a href="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/readme/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/readme/ignition-poster.png" width="720" alt="Ignition motion poster" /></a></p>
|
|
273
|
-
|
|
274
|
-
The poster opens the optional Ignition film; this README keeps motion opt-in.
|
|
275
|
-
|
|
276
|
-
### Carry the work forward
|
|
277
|
-
|
|
278
|
-
```text
|
|
279
|
-
Plan → Build → Check → Hand off
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
| When you want to | In Claude Code | Leave behind |
|
|
283
|
-
| --- | --- | --- |
|
|
284
|
-
| Define the work | `lit plan <what>` | A plan and success criteria |
|
|
285
|
-
| Execute an approved plan | Give that plan to `/litclaude:start-work` | Changes and checked results |
|
|
286
|
-
| Review the result | `lit review <scope>` | Findings and remaining work |
|
|
287
|
-
| Finish the session | `/litclaude:lit-handoff` | A continuation file and its path |
|
|
288
|
-
|
|
289
|
-
Goal-bound work records its state under the project's `.litclaude/litgoal/`.
|
|
290
|
-
Keep the **actual file path** returned by the handoff. In a new session, open the same
|
|
291
|
-
project and ask Claude to read that file, check the current state, and identify the
|
|
292
|
-
next action. Then choose what to continue. The [goal and ledger reference](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#review-and-litgoal-parity)
|
|
293
|
-
explains the recording commands and host boundaries.
|
|
294
|
-
|
|
295
|
-
The lasting spark means leaving work another session can pick up. It does not mean
|
|
296
|
-
a process runs forever or automatically resumes after the session closes. Read the
|
|
297
|
-
record and compare it with the current files before continuing.
|
|
298
|
-
|
|
299
|
-
### Full route catalog
|
|
300
|
-
|
|
301
|
-
| Type this | Purpose |
|
|
302
|
-
| --- | --- |
|
|
303
|
-
| `lit`, `litwork` | Evidence-first, test-first execution loop; also `$lit-loop`, `/lit-loop`, and `/litclaude:lit-loop` |
|
|
304
|
-
| `lit plan <what>` | Planning only; also `$lit-plan` and `/lit-plan` |
|
|
305
|
-
| `lit review <scope>` | Review a plan or completed work; also `$review-work` and `/review-work` |
|
|
306
|
-
| `lit research <question>` | Cited public-source research; also `$litresearch` and `/litclaude:litresearch` |
|
|
307
|
-
| `lit search <question>` | Public-source retrieval |
|
|
308
|
-
| `lit query <question>` | Evidence lookup against durable local state |
|
|
309
|
-
| `lit goal <outcome>` | Bind one objective and checkable criteria; also `$litgoal` and `/litgoal` |
|
|
310
|
-
| `lit workflow <objective>` | Propose a Dynamic workflow for broad delegated work |
|
|
311
|
-
| `lit team`, `lit teammates` | Propose native agent teams when `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` is enabled and the user approves |
|
|
312
|
-
| `$deep-interview`, `/deep-interview` | Turn an underspecified request into a decision-complete brief |
|
|
313
|
-
| `lit recap`, `litrecap`, `$lit-recap`, `/lit-recap`, `/litclaude:lit-recap` | Read-only session recap |
|
|
314
|
-
| `handoff`, `/litclaude:lit-handoff` | Write a verified continuation packet |
|
|
315
|
-
| `lit-scientific-visualization` | Prepare publication figures; also `/litclaude:lit-scientific-visualization` |
|
|
316
|
-
| `/litclaude:lit-diagram-drawer <brief>` | Draw, check, and export a conceptual diagram; also `lit-diagram-drawer` and `$lit-diagram-drawer` |
|
|
317
|
-
| `<make slides …> lit`, `/litclaude:lit-pptx` | Build a `.pptx` deck from a request or sources; also `lit-pptx` and `$lit-pptx` |
|
|
318
|
-
| `<write a report …> lit`, `/litclaude:lit-docx` | Build a `.docx` report, plan, proposal, or manuscript; also `lit-docx` and `$lit-docx` |
|
|
319
|
-
| `litclaude wikify <capture/save/review/query/config>` | Manage reviewed local structured knowledge |
|
|
320
|
-
| `browser-drive`, `$browser-drive` | Drive a real page only after probing `vercel-labs/agent-browser` at or above the 0.34.0 floor; later valid versions are marked `beyond-verified`, and the agent never runs the user install steps |
|
|
321
|
-
|
|
322
|
-
Named workflow skills include `lit-crucible` (adversarial planning), `lit-init`
|
|
323
|
-
(repository guidance), `lit-commit` (Git history), `lit-team` (native teams),
|
|
324
|
-
`lit-burnoff` (change-set cleanup), `lit-burnoff-file` (single-file cleanup),
|
|
325
|
-
`lit-humanizer` (Korean and English prose), and `lit-code` (implementation discipline).
|
|
326
|
-
Use the leading bare name or `$<skill-id>`. Previous typed names remain aliases
|
|
327
|
-
for one release and emit a deprecation note; see [the alias migration table](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#one-release-rename-aliases).
|
|
328
|
-
|
|
329
|
-
## Skills at a glance
|
|
330
|
-
|
|
331
|
-
One row per skill: what it looks like, the route that starts it, and what you get.
|
|
332
|
-
|
|
333
|
-
<table>
|
|
334
|
-
<tr><th>What it looks like</th><th>Skill</th><th>What you get</th></tr>
|
|
335
|
-
<tr>
|
|
336
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-loop.webp" width="240" alt="Add lit to any request. Claude pins the goal, writes a failing test first, checks the real surface and leaves a record." /></td>
|
|
337
|
-
<td><code>lit-loop</code><br /><sub><code>lit</code></sub></td>
|
|
338
|
-
<td>Add <code>lit</code> to any request. Claude pins the goal, writes a failing test first, checks the real surface and leaves a record.</td>
|
|
339
|
-
</tr>
|
|
340
|
-
<tr>
|
|
341
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/litwork.webp" width="240" alt="Ship with proof. A notepad tracks every criterion from failing test to cleanup." /></td>
|
|
342
|
-
<td><code>litwork</code><br /><sub><code>litwork <task></code></sub></td>
|
|
343
|
-
<td>Ship with proof. A notepad tracks every criterion from failing test to cleanup.</td>
|
|
344
|
-
</tr>
|
|
345
|
-
<tr>
|
|
346
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
347
|
-
<td><code>lit-plan</code><br /><sub><code>lit plan <what></code></sub></td>
|
|
348
|
-
<td>A plan file with numbered task rows that <code>start-work</code> can execute. Nothing is edited yet.</td>
|
|
349
|
-
</tr>
|
|
350
|
-
<tr>
|
|
351
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
352
|
-
<td><code>start-work</code><br /><sub><code>start-work <plan></code></sub></td>
|
|
353
|
-
<td>Runs a plan row by row. A box is checked only after all five gates pass.</td>
|
|
354
|
-
</tr>
|
|
355
|
-
<tr>
|
|
356
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/review-work.webp" width="240" alt="Five independent review lanes read the same change and report findings first." /></td>
|
|
357
|
-
<td><code>review-work</code><br /><sub><code>lit review <scope></code></sub></td>
|
|
358
|
-
<td>Five independent review lanes read the same change and report findings first.</td>
|
|
359
|
-
</tr>
|
|
360
|
-
<tr>
|
|
361
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/litgoal.webp" width="240" alt="One objective with checkable criteria, kept on disk so the next session can pick it up." /></td>
|
|
362
|
-
<td><code>litgoal</code><br /><sub><code>lit goal <outcome></code></sub></td>
|
|
363
|
-
<td>One objective with checkable criteria, kept on disk so the next session can pick it up.</td>
|
|
364
|
-
</tr>
|
|
365
|
-
<tr>
|
|
366
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-recap.webp" width="240" alt="A read-only summary: done, in progress, blocked, where the evidence is, what comes next." /></td>
|
|
367
|
-
<td><code>lit-recap</code><br /><sub><code>lit recap</code> · <code>litrecap</code></sub></td>
|
|
368
|
-
<td>A read-only summary: done, in progress, blocked, where the evidence is, what comes next.</td>
|
|
369
|
-
</tr>
|
|
370
|
-
<tr>
|
|
371
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-handoff.webp" width="240" alt="Type handoff to get a continuation file the next session can read and resume from." /></td>
|
|
372
|
-
<td><code>lit-handoff</code><br /><sub><code>handoff</code></sub></td>
|
|
373
|
-
<td>Type <code>handoff</code> to get a continuation file the next session can read and resume from.</td>
|
|
374
|
-
</tr>
|
|
375
|
-
<tr>
|
|
376
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
377
|
-
<td><code>deep-interview</code><br /><sub><code>deep-interview <idea></code></sub></td>
|
|
378
|
-
<td>One question at a time until the idea is clear enough to build. A meter shows how much is still vague.</td>
|
|
379
|
-
</tr>
|
|
380
|
-
<tr>
|
|
381
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/litresearch.webp" width="240" alt="Splits a research question, sends parallel searchers and follows every lead before answering with sources." /></td>
|
|
382
|
-
<td><code>litresearch</code><br /><sub><code>lit research <question></code> · <code>lit search</code></sub></td>
|
|
383
|
-
<td>Splits a research question, sends parallel searchers and follows every lead before answering with sources.</td>
|
|
384
|
-
</tr>
|
|
385
|
-
<tr>
|
|
386
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-crucible.webp" width="240" alt="Pressure-tests a brief before planning. Only the risks that survive critique reach the plan." /></td>
|
|
387
|
-
<td><code>lit-crucible</code><br /><sub><code>lit-crucible <brief></code></sub></td>
|
|
388
|
-
<td>Pressure-tests a brief before planning. Only the risks that survive critique reach the plan.</td>
|
|
389
|
-
</tr>
|
|
390
|
-
<tr>
|
|
391
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
392
|
-
<td><code>lit-init</code><br /><sub><code>lit-init</code></sub></td>
|
|
393
|
-
<td>Maps a repository into a root AGENTS.md and short guides for the folders that need one.</td>
|
|
394
|
-
</tr>
|
|
395
|
-
<tr>
|
|
396
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
397
|
-
<td><code>lit-comprehend</code><br /><sub><code>lit-comprehend <target></code></sub></td>
|
|
398
|
-
<td>An explainer page for agent-written work: intuition first, then the walkthrough, then a short quiz.</td>
|
|
399
|
-
</tr>
|
|
400
|
-
<tr>
|
|
401
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-humanizer.webp" width="240" alt="Rewrites stiff model prose in English or Korean. Facts and hedges stay; filler goes." /></td>
|
|
402
|
-
<td><code>lit-humanizer</code><br /><sub><code>lit-humanizer <text></code></sub></td>
|
|
403
|
-
<td>Rewrites stiff model prose in English or Korean. Facts and hedges stay; filler goes.</td>
|
|
404
|
-
</tr>
|
|
405
|
-
<tr>
|
|
406
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
407
|
-
<td><code>lit-diagram-drawer</code><br /><sub><code>/litclaude:lit-diagram-drawer <brief></code></sub></td>
|
|
408
|
-
<td>A checked, editable diagram for slides and documents, with PNG and Office-safe SVG exports.</td>
|
|
409
|
-
</tr>
|
|
410
|
-
<tr>
|
|
411
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-pptx.webp" width="240" alt="Ask for slides with lit and get an editable PowerPoint deck with native charts and embedded fonts. Each slide passes a layout gate and is checked as rendered." /></td>
|
|
412
|
-
<td><code>lit-pptx</code><br /><sub><code>/litclaude:lit-pptx <request></code></sub></td>
|
|
413
|
-
<td>Ask for slides with <code>lit</code> and get an editable PowerPoint deck with native charts and embedded fonts. Each slide passes a layout gate and is checked as rendered.</td>
|
|
414
|
-
</tr>
|
|
415
|
-
<tr>
|
|
416
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-docx.webp" width="240" alt="Ask for a report with lit and get a styled Word file with its Markdown source. Korean text is set in Pretendard, and the pages are rendered and read before delivery." /></td>
|
|
417
|
-
<td><code>lit-docx</code><br /><sub><code>/litclaude:lit-docx <request></code></sub></td>
|
|
418
|
-
<td>Ask for a report with <code>lit</code> and get a styled Word file with its Markdown source. Korean text is set in Pretendard, and the pages are rendered and read before delivery.</td>
|
|
419
|
-
</tr>
|
|
420
|
-
<tr>
|
|
421
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/frontend-ui-ux.webp" width="240" alt="Builds a working interface, then a measured probe renders it in seven views: 320, 390, 768 and 1440 px, dark, reduced motion and 200% zoom." /></td>
|
|
422
|
-
<td><code>frontend-ui-ux</code><br /><sub><code>frontend-ui-ux build <target></code></sub></td>
|
|
423
|
-
<td>Builds a working interface, then a measured probe renders it in seven views: 320, 390, 768 and 1440 px, dark, reduced motion and 200% zoom.</td>
|
|
424
|
-
</tr>
|
|
425
|
-
<tr>
|
|
426
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
427
|
-
<td><code>readme-studio</code><br /><sub><code>readme-studio <scope></code></sub></td>
|
|
428
|
-
<td>A factual README with a moving cover, checked at phone and desktop widths in light and dark.</td>
|
|
429
|
-
</tr>
|
|
430
|
-
<tr>
|
|
431
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-typographic-motion.webp" width="240" alt="Ask for a video with lit. It writes a treatment, draws the scenes or sets the words in motion, adds a sound bed, and checks flashes, legibility and sound before handing over the film." /></td>
|
|
432
|
-
<td><code>lit-typographic-motion</code><br /><sub><code>/litclaude:lit-typographic-motion <request></code></sub></td>
|
|
433
|
-
<td>Ask for a video with <code>lit</code>. It writes a treatment, draws the scenes or sets the words in motion, adds a sound bed, and checks flashes, legibility and sound before handing over the film.</td>
|
|
434
|
-
</tr>
|
|
435
|
-
<tr>
|
|
436
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
437
|
-
<td><code>lit-scientific-visualization</code><br /><sub><code>lit-scientific-visualization</code></sub></td>
|
|
438
|
-
<td>A journal-sized figure with vector and 600 DPI exports. The chart type follows the data.</td>
|
|
439
|
-
</tr>
|
|
440
|
-
<tr>
|
|
441
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
442
|
-
<td><code>visual-qa</code><br /><sub><code>visual-qa <target></code></sub></td>
|
|
443
|
-
<td>Checks a real screen at each viewport and returns an honest verdict, or names exactly what blocked it.</td>
|
|
444
|
-
</tr>
|
|
445
|
-
<tr>
|
|
446
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
447
|
-
<td><code>browser-drive</code><br /><sub><code>browser-drive <task></code></sub></td>
|
|
448
|
-
<td>Drives a real page after verifying the browser driver. If there is none, it says so.</td>
|
|
449
|
-
</tr>
|
|
450
|
-
<tr>
|
|
451
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/structural-search.webp" width="240" alt="Finds code by its syntax shape, not its text, and previews rewrites before applying them." /></td>
|
|
452
|
-
<td><code>structural-search</code><br /><sub><code>structural-search <pattern></code></sub></td>
|
|
453
|
-
<td>Finds code by its syntax shape, not its text, and previews rewrites before applying them.</td>
|
|
454
|
-
</tr>
|
|
455
|
-
<tr>
|
|
456
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-team.webp" width="240" alt="Coordinates several workers with separate slices, each reporting back with evidence." /></td>
|
|
457
|
-
<td><code>lit-team</code><br /><sub><code>lit team</code> · <code>lit teammates</code></sub></td>
|
|
458
|
-
<td>Coordinates several workers with separate slices, each reporting back with evidence.</td>
|
|
459
|
-
</tr>
|
|
460
|
-
<tr>
|
|
461
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/autoresearch.webp" width="240" alt="An approved, budgeted experiment loop. Each round changes one thing and keeps or reverts it." /></td>
|
|
462
|
-
<td><code>autoresearch</code><br /><sub><code>autoresearch <mode></code></sub></td>
|
|
463
|
-
<td>An approved, budgeted experiment loop. Each round changes one thing and keeps or reverts it.</td>
|
|
464
|
-
</tr>
|
|
465
|
-
<tr>
|
|
466
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/autoconference.webp" width="240" alt="A budgeted research conference: separate researchers, reviewers, and a synthesis that keeps disagreement." /></td>
|
|
467
|
-
<td><code>autoconference</code><br /><sub><code>autoconference <mode></code></sub></td>
|
|
468
|
-
<td>A budgeted research conference: separate researchers, reviewers, and a synthesis that keeps disagreement.</td>
|
|
469
|
-
</tr>
|
|
470
|
-
<tr>
|
|
471
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/wikify.webp" width="240" alt="Keeps reviewed project knowledge on disk and answers later questions from it, with sources." /></td>
|
|
472
|
-
<td><code>wikify</code><br /><sub><code>litclaude wikify capture|save|review|query|config</code></sub></td>
|
|
473
|
-
<td>Keeps reviewed project knowledge on disk and answers later questions from it, with sources.</td>
|
|
474
|
-
</tr>
|
|
475
|
-
<tr>
|
|
476
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/debugging.webp" width="240" alt="Reproduces the bug, tests at least three explanations, and fixes only the confirmed cause." /></td>
|
|
477
|
-
<td><code>debugging</code><br /><sub><code>debugging <symptom></code></sub></td>
|
|
478
|
-
<td>Reproduces the bug, tests at least three explanations, and fixes only the confirmed cause.</td>
|
|
479
|
-
</tr>
|
|
480
|
-
<tr>
|
|
481
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/refactor.webp" width="240" alt="Restructures code while tests pin its behavior before and after every step." /></td>
|
|
482
|
-
<td><code>refactor</code><br /><sub><code>refactor <target></code></sub></td>
|
|
483
|
-
<td>Restructures code while tests pin its behavior before and after every step.</td>
|
|
484
|
-
</tr>
|
|
485
|
-
<tr>
|
|
486
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-burnoff.webp" width="240" alt="Cleans AI-written bloat out of a change set after tests lock what it does." /></td>
|
|
487
|
-
<td><code>lit-burnoff</code><br /><sub><code>lit-burnoff <scope></code></sub></td>
|
|
488
|
-
<td>Cleans AI-written bloat out of a change set after tests lock what it does.</td>
|
|
489
|
-
</tr>
|
|
490
|
-
<tr>
|
|
491
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-burnoff-file.webp" width="240" alt="The same cleanup for one file: fewer narrating comments, less defensive noise, flatter code." /></td>
|
|
492
|
-
<td><code>lit-burnoff-file</code><br /><sub><code>lit-burnoff-file <path></code></sub></td>
|
|
493
|
-
<td>The same cleanup for one file: fewer narrating comments, less defensive noise, flatter code.</td>
|
|
494
|
-
</tr>
|
|
495
|
-
<tr>
|
|
496
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lit-code.webp" width="240" alt="Strict implementation rules: tests first, typed boundaries, small files." /></td>
|
|
497
|
-
<td><code>lit-code</code><br /><sub><code>lit-code <task></code></sub></td>
|
|
498
|
-
<td>Strict implementation rules: tests first, typed boundaries, small files.</td>
|
|
499
|
-
</tr>
|
|
500
|
-
<tr>
|
|
501
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/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>
|
|
502
|
-
<td><code>lit-commit</code><br /><sub><code>lit-commit</code></sub></td>
|
|
503
|
-
<td>Splits your changes into atomic commits in the repo's own style and leaves unrelated work alone.</td>
|
|
504
|
-
</tr>
|
|
505
|
-
<tr>
|
|
506
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/lsp-setup.webp" width="240" alt="Sets up a language server for your language and proves diagnostics really work." /></td>
|
|
507
|
-
<td><code>lsp-setup</code><br /><sub><code>lsp-setup <language></code></sub></td>
|
|
508
|
-
<td>Sets up a language server for your language and proves diagnostics really work.</td>
|
|
509
|
-
</tr>
|
|
510
|
-
<tr>
|
|
511
|
-
<td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/skills/automatic-checks.webp" width="240" alt="Runs on its own: loads your project rules, asks for diagnostics after edits, and reviews new comments." /></td>
|
|
512
|
-
<td><code>rules</code> · <code>lsp</code> · <code>comment-checker</code><br /><sub>runs on its own</sub></td>
|
|
513
|
-
<td>Runs on its own: loads your project rules, asks for diagnostics after edits, and reviews new comments.</td>
|
|
514
|
-
</tr>
|
|
515
|
-
</table>
|
|
516
|
-
|
|
517
|
-
## Troubleshooting
|
|
518
|
-
|
|
519
|
-
If an existing installation returns `INSTALL_OWNERSHIP_CONFLICT`, stop retrying or
|
|
520
|
-
moving directories and read the [ownership guidance](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#ownership-conflicts).
|
|
521
|
-
|
|
522
|
-
### Verify and uninstall
|
|
523
|
-
|
|
524
|
-
The installed package also exposes these useful commands:
|
|
525
|
-
|
|
526
|
-
```bash
|
|
527
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude doctor
|
|
528
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude --version
|
|
529
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude path
|
|
530
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude workflow-check --json
|
|
531
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude update
|
|
532
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude uninstall
|
|
533
|
-
```
|
|
534
|
-
|
|
535
|
-
`uninstall` removes only LitClaude-managed plugin, HUD, permission, and local
|
|
536
|
-
state entries. It does not remove unrelated Claude settings. Modified or unrecognized
|
|
537
|
-
installations are preserved and refused; follow the [ownership guidance](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#ownership-conflicts).
|
|
538
|
-
After a separate-profile trial, close that Claude session and terminal and return to
|
|
539
|
-
your original terminal environment. Your previous installation needs no downgrade
|
|
540
|
-
or reinstall.
|
|
541
|
-
|
|
542
|
-
## Links
|
|
543
|
-
|
|
544
|
-
<a id="deeper-docs"></a>
|
|
545
|
-
|
|
546
|
-
- [Operational reference](#operational-reference)
|
|
547
|
-
- [Hook triggers and activation boundaries](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/hooks.md)
|
|
548
|
-
- [Agent and orchestration guidance](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/agents.md)
|
|
549
|
-
- [Workflow migration table](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md)
|
|
550
|
-
- [Native `/goal` surface matrix](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/native-goal-surface.md)
|
|
551
|
-
- [Workflow compatibility audit](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/workflow-compatibility-audit.md)
|
|
552
|
-
- [Package-name migration and marketplace choices](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#scoped-npm-migration)
|
|
553
|
-
- [Contributing](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/CONTRIBUTING.md) · [Support](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/SUPPORT.md) · [Security](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/SECURITY.md)
|
|
554
|
-
- [Code of conduct](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/CODE_OF_CONDUCT.md) · [Privacy and network behavior](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/privacy.md)
|
|
555
|
-
- [Release history](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/CHANGELOG.md)
|
|
556
|
-
- [Korean README](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/README_ko-KR.md)
|
|
557
|
-
|
|
558
|
-
### LITFAMILY
|
|
559
|
-
|
|
560
|
-
<details>
|
|
561
|
-
<summary>More workflows and references</summary>
|
|
562
|
-
|
|
563
|
-
## Practical routes and visual cues
|
|
564
|
-
|
|
565
|
-
Use `lit` to activate the evidence-first loop, `handoff` to carry checked work forward,
|
|
566
|
-
`lit-plan` to write a bounded plan, `/litclaude:start-work <approved-plan>` to execute an
|
|
567
|
-
approved plan, `review-work` to inspect changes and evidence, and `litresearch` to keep sources
|
|
568
|
-
and uncertainty separate. Each route leaves its expected effect in the project record; no new
|
|
569
|
-
slash route is introduced here. Host limit: Claude Code owns the hook and model execution, while
|
|
570
|
-
permissions, browser access, and visual checks remain host capabilities. A hook mark or static
|
|
571
|
-
editorial image is not completion evidence.
|
|
572
|
-
|
|
573
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/litclaude-ignition-1600.webp" width="49%" alt="LitClaude ignition editorial cue" /> <img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/litclaude-continuity-1600.webp" width="49%" alt="LitClaude continuity editorial cue" /></p>
|
|
574
|
-
|
|
575
|
-
The retained `docs/assets/readme/ascii-readme.svg` and `docs/assets/cover.svg` remain editable or low-bandwidth fallbacks; the static product emphasis export, `docs/assets/cover.webp`, still ships in the package but is no longer shown on this page.
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
## Inside Claude Code
|
|
580
|
-
|
|
581
|
-
A plain prompt and a slash command enter through different surfaces. Hooks pass
|
|
582
|
-
routing guidance and post-edit check prompts to Claude Code; Claude follows the requested skill.
|
|
583
|
-
|
|
584
|
-
```mermaid
|
|
585
|
-
flowchart TD
|
|
586
|
-
P["lit prompt"] --> H["UserPromptSubmit hook<br/>routing guidance"]
|
|
587
|
-
C["/litclaude:* command"] --> S["Claude Code reads the requested skill"]
|
|
588
|
-
H --> S
|
|
589
|
-
R["SessionStart<br/>project rules"] --> S
|
|
590
|
-
S --> W["Plan · execute approved work · review"]
|
|
591
|
-
T["PreToolUse / PostToolUse<br/>authority checks / post-edit guidance"] -.-> W
|
|
592
|
-
W --> F["Project files and checked results"]
|
|
593
|
-
W --> L["When a goal is bound<br/>litgoal CLI → .litclaude/litgoal/"]
|
|
594
|
-
F --> Q["Requested lit-handoff"]
|
|
595
|
-
L --> Q
|
|
596
|
-
Q --> N["Continuation file"]
|
|
597
|
-
N -. "user asks the new session to read it" .-> S
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
Hook guidance alone does not prove that a skill ran. The next session must read
|
|
601
|
-
the saved file and check the actual state. See the [hook reference](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/hooks.md)
|
|
602
|
-
and [goal recording reference](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/migration.md#review-and-litgoal-parity) for the boundaries.
|
|
603
|
-
|
|
604
|
-
<details>
|
|
605
|
-
<summary>LITFAMILY · five armored machines</summary>
|
|
606
|
-
|
|
607
|
-

|
|
608
|
-
|
|
609
|
-
Five armored machines: LitClaude, LitHermes, LitCodex, LitOpenCode, and LitGrok.
|
|
610
|
-
Concept art; each product runs in its own host.
|
|
611
|
-
|
|
612
|
-
</details>
|
|
613
|
-
|
|
614
|
-
## Design and README production
|
|
615
|
-
|
|
616
|
-
Use `frontend-ui-ux build <target>` for an authorized working interface and rendered
|
|
617
|
-
inspection. Material ambiguity prompts a targeted question; answers carry forward into
|
|
618
|
-
the build. Explicit review or plan requests remain read-only.
|
|
619
|
-
|
|
620
|
-
Use `readme-studio <repository or README scope>` or `$readme-studio` for a factual
|
|
621
|
-
README and local cover production. Claude Code's available tools determine image
|
|
622
|
-
generation: `IMAGE_GENERATION_UNAVAILABLE` is explicit, and an inspected supplied
|
|
623
|
-
background can enable the remaining composition. Bundled helpers support outlined
|
|
624
|
-
Pretendard/Meslo typography and pinned local motion recipes. Fonts, renderer licenses
|
|
625
|
-
and actual output are checked; hosted GitHub/npm display remains a later gate.
|
|
626
|
-
These are native skill/leading-token routes, with no new slash-command file.
|
|
627
|
-
|
|
628
|
-
Use `/litclaude:lit-diagram-drawer <brief>`, or start a prompt with `lit-diagram-drawer`
|
|
629
|
-
or `$lit-diagram-drawer`, for architecture, process, schema, timeline, and other
|
|
630
|
-
conceptual diagrams meant for slides and documents. It writes editable HTML/SVG with
|
|
631
|
-
the bundled Pretendard font and checks overlaps, label placement, routes, contrast,
|
|
632
|
-
accessibility, and visible text with bundled scripts. With agent-browser 0.38.1 or
|
|
633
|
-
newer installed on your machine, it exports 1×–3× PNG and an Office-safe SVG; without
|
|
634
|
-
it, you get the setup commands and the verified source. Interface work stays with
|
|
635
|
-
`frontend-ui-ux`, and plots of measured data stay with `lit-scientific-visualization`.
|
|
636
|
-
|
|
637
|
-
Ask for slides or a report and end the prompt with `lit` — `팀 워크숍 발표자료 만들어줘 lit`,
|
|
638
|
-
`write a project proposal lit` — and you get Office files, not Markdown. `lit-pptx` writes
|
|
639
|
-
the slide source in Markdown, compiles it through designed templates (AZURE-PRO blue and
|
|
640
|
-
white by default, plus A2Z and plain 4:3 variants), draws numbers as native editable
|
|
641
|
-
charts and KPI cards, embeds Pretendard, and runs a QA gate for overflow, contrast, half-empty
|
|
642
|
-
or table-only slides, cropped decorations, and unfilled blanks before rendering the pages to
|
|
643
|
-
check them by eye. When the request gives no data, both skills build a complete file around a
|
|
644
|
-
realistic example and label it as one instead of stopping to ask. `lit-docx` writes a Word document with the Korean-first
|
|
645
|
-
`korean-generic` profile (plain styling for other languages, or Elsevier, ACS, IEEE, and
|
|
646
|
-
Nature profiles on request), gates it, and renders its pages; it also converts DOCX or PDF
|
|
647
|
-
to Markdown and edits an existing `.docx`. Under a bare `lit`, neither skill asks style
|
|
648
|
-
questions. Their Node and Python packages install on first use from pinned lockfiles into
|
|
649
|
-
`~/.cache/litclaude/office-runtime`, and `litclaude doctor` shows whether that runtime
|
|
650
|
-
and the optional LibreOffice, pandoc, and XeLaTeX tools are ready.
|
|
651
|
-
|
|
652
|
-
## Jev skill hint (optional)
|
|
653
|
-
|
|
654
|
-
LitClaude can ask Jev, TypeSafe's hosted choice model, which LitClaude skill fits a prompt.
|
|
655
|
-
When Jev names one, the `UserPromptSubmit` hook adds one advisory line with that skill's name.
|
|
656
|
-
Claude still decides whether to load it; the line grants no permission and starts no tool.
|
|
657
|
-
|
|
658
|
-
It is off by default. To turn it on, set both variables in the environment that launches
|
|
659
|
-
Claude Code:
|
|
660
|
-
|
|
661
|
-
```bash
|
|
662
|
-
export LITCLAUDE_JEV=1
|
|
663
|
-
export TYPESAFE_API_KEY=<your own TypeSafe key>
|
|
664
|
-
```
|
|
665
|
-
|
|
666
|
-
While it is on, each eligible prompt is sent to TypeSafe (typesafe.ai), truncated to 2,000
|
|
667
|
-
characters, with home paths, e-mail addresses, and token-shaped strings redacted. Slash
|
|
668
|
-
commands, prompts the `lit` router already handled, and prompts that name a skill are not
|
|
669
|
-
sent, and nothing else from the session is sent: no files, tool output, or history. Anything in
|
|
670
|
-
the prompt without a token shape, such as a hostname, a customer name, or a password not
|
|
671
|
-
written as `password=…`, is sent as written. Because `TYPESAFE_API_KEY` is exported in the
|
|
672
|
-
shell that starts Claude Code, the agent's own tools can read it too, so use a key dedicated to
|
|
673
|
-
this feature, with a low spend limit. TypeSafe
|
|
674
|
-
bills your account for each request, at about $0.04 per million input tokens. A request waits
|
|
675
|
-
at most 1.5 seconds; on any failure the turn continues as before, with one short note the
|
|
676
|
-
first time in a session.
|
|
677
|
-
|
|
678
|
-
`litclaude doctor` prints `Jev skill hint: off`, `on`, or `flag on but TYPESAFE_API_KEY missing`.
|
|
679
|
-
While it is on, the LitClaude HUD status line ends with `Jev ✓`, adds the skill and latency
|
|
680
|
-
(`Jev ✓ lit-humanizer 0.27s`) on a hinted turn, and shows `Jev ⚠ key missing` without a key.
|
|
681
|
-
When colour is allowed, `Jev` there shimmers in rainbow colours, and the first prompt of each session
|
|
682
|
-
with the flag and key set shows one `✦ Jev skill hint ON ✦` line (plain text under `NO_COLOR`).
|
|
683
|
-
To turn it off, unset `LITCLAUDE_JEV` or set it to any value other than `1`. Tuning variables
|
|
684
|
-
and the local debug trace are described in `docs/hooks.md`.
|
|
685
|
-
|
|
686
|
-
## Safety
|
|
687
|
-
|
|
688
|
-
- Hooks read bounded Claude Code event JSON and do not execute user prompt text.
|
|
689
|
-
- The planner agent is read-only. Review routes inspect evidence and do not
|
|
690
|
-
implement what they review.
|
|
691
|
-
- `public-read` rejects localhost, private-network, and non-HTTP(S) targets and
|
|
692
|
-
stops at authentication and paywall boundaries without using site credentials.
|
|
693
|
-
- Project-local LitClaude state and evidence directories are gitignored and
|
|
694
|
-
excluded from the npm package.
|
|
695
|
-
- Interactive update checks are user-facing and fail closed on unknown,
|
|
696
|
-
rollback, or verification failure. Disable the automatic lane with
|
|
697
|
-
`--no-auto-update`, `LITCLAUDE_NO_AUTO_UPDATE`, `NO_UPDATE_NOTIFIER`, or
|
|
698
|
-
`LITCLAUDE_NO_UPDATE_CHECK`.
|
|
699
|
-
- Publishing, version changes, tags, and remote marketplace changes require
|
|
700
|
-
explicit user approval.
|
|
701
|
-
|
|
702
|
-
Model selection is host-owned. Across LitFamily products that own OpenAI routing, new
|
|
703
|
-
installs default to GPT-6: `gpt-6-astra` for planning, review, and lead roles,
|
|
704
|
-
`gpt-6-sol` as the coding-lead alternative, and `gpt-6-luna` for helpers and ordinary
|
|
705
|
-
workers. GPT-6 Luna supports `xhigh` but not `ultra`. The live host catalog still lists
|
|
706
|
-
`gpt-5.6-sol`, `gpt-5.6-terra`, and `gpt-5.6-luna` as selectable, with no retirement
|
|
707
|
-
date for any of them. The catalog supports `xhigh` for `gpt-5.6-luna` too, but LitClaude
|
|
708
|
-
keeps a legacy policy-only block for that combination; `gpt-6-luna` at `xhigh` remains
|
|
709
|
-
catalog-supported while the approved ordinary-worker default stays `max`. Install and
|
|
710
|
-
update leave an existing model selection unchanged.
|
|
711
|
-
LitClaude does not apply those OpenAI routes; Claude Code owns model selection. Native
|
|
712
|
-
`Workflow` and experimental agent teams need explicit opt-in; the durable `litgoal` ledger
|
|
713
|
-
remains authoritative when native goal tools are unavailable. LitClaude never
|
|
714
|
-
sends `/goal` on your behalf.
|
|
715
|
-
|
|
716
|
-
<details>
|
|
717
|
-
<summary>Operational reference — installation options, learning, host boundaries and development</summary>
|
|
718
|
-
|
|
719
|
-
<a id="operational-reference"></a>
|
|
720
|
-
|
|
721
|
-
## What it is
|
|
722
|
-
|
|
723
|
-
- Evidence-first execution, planning, review, research, and handoff workflows.
|
|
724
|
-
- Claude-native skills such as `lit-loop`, `lit-plan`, `review-work`,
|
|
725
|
-
`deep-interview`, `litresearch`, `litgoal`, `lit-handoff`, and
|
|
726
|
-
`lit-scientific-visualization`.
|
|
727
|
-
- **Claude skills** also include `litwork`, `structural-search`, `lit-team`,
|
|
728
|
-
`autoresearch`, and `autoconference`. The core sequence is
|
|
729
|
-
`lit-plan`, `lit-recap`, `lit-loop`.
|
|
730
|
-
- Auxiliary Skill-discovery entries `frontend-ui-ux`, `readme-studio`, `lit-commit`, `lsp-setup`,
|
|
731
|
-
and `visual-qa` answer to a leading bare token or `$frontend-ui-ux`; they are
|
|
732
|
-
not anywhere-tokens.
|
|
733
|
-
- Bundled reference packs include `lit-code/references`,
|
|
734
|
-
`lit-code/scripts`, and `debugging/references`.
|
|
735
|
-
- Dynamic workflow and worktree guidance, with explicit opt-in for native
|
|
736
|
-
`Workflow` and experimental agent teams.
|
|
737
|
-
- **Resilient public-source research** and public-source reading with SSRF,
|
|
738
|
-
private-host, authentication, and paywall boundaries.
|
|
739
|
-
- Local MCP/LSP helpers, structured Wikify knowledge, and a managed HUD that
|
|
740
|
-
can be safely removed with `uninstall`.
|
|
741
|
-
|
|
742
|
-
**The workflow closes on evidence.** A plan remains open until each item has a binary check, and a slice closes only after its real Claude surface produces evidence and its temporary QA resources are gone. A passing test is necessary, but it is not the finish line.
|
|
743
|
-
|
|
744
|
-
```mermaid
|
|
745
|
-
flowchart TD
|
|
746
|
-
R["a request<br/>make it better"] --> DI["<b>deep-interview</b><br/>turn it into a decision-complete brief"]
|
|
747
|
-
DI --> P["<b>lit-plan</b><br/>objective · non-goals<br/>action / output / <b>binary verification</b>"]
|
|
748
|
-
P --> GATE{"user approves?"}
|
|
749
|
-
GATE -->|no| P
|
|
750
|
-
GATE -->|yes| SW["<b>start-work</b><br/>execute one slice"]
|
|
751
|
-
|
|
752
|
-
subgraph LOOP["each slice: RED to GREEN to SURFACE to CLEAN"]
|
|
753
|
-
SW --> RED["failing test first"]
|
|
754
|
-
RED --> GREEN["smallest change that passes"]
|
|
755
|
-
GREEN --> SURF["exercise the <b>real surface</b><br/>not just the test"]
|
|
756
|
-
SURF --> CLEAN["tear down · cleanup receipt"]
|
|
757
|
-
end
|
|
758
|
-
|
|
759
|
-
CLEAN --> EV{"evidence complete?"}
|
|
760
|
-
EV -->|"tests only"| SW
|
|
761
|
-
EV -->|"artifact + receipt"| RW["<b>review-work</b><br/>scope · evidence · payload<br/>security · real surface"]
|
|
762
|
-
RW -->|findings| SW
|
|
763
|
-
RW -->|clean| HO["<b>lit-handoff</b><br/>resumable packet"]
|
|
764
|
-
|
|
765
|
-
style GATE fill:#fff3cd,stroke:#856404
|
|
766
|
-
style EV fill:#fff3cd,stroke:#856404
|
|
767
|
-
style SURF fill:#d4edda,stroke:#155724
|
|
768
|
-
style RW fill:#d1ecf1,stroke:#0c5460
|
|
769
|
-
```
|
|
770
|
-
|
|
771
|
-
## Installation reference
|
|
772
|
-
|
|
773
|
-
For the scoped package:
|
|
774
|
-
|
|
775
|
-
```bash
|
|
776
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude install
|
|
777
|
-
```
|
|
778
|
-
|
|
779
|
-
For a reproducible install, pin the current package version:
|
|
780
|
-
|
|
781
|
-
```bash
|
|
782
|
-
npm view @litfamily/litclaude@1.0.13 version
|
|
783
|
-
```
|
|
784
|
-
|
|
785
|
-
If that lookup returns `1.0.13`, the exact install is available:
|
|
786
|
-
|
|
787
|
-
```bash
|
|
788
|
-
npm exec --yes --package @litfamily/litclaude@1.0.13 -- litclaude install
|
|
789
|
-
```
|
|
790
|
-
|
|
791
|
-
Otherwise, wait for explicit human publication before using that pin. Check the
|
|
792
|
-
installed surface with:
|
|
793
|
-
|
|
794
|
-
```bash
|
|
795
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude doctor
|
|
796
|
-
```
|
|
797
|
-
|
|
798
|
-
The installer configures the Claude Code plugin and the LitClaude status-line
|
|
799
|
-
HUD. Permission modes are explicit:
|
|
800
|
-
|
|
801
|
-
```bash
|
|
802
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude install --permission-mode safe
|
|
803
31
|
npm exec --yes --package @litfamily/litclaude@latest -- litclaude install --permission-mode balanced
|
|
804
32
|
npm exec --yes --package @litfamily/litclaude@latest -- litclaude install --yolo
|
|
805
33
|
```
|
|
806
34
|
|
|
807
|
-
`
|
|
808
|
-
|
|
809
|
-
write bounded entries under Claude's `permissions.allow` and `permissions.deny`.
|
|
35
|
+
`balanced` adds bounded read/search and routine Git, npm and Node rules; `yolo` adds broader
|
|
36
|
+
edit/write patterns. LitClaude tracks the rules it inserted and removes only those.
|
|
810
37
|
|
|
811
|
-
|
|
38
|
+
The install also uses the network: it pre-warms the motion runtime with `npm ci` for
|
|
39
|
+
pinned engine packages and pinned, sha256-checked fonts. If that step fails, the install
|
|
40
|
+
still succeeds and tells you what to run later. To skip it, set `LITCLAUDE_MOTION_PREWARM=0`
|
|
41
|
+
and run `litclaude-ai motion-runtime install` when you want it. A global
|
|
42
|
+
`npm install -g @litfamily/litclaude` runs the same setup from its postinstall hook; set
|
|
43
|
+
`LITCLAUDE_AUTO_INSTALL=0` or `LITCLAUDE_POSTINSTALL_SKIP=1`, or pass `--ignore-scripts`, to
|
|
44
|
+
skip that.
|
|
812
45
|
|
|
813
|
-
|
|
814
|
-
output style. The output-style question offers `None / keep current`,
|
|
815
|
-
ASD-STE100, and ELI5 (each in English and 한국어); a LitClaude style is written to
|
|
816
|
-
Claude's global `outputStyle` only when you pick one, never over a value you set
|
|
817
|
-
yourself, and `uninstall` removes it again only if it is still the LitClaude-written
|
|
818
|
-
value. `LITCLAUDE_OUTPUT_STYLE` and `LITCLAUDE_HUD_ACCENT` answer the questions
|
|
819
|
-
non-interactively, and `--yes` skips every question with today's shipped defaults:
|
|
820
|
-
|
|
821
|
-
```bash
|
|
822
|
-
npm exec --yes --package @litfamily/litclaude@latest -- litclaude install --yes
|
|
823
|
-
```
|
|
46
|
+
## First steps
|
|
824
47
|
|
|
825
|
-
|
|
826
|
-
`NO_COLOR` is present (even empty), on `TERM=dumb` or non-UTF-8 locales, and when
|
|
827
|
-
output is redirected. `LITCLAUDE_SPINNER=1` retains structured progress in these
|
|
828
|
-
modes without terminal escapes. Explicit settings and `--yes` still apply.
|
|
829
|
-
|
|
830
|
-
The installer never asks for a model or reasoning effort. Claude Code selects
|
|
831
|
-
models itself, and the summary prints `Model selection: host-owned`.
|
|
832
|
-
Existing settings are preserved; LitClaude tracks and removes only rules it
|
|
833
|
-
inserted.
|
|
834
|
-
|
|
835
|
-
Interactive installation previews the available HUD accents. The LitClaude HUD
|
|
836
|
-
uses `[🔥LITCLAUDE vX.Y.Z]`, a compact `ctx [▎░░]` bar, and a `5h [▏░] 4% ↻`
|
|
837
|
-
rate-limit reset countdown. Set `LITCLAUDE_HUD_ACCENT` before installation to
|
|
838
|
-
choose an accent.
|
|
839
|
-
When the prompt hook activates a LitClaude discipline, the HUD adds a bold,
|
|
840
|
-
ignition-orange `🔥 LIT IGNITED · lit-loop 🔥` mark right after the brand until
|
|
841
|
-
the next turn without an activation; the hook records the selected discipline
|
|
842
|
-
per session under `litclaude-hud/` in the per-user temp directory, never in the
|
|
843
|
-
repository or your home directory (`LITCLAUDE_HUD_STATE_ROOT` overrides the location).
|
|
844
|
-
The reply starts with `🔥 **LIT IGNITED · <discipline>** 🔥`; the hook system
|
|
845
|
-
message and HUD display the same mark without Markdown.
|
|
846
|
-
|
|
847
|
-
HUD appearance and color capability are independent. By default (`dark`) the
|
|
848
|
-
model, context, usage, reset, and Git text carry the selected accent, usage
|
|
849
|
-
percentages are colored by level, and the brand uses the neon gradient. Set
|
|
850
|
-
`LITCLAUDE_HUD_APPEARANCE=light` or `unknown` to keep that essential text and the
|
|
851
|
-
brand on the terminal's default foreground, with only bar shapes and separators
|
|
852
|
-
accented. Set `LITCLAUDE_HUD_COLOR_DEPTH=truecolor|256|16|plain` when an explicit
|
|
853
|
-
depth is needed; it takes precedence over capability detection, including WSL
|
|
854
|
-
truecolor detection. `NO_COLOR` disables every HUD escape even
|
|
855
|
-
when its value is empty, and `TERM=dumb` stays plain even if another signal or
|
|
856
|
-
depth override advertises color; `LITCLAUDE_HUD_NO_COLOR=1` remains supported.
|
|
857
|
-
The HUD never forces a background color or invents a rate-limit value when Claude
|
|
858
|
-
reports `--`.
|
|
859
|
-
|
|
860
|
-
Other entry points are:
|
|
48
|
+
Start Claude Code as usual:
|
|
861
49
|
|
|
862
50
|
```bash
|
|
863
|
-
|
|
864
|
-
npm install -g @litfamily/litclaude
|
|
865
|
-
litclaude install
|
|
866
|
-
```
|
|
867
|
-
|
|
868
|
-
## Claude Code integration
|
|
869
|
-
|
|
870
|
-
**Where Claude Code hands control to LitClaude.** Session and tool events feed the rules, routing, authority, and ledger surfaces; together they expose the package's 35 skills, 16 current commands, three hidden compatibility redirects, and 11 agents without hiding the host boundary.
|
|
871
|
-
|
|
872
|
-
```mermaid
|
|
873
|
-
flowchart LR
|
|
874
|
-
subgraph CC["Claude Code"]
|
|
875
|
-
H1["SessionStart"]; H2["UserPromptSubmit"]; H3["PreToolUse"]
|
|
876
|
-
H4["PostToolUse"]; H5["Stop"]; H6["SubagentStart / SubagentStop"]; H7["SessionEnd"]
|
|
877
|
-
end
|
|
878
|
-
subgraph LC["LitClaude plugin"]
|
|
879
|
-
RULES["rules engine<br/>project rules into context"]
|
|
880
|
-
ROUTE["trigger routing<br/><code>lit</code> · <code>/litclaude:*</code>"]
|
|
881
|
-
AUTH["bounded authority<br/>pause on a new boundary"]
|
|
882
|
-
LEDGER[("durable ledger<br/><code>.litclaude/</code>")]
|
|
883
|
-
end
|
|
884
|
-
H1 --> RULES --> LEDGER
|
|
885
|
-
H2 --> ROUTE --> LEDGER
|
|
886
|
-
H3 --> AUTH
|
|
887
|
-
H4 --> LEDGER
|
|
888
|
-
H5 --> LEDGER
|
|
889
|
-
H6 --> LEDGER
|
|
890
|
-
H7 --> LEDGER
|
|
891
|
-
LC --> S["35 skills · 16 commands · 11 agents"]
|
|
892
|
-
```
|
|
893
|
-
|
|
894
|
-
**Why a fresh install can still execute the skills.** A self-contained skill needs an explicit allowlist reason, while a skill that names a corpus must carry that corpus inside the packed tarball. These payload gates prevent a checkout-only reference from becoming a user's runtime failure.
|
|
895
|
-
|
|
896
|
-
```mermaid
|
|
897
|
-
flowchart LR
|
|
898
|
-
SK["a skill"] --> Q{"does it declare<br/>a capability?"}
|
|
899
|
-
Q -->|"self-contained<br/>procedure"| AL["explicit allowlist entry<br/>with a written reason"]
|
|
900
|
-
Q -->|"needs a corpus"| C["corpus must resolve<br/>inside the <b>packed payload</b>"]
|
|
901
|
-
AL --> G1
|
|
902
|
-
C --> G1["<b>payload-substance</b>"]
|
|
903
|
-
G1 --> G2["<b>cross-product parity</b><br/>one product cannot ship a stub<br/>where the family ships substance"]
|
|
904
|
-
G2 --> G3["<b>referenced-path resolution</b><br/>every path in a SKILL.md<br/>must exist in the tarball"]
|
|
905
|
-
G3 --> OK["installs and works<br/>on a machine that has<br/>nothing else"]
|
|
906
|
-
style C fill:#d4edda,stroke:#155724
|
|
907
|
-
style OK fill:#d4edda,stroke:#155724
|
|
51
|
+
claude
|
|
908
52
|
```
|
|
909
53
|
|
|
910
|
-
`lit
|
|
911
|
-
`/start-work` or `/litclaude:start-work` with the approved plan. `lit workflow`
|
|
912
|
-
proposes a native `Workflow` and calls it only after user opt-in. LitClaude does not auto-type `/goal`
|
|
913
|
-
or send slash-command text on the user's behalf; when native
|
|
914
|
-
goal tools such as `get_goal`, `create_goal`, and `update_goal` are unavailable it
|
|
915
|
-
reports degraded mode and keeps the local `litgoal` ledger authoritative. Set
|
|
916
|
-
`CLAUDE_CODE_DISABLE_WORKFLOWS=1` to disable the workflow route; use
|
|
917
|
-
`EnterWorktree` when the host exposes a model-facing worktree lane.
|
|
918
|
-
|
|
919
|
-
The route attempts native goal binding honestly: it inspects available goal tools,
|
|
920
|
-
never replaces a different active goal, and falls back to the local ledger when the
|
|
921
|
-
host does not expose model-facing goal controls.
|
|
922
|
-
When that fallback is needed, the hook emits `READY_TO_PASTE` with one bounded
|
|
923
|
-
`/goal` line for the user to copy, paste, and send in the current session; it
|
|
924
|
-
never enters or submits the command itself.
|
|
925
|
-
|
|
926
|
-
`/start-work` owns the schema-3 bounded-authority start-work lifecycle. An approved
|
|
927
|
-
plan can resume only through this exact route:
|
|
928
|
-
|
|
929
|
-
`/litclaude:start-work resume --work-id <id> --revision <n> --boundary-id <id> --prompt-id <id> --grant-id <id>`
|
|
54
|
+
Type `lit`. After the activation notice, give it something small:
|
|
930
55
|
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
The exact bare `lit-scientific-visualization` route is the only chat activation;
|
|
935
|
-
quoted, mixed, slash, and near-miss text stays inert.
|
|
936
|
-
|
|
937
|
-
For public-source work, `lit research`, `lit search`, `lit query`, and
|
|
938
|
-
`public-read` do not cross authentication, paywall, credential, localhost, or
|
|
939
|
-
private-network boundaries:
|
|
940
|
-
|
|
941
|
-
```bash
|
|
942
|
-
litclaude public-read https://example.com/article --json
|
|
56
|
+
```text
|
|
57
|
+
Build a to-do list in a single HTML file with no external dependencies.
|
|
58
|
+
Implement add, complete, and delete. Record what you checked and the next step.
|
|
943
59
|
```
|
|
944
60
|
|
|
945
|
-
|
|
946
|
-
facts, numbers, names, claims, scope, and uncertainty, and does not add outside
|
|
947
|
-
facts unless research is requested. Its always-on rule guides new prose; a
|
|
948
|
-
pre-write check blocks high-confidence drafting residue while warnings stay
|
|
949
|
-
advisory. New code blocks, quoted text, and internal project records are skipped.
|
|
950
|
-
DOCX, PPTX, and PDF outputs receive a post-create scan when text extraction is
|
|
951
|
-
available.
|
|
952
|
-
|
|
953
|
-
Wikify claims begin as `review-needed`; `save` and `review` move them through
|
|
954
|
-
their explicit states. Queries return accepted relevant claims within a
|
|
955
|
-
2048-byte normal budget and a 4096-byte hard limit. The local state is
|
|
956
|
-
user-owned and cooperative, not tamper-proof or confidential against another
|
|
957
|
-
process with the same uid; atomic rename protects readers and crash consistency, while symlinks,
|
|
958
|
-
unsafe file types, pre-existing hardlinks, and observed identity changes fail
|
|
959
|
-
closed.
|
|
960
|
-
|
|
961
|
-
The package CLI form is:
|
|
962
|
-
|
|
963
|
-
`npm exec --yes --package @litfamily/litclaude -- litclaude wikify <capture|save|review|query|config>`
|
|
964
|
-
|
|
965
|
-
## Integrity boundaries
|
|
966
|
-
|
|
967
|
-
Scanner success is snapshot-scoped: it reports a file count and SHA-256 digest for
|
|
968
|
-
captured bytes, but does not prove the mutable live tree stayed clean after capture.
|
|
969
|
-
Legal companion paths remain outside the generated manifest and are scanned normally.
|
|
970
|
-
Canonical and runtime captures are bounded to 8 MiB per file and 32 MiB in aggregate.
|
|
971
|
-
Package guards compare each immutable expected file map across the verifier-to-capture interval
|
|
972
|
-
and the produced tarball; secure non-executable entries such as `0600` remain
|
|
973
|
-
valid.
|
|
974
|
-
|
|
975
|
-
## Checkout gates
|
|
976
|
-
|
|
977
|
-
From this checkout, the main gates are:
|
|
978
|
-
|
|
979
|
-
```bash
|
|
980
|
-
npm test
|
|
981
|
-
npm run validate:plugin
|
|
982
|
-
npm run doctor
|
|
983
|
-
npm run check:version
|
|
984
|
-
npm run scan:legacy-tokens
|
|
985
|
-
npm run check:skill-resources
|
|
986
|
-
npm run check:runtime-closures
|
|
987
|
-
npm run pack:payload-guard
|
|
988
|
-
npm run pack:dry-run
|
|
989
|
-
```
|
|
61
|
+
Then open the file and try it yourself. A file that exists has not yet shown that it works.
|
|
990
62
|
|
|
991
|
-
##
|
|
63
|
+
## What people type
|
|
992
64
|
|
|
993
|
-
|
|
65
|
+
| Type this | What you get |
|
|
66
|
+
| --- | --- |
|
|
67
|
+
| `lit`, or end any prompt with `lit` | The evidence-first work loop |
|
|
68
|
+
| `lit plan <what>` | A plan and its checks, before anything is edited |
|
|
69
|
+
| `/litclaude:start-work <approved-plan>` | Your approved plan, carried out |
|
|
70
|
+
| `lit review <scope>` | Findings and the work that remains |
|
|
71
|
+
| `lit research <question>` | Cited public-source research |
|
|
72
|
+
| `handoff` | A continuation file for the next session |
|
|
73
|
+
| `<make slides …> lit`, `<write a report …> lit` | Editable `.pptx` and `.docx` files |
|
|
74
|
+
|
|
75
|
+
At the end of a session, type `handoff` and keep the file path it gives you. Next time, open
|
|
76
|
+
the same project and ask Claude to read that file, check the current state and name the next
|
|
77
|
+
step.
|
|
78
|
+
|
|
79
|
+
LitClaude ships 35 skills you start yourself, from `deep-interview` and `lit-crucible` for
|
|
80
|
+
unclear briefs to `lit-diagram-drawer`, `lit-scientific-visualization`, `debugging`,
|
|
81
|
+
`refactor` and `lit-commit`, plus three that run on their own: `rules`, `lsp` and
|
|
82
|
+
`comment-checker`. The GitHub page shows each one with a picture, next to the A/B results.
|
|
83
|
+
|
|
84
|
+
## What changes after install
|
|
85
|
+
|
|
86
|
+
- Claude Code gets the LitClaude plugin: its skills, commands, agents and hooks.
|
|
87
|
+
- The status line shows the LitClaude HUD: `[🔥LITCLAUDE vX.Y.Z]`, a `ctx [▎░░]` context bar
|
|
88
|
+
and a `5h [▏░] 4% ↻` rate-limit reset countdown.
|
|
89
|
+
- Permission rules change only if you choose `--permission-mode balanced` or `--yolo`. An
|
|
90
|
+
output style is written only if you pick one.
|
|
91
|
+
- Work bound to a goal keeps its state in the project's `.litclaude/litgoal/`. Nothing keeps
|
|
92
|
+
running or resumes on its own after a session closes.
|
|
93
|
+
|
|
94
|
+
The optional Jev skill hint is off by default. If you turn it on with `LITCLAUDE_JEV=1` and
|
|
95
|
+
your own `TYPESAFE_API_KEY`, each eligible prompt goes to TypeSafe, truncated to 2,000
|
|
96
|
+
characters with home paths, e-mail addresses and token-shaped strings redacted. Anything
|
|
97
|
+
else in the prompt is sent as written, and TypeSafe bills your account. The agent's own
|
|
98
|
+
tools can read the exported key too, so use a key kept for this feature with a low spend
|
|
99
|
+
limit. Read the GitHub guide before you enable it.
|
|
100
|
+
|
|
101
|
+
## Safety and uninstall
|
|
102
|
+
|
|
103
|
+
Hooks read bounded Claude Code event JSON and do not execute your prompt text. Project-local
|
|
104
|
+
LitClaude state is gitignored and never part of the npm package. To turn off automatic update
|
|
105
|
+
checks, use `--no-auto-update`, `LITCLAUDE_NO_AUTO_UPDATE`, `NO_UPDATE_NOTIFIER` or
|
|
106
|
+
`LITCLAUDE_NO_UPDATE_CHECK`.
|
|
994
107
|
|
|
995
108
|
```bash
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
Reload plugin metadata inside Claude Code with:
|
|
1000
|
-
|
|
1001
|
-
```text
|
|
1002
|
-
/reload-plugins
|
|
109
|
+
npm exec --yes --package @litfamily/litclaude@latest -- litclaude doctor
|
|
110
|
+
npm exec --yes --package @litfamily/litclaude@latest -- litclaude uninstall
|
|
1003
111
|
```
|
|
1004
112
|
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
| --- | --- |
|
|
1009
|
-
| CLI | `bin/litclaude-ai.js` |
|
|
1010
|
-
| Claude plugin | `plugins/litclaude/` |
|
|
1011
|
-
| Skills | `plugins/litclaude/skills/` |
|
|
1012
|
-
| Agents | `plugins/litclaude/agents/` |
|
|
1013
|
-
| Hooks | `plugins/litclaude/hooks/hooks.json` |
|
|
1014
|
-
| MCP | `plugins/litclaude/.mcp.json` |
|
|
1015
|
-
| LSP | `plugins/litclaude/.lsp.json` |
|
|
1016
|
-
|
|
1017
|
-
</details>
|
|
1018
|
-
|
|
1019
|
-
## Ignition
|
|
1020
|
-
|
|
1021
|
-
This is a brand film, not a recording of the plugin in use. Select the static poster to play it.
|
|
1022
|
-
|
|
1023
|
-
[](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.13/docs/assets/readme/ignition-film.mp4)
|
|
113
|
+
`uninstall` removes only the plugin, HUD, permission and local state entries that LitClaude
|
|
114
|
+
manages. It leaves unrelated Claude settings alone, and it refuses an installation that was
|
|
115
|
+
modified or cannot be recognized.
|
|
1024
116
|
|
|
1025
|
-
|
|
117
|
+
## More
|
|
1026
118
|
|
|
1027
|
-
|
|
119
|
+
- [Full guide, skills gallery and A/B results on GitHub](https://github.com/wjgoarxiv/litclaude#readme)
|
|
120
|
+
- [Privacy and network behavior](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/docs/privacy.md)
|
|
121
|
+
- [Migration and ownership conflicts](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/docs/migration.md)
|
|
122
|
+
- [Release history](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/CHANGELOG.md)
|
|
123
|
+
- [MIT license](https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.14/LICENSE)
|