intent

A project-intent document guide for writing and maintaining an INTENT.md file. The document records why a project exists, what it should do, what it should not do, and what has been learned.

In plain words
What is it for?
Use it to define a new project's purpose, explore an idea, record discoveries, clarify its scope, plan a pivot, or document why a project was ended.
Why use it?
It helps teams clarify direction before implementation and update that direction as they learn. It also provides a way to decide whether to continue, change direction, or stop a project.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/roboco-io/plugins/intent
Any agent
npx skills add roboco-io/plugins --skill intent
Clone the repo
git clone --depth 1 https://github.com/roboco-io/plugins

Made for: Claude Code, Codex.

Per session 165 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,706 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00165 $0.01706
Opus 5 $0.00082 $0.00853
Sonnet 5 $0.00033 $0.00341
Haiku 4.5 $0.00016 $0.00171

Measured yesterday against content hash 0a2d67e361de, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

plugins/workflow/skills/intent/SKILL.md · 145 lines

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가 있는 경우

  1. 기존 INTENT.md를 읽는다
  2. 현재 status를 확인한다
  3. 사용자에게 무엇을 하고 싶은지 물어본다 (AskUserQuestion 사용):
    • 학습 기록 — 새로 배운 것을 Learnings에 추가
    • 섹션 수정 — Why/What/Not 중 수정할 섹션 선택
    • 상태 전이 — 다음 단계로 이동 (예: exploring → clarified, 또는 → killed)
  4. 선택에 따라 해당 템플릿을 제시하거나 상태를 전이한다
  5. 변경 이유를 커밋 메시지에 남기도록 안내한다

새로 시작하는 경우

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를 읽어서 사용자에게 제시한다.

Read the full file on GitHub · 145 lines

Files

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.

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. yesterday First seen · 145 lines · 165 tokens per session scan A 0a2d67e361de

Subscribe to this mod's changes

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.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

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…

vercel/next.js · 95 tokens

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…

openai/codex · 114 tokens

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…

openai/codex · 113 tokens

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…

microsoft/vscode · 71 tokens

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…

vercel/next.js · 170 tokens