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 skills/roboco-io/plugins/intentnpx skills add roboco-io/plugins --skill intentgit clone --depth 1 https://github.com/roboco-io/pluginsWhat 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.00165 | $0.01706 |
| Opus 5 | $0.00082 | $0.00853 |
| Sonnet 5 | $0.00033 | $0.00341 |
| Haiku 4.5 | $0.00016 | $0.00171 |
Grade A, and why
intent 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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Intent Engineering Skill
프로젝트의 의도를 문서화하고, 탐구와 학습을 통해 진화시키는 스킬. 의도는 한 번 적는 것이 아니라 반복 학습을 통해 수렴하는 것이다. 수렴이 안 되면 종료하는 것도 좋은 결정이다.
사용자가 템플릿을 직접 채우면서 자기 의도를 정리하도록 돕는다. AI가 대화로 유도하지 않는다 — 사용자가 쓰고, AI는 구조만 제공한다.
핵심 원칙
- How를 쓰지 않는다. 구현 방법은 AI가 결정한다. Intent Document에는 의도만 담는다.
- 템플릿 기반. 각 단계에서 템플릿을 제공하고 사용자가 채운다. AI가 즉흥적으로 질문하지 않는다.
- 최소한만 남긴다. 불필요한 섹션, 장식, 메타데이터 없이 핵심만.
- 모르는 것은 모른다고 남긴다. 확신이 없는 부분에
(?)표시를 권장한다. 의도는 학습으로 명확해진다.
의도의 생명주기
의도는 네 가지 상태를 거친다:
seed → exploring → clarified → (구현)
│ │ │
└────────┴────────────┴──→ killed
seed — 씨앗. "이런 걸 만들면 좋겠다" 수준. Why만 있고 What/Not은 흐릿하거나 없다.
exploring — 탐구 중. 프로토타입, 경쟁사 조사, 사용자 인터뷰 등으로 가설을 검증한다. 매 탐구마다 Learnings에 배운 것을 기록한다. What이 구체화되고 Not이 발견된다.
clarified — 명확해짐. Why/What/Not이 모두 확신으로 채워짐. 본격 구현으로 넘어갈 수 있다.
killed — 종료. 탐구 결과 의미가 없다고 판단. 또는 이미 있는 솔루션으로 충분하다고 판단. 왜 종료했는지를 Learnings에 기록하면 같은 실수를 반복하지 않는다.
실행 흐름
기존 INTENT.md가 있는 경우
- 기존 INTENT.md를 읽는다
- 현재 status를 확인한다
- 사용자에게 무엇을 하고 싶은지 물어본다 (AskUserQuestion 사용):
- 학습 기록 — 새로 배운 것을 Learnings에 추가
- 섹션 수정 — Why/What/Not 중 수정할 섹션 선택
- 상태 전이 — 다음 단계로 이동 (예: exploring → clarified, 또는 → killed)
- 선택에 따라 해당 템플릿을 제시하거나 상태를 전이한다
- 변경 이유를 커밋 메시지에 남기도록 안내한다
새로 시작하는 경우
Step 1: 상태 판별
사용자의 프롬프트에서 의도의 명확도를 파악하고 시작 상태를 제시한다. AskUserQuestion 도구를 사용한다.
- seed — 아이디어만 있고 구체적인 것은 없다. Why 템플릿(explore)만 채운다.
- exploring — 어느 정도 방향은 있지만 검증이 필요하다. Why/What/Not 템플릿을 모두 채운다.
- clarified — 만들 것이 확실하다. PR-FAQ 스타일로 Why를 작성하고 What/Not을 채운다.
Step 2: Why 템플릿 제공
상태에 따라 적절한 템플릿을 제시한다.
- seed / exploring →
templates/why-explore.md사용 - clarified →
templates/why-commit.md사용
사용자가 채운 내용을 받으면 다음 단계로 진행한다. 부족하더라도 AI가 보충하지 않는다. 사용자의 표현 그대로 존중한다.
Step 3: What 템플릿 제공
templates/what.md를 읽어서 사용자에게 제시한다.
seed 상태에서는 "지금은 비워둬도 됩니다. 탐구하면서 채워나가세요"라고 안내한다. exploring 상태에서는 "확인하고 싶은 것 하나만 써도 충분합니다"라고 안내한다.
Step 4: Not 템플릿 제공
templates/not.md를 읽어서 사용자에게 제시한다.
What ships with it
5 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.
- yesterday First seen · 145 lines · 165 tokens per session scan A 0a2d67e361de
intent is a skill published in the GitHub repository roboco-io/plugins (21 stars, last pushed 1mo ago), licensed MIT. It adds 165 tokens to every session and 1,706 once invoked, about $0.0008 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-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…