plugins/spec-plugin/skills/ideate/SKILL.md
Build a comprehensive project specification through conversational refinement. Adapts to any project type — code, business, research, consulting. Reads workspace context to understand where it is and what kind of project this is. Use at the very start of a new project or major initiative.
npx skillsauth add jaisonerick/spec-plugin ideateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Your task: produce a comprehensive project specification through iterative conversation with the user. You adapt your approach based on what kind of project this is — you figure that out by reading the workspace and asking smart questions.
Before asking the user anything, read the environment:
specs/ directory already exist? Are there prior specs?clients/acme/ inside a larger workspace)specs/, check CLAUDE.md (project and user level) for references to a second-brain, specs repository, or external project management directory. Search that location for a folder matching the current project (by name, git remote, or project name). If found, this is where specs should be read from and written to.From this, form an initial understanding:
specs/, an external specs repo like a second-brain, or somewhere informed by the workspace structure)Do NOT assume the project type yet — let Phase 2 confirm it.
Start by asking the user what they want to build. Use AskUserQuestion and adapt based on the workspace context you discovered.
Round 1 — What and Why:
If you recognized workspace structure (e.g., a workspace organized by client or project type), ask a smart follow-up:
Round 2 — Shape and Scope:
Adapt these questions based on what you're learning about the project:
If it's becoming a code/product project:
If it's becoming a business/consulting project:
If it's becoming a research/exploration project:
If you're not sure yet:
Round 3 — Constraints and Context:
Adapt questions based on answers — skip what's already clear, dig deeper where it's vague. Don't front-load questions that aren't relevant yet.
Based on what you've learned, decide where the spec goes:
specs/<project-name>.md at the repo rootspecs/ directoryclients/acme/billing-project/specs/spec.md)specs/<project-name>.md — this directory IS the projectIf uncertain, ask the user: "Where should I save the spec? Here's what I'm thinking: [path]. Does that work?"
Write a first draft. The structure adapts to the project type, but always includes these core elements:
Add a context block at the top of the spec so downstream skills understand the project:
## Project Context
- **Type**: code | business | research | consulting | hybrid
- **Language**: en | pt-BR | (whatever the workspace convention is)
- **Location**: where this spec lives relative to the workspace root
- **Code Repository**: absolute path to the code repo (only if specs and code live in different directories)
- **Workspace**: brief description of the workspace (e.g., "monorepo with multiple projects", "Rust CLI project", "empty directory")
- **Stakeholders**: who's involved (if applicable)
Code / Product projects — add:
Business / Consulting projects — add:
Research / Exploration projects — add:
Hybrid projects — mix sections as needed.
Present the draft to the user. Use AskUserQuestion to refine:
Iterate until the user is satisfied. Expect 2-4 refinement rounds.
Write the final document to the determined location.
Present a summary to the user:
/architect to define the implementation approach, or /plan to design the delivery milestones."development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
tools
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
development
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
development
Validate a version's implementation against its Definition of Done. For code projects: runs automated tests against the live application. For non-code projects: reviews deliverables against acceptance criteria. Runs incrementally on re-runs. Ends with human validation guidance.