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 agentmods add commands/dotoricode/tink-harness/froggit clone --depth 1 https://github.com/dotoricode/tink-harnessWhat 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 | $0.00011 | $0.01832 |
| Opus 5 | $0.00005 | $0.00916 |
| Sonnet 5 | $0.00002 | $0.00366 |
| Haiku 4.5 | $0.00001 | $0.00183 |
Grade A, and why
frog 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/tink:frog
Find harnesses that are probably unused or redundant, then ask before removing them.
Purpose
Keep Tink small. A large harness set defeats the point.
Interaction policy
Always call the AskUserQuestion tool for choice prompts. Do not render ❯ text format. Do not ask the user to type a number inline.
Map prompt content to AskUserQuestion fields:
question: the full question textheader: max 12-character tag (e.g. "진행 방식", "정리 방식")label: 1–5 word option name. Add "(권장)" if recommended.description: explanatory text for the option
Use Korean field values when .tink/config.json language is ko or auto with Korean input; use English otherwise.
Procedure
- Read
.tink/harnesses/index.json. 1b. Prepare the harness health summary:- If
.tink/tools/generate-harness-lifecycle-summary.mjsexists, runnode .tink/tools/generate-harness-lifecycle-summary.mjsfrom the repo root before ranking candidates. - If the generator is missing, continue with the compact evidence below and say the health summary is unavailable.
- Treat the generated
.tink/maintenance/harness-lifecycle.jsonas a report, not as approval or reusable memory.
- If
- Check compact evidence if available:
.tink/runs/summaries.tink/maintenance/ledger.jsonl.tink/maintenance/weave-queue.json.tink/maintenance/harness-lifecycle.jsonor another lifecycle summary that follows.tink/schemas/harness-lifecycle.schema.json.tink/rules/index.json- references in memory files
- recent git history touching harness files as weak context only
2b. Check
.tink/runs/accumulation against TTL config: - Count files in
.tink/runs/ - Find the oldest file by its date prefix
- If count exceeds
config.runs_ttl_count(default: 20) OR oldest file is more thanconfig.runs_ttl_days(default: 30) days before today: → Include a "runs/ 정리 후보" section in the frog output alongside harness candidates → Propose moving files outside the TTL window to.tink/archive/(not deletion) → Apply the same approval rules: show an operation-specific payload with op ID, files, and rollback path → If.tink/archive/does not exist, include creating it in the operation payload - Do not recommend archiving the most recent
runs_ttl_countfiles regardless of age.
- Treat
.tink/current/notes.mdas weak evidence unless it is clearly from the same active conversation. If uncertain, label itstale current candidate. - Grade evidence before recommending action:
- strong: multiple run or ledger records show non-use, repeated rejection, replacement, or accepted alternative
- medium: one run or ledger record plus clear overlap or memory evidence
- weak: static index, git-only evidence, stale current notes, or model judgment
If a lifecycle summary is present, treat it as a health summary, not as authority. Use its
confidence,evidence_grade,evidence_handles, andsafe_next_actionto explain the recommendation. A low-confidence or weak lifecycle entry must default tokeep,observe, orneeds evidence. Sort lifecycle-backed candidates first by evidence strength, then by recommendation:frog_candidate,merge_candidate,weave,observe,keep. 4b. When invoked without a specific target, the health summary's judgment IS the default agenda - do not wait for the user to name harnesses: - every harness whose lifecycle recommendation is
frog_candidate,merge_candidate, orweaveappears in the proposal with its evidence grade and reason; - harnesses judged
keeporobserveare compressed into one line (그 외 N개: 유지/관찰); - the same applies to overlap findings (겹침 점검): harnesses flagged as overlapping each other are proposed as one merge/retire group, not listed separately.
4c. Check for retired generic built-ins.
code-change,bug-fix,research,review, anddocswere retired from the default set - generic work now runs on the base run without a harness. If any of them remain in.tink/harnesses/: - unmodified leftovers: recommend
npx tink-harness@latest update, which removes them automatically; offer direct removal only as the fallback when update is not possible; - user-modified leftovers (preserved by update): propose either narrowing them into a clearly-named user harness (specific
use_when,kind: "synthesized") or deleting them, with the user's modifications quoted as evidence.
- Identify candidates:
- never used with strong evidence
- not used recently with strong evidence
- overlaps strongly with another harness
- too broad to guide behavior (a generic-purpose harness is a retirement candidate by default policy: the default set is specialized-only)
- repeatedly ignored during
/tink:cast
- For each candidate, show evidence grade and recommendation:
- keep
- merge into another harness
- delete
- rewrite via
/tink:weave6a. If.tink/memory/candidate/exists, also review stale draft entries: a candidate with no supporting run, ledger, or friction evidence after 30+ days, or one superseded by an approved memory or harness change, should be proposed for a move to.tink/memory/rejected/with a one-line reason. Promotion of live candidates belongs to/tink:weave; frog only clears the stale ones. Apply the same approval rules as other operations. 6b. If.tink/rules/index.jsonexists, also inspect rule quality: - keep: concrete
when,reason, and usefulchecksorinclude_paths - rewrite: too broad, unclear reason, or missing verification
- split: one rule mixes unrelated paths, tasks, or risks
- merge: multiple rules cover the same
when,include_paths, andchecks - needs evidence: weak or no run, ledger, friction, or user-correction evidence Prefer keep, rewrite, split, merge, or needs evidence before any removal proposal. Report rule recommendations separately from harness recommendations.
- Only strong evidence may recommend
delete. Medium evidence may recommendmergeorhone. Weak evidence must default tokeeporneeds evidence. Lifecycle recommendations follow the same rule:frog_candidatemeans "prepare a cleanup review," not "delete." Deletion, archive, merge, harness edit, rule update, and memory save still need the normal approval payload. - For each non-keep action, prepare an operation-specific approval payload with exact files, op ID, evidence handles, and rollback.
- If the recommendation is
weave, write or present a weave handoff packet and, after approval, add it to.tink/maintenance/weave-queue.json:- id
- target harness
- evidence
- proposed direction
- affected files
- approval status
- Ask for approval before changing files.
- If approved, remove or merge surgically, update
.tink/harnesses/index.json, and append the approval/result to.tink/maintenance/ledger.jsonl.
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.
- yesterday First seen · 112 lines · 11 tokens per session scan A 2e6e604ea488
frog is a command published in the GitHub repository dotoricode/tink-harness (1 stars, last pushed 1mo ago), licensed MIT. It adds 11 tokens to every session and 1,832 once invoked, about $0.0001 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-31.
Other commands, from other repositories
diagnose
RTK environment diagnostics - Checks installation, hooks, version, command routing.
audit-agents-skills
Audit quality of agents, skills, and commands in a Claude Code project.
boldguy-linkedin-answer
Draft a LinkedIn comment on a post, referencing the guide's relevant section, in Flow style with AI markers removed.
security-audit
Comprehensive security audit of your project AND Claude Code configuration. Analyzes secrets exposure, injection surfaces, dependencies, hook security, and produces a scored security posture assessment.
audit-quiz-coverage
Find quiz coverage gaps from recent guide/CHANGELOG/CC-releases changes and propose new questions.
sync
Check guide/landing synchronization status.