Borrowing it
Nothing to install: this file belongs to junghan0611/entwurf. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/junghan0611/entwurf/main/.claude/skills/entwurf-dev/SKILL.mdgit clone --depth 1 https://github.com/junghan0611/entwurfWrote 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/junghan0611/entwurf/entwurf-dev)<a href="https://agentmods.dev/skills/junghan0611/entwurf/entwurf-dev"><img src="https://agentmods.dev/badge/skills/junghan0611/entwurf/entwurf-dev/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/junghan0611/entwurf/entwurf-dev"><img src="https://agentmods.dev/badge/skills/junghan0611/entwurf/entwurf-dev.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00165 | $0.08735 |
| Opus 5.5 | $0.00066 | $0.03494 |
| Sonnet 5.5 | $0.00033 | $0.01747 |
| Haiku 4.5 | $0.00016 | $0.00873 |
Grade A, and why
entwurf-dev 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 5d 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 — 423 lines — stays where its author put it; the contents beside it link to each section on GitHub.
entwurf-dev — 개발 중인 제품을 GLG가 직접 겪는 손
Repository: ~/repos/gh/entwurf.
이 스킬은 GLG에게 명령문을 외우게 하지 않는다. GLG가 자연어로 의도를 말하면
에이전트가 현재 세션의 native entwurf_* tool을 호출하고, 각 receipt의 뜻과 다음
관측 지점을 짧게 설명한다. 형제는 disposable worker가 아니라 별도 runtime과
transcript를 가진 garden citizen이다.
호출 예
/skill:entwurf-dev status
/skill:entwurf-dev fresh pi openai-codex/gpt-5.6-luna 오늘 S0 상태를 한 문장으로 말해
/skill:entwurf-dev fresh claude-code claude-sonnet-5 README의 visible-first 계약을 읽어
/skill:entwurf-dev fresh codex gpt-5.6-luna DELIVERY의 Codex rail을 요약해
/skill:entwurf-dev send <garden-id> 지금 상태를 답해줘
/skill:entwurf-dev tour pi
/skill:entwurf-dev boundary
자연어도 같은 뜻이다.
분신 하나 보이게 열어줘
새 Pi 형제를 열고 callback 뒤 인사까지 보내줘
살아 있는 Claude Code에게 이 메시지 전달해줘
아까 닫은 그 형제 다시 불러줘
지금 내가 직접 시험할 수 있는 경계를 보여줘
시작 전 runtime guard
호출된 tool schema가 worktree 문서보다 우선한다. 이 스킬은 현재 S1 계약에 맞는다.
- 레일은 이 프로세스가 어디에 있느냐로 정해진다(#116 C3).
HERDR_ENV=1이면 herdr pane에서 열리고 backend는pi | claude-code둘뿐이며,placement는 이름 붙여 거절된다. 그 밖에서는 지금까지대로 tmux에서 여섯 backend가 열린다. 둘 사이 fallback은 없다 — herdr 안인데 herdr context가 불완전하면 herdr 이유로 거절하지, tmux 창을 대신 열지 않는다(그 창은 herdr 안에서 보이지 않는다). 호출자가 레일을 고르는 파라미터는 없다. herdr receipt의 pane 좌표는 view이고 주소가 아니다 — 형제가 움직이면 바뀔 수 있고, 주소는 언제나 콜백 sender envelope다. entwurf_fresh_callbackend는 정확히pi | claude-code | copilot | omp | codex | pi-durable이고 model은 required다.cwd는 선택 입력 하나: literal 절대경로(존재하는 디렉터리,#·trim·realpath 없음), 생략·""면 caller cwd에서 시작한다. Codex caller만 예외이고 그것이 정확히 옳다(#95 lane C): Codex가 부를 때cwd를 생략하면 그 시민의 record cwd(= 그 thread가 실제로 열린 디렉터리)에서 시작한다 — 브리지가 operator 소유 app-server의 MCP child라 그 프로세스의 cwd는 caller의 것이 아니라 app-server의 것이기 때문이다. receipt는 고른 규칙을 이름으로 말한다(requested/the Codex caller's own record directory). cross-repo fresh 절 참조.#는 tmux 레일에서만 거절된다(tmux가 시작 디렉터리를 format 확장한다) — herdr 안에서는 평범한 경로 문자다. 빈 문자열·생략이 "caller cwd"인 것은 두 레일 공통이다. 심링크를 주면 두 문자열이 보이는데 정상이다: entwurf는 경로를 해석하지 않고 tmux에 그대로 넘기므로 receipt의cwd:는 요청한 문자열 그대로이고, record·transcript 경로·callback envelope·pane_current_path는 OS가 해석한 실제 경로다(측정:~/org요청 → record/home/junghan/sync/org). 같은 곳이며, 나중에entwurf_resume_call이 되세우는 것은 해석된 쪽이다. 형제에게 "네 cwd"를 물으면 셋 중 어느 표면을 읽었는지에 따라 다르게 답할 수 있으니 어긋났다고 보고하지 않는다.placement는 선택 입력 하나이고 tmux 전용이다(herdr 안에서는herdr-placement-tmux-rejected):{ tmuxSession: "<정확한 이름>" }. caller 자신의 tmux 서버에 이미 있는 세션에 형제를 연다(운영자의 프로젝트 자리). 세션을 만들지 않는다 — 없으면tmux-session-missing, 문법 밖 이름이면tmux-session-name-invalid로 거절되고 창도 세션도 생기지 않는다. 그때는 GLG에게 그 자리를 먼저 만들어 달라고 말하고 다시 부른다.placement를 생략했을 때의 자리는 부르는 쪽을 따르지 여는 대상을 따르지 않는다: ① 명시 placement가 언제나 이긴다. ② 부르는 쪽이 Codex 시민이면 그 Codex TUI가 앉은 pane 옆에 열린다 — pane 제목에 실린thread-id로 찾으며, 맞는 pane이 0개면codex-caller-seat-unresolved, 2개 이상이면codex-caller-seat-ambiguous로 거절하고 폴백하지 않는다. ③ 그 외에는 caller 자기 session. receipt는 둘을 구분한다:requested tmux session/the Codex caller's own pane. (#95가 처음 내놓은 "Codex는 기존codexhome으로" 규칙은 #95 D1이 은퇴시켰다 — app-server는 GLG가 원하는 자리에 두면 되고 Entwurf는 묻지 않는다.) pane 제목은 placement 입력일 뿐이다 — 주소도, liveness도, delivery 증거도 아니다(누구나 같은 제목을 쓸 수 있다). Codex caller의 자리가 안 잡히면entwurf install-codex-terminal-title이 수리이고, tmux 서버가allow-set-title off면 모든 pane 제목이 hostname이 되어 찾을 수 없다. 이름 문법은[A-Za-z0-9][A-Za-z0-9_-]*하나뿐이다 —.,:,#, 공백, 선행_/-는tmux-session-name-invalid로 거절된다(세션 이름을 그렇게 지었으면 GLG에게 문법에 맞는 세션을 요청한다).cwd와placement는 서로 독립이며 한쪽에서 다른 쪽을 추론하지 않는다. 긍정형이 더 중요하다:cwd를 생략하고 seat만 주면 새 pane은 이 에이전트(caller 프로세스)의 cwd에서 시작한다(측정, Codex caller는 위의 record cwd) — 타깃 세션의 path도, 그 세션 active pane의 경로도 물려받지 않는다. 즉org자리에 열었다고 형제가org프로젝트 디렉터리에 있는 것이 아니다. 다른 디렉터리를 원하면cwd를 함께 준다.- 모델 출처 주의: 아래 기본값·별칭은 2026-08/09 당시 정책·예시이며 현재 catalog 증거가 아니다. 선택 시 최신
~/repos/gh/agent-config/MODELS.md와 active schema를 우선한다. 이 문서의 “묻지 않고 기본값 적용”은 현재 승인된 기본값을 확인한 경우에만 해당한다. 미승인 rail·미확인 기본값은 GLG에게 묻고, 명시한 모델은 존중한다. SKU/과금 rail 갱신은 #148/model roster owner의 몫이며 여기서 바꾸지 않는다. - 기본 정책은 Pi=
openai-codex/gpt-5.6-luna, Claude Code=claude-sonnet-5, Codex=gpt-5.6-luna이다. Codex 기본값은 2026-09-17에sol에서 내렸다 — live-spend 결정이고, GLG가 명시적으로 상위 tier를 말할 때만 올라간다. - GLG가 “entwurf 소넷”이라고 하면 Pi +
entwurf/claude-sonnet-5-5다. - Provider budget: sibling launch에 OpenRouter를 쓰지 않는다. 이는 GLG 개인의 embedding/image 전용 제한 rail이다. Claude Code 구독, Pi의 승인된 GPT/Codex·xAI 구독, 또는 direct endpoint로 이미 설정된 회사 API만 쓴다. model label은 billing rail 증거가 아니다. 요청된 model이 현재 OpenRouter로 resolve되면 launch·test turn·login check·probe script를 하지 말고 그 한 사실만 즉시 보고한다. GLG가 이미 승인한 rail의 형제를 요청하면 credential/login을 다시 묻거나 찾지 말고 fresh-call을 바로 한 번 호출한다.
entwurf_v2intent는 정확히fire-and-forget하나다. 이 verb는 어떤 rail에서도 프로세스를 열지 않는다.entwurf_peers는 사실 조회이며 생성·재개 명령이 아니다.entwurf_resume_call은 입력이target하나이며 record가 유일한 주소 권위다. Pi는 record의 절대 transcript 경로를 선택하고 native id를 대조한 뒤 session header의 cwd와 첫model_change의 provider/model을 launch resolver에 넘긴다(cwd의 record/host fallback 없음). CC는 record의 native session id/cwd만 쓰며 model·permission flag를 복원하지 않는다. model override·task·prompt 입력은 없고 프롬프트를 주입하지 않는다.
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.
- 5d ago Changed 1088670efb26
- 6d ago Changed · +29 lines · +3 tokens per session ae1fccd1402a
- 15d ago Changed 3cec9f240242
- 21d ago Changed 132e6130a789
- 25d ago Changed 1fd3cefe570b
- 1mo ago Changed · +9 lines 4a327853fc79
- 1mo ago Changed · +9 lines 6bba1c64e777
- 1mo ago Changed · +17 lines 2cc7ef9ad2e2
- 1mo ago Changed · +4 lines c29a2b9788ba
- 1mo ago First seen · 355 lines · 162 tokens per session scan A 9bb90de3582f
entwurf-dev is a skill published in the GitHub repository junghan0611/entwurf (31 stars, last pushed 2d ago), licensed MIT. It adds 165 tokens to every session and 8,735 once invoked, about $0.0007 per session on Opus 5.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.
Other skills, from other repositories
codebase-memory
Use the codebase knowledge graph for structural code queries. Triggers on: explore the codebase, understand the architecture, what functions exist, show me the structure, who calls this function, what does X call, trace the call chain, find callers of, show dependencies, impact analysis, dead code, unused functions…
using-pi-subagents
Operate pi-subagents jobs safely, including direct-work decisions, least-privilege tools and attachments, thinking levels, delegation, bidirectional messaging, parallel starts, timeouts, waiting, cancellation, result handling, verification, and writer isolation.
configure-pi-starship
Configure @narumitw/pi-starship and answer questions about its pi-starship.toml settings. Use when the user asks to create, edit, repair, migrate, or understand pi-starship.toml, or asks which pi-starship module, variable, option, style, palette, preset, or runtime behavior to use. Do not use for generic TOML, shell…
pi-ralph-wiggum
Long-running iterative development loops with pacing control and verifiable progress. Use when tasks require multiple iterations, many discrete steps, or periodic reflection with clear checkpoints; avoid for simple one-shot tasks or quick fixes.
typesafe-ai
Build AI-powered software with TypeSafe and Jev, or use pi-typesafe's typesafequestion tool for typed semantic judgments and probabilities. Use when a feature needs programmable common sense, when an LLM prompt-and-parse step could become a structured decision, or when designing, calling, evaluating, or…
configure-pi-sync
Explain @narumitw/pi-sync settings and guide safe setup through its existing manager. Use when the user asks how to configure pi-sync.json, choose Git, WebDAV, R2, or S3 storage, select synced content, understand automatic controls, or recover unsupported settings. This skill provides guidance only, not settings edits…