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 kohj1018/agentic-dev-harness --skill discover-productgit clone --depth 1 https://github.com/kohj1018/agentic-dev-harnessWrote 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/kohj1018/agentic-dev-harness/discover-product)<a href="https://agentmods.dev/skills/kohj1018/agentic-dev-harness/discover-product"><img src="https://agentmods.dev/badge/skills/kohj1018/agentic-dev-harness/discover-product/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/kohj1018/agentic-dev-harness/discover-product"><img src="https://agentmods.dev/badge/skills/kohj1018/agentic-dev-harness/discover-product.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.00028 | $0.03004 |
| Opus 5 | $0.00014 | $0.01502 |
| Sonnet 5 | $0.00006 | $0.00601 |
| Haiku 4.5 | $0.00003 | $0.00300 |
Grade A, and why
discover-product 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 9d 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.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
이 skill은 메인 세션이 R0R4 라운드를 직접 운전하는 절차서다.
무거운 추론(R0의 페르소나 후보, R1의 pain inventory)은 architect 단발 sub-call로 위임한다.
R0R3 산출물은 메인 컨텍스트에 누적시키지 않고 docs/10-charter/DISCOVERY.md에 누적 적재한다.
트레이드오프 명시 — 이 skill은 의도적으로 fork 격리를 풀고 메인 세션이 사용자 인터랙션을 직접 운전한다. R0~R3 산출물은 DISCOVERY.md에 적재해 메인 컨텍스트 부담을 최소화하지만, 라운드 요약 일부는 메인에 남는다. 종료 후 사용자가 /clear 또는 새 세션으로 컨텍스트를 정리할 것을 권장한다.
Codex: 본 skill은 wrapper 미보유(자연어 호출) — Codex에서는 "Follow .claude/skills/discover-product/SKILL.md"로 호출한다(목록 SSOT = README, ADR-010#amend-3·#amend-4).
입력:
$ARGUMENTS에 자연어 설명이 들어온다.--fast플래그가 있으면 R0의 페르소나 후보 제시·선택을 건너뛰고 R3(가정 정리)도 생략한 채 R1+R2+R4만 도는 단축 흐름. 단, R1은 페르소나 입력이 필요하므로 다음 절차로 페르소나를 확보한다:$ARGUMENTS에 페르소나가 한 줄이라도 명시되어 있으면 그것을 그대로 사용한다(예:--fast 회고 SaaS — 페르소나: 직장인 개인 사용자).- 명시되지 않았으면 architect 단발 sub-call로 페르소나 후보 1개를 자동 선정하고, 해당 페르소나를 가정으로 표시해 R1을 진행한다(출력에 "이 페르소나는 fast 모드의 R0 사용자 확인 단계를 생략한 자동 선정 결과이며, 가정으로 취급한다"를 명시).
- 사용자가 마음에 들지 않으면
/discover-product(fast 없이)로 재실행하면 된다는 안내를 출력에 포함.
사용자 응답 수단:
- 라운드별 응답은 자연어로만 받는다(
AskUserQuestion은 공식 문서의 Limitations 섹션 기준 sub-agent에서 사용 불가). - 매 라운드 끝에
skip/good/refine: ...로 응답할 수 있다.
라운드 출력 포맷 (ADR-046 출력 스타일 — 사용자-facing 표면만 압축, 내부 분석·DISCOVERY.md 적재 내용은 불변): 각 라운드는 다음 고정 포맷으로 압축해 출력한다.
이번 결정: <1~2줄>
확인 필요: <있으면 ≤3개, 없으면 생략>
답변: skip / good / refine: …
단, 사용자가 선택해야 하는 옵션(R0 페르소나 후보·R1 pain 목록 등)은 선택 가능하도록 보존한다 — 압축은 framing·서술에만 적용하고 선택지 자체는 빠뜨리지 않는다(ADR-046#d3). architect 단발 sub-call의 과정만 대화에 풀어쓰지 않는다.
라운드 구성:
R0 — 문제 한 줄 + 페르소나 확인
- 입력 한 줄을 그대로 되돌려 "이 한 문장이 핵심 맞나" 확인.
- 동시에 페르소나 후보 2~3개를 한 단락씩 제시(직무·맥락·일과·압력 요소). architect 단발 sub-call로 위임해 후보 생성.
- 사용자가 1개를 고르거나 합쳐달라고 한다.
R1 — 핵심 pain + JTBD + 시나리오
- 선택된 페르소나의 pain 6~10개를 brainstorm 후 빈도×고통으로 정렬. architect 단발 sub-call.
- 상위 1~3개를 사용자가 고른다.
- 가장 큰 pain의 JTBD(Jobs To Be Done) 한 줄, happy path/alternate path/fail path를 5~7단계로 같이 적는다.
- 사용자가 끊을 지점·수용 가능 fail을 정한다.
R2 — MVP 범위 vs 비범위 / 성공 기준
- R1 시나리오를 충족시키는 최소 기능 묶음과 의도적으로 미루는 것을 분리.
- 측정 가능한 성공 기준 1~3개.
R3 — 핵심 가정 + 미결정 등재
- R0~R2에서 사용자가 추측으로 답한 모든 항목을 가정으로 표시.
- 가장 위험한 가정 1~3개에 검증 방법 1줄 + 위험도 판정(ADR-035#amend-3 / ADR-060 D5): 실패 시 다음 마일스톤 목표가 무효가 되는 핵심 가설인가, 실험 대상인가, 저위험인가. 실험·저위험이면 검증 방법·판정일·중단 기준 3필드를 채워 원장에
risk-accepted후보로 올린다. - 미결정은
DISCOVERY.md에 남기지 않는다 —docs/10-charter/DECISION_REGISTER.md에 등재한다(아래## 결정 마감). DISCOVERY## 11은 폐지됐다(ADR-060 D1).
R4 — DISCOVERY.md 정리(저장 단계)
- 위 결과를
docs/10-charter/_templates/DISCOVERY_TEMPLATE.md양식에 맞춰docs/10-charter/DISCOVERY.md에 저장.## 11은 폐지 섹션이므로 만들지 않는다. - 이 라운드에서 발생한 미결정·가설을
docs/10-charter/DECISION_REGISTER.md에 등재한다(아래## 결정 마감). - 이 skill은 charter/architecture를 만들지 않는다 —
/bootstrap-project가 이어 수행한다(자동 호출 아님).
단계별 출구 보장: 어느 라운드에서 멈춰도 그때까지의 산출물이 DISCOVERY.md에 들어가 /bootstrap-project의 입력으로 의미가 있다.
다국어: 입력 언어를 따른다. 한국어 입력이면 산출물도 한국어, 영문 입력이면 영문.
마지막 출력:
- DISCOVERY.md 경로
- 핵심 가정 요약
- 원장 요약:
closed N건 / deferred M건 / open K건(open이 있으면 그 항목의authority와 필요 시점을 1줄씩) - 다음 권장 단계 (
/bootstrap-project— DISCOVERY.md를 입력으로 사용) - (opt-in, ADR-044) 기획 품질 확신이 부족하면: 다른 세션·다른 LLM에서
/validate-discovery --reviewer-tag <tag>1+회 → 원본 세션에서/repair-discovery회수. 건너뛰어도 정상.
--update 모드 (mid-project pivot, ADR-035#amend-2)
기존 DISCOVERY.md 있으면:
- R-E (Evidence 회수): 지난 갱신 이후 추가된 §14 Evidence Log 신규 행 +
docs/10-charter/insights/의 노트(/research-pack산출 +/consult-expert도메인 노트)를 읽어 §15 Insight Backlog를 갱신(새 insight는 새 I-N, evidence는 §14에 적재).type: quant행은 본 skill 이 직접 해석하지 않는다 (ADR-042#amend-2 결정 2) — 정량 해석과confidence판정은analyst소유다. (a) 그 quant 를 해석한insights/<YYYY-MM-DD>-data-*.md노트가 있으면 그 노트의 인사이트를 받아 적는다, (b) 없으면 해석하지 않고 출력에Needs Quant Interpretation: <evidence ID> — /consult-expert data 권장1줄만 보고한다(자동 위임하지 않는다 — 명시 호출만. ADR-062 D10). 정성(qual) 행은 기존대로 본 skill 이 직접 처리한다.
- R0 (페르소나 재확인) → R1·R2 (opportunity backlog 갱신·새 pain 추가) → R3 (assumption tracker 갱신 — §14 evidence로 §12 검증 결과 갱신) → R4 저장.
--fast --update: §12 Assumption Tracker + §14 Evidence Log만 빠르게 갱신 (가장 빈번한 mid-project use case).
What ships with it
2 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.
- 9d ago First seen · 101 lines · 28 tokens per session scan A 7ef458d2e6f0
discover-product is a skill published in the GitHub repository kohj1018/agentic-dev-harness (2 stars, last pushed 12d ago), licensed MIT. It adds 28 tokens to every session and 3,004 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 skills, from other repositories
do-it-handbook
Use when repeated rediscovery of stable project knowledge makes a small shared handbook useful.
linear
Manage issues, projects & team workflows in Linear. Use when the user wants to read, create or updates tickets in Linear.
obsidian-project-kb-core
Use this as the main Claude Scholar skill for a vault-first, project-scoped Obsidian research knowledge base rooted at Research/{project-slug}/. It owns bootstrap, routing, daily logging, hub/plan/index maintenance, registry updates, lifecycle actions, and lint orchestration.
sc-skill
Capture deterministic macOS screenshots for testing, docs, release notes, and marketing assets. Use when asked to automate app screenshots, batch-generate screenshot sets, standardize window sizing/composition, or choose between Peekaboo and native macOS screenshot tooling.
handover
Use when wrapping up or capturing the current state of a coding session — writes a short, dated entry to the repo's RepoHandover.md so a future agent or you can resume without grepping archived sessions. Triggers on "handover", "hand off", "write handover", "capture state", "checkpoint this session".
agent-session-format-check
Verify agent session format compatibility for Agent Sessions. Use when any agent CLI updates, when monitoring flags drift, or when bumping max verified versions (fixtures + docs + tests). Covers session schema, usage/limits tracking, storage backends, and discovery path contracts for all supported agents.