@litfamily/lithermes 1.0.10 → 1.0.12

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_Ko-KR.md CHANGED
@@ -1,344 +1,91 @@
1
- <p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/cover-motion.webp" width="100%" alt="LitFamily 모션 커버: 다섯 로봇 패널이 차례로 켜지고, LitHermes 로봇의 눈과 테두리가 빛난 뒤 LITFAMILY와 KEEP THE WORK LIT. 문구가 밝아지는 영상" /></picture></p>
1
+ <p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/cover-motion.webp" width="100%" alt="LitFamily 모션 커버: 다섯 로봇 패널이 차례로 켜지고, LitHermes 로봇의 눈과 테두리가 빛난 뒤 LITFAMILY와 KEEP THE WORK LIT. 문구가 밝아지는 영상" /></picture></p>
2
2
 
3
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B 마크" /></p>
4
-
5
- <details>
6
- <summary>ASCII 로고 복사</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 디스플레이 서체" /></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 클레이 마크" /></p>
3
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B 마크" /></p>
35
4
 
36
5
  <p align="center">
37
- <a href="#설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/badge-version.svg" alt="1.0.10" /></a>
38
- <a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/badge-license.svg" alt="MIT license" /></a>
6
+ <a href="#설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/badge-version.svg" alt="1.0.12" /></a>
7
+ <a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/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.ko.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/lucide-book-open.svg" width="16" alt="" /> 문서</a> &nbsp;
43
- <a href="#설치">설치</a> &nbsp;
44
- <a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition</a> &nbsp;
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.ko.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-book-open.svg" width="16" alt="" /> 안내</a> &nbsp;
12
+ <a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition 영상</a> &nbsp;
13
+ <a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/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
- 무엇인가요: LitHermes는 **Hermes Agent**에서 계획, 실행, 검토, 인계를 이어갑니다.
20
+ **Hermes Agent**용 플러그인입니다. 요청에 `lit`을 붙이면 Hermes가 작업을 계획하고, 실행하고, 확인한 뒤 다음 세션이 이어받을 기록을 남깁니다.
53
21
 
