promote-decision

promote-decision is a command for Claude Code from jo-duchan/tapflow. It costs 73 tokens per session (1,440 once invoked), scanned A, original, MIT.

A command that selects lasting design decisions from private completed work notes and prepares them as public records in the contributing directory. It removes duplicates and checks for secrets, personal data, and internal details before promotion.

In plain words
What is it for?
Use it after finishing a substantial task to publish useful architectural decisions, rejected approaches, reverse-engineering findings, or tuning references.
Why use it?
It shares the reasons behind important choices without exposing private notes or sensitive information.

Command for Claude Code

Install

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.

agentmods
npx agentmods add commands/jo-duchan/tapflow/promote-decision
Clone the repo
git clone --depth 1 https://github.com/jo-duchan/tapflow

Made for: Claude Code.

Wrote 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.

agentmods badge for promote-decision

README.md
[![agentmods](https://agentmods.dev/badge/commands/jo-duchan/tapflow/promote-decision.svg)](https://agentmods.dev/commands/jo-duchan/tapflow/promote-decision)
Your own site
<a href="https://agentmods.dev/commands/jo-duchan/tapflow/promote-decision"><img src="https://agentmods.dev/badge/commands/jo-duchan/tapflow/promote-decision.svg" alt="Measured on agentmods" height="20"></a>
Per session 73 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,440 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00073 $0.01440
Opus 5 $0.00036 $0.00720
Sonnet 5 $0.00015 $0.00288
Haiku 4.5 $0.00007 $0.00144

Measured 3d ago against content hash db6e89a0a54e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

promote-decision scanned grade A with 0 findings 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 3d ago.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/commands/promote-decision.md · 80 lines

How it starts

The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.

.work/archive/(비공개 KO 작업로그)를 소스로, 기여자·기여자의 LLM이 코드를 바꾸기 전에 읽어야 할 결정·근거를 contributing/(공개, 커밋됨)으로 승격한다. .work/는 자유롭게 쓰는 사설 스크래치패드로 그대로 두고, 공유 가치가 있는 것만 골라 영어로 큐레이션해 옮긴다.

인자(선택): 승격 대상을 좁히는 주제·키워드 또는 특정 archive 파일 경로. 생략 시 .work/archive/ 전체를 후보로 스캔한다.

절차

1. 인벤토리 수집

  • 스키마 SSOT를 먼저 읽는다: contributing/README.md — 2단 frontmatter 스키마·type 어휘·작성 규칙. 이 커맨드는 스키마를 재정의하지 않고 그 파일을 따른다.
  • 승격 대상(중복 제거 기준): contributing/*.md 전부 + INDEX.md Documentation 섹션.
  • 소스: .work/archive/*.md (인자로 좁혀졌으면 해당 범위만). 읽기 전용 — 원본을 수정·삭제하지 않는다.

2. 후보 선별

archive 파일에서 공유 가치가 있는 것만 고른다. 판정 기준:

  • 승격한다: 코드에 드러나지 않는 — 의도적 비대칭("이건 버그가 아니라 이런 이유로 이렇게 뒀다"), 시도했다 버린 접근과 그 이유(사족 dead end), 리버스 엔지니어링 사실, 근본 원인까지 추적한 진단, 계측·튜닝 레퍼런스.
  • 승격하지 않는다: 일상적 구현 내역(코드가 SoT), 이미 뒤집힌·낡은 결정, 진행 중이라 아직 정착 안 된 판단, 이번 작업에만 해당하는 일회성 메모.

3. 중복 제거

후보를 기존 contributing/ 문서와 주제 단위로 대조한다(파일명이 아니라 내용). 이미 다뤄진 결정은 제외하고, 기존 문서에 보강이 맞는 경우(새 섹션 추가)와 신규 파일이 맞는 경우를 구분한다.

4. 보안·프라이버시 게이트 (비가역 경계)

승격은 비공개 → 공개 이동이고, 한번 push되면 git 히스토리에 영구히 남는다. 초안을 만들기 전에 각 후보 내용을 스캔한다:

  • 키·토큰·비밀번호·인증 정보, 내부 호스트/IP, 절대 경로(/Users/...), 개인 이메일·실명, 미공개 계획·내부 URL.
  • 하나라도 걸리면 그 후보는 초안 생성을 보류하고, 무엇을 마스킹·삭제해야 공개 가능한지 사용자에게 보고한 뒤 확인을 받는다. 확신이 안 서면 승격하지 않는다.

5. 초안 작성

승인된(또는 민감정보 없는) 후보마다 contributing/<slug>.md를 만든다:

  • 영어로, 기계 번역이 아니라 큐레이션. KO 작업로그의 맥락·근거·버린 접근은 보존하되, 시간순 잡음·사족·개인 메모는 걷어낸다.
  • contributing/README.md의 2단 스키마로 frontmatter를 얹는다. type/topics는 필수, status는 수명주기 있는 문서에만, related는 형제 문서가 있을 때. updated 날짜는 아는 값만 — 지어내지 않는다.
  • 기존 문서 보강이면 새 파일 대신 해당 문서에 섹션을 추가한다.

6. 산문 점검

작성한 산문에 /ai-tells en detect <파일>을 돌려 AI 흔적을 잡고, 걸린 구간만 교정한다. (docs 계열이라 필요 시 rewrite 허용 — 마케팅 규칙과 무관.)

7. 등재

새 문서(또는 보강)를 두 곳에 등록한다:

  • contributing/README.md의 "Current records" 표.
  • 루트 INDEX.md의 "Engineering decision & rationale records — contributing/" 표.

제약

  • 절대 커밋·PR을 만들지 않는다. 초안 생성 후 반드시 멈춰 사용자 승인을 받는다.
  • 파일별 승인 게이트: 승격 후보를 한 번에 일괄 확정하지 않는다. 각 초안 + 출처가 된 archive 파일 + 무엇을 걷어냈는지를 제시하고, 사용자가 건건이 keep/버림을 정한다.
  • .work/archive/ 원본은 읽기 전용 — 수정·삭제·이동하지 않는다. 승격은 복제이지 이동이 아니다.
  • 스키마는 contributing/README.md가 단일 소스. 이 커맨드에서 필드를 새로 정의하지 않는다.
  • 확신이 안 서면 승격하지 않는다. 잘못 공개하는 비용 > 기록 안 하는 비용.

Read the full file on GitHub · 80 lines

Changes

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.

  1. 3d ago Changed db6e89a0a54e
  2. 6d ago First seen · 80 lines · 73 tokens per session scan A 002ead6ee402

Subscribe to this mod's changes

promote-decision is a command published in the GitHub repository jo-duchan/tapflow (586 stars, last pushed yesterday), licensed MIT. It adds 73 tokens to every session and 1,440 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.