entwurf: Skill for Claude Code

.claude/skills/entwurf-dev/SKILL.md

entwurf-dev is a skill for Claude Code from junghan0611/entwurf. It costs 165 tokens per session (8,735 once invoked), scanned A, original, MIT.

A development-control skill for entwurf, a software project with multiple agent sessions called garden citizens. It lets an agent inspect, open, message, resume, and test those sessions.

In plain words
What is it for?
Use it to list sessions, open Pi or Claude Code workers, send messages, resume dormant sessions, and inspect the system boundary.
Why use it?
It gives developers a way to manage separate coding-agent sessions and connect replies to the correct session.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: mentions Claude Code; mentions AGENTS.md; mentions Codex.

This is junghan0611/entwurf's own configuration. It tells Claude Code how to work on entwurf itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything entwurf configures →

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/junghan/sync/org.

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/junghan0611/entwurf/main/.claude/skills/entwurf-dev/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/junghan0611/entwurf

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 entwurf-dev

README.md
[![agentmods](https://agentmods.dev/badge/skills/junghan0611/entwurf/entwurf-dev/github.svg)](https://agentmods.dev/skills/junghan0611/entwurf/entwurf-dev)
Your own site
<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.

agentmods 80×15 button for entwurf-dev

Your own site · 80×15
<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>
Per session 165 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 8,735 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00165 $0.08735
Opus 5.5 $0.00066 $0.03494
Sonnet 5.5 $0.00033 $0.01747
Haiku 4.5 $0.00016 $0.00873

Measured 5d ago against content hash 1088670efb26, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

.claude/skills/entwurf-dev/SKILL.md · 423 lines

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_call backend는 정확히 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는 기존 codex home으로" 규칙은 #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_v2 intent는 정확히 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 입력은 없고 프롬프트를 주입하지 않는다.

Read the full file on GitHub · 423 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. 5d ago Changed 1088670efb26
  2. 6d ago Changed · +29 lines · +3 tokens per session ae1fccd1402a
  3. 15d ago Changed 3cec9f240242
  4. 21d ago Changed 132e6130a789
  5. 25d ago Changed 1fd3cefe570b
  6. 1mo ago Changed · +9 lines 4a327853fc79
  7. 1mo ago Changed · +9 lines 6bba1c64e777
  8. 1mo ago Changed · +17 lines 2cc7ef9ad2e2
  9. 1mo ago Changed · +4 lines c29a2b9788ba
  10. 1mo ago First seen · 355 lines · 162 tokens per session scan A 9bb90de3582f

Subscribe to this mod's changes

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.

Related

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…

narumiruna/pi-extensions · 98 tokens

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.

narumiruna/pi-extensions · 54 tokens

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…

narumiruna/pi-extensions · 97 tokens

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.

tmustier/pi-extensions · 49 tokens

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…

narumiruna/pi-extensions · 98 tokens

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…

narumiruna/pi-extensions · 93 tokens