DannyMac180/skills/tree/main/modsmith/templates/assumption-ledger
assumption-ledger
Claude에 register_assumption 도구를 제공하고 이번 턴의 가정, 결정 및 고려했지만 하지 않은 항목을 프롬프트 위에 표시합니다.
이 mod 소개
assumption-ledger
Claude는 register_assumption 도구를 얻습니다. 작업하는 동안 이 도구로 세 종류의 내용을 적습니다.
- assumption: 당연하다고 받아들이고 확인하지 않은 것.
- decision: 갈림길과 그중 선택한 방향.
- considered-not-done: 더 낫거나 완전한 수정 방법을 생각했지만 하지 않기로 한 것. 이것이 주의할 항목입니다. 모델은 올바른 해결책을 보고도 건너뛰는 경우가 많지만 사용자는 알 수 없습니다.
턴이 끝나면 목록이 종류별로 묶여 프롬프트 위에 표시됩니다.
Ledger for this turn [ Dismiss ]
Considered, not done (1)
· Add retry on 429 (out of scope) [ Do it ]
Assumed (1)
· Node 20 is the runtime
Do it은 Claude에 해당 항목을 수행하거나 수행하지 않아야 하는 이유를 한 줄로 말해 달라는 후속 요청을 보냅니다. Dismiss는 띠를 지우며 새 턴도 띠를 지웁니다.
명령
| 명령 | 기능 |
| --- | --- |
| /assumptions | 이 세션의 모든 항목을 종류와 해당 턴별로 출력합니다. |
| /assumptions write [path] | 세션 항목을 작업 디렉터리의 DECISIONS-log.md(또는 path)에 추가합니다. 실행하지 않으면 디스크에 쓰지 않습니다. |
| /assumptions off | 기록을 멈추고 도구를 ToolSearch 뒤로 옮겨 모델이 보지 않게 합니다. 세션 간에 기억합니다. |
| /assumptions on | 다시 켭니다. |
비용
이 mod는 자체 모델 호출을 하지 않습니다. 비용은 모델이 도구를 사용하는 데 드는 비용입니다.
| 시점 | Tokens | Notes |
| --- | --- | --- |
| 모든 요청 | 입력 토큰 약 200개 | 도구 이름, 설명 및 schema가 도구 목록에 있습니다. 설명은 바뀌지 않으므로 첫 요청 뒤에는 prompt-cache 읽기이며 가격의 약 십분의 일입니다. |
| Claude가 항목을 기록할 때마다 | 출력 토큰 약 40~80개와 2-token 결과 | 한 번의 도구 호출입니다. Claude는 다른 도구 호출과 같은 단계에서 묶는 경우가 많고 그렇지 않으면 다음 단계에서 context를 cache에서 다시 읽습니다. |
| 기록할 것이 없는 턴 | 추가 0 | 도구 설명이 명백한 내용은 건너뛰라고 모델에 알려 줍니다. |
| /assumptions off 및 on | 각각 cache rebuild 한 번 | 도구 목록에 표시되는지가 바뀌어 캐시된 접두사가 달라집니다. |
| Do it | 새 턴 한 번 | Claude에 더 많은 작업을 요청하므로 해당 작업의 비용이 듭니다. |
띠와 세션 로그는 토큰을 쓰지 않습니다. /assumptions는 목록을 transcript의 명령 출력 행으로 인쇄하며 다음 턴에 모델이 다른 명령 출력처럼 읽는지는 확인하지 않았습니다.
함께 쓰기
- 프롬프트 위에 그리는 모든 항목. 띠는 다른 mod가 그리는 내용을 자기 목록 아래에 그립니다(
{await next(e)}). survey가 띠를 사용하거나 턴이 실행 중이면 비켜납니다. - 다음 단계 감독자 또는 quiz 분기. "원래 목표를 해결했나, 게으르지 않았나?"를 묻는 분기는 이 mod의 상태(
$.state.get({ plugin: 'assumption-ledger', key: 'pending' }))를 읽어 다음 턴이 시작될 때까지 현재 턴 항목을 보관할 수 있습니다.shown은 이 mod의turn.completehook이 실행된 뒤에만 채워지므로 다른 mod의turn.complete에서는 비어 있을 수 있습니다. 분기는considered-not-done항목을 질문에 넣습니다. 무엇을 건너뛰었는지 추측하게 하는 것보다 저렴하고 정직합니다. - 모드 선택기 또는 모델 라우터. 모드는
$.command.run으로/assumptions off를 실행해 장부를 끕니다. 기록을 멈추고 도구를 ToolSearch 뒤로 옮기며 선택을 기억합니다.state.set만으로{ plugin: 'assumption-ledger', key: 'isOff' }를 쓰면 기록만 멈추고 도구는 목록에 남으며(tool.describe답변은 무효화될 때까지 캐시됨)선택이 기억되지 않습니다. - 공유 프로젝트 보드.
/assumptions write는 다른 Claude나 대시보드가 읽을 수 있는 파일을 제공합니다.
설치 및 로드
claude --plugin-dir /path/to/assumption-ledger
또는 폴더를 mods 폴더에 복사합니다. 로드 전에 확인합니다.
claude plugin validate /path/to/assumption-ledger
claude plugin test /path/to/assumption-ledger
Claude Code 2.1.286에 맞춰 빌드하고 확인했습니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add DannyMac180/skills claude plugin install assumption-ledger
원문 / README
assumption-ledger
Claude gets a tool, register_assumption. While it works it uses the tool to
write down three kinds of thing:
- assumption: something it took for granted and did not check.
- decision: a fork in the road and the way it went.
- considered-not-done: a better or fuller fix it thought of and chose not to do. This is the one to watch. Models often see the right solution and then skip it, and you never find out.
When the turn ends, the list shows above the prompt, grouped by kind:
Ledger for this turn [ Dismiss ]
Considered, not done (1)
· Add retry on 429 (out of scope) [ Do it ]
Assumed (1)
· Node 20 is the runtime
Do it sends Claude a follow-up asking it to do that item, or to say in one line why it should stay undone. Dismiss clears the band. A new turn clears it too.
Commands
| Command | What it does |
| --- | --- |
| /assumptions | Prints every entry from this session, grouped by kind, with the turn each came from. |
| /assumptions write [path] | Appends the session's entries to DECISIONS-log.md (or path) in the working directory. Nothing is written to disk unless you run this. |
| /assumptions off | Stops recording and moves the tool behind ToolSearch, so the model stops seeing it. Remembered across sessions. |
| /assumptions on | Turns it back on. |
What it costs
The mod makes no model calls of its own. Its cost is what the model spends using the tool:
| When | Tokens | Notes |
| --- | --- | --- |
| Every request | about 200 input tokens | The tool's name, description and schema in the tool list. The description never changes, so after the first request this is a prompt-cache read (about a tenth of the price). |
| Each entry Claude records | about 40 to 80 output tokens, plus a 2-token result | One tool call. Claude often batches it with other tool calls in the same step; when it doesn't, the step after it re-reads the context from cache. |
| A turn where nothing was worth noting | 0 extra | The tool's description tells the model to skip the obvious. |
| /assumptions off and on | one cache rebuild each | Changing whether the tool is listed changes the tool list, which is part of the cached prefix. |
| Do it | one new turn | You are asking Claude to do more work, so that turn costs what the work costs. |
The band and the session log cost nothing in tokens. /assumptions prints
its list as a command-output row in the transcript; whether the model reads
that row on the next turn, as it does other command output, was not checked.
Composes with
- Anything drawing above the prompt. The band draws whatever other mods
draw there beneath its own list (
{await next(e)}), and it steps aside while a survey holds the band or a turn is running. - A next-steps supervisor or quiz fork. A fork that asks "did this solve
the original goal, was it lazy?" can read this mod's state
(
$.state.get({ plugin: 'assumption-ledger', key: 'pending' }), which holds the current turn's entries until the next turn starts;shownis only filled once this mod's ownturn.completehook has run, so another mod'sturn.completemay see it empty) and put theconsidered-not-doneitems in its question. That is cheaper and more honest than asking the fork to guess what was skipped. - A mode selector or model router. A mode switches the ledger off by
running
/assumptions offthrough$.command.run: that stops recording, moves the tool behind ToolSearch and remembers the choice. Writing{ plugin: 'assumption-ledger', key: 'isOff' }throughstate.setalone only stops recording: the tool stays in the list (itstool.describeanswer is cached until invalidated) and the choice is not remembered. - A shared project board.
/assumptions writegives a file another Claude or a dashboard can read.
Install and load
claude --plugin-dir /path/to/assumption-ledger
Or copy the folder into your mods folder. Check it before loading:
claude plugin validate /path/to/assumption-ledger
claude plugin test /path/to/assumption-ledger
Built and checked against Claude Code 2.1.286.