From agent-toolkit
Read a Notion page under a cache-first policy and either feed the markdown straight to the LLM as grounding, extract long-page chunks/action candidates, or rewrite it into a Korean-language spec ("문서 요약 / 요구사항 / 화면 단위 / API 의존성 / TODO / 확인 필요 사항"). Auto-trigger when the user supplies a Notion URL or page id together with phrases like "스펙 정리해줘" / "요구사항 뽑아줘" / "Notion 페이지 X 가 Y 에 대해 뭐라고 하는지" / "긴 문서에서 작업만 뽑아줘".
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-toolkit:notion-contextThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
* Read a single Notion page under a **cache-first** policy and either pass the markdown through as LLM context, or rewrite it into a structured Korean-language spec.
agent (you)
├── 1. notion_status ← cache metadata only (no remote call)
├── 2. notion_get ← cache hit → markdown / miss → remote MCP fetch + cache write (one shot)
├── 3. notion_extract ← long page → chunks + action candidates (same cache policy)
└── 4. notion_refresh ← only when the user explicitly asks for "최신화" / refresh
Notion is the source of truth. The cache exists so the same page does not hit the remote twice in one turn. notion_get already handles cache miss by fetching from the remote MCP, normalizing, and storing — no separate put step is needed.
notion_get / notion_extract / notion_refresh / notion_status. No direct fetch, Read, Bash, or raw MCP calls.notion_status.exists=true && expired=false, only call notion_get (do not refresh, do not re-fetch).notion_get — it hits the remote on cache miss automatically.notion_extract result you already have.notion_refresh only when the user explicitly asks to refresh / force-refresh.input verbatim — the tool normalizes it.notion_extract over dumping the whole markdown. Use extracted.todos as implementation candidates and cite chunkId when explaining provenance.notion_refresh.notion_status reporting expired=true is not a signal to auto-refresh — the next notion_get naturally hits the remote one more time.fromCache: false once does not justify calling again immediately — you'd get the same result.Apply only when the user asks for a "스펙 정리" / "요구사항 뽑아줘" / "스펙 만들어줘" style request. For plain grounding questions ("what does this page say?"), quote or summarize the markdown directly.
# 문서 요약
한 단락. 이 문서가 무엇이고 어떤 맥락에서 쓰이는지 설명.
# 요구사항
- 필요/불필요/모호 를 구분해 bullet 으로 정리.
- 각 항목은 1줄.
# 화면 단위
- 화면명 — 설명
- 주요 컴포넌트 / 동작 / 상태 전이
# API 의존성
- METHOD /path — 호출 시점, 요청/응답 핵심 필드
# TODO
- 구현 관점에서 즉시 착수 가능한 작업 단위 bullet.
# 확인 필요 사항
- 문서만 읽고는 단정할 수 없는 항목을 질문 형태로 정리.
inline code.notion_refresh while notion_status reports exists=true && expired=false — you'd get the same body back.notion_extract as the opencode tool surface.notion_get throws on timeout / network error / malformed response, ask the user to verify the relevant environment variables (AGENT_TOOLKIT_NOTION_MCP_URL, AGENT_TOOLKIT_NOTION_MCP_TIMEOUT_MS, …) and remote MCP availability, then stop.npx claudepluginhub minjun0219/agent-toolkitGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.