intent-discover

A planning step that turns a repository’s problems and existing code into a structured map of the intended change. It also records unanswered questions and recommends how the work should proceed, without changing application code.

In plain words
What is it for?
Use it at the start of a feature, fix, or redesign to examine the repository, describe the intended outcome at several levels, identify open questions, and prepare guidance for later implementation.
Why use it?
It helps prevent coding before the problem and boundaries are clear. It separates confirmed decisions from assumptions that still need review.

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/ijust/intent-planner/intent-discover
Any agent
npx skills add ijust/intent-planner --skill intent-discover
Clone the repo
git clone --depth 1 https://github.com/ijust/intent-planner

Made for: Claude Code, Codex.

Per session 53 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,825 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.00053 $0.02825
Opus 5 $0.00026 $0.01412
Sonnet 5 $0.00011 $0.00565
Haiku 4.5 $0.00005 $0.00282

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

Security

Grade A, and why

intent-discover 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 3d 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.

templates/en/claude/skills/intent-discover/SKILL.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

intent-discover Skill

Core Mission

  • Success Criteria:
    • The L0–L4 Intent Tree is structured, with canonical (confirmed) and inferred (guessed) separated
    • The mode for working out the Intent is recommended/confirmed and recorded in .intent/mode.local.md (the local canonical source for mode state)
    • Whether question delegation (designer-questions) is needed is confirmed and recorded in .intent/mode.local.md (the purpose as well when on; if deferred, it is noted in Open Questions)
    • Open Questions that the human should review are made explicit
    • For divergent work, the AI presents hypotheses, counterexamples, and alternative problem framings as inferred so the human can set decision boundaries in the next compass
    • A design principle is handed to downstream phases: explore broadly, have the human confirm decision boundaries in the compass, and keep implementation as bounded autonomy within those confirmed boundaries
    • When drift-watch is on, drift-prone-situation pre-check is performed, the matching pattern is named, and it is recorded in drift-log (when off, nothing is done)
    • No application code has been changed at all

Execution Steps

Step 1: Select the mode

  • Read and apply rules/mode-selection.md.
  • Check the available modes (.intent/modes/*.md) and recommend a mode based on the repository situation.
  • Confirm with the user via AskUserQuestion (run the recommend→confirm wiring even if standard is the only candidate).
  • Create an issue directory and record the confirmed result there (A34 — resolving same-machine concurrent collision): on each discover run, create .intent/discovery/<slug>-<rand>/ (an issue directory mirroring packets; <slug> derived from the issue name; <rand> is 4 [a-z0-9] chars generated by the shell, no central numbering) and record the confirmed result in its mode.md (the local canonical source for mode state; not tracked by git). State the issue directory name in the Output so downstream skills inherit it for reading (reader identification). Keep the existing single .intent/mode.local.md as the backward-compatible legacy read target. Enforcement / Drift-watch (shared policy) stay in .intent/mode.md and are not touched. See .intent/discovery/README.md.
  • Create one drafting claim (to tell parallel sessions "this is being drafted" — DR163/INV91): in the same step that creates the issue directory, create .intent/assignments/discovery-<issue-dir-name>-<session-rand>.md (<session-rand> = 4 [a-z0-9] chars generated by the shell). Its frontmatter: phase: drafting / issue_dir: <issue-dir-name> / packet_id: "" (no packet exists yet at drafting time — never fabricate an ID) / declared_at (shell date) / session / note (optional). Creation is automatic; deletion is manual (deciding that drafting has ended is a human judgment, so a machine never deletes a live claim; INV91). If a claim for the same issue directory already exists, do not create a duplicate (re-runs must not stack claims). Never stop or take over (a claim is read-only guidance and never refuses another session's start). The schema and its rules are governed by .intent/assignments/README.md; the reading contract lives in CONTRACT.md.
  • Recommend → confirm → record the target format (optional, deferrable): after confirming the mode, when the target format (which exit to take = cc-sdd / openspec / speckit / to-spec / direct) can be inferred from the case, ask the user to confirm it, and on confirmation record it in the format line of .intent/mode.local.md. The inference signals are the case type (mode; whether the artifact is code or a document) and the setup markers of the downstream spec tools (whether .kiro/ for cc-sdd, a repository-root openspec/ for OpenSpec, or a repository-root .specify/ for Spec Kit exists; read-only observation); the format→exit correspondence and the handling of setup status (set-up tools first; never drop the not-set-up ones from the candidates; never invent a priority among set-up tools) are kept consistent with intent-packets/rules/export-route.md (the exit decision lane, the single source of truth) — do not copy its tables into this file. Choose direct for a case implemented directly without a tool (no spec tool launched — e.g. a small-to-medium change that edits code or documents directly); recording it lets /intent-writeback use that record as the primary signal for target identification (INV34). Follow the same confirmation discipline as mode / designer-questions / purpose: if it cannot be inferred, or the user defers/declines, do not fill it in by guessing — do not record it (continue with it unspecified; the exit decision later falls back to inference; if direct is likewise unrecorded, writeback falls back to the 3-condition AND inference). Recording the format is optional; discover continues as before even without it. Only /intent-discover writes the format (other skills read it read-only — DR26).
  • Read rules/designer-questions.md and confirm/record question delegation (designer-questions).

Read the full file on GitHub · 79 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. 3d ago First seen · 79 lines · 53 tokens per session scan A 0defa46de0ff

Subscribe to this mod's changes

intent-discover is a skill published in the GitHub repository ijust/intent-planner (5 stars, last pushed 3d ago), licensed MIT. It adds 53 tokens to every session and 2,825 once invoked, about $0.0003 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-31.

Related

Other skills, from other repositories

rulesync

Generates and syncs AI rule configuration files (.cursorrules, CLAUDE.md, copilot-instructions.md) across 20+ coding tools from a single source. Use when syncing AI rules, running rulesync commands, importing or generating rule files, or managing shared AI coding configurations.

dyoshikawa/rulesync · 64 tokens

agent-workspace-linux

Use when a task needs an isolated hidden Linux desktop or workspace-owned browser: GUI app QA, web/browser/shopping automation, sandboxed app observation, or stale workspace cleanup. Routes agent-workspace-linux MCP tools on demand. Does NOT apply to host desktop/Chrome control, generic MCP setup, or pure code/file…

ilysenko/codex-desktop-linux · 70 tokens

ss-component

Generate a new UI component following the StyleSeed design conventions.

bitjaru/styleseed · 14 tokens

loongsuite-pilot-insight

基于 LoongSuite Pilot / AI Coding Agent 日志生成事件洞察、组织洞察、数据质量、研发效能和 AI Native 使用类 SLS 报表时使用;包含 AI Coding 事件表语义,以及团队报表可选的部门维表、deptuser 组织关系、指标口径和公共 CTE,通常与 sls-dashboard-builder 一起使用。.

alibaba/loongsuite-pilot · 91 tokens

map-review

Interactive 4-section code review using monitor, predictor, and evaluator agents plus the user and maintainer role reviewers on current changes. Use when reviewing a diff, PR, or staged work before merge. Do NOT use to plan or implement; use map-plan or map-efficient.

azalio/map-framework · 58 tokens

runjam-defaults

Default constraints for every RunJam session. Defines output path conventions, dependency checking rules, fallback strategies, and file management discipline. This skill is auto-injected into every session — do not remove. Current session working directory: /Users/guizhan/work/code/runjam.

peintune/runjam · 59 tokens