skills/absolute-brainstorm/SKILL.md
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, designing systems, or making architectural decisions. Enters plan mode, reads all available docs, explores the codebase deeply, then interviews the user relentlessly with ultrathink-level reasoning on every decision until a shared understanding is reached. Produces a validated design spec before any implementation begins. Triggers on feature requests, design discussions, refactors, new projects, component creation, system changes, and any task requiring design decisions.
npx skillsauth add absolutelyskilled/absolutelyskilled absolute-brainstormInstall 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.
When this skill is activated, always start your first response with the brain emoji.
At the very start of every absolute-brainstorm invocation, before any other output, display this ASCII art banner:
█████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗ ██╗████████╗███████╗
██╔══██╗██╔══██╗██╔════╝██╔═══██╗██║ ██║ ██║╚══██╔══╝██╔════╝
███████║██████╔╝███████╗██║ ██║██║ ██║ ██║ ██║ █████╗
██╔══██║██╔══██╗╚════██║██║ ██║██║ ██║ ██║ ██║ ██╔══╝
██║ ██║██████╔╝███████║╚██████╔╝███████╗╚██████╔╝ ██║ ███████╗
╚═╝ ╚═╝╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚══════╝
██████╗ ██████╗ █████╗ ██╗███╗ ██╗███████╗████████╗ ██████╗ ██████╗ ███╗ ███╗
██╔══██╗██╔══██╗██╔══██╗██║████╗ ██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗████╗ ████║
██████╔╝██████╔╝███████║██║██╔██╗ ██║███████╗ ██║ ██║ ██║██████╔╝██╔████╔██║
██╔══██╗██╔══██╗██╔══██║██║██║╚██╗██║╚════██║ ██║ ██║ ██║██╔══██╗██║╚██╔╝██║
██████╔╝██║ ██║██║ ██║██║██║ ╚████║███████║ ██║ ╚██████╔╝██║ ██║██║ ╚═╝ ██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
Follow the banner immediately with: Entering plan mode - ultrathink enabled
A relentless, ultrathink-powered design interview that turns vague ideas into bulletproof specs. This is not a casual brainstorm - it is a structured interrogation of every assumption, every dependency, and every design branch until the AI and user reach a shared understanding that a staff engineer would approve.
Trigger this skill when the user:
Do NOT trigger this skill for:
Every project goes through this process. A todo list, a single-function utility, a config change - all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval.
You MUST complete these steps in order:
docs/plans/YYYY-MM-DD-<topic>-design.mddigraph absolute_brainstorm {
rankdir=TB;
node [shape=box];
"Enter plan mode" -> "Deep context scan";
"Deep context scan" -> "Scope assessment";
"Scope assessment" -> "Decompose into sub-projects" [label="too large"];
"Scope assessment" -> "Relentless interview" [label="right-sized"];
"Decompose into sub-projects" -> "Relentless interview" [label="first sub-project"];
"Relentless interview" -> "Genuine fork?" [shape=diamond];
"Genuine fork?" -> "Propose approaches\n(mark Recommended)" [label="yes"];
"Genuine fork?" -> "Next question or\ndesign presentation" [label="no, obvious answer"];
"Propose approaches\n(mark Recommended)" -> "Next question or\ndesign presentation";
"Next question or\ndesign presentation" -> "Relentless interview" [label="more branches"];
"Next question or\ndesign presentation" -> "Confidence self-check" [label="tree resolved"];
"Confidence self-check" -> "Relentless interview" [label="doubts remain"];
"Confidence self-check" -> "Present design sections" [label="100% confident"];
"Present design sections" -> "User approves section?" [shape=diamond];
"User approves section?" -> "Present design sections" [label="no, revise"];
"User approves section?" -> "Write spec to docs/plans/" [label="yes, all sections"];
"Write spec to docs/plans/" -> "Spec review loop\n(subagent, max 3)";
"Spec review loop\n(subagent, max 3)" -> "User reviews spec";
"User reviews spec" -> "Write spec to docs/plans/" [label="changes requested"];
"User reviews spec" -> "User chooses next step" [label="approved"];
}
Before asking the user a single question, build comprehensive project awareness.
Mandatory reads (if they exist):
docs/ directory - read README.md first, then scan all filesREADME.md at project rootCLAUDE.md / .claude/ configurationCONTRIBUTING.mddocs/plans/ - existing design docs that might overlappackage.json, Cargo.toml, pyproject.toml, etc.)What you're looking for:
Output to the user: A brief summary of what you found, highlighting anything relevant to the task at hand. Do NOT dump a file listing - synthesize what matters.
Before asking ANY question, check if the codebase already answers it.
This is the core differentiator. The AI must:
Examples:
When you DO find the answer in the codebase, tell the user what you found:
"I see you're using Prisma with PostgreSQL (from
prisma/schema.prisma). I'll design around that."
This builds confidence and saves the user from answering questions they already answered in code.
Before diving into detailed questions, assess scope.
If the request describes multiple independent subsystems (e.g., "build a platform with chat, file storage, billing, and analytics"):
If the request is appropriately scoped, proceed to the interview.
This is the heart of the skill. Walk down every branch of the design tree, resolving dependencies between decisions one by one.
Rules:
AskUserQuestion tool for every question - this is a built-in Claude
Code tool that pauses execution and waits for the user's response. Use it for
every interview question, every section approval, and every decision point. Never
just print a question in your output - always use the tool so the conversation
properly blocks until the user responds.What to interview about:
Design tree traversal: Think of the design as a tree of decisions. Each decision may open new branches. Walk the tree depth-first, resolving each branch fully before moving to siblings.
Feature X
- Who is this for? (resolve)
- What's the core interaction? (resolve)
- How does data flow? (resolve)
- What are the edge cases? (resolve)
- What are the error states? (resolve)
- What's the secondary interaction? (resolve)
- How does this integrate with existing system? (resolve)
Only propose multiple approaches when there is a genuine design fork.
When the answer is obvious: Present the single approach with reasoning. Briefly mention why you dismissed alternatives:
"Given your existing Express + Prisma stack and the read-heavy access pattern, a new Prisma model with a cached read path is the clear approach. A separate microservice would add complexity without benefit at this scale, and a raw SQL approach would lose Prisma's type safety."
When there's a genuine fork: Present each option with:
Before presenting the design, verify your own confidence. This is a mandatory gate.
Protocol:
What to check: Unverified "obvious" answers, unsurfaced edge cases, contradictions between decisions, codebase compatibility, and whether a staff engineer would challenge any decision.
Only enter this phase after passing the confidence self-check. Present the design section by section.
Rules:
Design for isolation and clarity:
Working in existing codebases:
After user approves the full design:
docs/plans/YYYY-MM-DD-<topic>-design.mdAfter writing the spec, dispatch a separate reviewer subagent using the scored
review protocol in references/spec-writing.md. The reviewer grades the spec on
five dimensions (Completeness, Consistency, Clarity, Scope, Testability) with a
1-5 score per dimension. This uses generator-evaluator separation - the agent that
wrote the spec does NOT review it.
After the review loop passes:
"Spec written to
<path>. Please review it and let me know if you want to make any changes before we proceed."
Wait for the user's response. If they request changes, make them and re-run the spec review loop. Only proceed once the user approves.
Once the spec is approved, strongly recommend delegating execution to absolute-human:
"Spec is approved and we're both 100% confident in the design. Now it's time to build.
- A) Absolute-human (Recommended) - hand off to absolute-human for AI-native execution with task decomposition, parallel waves, and TDD. It's purpose-built to take a validated spec and execute it.
- B) Writing plans - create a detailed implementation plan first, then execute manually
- C) Direct implementation - start building right away without the absolute-human workflow
- D) Something else - your call"
Let the user decide the next step. Do not auto-invoke any skill.
AskUserQuestion tool - never overwhelm, always use the built-in tool to askAskUserQuestion tool not available in all environments - The AskUserQuestion tool is a Claude Code-specific built-in. In other environments (Gemini CLI, OpenAI Codex), it may not exist. Fall back to printing the question as a clearly demarcated output block and waiting for user response, but track that you are waiting for an answer before proceeding.
Deep context scan can consume the entire context window - Reading every file in docs/ and every recent commit in a large codebase can exhaust the context window before the first question is asked. Be selective: read README, CLAUDE.md, and recent commits first; only go deeper on files directly relevant to the task.
Spec saved to docs/plans/ in the wrong repo - If the skill is invoked in a monorepo or a workspace with multiple docs/ directories, saving the spec to the wrong subdirectory means it will never be found during future DISCOVER phases. Confirm the target docs/plans/ path with the user before writing.
Reviewer subagent approves incomplete specs - The reviewer subagent is prompted to "approve unless there are serious gaps," which means minor incompleteness often passes. Do not treat reviewer approval as a substitute for user approval. The user gate in Phase 9 is mandatory regardless of the reviewer's verdict.
Flexible exit auto-invokes the next skill - Presenting the exit options and then immediately invoking a skill without waiting for user input defeats the purpose of a flexible exit. Always use AskUserQuestion (or equivalent) to receive the user's choice before taking any post-spec action.
| Anti-Pattern | Better Approach |
|---|---|
| Asking questions the codebase can answer | Search code first - check configs, existing patterns, test files before every question |
| Batching multiple questions in one message | One question at a time, always. Break complex topics into sequential questions |
| Printing questions as plain text output | Always use the AskUserQuestion tool to ask - it blocks until the user responds |
| Skipping docs/ and README before starting | Always read all available documentation before the first question |
| Proposing fake alternatives when the answer is obvious | Present the single right answer with rationale; only show options at genuine forks |
| Accepting vague answers without follow-up | Dig deeper - "what do you mean by that?" is always valid |
| Asking about implementation before purpose | Always resolve "why" and "what" before "how" |
| Not exploring error/edge case branches | Every design tree has an error handling branch - walk it |
| Jumping to code before spec approval | Hard gate: no code, no scaffolding, no implementation until spec is approved |
| Presenting options without a (Recommended) marker | Every option set must have a clear recommendation with rationale |
| Using normal thinking when ultrathink is required | Ultrathink on every decision, every question, every proposal - no exceptions |
| Advancing when the AI has private doubts | Stop, ultrathink, and either resolve the doubt yourself or surface it as a question |
| Presenting the plan without self-verification | Always run a confidence self-check on every decision before presenting the design |
| Treating exit options as equal | Recommend absolute-human as the default execution path - it's purpose-built for this |
| Decomposing too late | Flag multi-system scope immediately, don't spend 10 questions refining details of an unscoped project |
| Auto-invoking the next skill without asking | Flexible exit - always let the user choose what happens after spec approval |
For detailed guidance on specific aspects, load these reference files:
references/interview-playbook.md - Design tree traversal, question banks by project type, codebase-first intelligence patterns, example interview sessionsreferences/spec-writing.md - Spec document template, section scaling rules, writing style guide, decision log format, spec review checklist, example specreferences/approach-analysis.md - When to propose multiple approaches, approach proposal format, trade-off dimensions, project decomposition guide, common decision treesOnly load a references file if the current phase requires it - they are long and will consume context.
On first activation of this skill in a conversation: check which companion skills are installed by running
ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null. Compare the results against therecommended_skillsfield in this file's frontmatter. For any that are missing, mention them once and offer to install:npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>Skip entirely if
recommended_skillsis empty or all companions are already installed.
tools
Use this skill when working with Xquik's X Twitter Scraper API for tweet search, user lookup, follower extraction, media workflows, monitors, webhooks, MCP tools, SDKs, and confirmation-gated X account actions. Triggers on Twitter API alternatives, X API automation, scrape tweets, profile tweets, follower export, send tweets, post replies, DMs, and X/Twitter data pipelines.
testing
Use this skill when planning and packaging a full period of social media content for scheduling. Triggers on content calendars, posting cadence, content pillars, launch campaigns, social post queues, approval-ready post packages, and adapting one source asset across platforms.
development
Autonomously simplifies code in your working changes or targeted files. Detects staged or unstaged git changes, analyzes for simplification opportunities following clean code and clean architecture principles, applies improvements directly, runs tests to verify nothing broke, and shows a structured summary with reasoning. Triggers on "simplify this", "refactor this", "clean up my changes", "absolute-simplify", "simplify my code", "make this cleaner", "tidy this up", "reduce complexity", "flatten this", "remove dead code", or when code needs clarity improvements, nesting reduction, or redundancy removal. Language-agnostic at base with deep opinions for JS/TS/React, Python, and Go.
development
AI-native software development lifecycle that replaces traditional SDLC. Triggers on "plan and build", "break this into tasks", "build this feature end-to-end", "sprint plan this", "absolute-human this", or any multi-step development task. Decomposes work into dependency-graphed sub-tasks, executes in parallel waves with TDD verification, and tracks progress on a persistent board. Handles features, refactors, greenfield projects, and migrations.