54
- [English](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/README.md) · [npm](https://www.npmjs.com/package/@litfamily/lithermes) · [GitHub](https://github.com/wjgoarxiv/lithermes)
22
+ **[전체 안내, 스킬 갤러리, A/B 결과는 GitHub에서](https://github.com/wjgoarxiv/lithermes/blob/main/README_Ko-KR.md)** · [English](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.12/README.md)
55
23
 
56
24
  ## 설치
57
25
 
58
- 소스 기준 버전은 `@litfamily/lithermes@1.0.10`입니다. Hermes Agent와 Node.js 18+가 필요하며, Hermes 홈(기본 `~/.hermes`)에 쓰기 권한이 있어야 합니다.
59
-
60
- 설치기는 Hermes 홈을 대상으로 합니다. 별도 체험을 하려면 설치 전에 `HERMES_HOME`을 새 빈 디렉터리로 지정하고 Hermes를 시작할 때도 같은 값을 사용하세요. 기존 홈과 설정은 보관합니다. `--no-patch-installed-hermes`는 해당 프로필 밖에서 감지된 호스트 설치본에 호환성 패치를 적용하지 못하게 합니다.
61
-
62
- scoped npm package를 설치합니다.
26
+ Hermes Agent와 Node.js 18 이상, 그리고 Hermes 홈(기본 `~/.hermes`)에 쓸 권한이 필요합니다.
63
27
 
64
28
  ```sh
65
29
  npx --yes --package @litfamily/lithermes@latest -- lithermes install --yes --no-style
66
30
  ```
67
31
 
68
- 별도 로컬 체험에는 릴리스 안내와 함께 받은 검토된 `.tgz`를 사용할 수 있습니다. 예시 경로를 실제 파일 경로로 바꾸고, 각 줄을 따로 실행하세요.
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
+ 이 명령은 플러그인을 Hermes 홈에 넣고 Hermes 설정을 고치는데, 중간에 묻느라 멈추지 않습니다. 그래서 `--yes`가 두 번 들어갑니다. 앞의 것은 npx가 패키지를 실행하도록 허락하고, 뒤의 것은 설정 변경을 승인합니다. `--no-style`은 답변 문체를 고르는 화면을 건너뜁니다. Ignition 스킨은 어느 쪽이든 설치됩니다. 설치하는 동안 Telegram에는 연결하지 않습니다.
77
33
 
78
- 첫 `--yes`는 npx 실행을, 두 번째는 Hermes 설정 변경을 승인합니다. `--no-style`은 답변 문체 선택을 생략하며 화면을 바꾸는 native Skin을 끄지는 않습니다. 설치 중 Telegram에 연결하지 않습니다.
34
+ 평소 환경과 떼어 놓고 먼저 써 보고 싶다면, 설치 전에 `HERMES_HOME`을 비어 있는 새 디렉터리로 지정하고 Hermes를 시작할 때도 같은 값을 쓰세요. Hermes 설치본 자체가 그 시험용 프로필 밖에 있다면 `--no-patch-installed-hermes`를 붙이세요. 설치 프로그램이 그 설치본에는 호환성 수정을 하지 않습니다.
79
35
 
80
- ## 빠른 시작
36
+ ## 첫 작업
81
37
 
82
- Hermes CLI 또는 gateway를 다시 시작한 뒤 대화에 작업을 입력하세요.
38
+ Hermes CLI 또는 gateway를 다시 시작한 뒤 이렇게 입력해 보세요.
83
39
 
84
40
  ```text
85
41
  lit 외부 의존성 없이 HTML 파일 하나로 할 일 목록을 만들어줘. 추가·완료·삭제를 구현하고 확인한 내용과 다음 행동을 남겨줘.
86
42
  ```
87
43
 
88
- 명시적 경로는 `/lit <요청>`입니다. 응답은 다른 내용보다 먼저 `🔥 **LIT IGNITED · <discipline>** 🔥` 한 줄을 정확히 한 번 표시하며, 경로 확인 표시는 응답이 도착할 때 나타납니다.
89
-
90
- HTML 파일을 직접 열어 각 동작을 확인하세요. Hermes에는 실제로 확인한 내용과 아직 확인하지 못한 내용을 나누어 기록하도록 요청하세요. `/lit-handoff`로 결과와 다음 행동을 프로젝트에 남긴 뒤, 새 세션에서 같은 프로젝트를 열고 그 인계 기록을 먼저 읽도록 요청합니다.
44
+ 응답 첫 줄에 `🔥 **LIT IGNITED · <discipline>** 🔥`가 한 번 나옵니다. 이 줄이 보이면 LitHermes가 요청을 받아 작업을 시작한 것입니다. 작업이 끝나면 파일을 직접 열어 각 동작을 눌러 보고, 실제로 확인한 내용과 아직 확인하지 못한 내용을 나눠 달라고 Hermes에 요청하세요. 그다음 `/lit-handoff`를 실행하세요. 같은 프로젝트의 새 세션은 그 인계 기록을 읽고 이어갈 수 있습니다.
91
45
 
92
- 불씨는 남겨 둔 기록을 뜻합니다. 세션이 끝난 뒤에도 프로그램이 계속 실행된다는 뜻은 아닙니다.
46
+ 불씨란 이렇게 남겨 둔 기록입니다. 세션을 닫으면 뒤에서 따로 돌아가는 작업은 없고, 다음 세션이 인계 기록을 읽고 이어받습니다.
93
47
 
94
- ## 핵심 기능
48
+ ## 자주 쓰는 경로
95
49
 
96
- **불씨를 건네받았습니다. 이제, 당신의 작업에 옮길 차례입니다.** 고치고 싶은 버그, 만들고 싶은 화면, 끝내고 싶은 프로젝트는 한 문장으로 시작할 수 있습니다. 작업을 이어가려면 어떤 결정을 내렸고 무엇을 확인했으며 다음에는 무엇을 할지 기록으로 남겨야 합니다. **다음 세션이 이어받을 수 있는 것을 남기세요.**
50
+ | 입력 | 스킬 | 용도 |
51
+ |---|---|---|
52
+ | `lit <요청>` 또는 `/lit` | `litwork` | 범위를 정한 작업을 확인 결과까지 |
53
+ | `lit-plan` 또는 `/lit-plan` | `lit-plan` | 아무것도 고치기 전에 계획부터 |
54
+ | `/start-work <승인된 계획>` | `start-work` | 승인한 계획 실행 |
55
+ | `lit review <대상>` 또는 `/review-work` | `review-work` | 계획이나 결과 검토 |
56
+ | `lit research <질문>` | `litresearch` | 출처 메모가 있는 조사 |
57
+ | `handoff` 또는 `/lit-handoff` | `lit-handoff` | 다음 세션으로 작업 넘기기 |
58
+ | `/lit-humanizer` | `lit-humanizer` | 의미를 지키며 한국어·영어 문장 다듬기 |
59
+ | `/lit-diagram-drawer <brief>` | `lit-diagram-drawer` | 검사를 거친, 편집 가능한 다이어그램 |
60
+ | `/lit-pptx <brief>` | `lit-pptx` | Markdown 원본이 딸린 PowerPoint 발표자료 |
61
+ | `/lit-docx <brief>` | `lit-docx` | Markdown 원본이 딸린 Word 보고서 |
62
+ | `/lit-typographic-motion <brief>` | `lit-typographic-motion` | 트리트먼트부터 쓰는 짧은 영상 |
97
63
 
98
- ### 범위를 정한 작업과 인계
64
+ Telegram gateway에서는 `/lit_loop`와 `/lit_plan`을 쓰세요. 모든 스킬은 `lithermes:<이름>`으로도 불러올 수 있습니다. 예를 들어 `lithermes:lit-pptx`, `lithermes:lit-docx`처럼 씁니다. 그 밖에 번들된 스킬은 `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`, `autoconference`입니다. GitHub 페이지에서 스킬마다 그림과 함께 볼 수 있습니다.
99
65
 
100
- ```text
101
- 계획하기 → 만들기 → 확인하기 → 다음 작업에 건네기
102
- ```
66
+ ## 코드 밖의 결과물
103
67
 
104
- LitHermes는 Hermes Agent 안에서 계획, 실행, 검토와 인계를 연결합니다. 목표·계획·근거·다음 할 일을 프로젝트에 남겨 다른 세션이 같은 기록에서 이어갈 수 있습니다.
68
+ - **보고서와 발표자료.** 보고서나 발표자료를 부탁하면서 단독 `lit`을 붙이면 `lit-docx`나 `lit-pptx`가 맡습니다. DOCX나 PPTX, 또는 둘 다 나오고 Markdown 원본이 옆에 남습니다. 따로 고르지 않으면 한국어 문서는 korean-generic 프로필을, 발표자료는 AZURE-PRO와 Pretendard를 씁니다. 처음 쓸 때는 Office 런타임이 필요한 도구를 고정된 버전으로 LitHermes 캐시에 설치합니다.
69
+ - **다이어그램.** `lit-diagram-drawer`가 개념도와 기술 다이어그램을 그립니다. 제품 화면은 `frontend-ui-ux`, 측정한 데이터 그래프는 `lit-scientific-visualization`이 맡습니다.
70
+ - **영상.** `lit-typographic-motion`은 트리트먼트부터 씁니다. 마지막 검사를 통과하면 포스터, 움직임 축소용 정지 이미지, 검사 보고서가 딸린 60fps 영상이 나옵니다. 렌더링 중에는 아무것도 내려받지 않으므로 보조 패키지와 폰트가 미리 캐시에 있어야 합니다. `lithermes install`이 이것을 받아 두려고 시도하고, 건너뛰었거나 실패했다면 `lithermes motion-runtime install`을 실행하면 됩니다. Chrome, ffmpeg, WebGL2, 폰트가 준비됐는지는 `lithermes motion-runtime status`로 볼 수 있습니다.
71
+ - **글 다듬기.** `lit-humanizer`는 사실을 지키며 한국어와 영어 초안을 다듬습니다. 감지기는 Hermes가 `write_file`과 `patch`로 쓰는, 사람이 읽을 글을 살핍니다. 심각한 문제(차단 등급)가 보이면 쓰기를 멈출 수 있고, 가벼운 문제(주의 등급)는 조언으로 돌려줍니다.
105
72
 
106
- ### Hermes 연결 구조
73
+ ## 설치 후 달라지는 것
107
74
 
108
- Hermes가 Python plugin을 불러오면 `register(ctx)`가 훅, 명령, 스킬과 작업 도구를 등록합니다. 훅은 모델·도구 호출에 관여하고 `goal_*` 도구는 목표와 확인 결과를 로컬 기록에 남깁니다. 요청 경로는 plugin이 안내하고 실제 모델 실행은 Hermes Agent가 담당합니다. 호스트 권한·인증·모델 접근·화면 확인은 별도 기능입니다.
75
+ - 플러그인이 Hermes 홈에 들어갑니다. 다시 시작하면 Hermes에 훅, 명령, 스킬, `goal_*` 작업 도구가 생깁니다.
76
+ - 목표·계획·근거는 프로젝트의 `.hermes/lithermes/` 아래 로컬 기록으로 남고, 다음 세션이 이 기록을 읽을 수 있습니다.
77
+ - Hermes CLI에 Ignition 스킨이 생깁니다. `/skin lithermes-ignition`을 고르고 다시 시작하세요. 밝은 터미널에는 `/skin lithermes-tokyonight-day`, 어두운 터미널에는 `/skin lithermes-tokyonight`가 맞습니다. 색상을 지원하는 대화형 환경에서 `--yes`로 처음 설치하면 설정에 `display.skin` 항목이 아예 없을 때만 Ignition을 고르고, 기존 스킨 파일은 보존합니다.
78
+ - LitHermes는 스스로, 그리고 조심스럽게 업데이트합니다. 터미널에서 `lithermes install`, `check`, `doctor`를 실행하거나 대화형 Hermes CLI 세션에서 첫 메시지를 보내면 npm 레지스트리에 최신 안정 버전을 물어봅니다. 더 새로운 버전이 있으면 플러그인 폴더, `config.yaml`, 설치 기록, 스킨 폴더를 백업한 뒤 설치하고 `doctor --offline`을 실행합니다. 설치가 실패하거나 30초를 넘기거나 이 점검을 통과하지 못하면 백업을 복원해서 쓰던 버전이 남습니다. 새 버전을 불러오려면 Hermes를 다시 시작하세요.
79
+ - 업데이트할 때마다 `<Hermes 홈>/lithermes/`에 `auto-update-journal.json`과 `auto-update-receipt.json`이 남아서 무슨 일이 있었는지 볼 수 있습니다. `--offline`, `--json`, `--dry-run`을 붙였거나 CI에서 돌거나 출력을 파이프로 넘길 때는 업데이트하지 않습니다.
80
+ - 이와는 따로, LitHermes는 새 버전이 나왔는지 백그라운드에서 24시간에 한 번까지만 확인해 그 결과를 `update-check.json`에 저장해 둡니다. 안내할 때는 이 파일을 읽고, 안내에는 `npx --yes --package @litfamily/lithermes@<version> -- lithermes install --yes --no-hud` 같은 명령이 나옵니다. 실행할지는 직접 정하면 됩니다.
81
+ - 새 버전을 직접 설치하면서 안내는 계속 받고 싶다면 `LITHERMES_NO_AUTO_UPDATE=1`을 설정하세요.
82
+ - 명령 한 번만 건너뛰려면 `install`, `check`, `doctor`에 `--no-auto-update`를 붙이세요.
83
+ - 버전 확인을 모두 멈추려면 `NO_UPDATE_NOTIFIER=1` 또는 `LITHERMES_NO_UPDATE_CHECK=1`을 설정하세요. 이 변수들은 어떤 값이든 똑같이 적용됩니다. 업데이트 과정의 자세한 설명은 GitHub 문서에 있습니다.
84
+ - 요청을 어디로 보낼지는 LitHermes가 정하고, 모델은 여전히 Hermes Agent가 돌립니다.
109
85
 
110
- ```mermaid
111
- flowchart TD
112
- H["Hermes Agent"] --> P["Python plugin · register(ctx)"]
113
- P --> K["훅 · 모델·도구 호출 전후"]
114
- P --> S["명령과 스킬 · SKILL.md"]
115
- P --> T["goal_* 작업 도구"]
116
- T <--> R["프로젝트 기록 · .hermes/lithermes/litgoal/"]
117
- R --> K
118
- ```
86
+ ## 정말 도움이 되나요?
119
87
 
120
- 기록을 읽는 context hook은 다음 모델 호출에 현재 목표와 진행 상황을 전달합니다.
121
-
122
- ### Ignition Skin
123
-
124
- Hermes CLI에서 `/skin`으로 현재 스킨과 목록을 확인하세요. `/skin lithermes-ignition`을 선택하고 Hermes를 다시 시작해 시작 배너를 확인합니다. Ignition은 주황·라임·아이보리·네이비를 사용합니다. 지원되는 welcome에는 컴팩트 레이아웃에서도 5행 MICRO 마크가 표시되지만 호스트가 전체 `banner_logo`를 생략할 수 있습니다. 번호 1~10의 색상 프리셋도 유지합니다. 색상을 지원하는 대화형 자동 승인 설치는 `display.skin`이 없을 때만 Ignition을 선택합니다. 기존 선택과 스킨 파일은 보존합니다.
125
-
126
- 밝은 터미널에서는 `/skin lithermes-tokyonight-day`, 어두운 터미널에서는 `/skin lithermes-tokyonight`를 선택하고 Hermes를 다시 시작하세요. 두 스킨은 본문·상태·완료 메뉴를 읽기 쉽게 하고 기존 MICRO·배너 그림을 다시 칠하며, 기존 선택과 파일을 보존합니다. 입력한 텍스트는 터미널 기본 글자색을 따릅니다. 자연스러운 Lit 응답에는 MICRO 안내가 끝에 한 번 붙습니다.
127
-
128
- Skin은 CLI 화면을, 출력 스타일은 답변 문체를 바꿉니다. Gateway 대화에는 CLI Skin이 보이지 않습니다. 실제 모습은 호스트와 터미널에 따라 다르며, YAML 파일만으로 화면 적용을 확인할 수는 없습니다.
129
-
130
- 이름이 있는 기존 스킨 파일은 자동 갱신하지 않습니다. 일반 파일을 갱신하려면 보존용 백업으로 옮긴 뒤 설치기를 다시 실행해 빠진 이름의 파일을 만들고 사용자 수정 사항을 다시 적용하세요. 심볼릭 링크나 예상하지 못한 대상은 교체하지 않습니다. macOS의 CPR 비활성 `prompt_toolkit` 구분선은 다른 Rich 출력이 승인된 색상을 유지해도 ANSI-256으로 남을 수 있습니다.
131
-
132
- ### 화면 및 README 작업
133
-
134
- `frontend-ui-ux`는 지정된 화면을 만들기 전에 중요한 디자인 선택을 확인합니다. 검토만 또는 계획만 요청하면 파일을 수정하지 않습니다. `readme-studio`는 사실에 근거한 README와 Pretendard/Meslo 윤곽 글자, 편집 가능한 소스, 가능한 경우 검증된 모션 표지를 만듭니다. Hermes 목록에서는 `lithermes:readme-studio`로 찾을 수 있습니다. native 이미지 생성기가 없으면 `IMAGE_GENERATION_UNAVAILABLE`을 알리며, 제공된 이미지를 합성할 수 있습니다. 두 작업 모두 로그인, 전역 설치나 배포를 수행하지 않습니다.
135
-
136
- 개념도와 기술 다이어그램에는 정확한 `lit-diagram-drawer` 경로(`lithermes:lit-diagram-drawer`)를 사용합니다. 다이어그램 생성 요청 앞이나 뒤에 단독 `lit`을 붙여도 이 스킬을 선택하고 설치된 진입 파일을 안내합니다. 제품 화면은 `frontend-ui-ux`, 측정된 과학 데이터 그래프는 `lit-scientific-visualization`이 담당합니다. 보고서와 발표자료 요청에 단독 `lit`을 붙이면 번들된 `lithermes:lit-docx`와 `lithermes:lit-pptx`로 경로가 정해집니다. 요청에 따라 DOCX, PPTX 또는 둘 다 만들고 Markdown 원본을 함께 보관합니다. 기본값은 한국어 문서의 korean-generic과 발표자료의 AZURE-PRO·Pretendard이며, 사용자의 명시적 선택이 우선합니다. Office 런타임은 처음 사용할 때 고정된 의존성을 LitHermes 캐시에 설치하고 문서·슬라이드 QA를 실행합니다. 명시적 경로는 `/lit-docx <brief>`와 `/lit-pptx <brief>`입니다.
137
-
138
- 설치된 스킬 ID는 `lit-pptx`와 `lit-docx`이며 Hermes에서는 `lithermes:lit-pptx`와 `lithermes:lit-docx`로 표시됩니다.
139
-
140
- `lit-typographic-motion`은 `lithermes:lit-typographic-motion` 및 `/lit-typographic-motion <brief>`로 사용할 수 있습니다. 영상 제작 요청에 단독 `lit`을 붙이면 먼저 트리트먼트를 쓰고, 그림과 도형이 필요한 영상은 스테이지 경로(모델이 작성한 HTML 페이지를 프레임 단위로 캡처)로, 글자 자체가 영상일 때는 WebGL2 타입 엔진으로 렌더합니다. 기본으로 생성 사운드 베드를 넣고 그렇다고 표시합니다. 렌더 세션 전에 `lithermes motion-runtime status`로 Chrome·ffmpeg·WebGL2·폰트 상태를 확인하고, 필요하면 `lithermes motion-runtime install`로 의존성을 미리 설치합니다. QA를 통과하면 60fps 영상(1920×1080, 스테이지 경로는 1080×1920도 가능), 미리보기, 포스터, 움직임 축소 정지 이미지와 검사 보고서를 제공합니다. 엔진 일부는 mexicat/pdoom-video (MIT, Giacomo Magnanini), 커밋 `ca251e3`에서 각색했습니다.
141
-
142
- ### 독자용 글 다듬기
143
-
144
- `lit-humanizer` 스킬은 `lithermes:lit-humanizer`로 사용할 수 있습니다.
145
-
146
- `lithermes:lit-humanizer`는 사실과 의도를 지키며 한국어와 영어 초안을 다듬습니다. SVG를 포함한 지원 텍스트 형식 중 Hermes `write_file`과 `patch`로 전달되는 변경 내용을 검사합니다. 지원되는 쓰기 전에 차단 등급 발견이 있으면 저장을 막고, 주의 등급은 검토 의견으로 전달합니다. DOCX/PPTX는 파일 쓰기 이벤트나 스크립트 결과에 출력 경로가 보고되면 생성 뒤 검사합니다. PDF는 경로가 보고되고 `pdftotext`를 사용할 수 있을 때 텍스트를 검사합니다. 문서 검사는 사후 안내이므로 원본을 고친 뒤 다시 만들어야 합니다. 이 감지기는 글쓴이를 판별하지 않습니다.
147
-
148
-
149
- ## 스킬 한눈에 보기
150
-
151
- LitHermes에서 부를 수 있는 모든 스킬과 그 스킬을 시작하는 경로입니다. 각 스킬은 `lithermes:<이름>`으로 명시해 불러올 수도 있습니다.
152
-
153
- <table>
154
- <tr><th>이렇게 됩니다</th><th>스킬</th><th>얻는 것</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="요청에 lit만 붙이세요. 노트를 열고, 기준마다 실패 테스트·통과·실제 확인·정리 순서를 엄격히 지킵니다." /></td>
157
- <td><code>litwork</code><br /><sub><code>lit &lt;task&gt;</code> · <code>litwork &lt;task&gt;</code></sub></td>
158
- <td>요청에 <code>lit</code>만 붙이세요. 노트를 열고, 기준마다 실패 테스트·통과·실제 확인·정리 순서를 엄격히 지킵니다.</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="start-work가 그대로 실행할 수 있는 번호 붙은 작업 목록이 파일로 나옵니다. 코드는 아직 건드리지 않습니다." /></td>
162
- <td><code>lit-plan</code><br /><sub><code>lit plan &lt;what&gt;</code> · <code>/lit-plan</code></sub></td>
163
- <td><code>start-work</code>가 그대로 실행할 수 있는 번호 붙은 작업 목록이 파일로 나옵니다. 코드는 아직 건드리지 않습니다.</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="계획을 한 줄씩 실행합니다. 다섯 관문을 모두 통과해야 체크 표시가 붙습니다." /></td>
167
- <td><code>start-work</code><br /><sub><code>/start-work &lt;approved-plan&gt;</code></sub></td>
168
- <td>계획을 한 줄씩 실행합니다. 다섯 관문을 모두 통과해야 체크 표시가 붙습니다.</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="다섯 갈래 리뷰가 같은 변경을 따로 읽고, 발견한 문제부터 보고합니다." /></td>
172
- <td><code>review-work</code><br /><sub><code>lit review &lt;scope&gt;</code> · <code>/review-work</code></sub></td>
173
- <td>다섯 갈래 리뷰가 같은 변경을 따로 읽고, 발견한 문제부터 보고합니다.</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="목표 하나와 확인 가능한 기준을 디스크에 남겨, 다음 세션이 이어받을 수 있습니다." /></td>
177
- <td><code>litgoal</code><br /><sub><code>lit goal &lt;outcome&gt;</code> · <code>/litgoal</code></sub></td>
178
- <td>목표 하나와 확인 가능한 기준을 디스크에 남겨, 다음 세션이 이어받을 수 있습니다.</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="읽기 전용 요약입니다. 끝난 일, 진행 중인 일, 막힌 곳, 증거 위치, 다음 단계를 보여줍니다." /></td>
182
- <td><code>lit-recap</code><br /><sub><code>lit-recap</code></sub></td>
183
- <td>읽기 전용 요약입니다. 끝난 일, 진행 중인 일, 막힌 곳, 증거 위치, 다음 단계를 보여줍니다.</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="handoff라고 치면 다음 세션이 읽고 이어갈 인수인계 파일이 생깁니다." /></td>
187
- <td><code>lit-handoff</code><br /><sub><code>handoff</code> · <code>/lit-handoff</code></sub></td>
188
- <td><code>handoff</code>라고 치면 다음 세션이 읽고 이어갈 인수인계 파일이 생깁니다.</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="한 번에 한 질문씩 물어 아이디어를 만들 수 있을 만큼 분명하게 다듬습니다. 남은 모호함은 게이지로 보입니다." /></td>
192
- <td><code>deep-interview</code><br /><sub><code>deep-interview &lt;idea&gt;</code> · <code>/deep-interview</code></sub></td>
193
- <td>한 번에 한 질문씩 물어 아이디어를 만들 수 있을 만큼 분명하게 다듬습니다. 남은 모호함은 게이지로 보입니다.</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="조사 질문을 잘게 나누고 여러 검색을 동시에 돌려, 단서를 끝까지 따라간 뒤 출처와 함께 답합니다." /></td>
197
- <td><code>litresearch</code><br /><sub><code>lit research &lt;question&gt;</code></sub></td>
198
- <td>조사 질문을 잘게 나누고 여러 검색을 동시에 돌려, 단서를 끝까지 따라간 뒤 출처와 함께 답합니다.</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="계획 전에 요구사항을 반박해 봅니다. 반박을 견딘 위험만 계획으로 넘어갑니다." /></td>
202
- <td><code>lit-crucible</code><br /><sub><code>lit-crucible &lt;brief&gt;</code></sub></td>
203
- <td>계획 전에 요구사항을 반박해 봅니다. 반박을 견딘 위험만 계획으로 넘어갑니다.</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="저장소를 훑어 루트 AGENTS.md와, 필요한 폴더에만 짧은 안내서를 만듭니다." /></td>
207
- <td><code>lit-init</code><br /><sub><code>lit-init</code></sub></td>
208
- <td>저장소를 훑어 루트 AGENTS.md와, 필요한 폴더에만 짧은 안내서를 만듭니다.</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="에이전트가 쓴 작업을 이해하도록 돕는 설명 페이지입니다. 직관, 흐름 설명, 짧은 퀴즈 순서입니다." /></td>
212
- <td><code>lit-comprehend</code><br /><sub><code>lit-comprehend</code> · <code>comprehend &lt;range&gt;</code></sub></td>
213
- <td>에이전트가 쓴 작업을 이해하도록 돕는 설명 페이지입니다. 직관, 흐름 설명, 짧은 퀴즈 순서입니다.</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="딱딱한 AI 문장을 한국어나 영어로 다시 씁니다. 사실과 단서는 남기고, 파일을 멋대로 고치지 않습니다." /></td>
217
- <td><code>lit-humanizer</code><br /><sub><code>humanizer &lt;text&gt;</code> · <code>/lit-humanizer</code></sub></td>
218
- <td>딱딱한 AI 문장을 한국어나 영어로 다시 씁니다. 사실과 단서는 남기고, 파일을 멋대로 고치지 않습니다.</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="슬라이드와 문서에 넣을 다이어그램을 편집 가능한 형태로 그리고, 검사한 뒤 PNG와 SVG로 내보냅니다." /></td>
222
- <td><code>lit-diagram-drawer</code><br /><sub><code>lit-diagram-drawer &lt;brief&gt;</code> · <code>/lit-diagram-drawer</code></sub></td>
223
- <td>슬라이드와 문서에 넣을 다이어그램을 편집 가능한 형태로 그리고, 검사한 뒤 PNG와 SVG로 내보냅니다.</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="lit으로 발표자료를 요청하면 편집 가능한 PowerPoint 파일과 원고 Markdown이 나옵니다. 기본은 AZURE-PRO와 Pretendard이고, 완성된 파일로 품질 검사와 무결성 검사를 돌립니다." /></td>
227
- <td><code>lit-pptx</code><br /><sub><code>lit-pptx &lt;brief&gt;</code> · <code>/lit-pptx</code></sub></td>
228
- <td><code>lit</code>으로 발표자료를 요청하면 편집 가능한 PowerPoint 파일과 원고 Markdown이 나옵니다. 기본은 AZURE-PRO와 Pretendard이고, 완성된 파일로 품질 검사와 무결성 검사를 돌립니다.</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="lit으로 보고서를 요청하면 서식을 갖춘 Word 파일과 원고 Markdown이 나옵니다. 한국어는 korean-generic 서식을 쓰고, 문체 검사와 렌더링된 페이지 확인이 뒤따릅니다." /></td>
232
- <td><code>lit-docx</code><br /><sub><code>lit-docx &lt;brief&gt;</code> · <code>/lit-docx</code></sub></td>
233
- <td><code>lit</code>으로 보고서를 요청하면 서식을 갖춘 Word 파일과 원고 Markdown이 나옵니다. 한국어는 korean-generic 서식을 쓰고, 문체 검사와 렌더링된 페이지 확인이 뒤따릅니다.</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="실제로 동작하는 화면을 만들고, 설치된 측정 프로브로 일곱 가지 보기를 렌더링합니다. 네 가지 폭, 다크 모드, 모션 줄이기, 200% 확대입니다." /></td>
237
- <td><code>frontend-ui-ux</code><br /><sub><code>lit design &lt;target&gt;</code> · <code>frontend-ui-ux &lt;target&gt;</code></sub></td>
238
- <td>실제로 동작하는 화면을 만들고, 설치된 측정 프로브로 일곱 가지 보기를 렌더링합니다. 네 가지 폭, 다크 모드, 모션 줄이기, 200% 확대입니다.</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="사실에 맞는 README와 움직이는 커버를 만들고, 휴대폰과 데스크톱 폭, 라이트와 다크 모드에서 확인합니다." /></td>
242
- <td><code>readme-studio</code><br /><sub><code>readme-studio &lt;scope&gt;</code></sub></td>
243
- <td>사실에 맞는 README와 움직이는 커버를 만들고, 휴대폰과 데스크톱 폭, 라이트와 다크 모드에서 확인합니다.</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="lit으로 영상을 요청하면 트리트먼트를 먼저 쓰고, 장면을 그리거나 글자를 움직이고, 사운드를 만든 뒤 검사를 거쳐 영상을 넘깁니다." /></td>
247
- <td><code>lit-typographic-motion</code><br /><sub><code>lit-typographic-motion &lt;request&gt;</code> · <code>/lit-typographic-motion</code></sub></td>
248
- <td><code>lit</code>으로 영상을 요청하면 트리트먼트를 먼저 쓰고, 장면을 그리거나 글자를 움직이고, 사운드를 만든 뒤 검사를 거쳐 영상을 넘깁니다.</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="학술지 규격 그림을 벡터와 600 DPI로 내보냅니다. 그래프 종류는 데이터 성격에 맞춰 고릅니다." /></td>
252
- <td><code>lit-scientific-visualization</code><br /><sub><code>lit-scientific-visualization</code> · <code>/lit-scientific-visualization</code></sub></td>
253
- <td>학술지 규격 그림을 벡터와 600 DPI로 내보냅니다. 그래프 종류는 데이터 성격에 맞춰 고릅니다.</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="실제 화면을 폭별로 확인해 결과를 정직하게 돌려줍니다. 막히면 무엇이 막았는지 정확히 알려줍니다." /></td>
257
- <td><code>visual-qa</code><br /><sub><code>visual-qa &lt;target&gt;</code></sub></td>
258
- <td>실제 화면을 폭별로 확인해 결과를 정직하게 돌려줍니다. 막히면 무엇이 막았는지 정확히 알려줍니다.</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="브라우저 드라이버를 먼저 확인한 뒤 실제 페이지를 조작합니다. 드라이버가 없으면 그렇다고 말합니다." /></td>
262
- <td><code>browser-drive</code><br /><sub><code>browser-drive &lt;task&gt;</code></sub></td>
263
- <td>브라우저 드라이버를 먼저 확인한 뒤 실제 페이지를 조작합니다. 드라이버가 없으면 그렇다고 말합니다.</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="글자 대신 문법 구조로 코드를 찾고, 바꾸기 전에 결과를 미리 보여줍니다." /></td>
267
- <td><code>structural-search</code><br /><sub><code>lit structural &lt;pattern&gt;</code> · <code>structural-search &lt;pattern&gt;</code></sub></td>
268
- <td>글자 대신 문법 구조로 코드를 찾고, 바꾸기 전에 결과를 미리 보여줍니다.</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="검토를 거친 프로젝트 지식을 디스크에 두고, 나중 질문에 출처와 함께 답합니다." /></td>
272
- <td><code>wikify</code><br /><sub><code>wikify &lt;mode&gt;</code> · <code>lit wikify &lt;mode&gt;</code></sub></td>
273
- <td>검토를 거친 프로젝트 지식을 디스크에 두고, 나중 질문에 출처와 함께 답합니다.</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="버그를 재현하고, 가설을 세 개 이상 세워 확인한 뒤, 확인된 원인만 고칩니다." /></td>
277
- <td><code>debugging</code><br /><sub><code>lit debug &lt;symptom&gt;</code> · <code>debugging &lt;symptom&gt;</code></sub></td>
278
- <td>버그를 재현하고, 가설을 세 개 이상 세워 확인한 뒤, 확인된 원인만 고칩니다.</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="동작을 테스트로 고정한 채 코드 구조를 바꿉니다. 단계마다 확인합니다." /></td>
282
- <td><code>refactor</code><br /><sub><code>lit refactor &lt;target&gt;</code> · <code>refactor &lt;target&gt;</code></sub></td>
283
- <td>동작을 테스트로 고정한 채 코드 구조를 바꿉니다. 단계마다 확인합니다.</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="테스트로 동작을 먼저 묶어 두고, 변경분에 붙은 AI식 군더더기를 걷어냅니다." /></td>
287
- <td><code>lit-burnoff</code><br /><sub><code>lit slop &lt;scope&gt;</code></sub></td>
288
- <td>테스트로 동작을 먼저 묶어 두고, 변경분에 붙은 AI식 군더더기를 걷어냅니다.</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="파일 하나만 정리합니다. 설명조 주석과 과한 방어 코드를 줄이고 중첩을 펴줍니다." /></td>
292
- <td><code>lit-burnoff-file</code><br /><sub><code>ask to clean one file</code></sub></td>
293
- <td>파일 하나만 정리합니다. 설명조 주석과 과한 방어 코드를 줄이고 중첩을 펴줍니다.</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="엄격한 구현 규칙입니다. 테스트 먼저, 경계에서 타입 확인, 작은 파일." /></td>
297
- <td><code>lit-code</code><br /><sub><code>ask for strict implementation</code></sub></td>
298
- <td>엄격한 구현 규칙입니다. 테스트 먼저, 경계에서 타입 확인, 작은 파일.</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="변경을 저장소 스타일에 맞는 작은 커밋으로 나눕니다. 관계없는 작업은 건드리지 않습니다." /></td>
302
- <td><code>lit-commit</code><br /><sub><code>lit git &lt;task&gt;</code></sub></td>
303
- <td>변경을 저장소 스타일에 맞는 작은 커밋으로 나눕니다. 관계없는 작업은 건드리지 않습니다.</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="사용하는 언어의 언어 서버를 설치하고, 진단이 실제로 도는지 확인합니다." /></td>
307
- <td><code>lsp-setup</code><br /><sub><code>lsp-setup &lt;language&gt;</code></sub></td>
308
- <td>사용하는 언어의 언어 서버를 설치하고, 진단이 실제로 도는지 확인합니다.</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="요청할 때 Hermes 언어 서버로 진단, 참조, 이름 바꾸기 안전성을 확인합니다." /></td>
312
- <td><code>lsp</code><br /><sub><code>lsp &lt;request&gt;</code></sub></td>
313
- <td>요청할 때 Hermes 언어 서버로 진단, 참조, 이름 바꾸기 안전성을 확인합니다.</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="Hermes가 어떤 규칙 파일을 언제 읽는지 설명합니다." /></td>
317
- <td><code>rules</code><br /><sub><code>rules &lt;question&gt;</code></sub></td>
318
- <td>Hermes가 어떤 규칙 파일을 언제 읽는지 설명합니다.</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="수정으로 추가된 주석을 검토합니다. 이유는 남기고, 되풀이하는 주석은 뺍니다. 소스 파일을 고친 뒤에도 알아서 돕니다." /></td>
322
- <td><code>comment-checker</code><br /><sub><code>comment-checker</code></sub></td>
323
- <td>수정으로 추가된 주석을 검토합니다. 이유는 남기고, 되풀이하는 주석은 뺍니다. 소스 파일을 고친 뒤에도 알아서 돕니다.</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="승인된 예산 안에서 실험을 반복합니다. 한 번에 하나만 바꾸고, 결과에 따라 남기거나 되돌립니다." /></td>
327
- <td><code>autoresearch</code><br /><sub><code>autoresearch &lt;mode&gt;</code></sub></td>
328
- <td>승인된 예산 안에서 실험을 반복합니다. 한 번에 하나만 바꾸고, 결과에 따라 남기거나 되돌립니다.</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="예산을 정한 연구 회의입니다. 연구자와 리뷰어가 따로 일하고, 종합에는 반대 의견도 남깁니다." /></td>
332
- <td><code>autoconference</code><br /><sub><code>autoconference &lt;mode&gt;</code></sub></td>
333
- <td>예산을 정한 연구 회의입니다. 연구자와 리뷰어가 따로 일하고, 종합에는 반대 의견도 남깁니다.</td>
334
- </tr>
335
- </table>
336
-
337
- ## 한 줄 요청 A/B
338
-
339
- 각 요청은 가볍게 쓴 한국어 한 줄입니다. LitHermes 쪽은 같은 줄 끝에 ` lit`만 붙였습니다. 두 쪽 모두 2026-09-26에 Hermes Agent v0.21.3, `gpt-6-sol`, 추론 `high`로 한 번씩 실행했고, LitHermes 쪽은 배포 전 로컬 빌드를 썼습니다. 블라인드 판정자(Claude Opus 5.5)는 도구 이름을 지운 두 결과를 순서를 바꿔 두 번 비교했습니다. 그다음 메인테이너가 두 결과를 나란히 놓고 보고 최종 판정을 내렸습니다.
340
-
341
- S3·S4·S11은 이후의 UI 라운드, S5·S8·S9는 `lit-pptx`와 `lit-docx`를 쓴 오피스 라운드 결과이며, 같은 작업의 이전 결과를 대신합니다. UI 라운드에서 LitHermes 쪽은 화면 측정 프로브를 한 번도 실행하지 않았습니다. 스킬이 설치된 프로브 경로를 알려 주지 않았기 때문입니다. 지금 스킬은 경로를 알려 주지만, 이 세 작업은 아직 다시 실행하지 않았습니다. S3·S4의 기준선은 LitHermes 쪽과 달리 파일 쓰기 격리 없이 실행됐습니다.
88
+ 가볍게 쓴 한국어 한 줄 요청 10개를 각각 원문 그대로 한 번, 끝에 ` lit`을 붙여 한 번, 이렇게 두 번씩 Hermes Agent v0.21.3, `gpt-6-sol`, 추론 `high`로 실행했습니다. 블라인드 판정자가 두 결과를 순서를 바꿔 비교했고, 최종 판정은 메인테이너가 내렸습니다.
342
89
 
343
90
  | 작업 | 요청 | 최종 판정 | 블라인드 판정(같은 라운드) |
344
91
  |---|---|---|---|
@@ -354,148 +101,36 @@ S3·S4·S11은 이후의 UI 라운드, S5·S8·S9는 `lit-pptx`와 `lit-docx`를
354
101
  | S11 · 회의실 예약 웹앱 (UI 라운드) | 회의실 예약 웹앱 만들어줘 | **LitHermes 승** | 무승부 |
355
102
  | 합계 | | **8승 2무 0패** | 5승 3무 2패 |
356
103
 
357
- 맨 위 모션 표지는 LitFamily 모션 스킬로 만들었습니다. 이 스킬(여기서는 `lit-typographic-motion`)은 첫 A/B 이후 다시 만들어졌고, 아직 A/B 결과가 없습니다.
358
-
359
- ### 양쪽이 만든 것
360
-
361
- **S1 · 무승부 (판정자: 기준선 승).** 두 CLI 모두 도움말, 추가, 조회, 완료가 동작했고 자체 테스트도 통과했습니다(기준선 6개, LitHermes 4개). 판정자는 기준선을 골랐습니다. 기준선은 화면 문구를 한국어로 유지하고 수정 기능과 완료 항목 필터를 더했으며, 파일 잠금과 원자적 쓰기로 데이터 파일을 보호했습니다. LitHermes의 CLI 출력과 README는 영어였습니다. 메인테이너는 둘을 비겼다고 봤습니다.
362
-
363
- **S2 · 무승부.** 두 쪽 모두 알려진 버그 6개를 모두 고쳤고 보이는 테스트 실패도 없었습니다. LitHermes는 답변에서 버그 4개를 짚었고(기준선 3개) 실행 중인 서버에서 두 번째 페이지 수정을 확인했습니다. 기준선은 새 검증 규칙을 README에 적었습니다. 판정자와 메인테이너 모두 무승부로 봤습니다.
364
-
365
- **S3 · LitHermes 승.** LitHermes 대시보드는 CSV 내보내기와 예산 수정을 더했고 아이콘을 한 세트로 맞췄으며, 답변에 320~1440px 브라우저 확인을 적었습니다. 기준선 차트는 축과 월 라벨이 늘어나 휴대폰에서 특히 일그러졌습니다. 접근성 검사에서는 LitHermes 쪽 위반 노드가 더 많았습니다(117 대 91).
366
-
367
- | 기준선 | LitHermes |
368
- |---|---|
369
- | ![S3 기준선 가계부 대시보드, 데스크톱](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s3-ui-baseline-desktop.webp) | ![S3 LitHermes 가계부 대시보드, 데스크톱](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s3-ui-lithermes-desktop.webp) |
370
-
371
- **S4 · LitHermes 승.** LitHermes는 품목과 가격이 있는 탭 메뉴, 서로 다른 사진 6장, 아치형 첫 화면을 만들었습니다. 기준선 메뉴는 분위기 카드 3장이었고 같은 실내 사진을 두 번 썼습니다. 위치와 영업시간은 기준선에만 있었고, 페이지 검사에서 잘리거나 화면 밖으로 나간 글자 상자가 LitHermes 쪽에서 7개, 기준선에서 0개 나왔습니다.
372
-
373
- | 기준선 | LitHermes |
374
- |---|---|
375
- | ![S4 기준선 카페 랜딩페이지, 데스크톱](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s4-ui-baseline-desktop.webp) | ![S4 LitHermes 카페 랜딩페이지, 데스크톱](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s4-ui-lithermes-desktop.webp) |
376
-
377
- **S5 · LitHermes 승.** 두 쪽 모두 확인 대상 사실 12개를 모두 맞혔습니다. LitHermes는 2026년 점검과 의회 보고 기한이 이미 지났다는 점을 짚었고, 기준선은 이를 앞으로 할 일로 적었습니다. LitHermes는 주말 거점과 평일 승합차 이용의 차이처럼 자료가 뒷받침하는 분석도 더했습니다. 슬라이드 디자인은 기준선이 낫고, LitHermes 발표자료는 기본 템플릿 그대로입니다.
378
-
379
- 기준선:
380
-
381
- ![S5 기준선 발표자료 슬라이드](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s5-office-baseline-slides.webp)
382
-
383
- LitHermes:
384
-
385
- ![S5 LitHermes 발표자료 슬라이드](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s5-office-lithermes-slides.webp)
386
-
387
- **S6 · LitHermes 승 (판정자: 무승부).** LitHermes는 기준 사실 10개 중 3개를 찾았고(기준선 1개), 링크는 모두 공식 출처였습니다(기준선은 4분의 1). npm 11에서 `--ignore-scripts`가 `prepare`에도 적용되는 점, Undici 7, ARMv7 빌드 중단도 다뤘습니다. 기준선은 API 세부 사항을 더 많이 적었지만 권한 플래그 이름 변경을 24의 새 변화처럼 소개해, 판정자가 오해 소지가 있다고 봤습니다.
104
+ 판정자는 S1과 S8에서 기준선을 골랐습니다. 양쪽이 만든 결과물과 스크린샷, 그리고 각 작업이 어느 라운드에서 나왔는지는 GitHub에서 확인할 수 있습니다. 맨 위 모션 표지는 LitFamily 모션 스킬로 만들었습니다. 이 스킬(여기서는 `lit-typographic-motion`)은 첫 A/B 이후 다시 만들어졌고, 아직 A/B 결과가 없습니다.
388
105
 
389
- **S7 · LitHermes 승.** LitHermes는 결제 실패와 취소 흐름까지 담은, 렌더링된 편집 가능한 HTML 구조도를 냈고, 필요한 Chrome이 없어 PNG 내보내기와 화면 검토를 건너뛰었다고 밝혔습니다. 기준선은 채팅에 ASCII 상자를 그렸는데, 판정자는 한글이 두 칸 폭이라 줄이 어긋날 것으로 봤습니다. 메인테이너는 차이가 압도적이라고 평했습니다.
106
+ ## 선택 기능: Jev 스킬 힌트
390
107
 
391
- | 기준선 | LitHermes |
392
- |---|---|
393
- | 채팅 속 ASCII 상자만 있고 렌더링된 파일 없음 | ![S7 LitHermes 주문·결제·배송 구조도](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s7-lithermes-diagram.webp) |
108
+ 기본값은 꺼짐입니다. Hermes가 실행되는 환경에 `LITHERMES_JEV=1`과 본인의 `TYPESAFE_API_KEY`를 설정하면, LitHermes가 TypeSafe의 호스팅 결정 모델 Jev에게 평범한 프롬프트에 맞는 번들 스킬을 묻습니다. 답은 그 턴의 컨텍스트에 조언 한 줄로 붙습니다. 어디까지나 제안이라, 스킬을 불러올지는 여전히 Hermes 모델이 정하고 힌트로 권한을 주거나 도구를 실행할 수는 없습니다.
394
109
 
395
- **S8 · LitHermes 승 (판정자: 기준선 승).** 요청에는 회사도 실적 수치도 없었습니다. 기준선은 빈칸을 둔 7장짜리 템플릿을, LitHermes는 가상 기업의 8장짜리 발표자료와 차트 3개를 만들고 모든 수치에 가정 예시라고 표시했습니다. 판정자는 바로 채워 쓸 수 있는 기준선 템플릿을 골랐고, LitHermes 차트는 데이터 라벨이 없어 빈약하다고 봤습니다. 메인테이너는 LitHermes 발표자료를 골랐습니다.
110
+ 켜 두면 조건에 맞는 프롬프트마다 2,000자로 자르고 홈 경로, 이메일 주소, 토큰 형태의 문자열을 가린 뒤 TypeSafe(typesafe.ai)로 보냅니다. 다만 호스트 이름이나 고객 이름처럼 토큰 형태가 아닌 내용과 `password=...` 형식이 아닌 비밀번호는 가려지지 않고 쓴 그대로 전송됩니다. 게이트웨이 모드라면 대화방의 다른 참여자가 보낸 메시지도 전송 대상에 들어갑니다. export한 키는 에이전트의 도구도 읽을 수 있으니 이 기능 전용 키를 쓰고 사용 한도를 낮게 잡으세요. 비용은 TypeSafe가 본인 계정에 청구하며 입력 토큰 100만 개당 약 0.04달러입니다. 요청은 1.5초가 지나면 재시도 없이 멈추고, 실패해도 턴은 그대로 진행됩니다.
396
111
 
397
- 기준선:
112
+ 켜져 있으면 세션의 첫 답변이 `✦ Jev skill hint ON`으로 시작합니다. Hermes 세션 안에서 `hermes lithermes status`와 `hermes lithermes doctor`를 실행하면 그 세션의 마지막 힌트가 `Jev skill hint: on — last hint lit-humanizer (0.43s)`나 `on — no hint yet`처럼 표시됩니다. 세션 밖에서는 `on — no session`, 그 밖에는 `off` 또는 `flag on but TYPESAFE_API_KEY missing`이 나옵니다. 끄려면 `LITHERMES_JEV`를 해제하거나 `1`이 아닌 값으로 바꾸세요. 자세한 내용은 GitHub README와 [개인정보 안내](https://github.com/wjgoarxiv/lithermes/blob/main/docs/privacy.md)에 있습니다.
398
113
 
399
- ![S8 기준선 발표자료 슬라이드](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s8-office-baseline-slides.webp)
400
-
401
- LitHermes:
402
-
403
- ![S8 LitHermes 발표자료 슬라이드](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s8-office-lithermes-slides.webp)
404
-
405
- **S9 · LitHermes 승.** 기준선은 어떤 제품인지 되묻기만 하고 문서를 쓰지 않았습니다. LitHermes는 가상의 모듈형 책상 정리 트레이를 대상으로 고객 문제, 가격 가정, 검증 일정, 생산 결정 기준을 담은 3쪽짜리 Word 기획서를 썼고, 판정자는 손익분기 계산이 맞다고 봤습니다.
406
-
407
- | 기준선 | LitHermes |
408
- |---|---|
409
- | 문서 없음. 어떤 제품인지 되물음 | ![S9 LitHermes 신제품 기획서 첫 페이지들](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s9-office-lithermes-pages.webp) |
410
-
411
- **S11 · LitHermes 승 (판정자: 무승부).** LitHermes는 날짜별 현황, 인원 필터와 검색, 30분 단위 예약을 갖추고 로직 테스트 4개가 통과하는 앱을 냈습니다. 판정자는 모든 회의실을 한 타임라인에 보여 주는 기준선이 더 알아보기 쉽고 `index.html`만 열면 된다고 봤습니다. LitHermes 앱은 npm과 로컬 서버가 필요하고, 일러스트 배너가 일정표 위를 차지합니다. 메인테이너는 LitHermes 앱을 골랐습니다.
412
-
413
- | 기준선 | LitHermes |
414
- |---|---|
415
- | ![S11 기준선 회의실 예약 앱, 데스크톱](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s11-ui-baseline-desktop.webp) | ![S11 LitHermes 회의실 예약 앱, 데스크톱](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.10/readme-assets/ab-simple/s11-ui-lithermes-desktop.webp) |
416
-
417
- 그림 URL은 현재 후보 버전에 고정된 출시 대상 경로이며, 별도 승인된 패키지 배포 전에는 공개 접근을 뜻하지 않습니다.
418
-
419
- ## 명령과 훅
420
-
421
- ### 핵심 명령
422
-
423
- | 입력 | 용도 |
424
- |---|---|
425
- | `lit <요청>` 또는 `/lit` | 범위를 정한 작업을 시작하고 확인 결과를 남깁니다. |
426
- | `handoff` 또는 `/lit-handoff` | 현재 작업과 다음 할 일을 다음 세션으로 넘깁니다. |
427
- | `lit-plan` 또는 `/lit-plan` | 실행 전에 계획을 작성합니다. |
428
- | `/start-work <승인된 계획>` | 승인한 계획을 실행합니다. |
429
- | `/review-work` | 계획이나 결과를 검토하고 발견 사항을 남깁니다. |
430
- | `litresearch` 또는 `lit research <질문>` | 출처 메모가 있는 조사 흐름을 사용합니다. |
431
- | `lit review <대상>` | 계획이나 결과를 검토합니다. |
432
- | `/lit-loop` | 명시적 반복 작업을 시작·확인·재개·종료합니다. |
433
- | `/litgoal` | 기준·근거·체크포인트와 막힌 지점을 추적합니다. |
434
- | `/lit-humanizer` | 의미를 지키며 한국어·영어 문장을 다듬습니다. 이전 별칭은 `/lit-korean`, `/text-naturalization`, `/text-neutralization`, `/korean-ai-slop-remover`입니다. |
435
- | `/lit-diagram-drawer <brief>` | 설치된 Python 도구로 내용과 기하 구조를 검사하며 접근성·한국어를 고려한 다이어그램을 만듭니다. |
436
- | `/lit-pptx <brief>` | 번들된 AZURE-PRO 엔진으로 발표자료를 만들고 검사합니다. |
437
- | `/lit-docx <brief>` | 출판 프로필을 적용해 Word 문서를 만들고 편집·검토합니다. |
438
- | `/lit-typographic-motion <brief>` | 트리트먼트에서 출발해 스테이지 또는 타입 경로로 원본 영상을 연출하고 검사합니다. |
439
-
440
- Telegram gateway에서는 `/lit_loop`와 `/lit_plan` 별칭을 사용합니다. 전체 명령 예시와 훅 동작은 [운영 안내](https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md)에 있습니다. 경로 확인 메시지는 호스트 메시지이며 작업이나 화면 검토가 끝났다는 증거가 아닙니다.
441
-
442
- ### Jev 스킬 힌트(선택)
443
-
444
- LitHermes는 TypeSafe가 호스팅하는 결정 모델 Jev에게 평범한 프롬프트에 맞는 LitHermes 스킬을 물어볼 수 있습니다. 답은 그 턴의 컨텍스트에 조언 한 줄로만 들어갑니다. 스킬을 불러올지는 여전히 Hermes 모델이 정하며, 힌트는 권한을 주거나 도구를 실행하지 않습니다. 슬래시 명령과 기존 LitHermes 경로가 이미 처리하는 프롬프트에는 관여하지 않습니다.
445
-
446
- 기본값은 꺼짐입니다. 켜려면 Hermes가 실행되는 환경에 두 변수를 모두 설정하고, 키는 본인의 TypeSafe 키를 사용하세요.
447
-
448
- ```sh
449
- export LITHERMES_JEV=1
450
- export TYPESAFE_API_KEY=<your key>
451
- ```
452
-
453
- 켜 두면 조건에 맞는 프롬프트마다 2,000자로 자르고 홈 경로, 이메일 주소, 토큰 형태의 문자열을 가린 뒤 TypeSafe(typesafe.ai)로 보냅니다. 토큰 형태가 아닌 내용은 쓴 그대로 전송됩니다. 호스트 이름, 고객 이름, `password=...` 형식이 아닌 비밀번호가 그렇습니다. Hermes 게이트웨이 모드에서는 대화방의 다른 참여자가 보낸 메시지도 전송 대상입니다. 세션의 다른 내용은 보내지 않습니다. `TYPESAFE_API_KEY`는 Hermes를 시작하는 셸에 export되어 있으므로 에이전트의 도구도 이 값을 읽을 수 있습니다. 이 기능 전용 키를 쓰고 사용 한도를 낮게 잡으세요. 비용은 TypeSafe가 본인 계정에 청구하며, 입력 토큰 100만 개당 약 0.04달러입니다. 요청마다 1.5초 제한이 있고 재시도하지 않습니다. 실패하면 턴은 그대로 진행되고, 짧은 안내가 세션마다 한 번만 표시됩니다. 켜져 있는 동안에는 세션의 첫 답변 맨 위에 `✦ Jev skill hint ON` 한 줄이 표시되어, 기능이 켜져 있다는 것을 바로 알 수 있습니다. 힌트는 `hermes lithermes status`와 `hermes lithermes doctor`에서 확인합니다. `Jev skill hint: on — last hint lit-humanizer (0.43s)`는 마지막으로 힌트한 스킬과 Jev의 응답 시간을, `on — no hint yet`은 아직 힌트가 없다는 뜻이며, 그 밖에는 `off` 또는 `flag on but TYPESAFE_API_KEY missing`이 표시됩니다. 끄려면 `LITHERMES_JEV`를 해제하거나 `1`이 아닌 값으로 바꾸세요.
454
-
455
- ## 문제 해결
456
-
457
- ### 안전 모델과 호스트 한계
458
-
459
- - 설치 전 `npm exec --yes --package "$LITHERMES_PACK" -- lithermes install --dry-run --no-auto-update --no-patch-installed-hermes`로 변경을 미리 확인하세요. 코드·인용문·복사한 명령은 실행 지시로 다루지 않으며, 비밀값은 저장하거나 모델에 전달하기 전에 가립니다.
460
- - native `/goal`은 사용자가 관리하며 plugin은 관찰하지 않습니다. durable `goal_*` 상태가 기준이며 native `/goal`을 자동으로 갱신·초기화·재개하지 않습니다.
461
- - Hermes 하위 모델은 공통 모델 경로를 사용합니다. 작업별 모델 재정의와 지정 reviewer 경로는 지원하지 않습니다. 설정 receipt가 실제 child 실행을 증명하지 않습니다.
462
- - 생성되는 negative gate matrix는 분리된 HOME과 `HERMES_HOME`을 사용하므로 동시 세션의 receipt를 비교할 수 있습니다.
463
- - Hermes는 bare skill 이름(명시적 로드 형태인 `lithermes:<name>`이 아닌 경우)을 Hermes `config.yaml`의 `skills.external_dirs`와 로컬 `<HERMES_HOME>/skills`에서 먼저 찾은 뒤 LitHermes plugin으로 넘어갑니다. 이 위치 중 하나에 같은 이름의 skill이 있으면 `lithermes doctor`가 `skill shadow check: WARNING` 줄로 해당 skill과 가리는 경로를 알려줍니다. `lithermes:<name>`으로 명시적으로 불러오거나, 다른 위치의 사본을 제거·이름 변경하세요. 이 경고는 doctor의 성공/실패 종료 상태를 바꾸지 않습니다.
464
-
465
- ### 확인 및 삭제
466
-
467
- 오프라인으로 설치 상태를 확인합니다.
468
-
469
- ```sh
470
- npm exec --yes --package "$LITHERMES_PACK" -- lithermes doctor --offline --no-auto-update
471
- ```
472
-
473
- plugin을 삭제합니다.
114
+ ## 확인, 삭제, 안전
474
115
 
475
116
  ```sh
476
- npm exec --yes --package "$LITHERMES_PACK" -- lithermes uninstall --yes --no-auto-update
117
+ npx --package @litfamily/lithermes -- lithermes doctor --offline
118
+ npx --package @litfamily/lithermes -- lithermes uninstall --yes
477
119
  ```
478
120
 
479
- 호환성 패치를 적용했다면 삭제 시 `--rollback-patches`를 추가하세요. 삭제 후에도 native skin 파일과 `display.skin` 선택은 남습니다. 선택을 지우려면 해당 프로필에서 `npm exec --yes --package "$LITHERMES_PACK" -- lithermes hud off`를 실행하세요. 스킨 파일과 다른 설정은 유지합니다.
480
-
481
- Lit 스킬이 보이지 않으면 Hermes에 `skills_list` 도구를 호출해 LitHermes 항목을 확인하도록 요청하세요. 플러그인 스킬과 파일시스템만 조회하는 `/skills` 목록은 호스트 버전에 따라 다를 수 있습니다. Hermes 로그의 import 오류는 플러그인 로딩 실패이지, 추측으로 pip 패키지를 설치하라는 뜻이 아닙니다. 오류 메시지를 보관한 뒤 운영 안내를 확인하세요.
121
+ `doctor --offline`은 인터넷에 나가지 않고 설치 상태를 확인합니다. 설치 프로그램이 Hermes에 호환성 수정을 했다면 삭제할 때 `--rollback-patches`를 붙여 되돌리세요. 삭제해도 스킨 파일과 `display.skin` 선택은 남습니다. `npx --package @litfamily/lithermes -- lithermes hud off`를 실행하면 선택만 지우고 파일은 그대로 둡니다.
482
122
 
483
- ## 링크
123
+ - 설치 프로그램이 무엇을 바꿀지 미리 보고 싶다면 `lithermes install --dry-run`을 실행하세요.
124
+ - 붙여 넣은 코드, 인용문, 명령은 읽을 글로만 다루고 지시로 받아들이지 않습니다. 비밀값은 저장하거나 모델에 넘기기 전에 가립니다.
125
+ - Hermes에 원래 있는 `/goal`은 사용자가 직접 관리합니다. LitHermes는 이것을 지켜보지 않고, 대신 갱신하거나 지우거나 다시 이어 주지도 않습니다. LitHermes는 `goal_*` 도구로 저장한 자기 목표를 기준으로 삼습니다.
126
+ - Hermes는 보조 작업을 모두 공통 모델 설정 하나로 보내므로, 작업마다 모델을 고르거나 리뷰 전용 모델을 둘 수 없습니다. 설치 보고서에는 설정한 값만 나오고, 어떤 모델이 실제로 쓰였는지는 실제 `delegate_task` 실행 기록으로만 확인됩니다.
127
+ - Lit 스킬이 보이지 않으면 Hermes에 `skills_list` 도구를 불러 LitHermes 항목을 찾아 달라고 하세요. `/skills` 명령은 파일시스템만 읽어서 Hermes 버전에 따라 목록이 다를 수 있습니다. Hermes 로그의 import 오류는 플러그인을 불러오지 못했다는 뜻입니다. 짐작으로 pip 패키지를 설치하기보다 오류 메시지를 보관해 두세요.
128
+ - 다른 곳의 같은 이름 스킬이 LitHermes 스킬을 가리면 `lithermes doctor`가 `skill shadow check: WARNING` 줄을 출력합니다. `lithermes:<name>`으로 불러오세요. 이 경고가 doctor의 종료 상태를 바꾸지는 않습니다.
484
129
 
485
- ### 더 읽을 문서
130
+ ## 더 알아보기
486
131
 
487
- - [운영 안내: 명령, 모델, 스킨, 문제 해결](https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md)
488
- - [Python plugin 계약](https://github.com/wjgoarxiv/lithermes/blob/main/packages/lithermes-installer/assets/lithermes-plugin/README.md)
489
- - [변경 기록](https://github.com/wjgoarxiv/lithermes/blob/main/CHANGELOG.md)
490
- - [npm package 안내](https://github.com/wjgoarxiv/lithermes/blob/main/packages/lithermes-installer/README_Ko-KR.md)
491
- - [개인정보](https://github.com/wjgoarxiv/lithermes/blob/main/docs/privacy.md) · [이전 패키지에서 이전하기](https://github.com/wjgoarxiv/lithermes/blob/main/docs/migration.md)
492
-
493
- ### 커뮤니티와 이전 안내
494
-
495
- [기여](https://github.com/wjgoarxiv/lithermes/blob/main/CONTRIBUTING.md) · [보안](https://github.com/wjgoarxiv/lithermes/blob/main/SECURITY.md) · [행동 강령](https://github.com/wjgoarxiv/lithermes/blob/main/CODE_OF_CONDUCT.md) · [지원](https://github.com/wjgoarxiv/lithermes/blob/main/SUPPORT.md)
132
+ - [GitHub의 전체 README](https://github.com/wjgoarxiv/lithermes/blob/main/README_Ko-KR.md): 스킬 갤러리, 스크린샷이 있는 A/B 결과, 작동 방식
133
+ - [운영 안내](https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md): 명령, 모델, 스킨, 문제 해결
134
+ - [변경 기록](https://github.com/wjgoarxiv/lithermes/blob/main/CHANGELOG.md) · [기여](https://github.com/wjgoarxiv/lithermes/blob/main/CONTRIBUTING.md) · [보안](https://github.com/wjgoarxiv/lithermes/blob/main/SECURITY.md) · [지원](https://github.com/wjgoarxiv/lithermes/blob/main/SUPPORT.md)
496
135
 
497
136
  MIT License.
498
-
499
- ### LITFAMILY
500
-
501
- 각 제품은 지원하는 에이전트 환경에 따로 설치해 사용합니다.