Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jx-hxxx/hi-vibe --skill docs-keepergit clone --depth 1 https://github.com/jx-hxxx/hi-vibeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jx-hxxx/hi-vibe/docs-keeper)<a href="https://agentmods.dev/skills/jx-hxxx/hi-vibe/docs-keeper"><img src="https://agentmods.dev/badge/skills/jx-hxxx/hi-vibe/docs-keeper/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jx-hxxx/hi-vibe/docs-keeper"><img src="https://agentmods.dev/badge/skills/jx-hxxx/hi-vibe/docs-keeper.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00231 | $0.04072 |
| Opus 5 | $0.00115 | $0.02036 |
| Sonnet 5 | $0.00046 | $0.00814 |
| Haiku 4.5 | $0.00023 | $0.00407 |
Grade B, and why
docs-keeper scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Strips warnings and disclaimersmediumAnti-refusal
Omitting safety caveats hides risk from the user and is a common jailbreak preamble.
internal init check; do NOT lecture the user about the marker or the How it starts
The opening of the file, as written. The whole thing — 258 lines — stays where its author put it; the contents beside it link to each section on GitHub.
docs-keeper
Each record has one job — never blur them:
| 문서 | 한 줄 정의 | 갱신 시점 |
|---|---|---|
CLAUDE.md |
코드만 봐선 모를 것 — 제약·함정·결정 (얇게!) | 그것들이 바뀔 때 (파일 이동은 해당 없음) |
<folder>/MODULE.md |
그 폴더의 상세 설계 | 폴더 내용이 바뀔 때 |
handover.md |
세션 맥락 (왜/어디까지 했나) | 세션 끝·compact 직전 |
CHANGELOG.md |
결과 (무엇이 바뀌었나) | 실질 변경 직후 |
evidence/METRICS.md |
증명 (정량 성과를 어떻게 재현하나) | 비교 가능한 실측이 생겼을 때만 |
Templates: templates/*.tpl in this skill's directory.
All user-facing prose you write into these docs follows the user's
conversation language — write in Korean if the user talks to you in
Korean, English if in English, and so on. Match the language they are
actually using with you; do not default to any single language. (An
existing doc's language wins: if the project's docs are already in one
language, keep writing in that one for consistency.)
Token budget (hard rule)
CLAUDE.md is loaded into EVERY session — every line costs tokens forever. Keep it ≤ 120 lines. Detail always goes DOWN into MODULE.md, never up. Never paste MODULE.md content, code, or long lists into CLAUDE.md.
Mode: init
- Detect state: does the project root have CLAUDE.md / handover.md /
CHANGELOG.md? Which top-level folders look like feature folders
(contain source files; skip
node_modules,.git,dist,venv,__pycache__, build output)? - If a file already exists, NEVER overwrite silently — show what is
missing versus the template and ask before touching it
(AskUserQuestion).
--auditmode: only report drift, change nothing. - Scaffold the LEAN default only — do NOT create every doc up front. A
toy project must not start with more management docs than code.
- CLAUDE.md: fill 개요/요구사항/실행 방법/함정/결정 기록 by asking the
user when not inferable. Write only what the code cannot tell you.
Do NOT generate a folder listing, a dependency list, or an
architecture overview — Claude can get those from
ls/grepin one second, they go stale immediately, and they cost context every session. (Claude Code's own/doctortrims exactly that kind of derivable content and keeps pitfalls, rationale and conventions — don't generate what the platform will delete.)상세 문서lists only MODULE.md files that actually exist — never write a pointer to a file you didn't create. It stays empty at init. - handover.md from its template.
CHANGELOG.mdfromtemplates/CHANGELOG.md.tpl(skip if it already exists — never overwrite). 트러블슈팅 기록이 이 플러그인의 핵심이라 CLAUDE.md·handover.md와 같은 급으로 처음부터 만든다. 지연 생성은 "첫 실질 변경 전까진 필요 없다"는 이유였지만, 그 결과 doctor는 없다고 경고하는데 init을 다시 쳐도 안 생기는 막다른 길이 됐다.- Do NOT create MODULE.md at init. 폴더별 상세 설계는 그 폴더가 실제로 복잡해졌을 때 생긴다 (step 3a). 처음부터 빈 MODULE.md를 뿌리면 아무도 안 채운 껍데기만 남는다.
- Do NOT create
evidence/METRICS.mdat init. 비교 가능한 전후 실측이 처음 생길 때만templates/METRICS.md.tpl로 만든다. 3a. Lazy docs — create each one the moment it is first needed, not before: <folder>/MODULE.md: create when that folder's design first needs recording — a structural change lands in it,reviewfinds it has grown complex, or the user asks "이 폴더 문서 만들어줘". Pre-fill 주요 파일 from a directory listing, leave 설계 as short TODO prompts, and add a line for it under CLAUDE.md's상세 문서in the SAME turn (per the doc-sync contract below). A file listing belongs HERE, next to the design it explains — not in CLAUDE.md, which every session pays for. (CHANGELOG.md는 더 이상 여기 없다 — init이 만든다. 이미 있는 프로젝트를 위해 log 모드는 여전히 없으면 만들지만, 정상 경로에서는 그럴 일이 없다.)
- CLAUDE.md: fill 개요/요구사항/실행 방법/함정/결정 기록 by asking the
user when not inferable. Write only what the code cannot tell you.
Do NOT generate a folder listing, a dependency list, or an
architecture overview — Claude can get those from
- Create the
.hi-vibe/marker directory — this is what turns the hooks ON for this project (the gate). Write.hi-vibe/initializedwith a one-line note (date + "hi-vibe initialized"), which also creates the dir. The gate is.hi-vibe/, NOT handover.md — a user may already have their ownhandover.md, so we must not key on it (that would misfire and could let a hook overwrite their file). Do not consider init complete until.hi-vibe/exists. - Ensure
.env*(see below),.hi-vibe/,.repo-xray/,handover.md,handover-archive.md, andhandover.md.lock(the transient write-lock file for concurrent sessions) are in.gitignore. The two dirs are caches;handover*is a personal session log kept local (not shared to GitHub). The other three docs — CLAUDE.md / MODULE.md / CHANGELOG.md — ARE committed. CLAUDE.md and CHANGELOG.md exist from init; MODULE.md arrives later, per step 3a.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +23 lines · +14 tokens per session 73cd49d403a0
- 11d ago First seen · 235 lines · 217 tokens per session scan B 23b4857a42c5
docs-keeper is a skill published in the GitHub repository jx-hxxx/hi-vibe (3 stars, last pushed today), licensed MIT. It adds 231 tokens to every session and 4,072 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it B with 1 finding (strips warnings and disclaimers). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
init-rpm
Project setup and verification. First run creates rpm context for a project. Repeat runs verify that an existing rpm setup matches the latest expected layout and apply safe migrations.
backlog
Manage the rpm backlog (long-term project tasks in docs/rpm/future/tasks.org — distinct from Claude's native TaskCreate list, which is session-scoped). Add, list, review, postpone, or complete entries. TRIGGER on natural-language backlog operations — phrasings like "backlog X", "add X to backlog", "add to backlog"…
roadmap
Generates ROADMAP.md from project milestones, issues, and boards (GitHub, GitLab, or Bitbucket). Structures content with mission statement, current milestone progress, upcoming milestones, and community involvement section. Use when creating or updating a project roadmap.
prototype
Full-stack feature prototyping — requirements to deployment with checkpoint gates.
ring:mapping-feature-relationships
Mapping how features relate and phasing the work: categorizing PRD features, grouping them into domains, charting cross-feature journeys, dependencies, and integration points, and defining the binding Phases that plan.md mirrors one-to-one at Gate 7. Gate 2 of ring:planning-large-features; runs after…
ring:planning-large-features
Planning the 8-gate Large Track pre-dev workflow (research, PRD, feature map, TRD, API contract, data model, dependency map, plan) with per-gate human approval. Use for features 2+ days that add dependencies, data models, multi-service integration, or new architecture. Skip for small features (use…