agentify-project
Make a project ready for AI agentic engineering by converging it toward a canonical agent-neutral structure — a lean AGENTS.md index with progressive…
Refine a development ticket — or brainstorm a raw idea — into a validated, self-contained REQUIREMENTS document — the "what", verified against the codebase. Invoke manually only.
$ npx -y skills add eai-org/agent-toolkit --skill refine-ticket --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/refine-ticketContext preview
The summary Claude sees to decide when to auto-load this skill.
Refine a development ticket — or brainstorm a raw idea — into a validated, self-contained REQUIREMENTS document — the "what", verified against the codebase. Invoke manually only.
name: refine-ticket description: Refine a development ticket — or brainstorm a raw idea — into a validated, self-contained REQUIREMENTS document — the "what", verified against the codebase. Invoke manually only. license: MIT metadata: version: "1.14"
The **Refine** phase of Refine → Plan → Act: turn a raw ticket — or an idea to brainstorm — into a validated requirements document a fresh session can plan from. Analysis only — it defines **what** must be true when the work is done, never **how** to build it, and never touches code.
An idea is a ticket that doesn't exist yet: treat the user's words as the ticket text, and grill to shape the idea itself — goal, in vs out of scope — before closing the branches that block implementation.
You cannot define the "what" in a vacuum. Every requirement must be checked against the **actual code, config, and design** — a ticket may be stale, ambiguous, contradicted by the codebase, or depend on upstream work that isn't implemented yet (e.g. a prerequisite ticket still open). Reading the code here is for *validating* requirements, not for designing the solution.
it.
assumption.
— never assume it matches the environment where the reported behaviour occurred; ask the user to confirm such values.
claims X", and "I assume X" distinct; the latter two never become the first without evidence.
used" is not "not present".
way, open that layer and confirm it.
After gathering and code-verifying, **grill** the user — interview relentlessly, never guessing what they could clarify — to close every remaining decision:
`explain-in-simple-language` when available.
bundle a code-answerable sub-question into a grill. "Which name, type, shape, or pattern fits?" is code-answerable: match the closest existing analogue, and let that verified convention outrank the ticket's contrary suggestion. Grill only on what genuinely remains (product intent, cross-task timing).
shared understanding and no open branch that blocks implementation.
Separate two kinds of uncertainty:
file). Resolve during grilling, before writing the file.
questions with your tentative answer.
When the ticket says a capability exists or names something to reuse, find what's *behind* it (the service method, query, SP it calls) and anchor the requirement on the smallest extension — relax a parameter, widen a filter, lift a guard. "Not an exact match" doesn't license a net-new build: reuse-vs-build-new is a **blocking** question for the user, never a silent default.
When a ticket points at a design (mockup, screenshot, prototype, design-tool link), that design is part of the spec. Visual decisions made without seeing it lock in wrong defaults.
render is not a design you've read. Prefer a copy already saved with the ticket over re-fetching.
formatting, empty and error states, label wording, spacing, alignment, iconography. The default for "is this in the design?" is match the design, not do the minimum.
When the ticket references others that matter to it (BE/FE counterparts, dependencies, follow-ups), read them too — they complete the picture and sharpen how this ticket's requirements are meant. A `## Ticket set` section in the ticket file lists locally fetched siblings: read every linked `.TICKET.md` before grilling; for tracker-only references, judge relevance before fetching. What a sibling supplies — execution order, contracts it owns, superseded-spec notes — is context only, never requirements: scope stays this ticket's, and anything a sibling suggests changing is a question for the user, never a silent scope change.
Unless one was passed in, look for a `.TICKET-REVIEW.md` next to the ticket or in its set directory — an earlier session's triage; say which one you use, or that none exists. Challenge and re-verify everything in it before relying on it (its citations make that cheap). Its shipped questions are blocking items: grill first whether the owner answered. The defaults it assumed for dropped cheap details are decisions to close here — grilled or recorded as Open questions, never adopted silently. Handoffs are out-of-scope dependencies; verdict and walkthrough are context only. The ticket file and the code always win; a review older than the ticket file has likely been overtaken — say so.
A collection of generic agentic tools for common engineering tasks, designed to work with any AI agent on any kind of software project.
Make a project ready for AI agentic engineering by converging it toward a canonical agent-neutral structure — a lean AGENTS.md index with progressive…
Check how much of a ticket is already implemented — split it into requirement blocks, judge each against the code, and save a human-readable TICKET-STATUS…
Draft, rewrite, or refine a doc for maximum token economy without losing any rule or intent. Use for docs kept in version control and regularly re-read by…
Author or refine a skill for maximum token economy without losing intent. Use when creating any new skill or editing an existing `SKILL.md`.
Audit what auto-loads into an agent session's context window and suggest lean, reversible fixes to cut startup tokens.
Turn a refined requirements document into a structured implementation PLAN.md a fresh session can execute. Planning only — decides the "how", not the "what".…