skills/kickoff/SKILL.md
Conduct a thorough alignment interview to deeply understand a task before starting work. Use when starting any non-trivial task — take-home exercises, ambiguous problems, design challenges, complex implementations, research questions — anything where shared understanding matters more than speed. Triggers on phrases like "interview me", "let's align on this", "before we start", "kick off this task", "probe me on this", "I have a take-home", "help me think through", "I want to align before we begin", or whenever the user signals they want a deep upfront context-gathering session before diving in. Err strongly toward triggering for any substantive new task — measure twice, cut once. Produces a written kickoff brief that becomes the shared foundation for the work.
npx skillsauth add petekp/agent-skills kickoffInstall 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.
A structured interview to elicit enough context that you and the user can build on a strong, shared foundation. The user has invited you to probe — ask the questions that need asking, even if there are many. The goal is shared understanding, not speed.
This is not "grilling" an existing plan (that's grill-me). It's the upstream phase: before there's a plan, before there's an approach, before assumptions calcify. You're co-discovering the shape of the work with them.
Treat this as collaborative discovery, not interrogation. You're sitting next to the user, sketching the problem on a shared whiteboard. Show curiosity, not just thoroughness. React to what they say — "Oh, that changes things — if X is the priority then Y matters more than Z" — so they feel heard, not processed.
Bias toward more questions. The user has explicitly told you this is fine and rewarding for them. Asking one more question is almost always cheaper than discovering a misalignment three steps in. But each question should earn its place — target a dimension you don't have signal on, or unlock a downstream branch.
Use efficient elicitation when you can. Two well-aimed questions that pin down a tradeoff are better than ten that circle around it. Multiple-choice with good options can be faster than open-ended for known dimensions. Show sketches or examples when comparing options. Reflect understanding back so the user can correct you with one word instead of writing a paragraph.
Don't ask what you can derive. If a file exists, read it. If something's on the web, fetch it. If the project has a CLAUDE.md or README, consult it. Save your questions for things only the user can answer.
Before asking anything, gather the cheap context:
Tell the user briefly what you've read so they know your starting point. Then begin the interview from a position of having done your homework — it shows respect for their time and earns the right to ask deeper questions.
Your first job is to figure out what kind of task this is, because different tasks have different load-bearing dimensions. A take-home exercise for a job has different stakes and audience considerations than a personal experiment. A bug fix needs reproduction; a design challenge needs constraints; a research question needs scope.
Open with 1-3 framing questions to pin down:
Once you know the shape, work through the dimensions that actually apply. Not every task needs every dimension — pick what's load-bearing for this one:
You don't need to march through these in order. Follow the live thread — when an answer opens a branch, explore it. Loop back to dimensions you haven't covered before wrapping up.
Every several questions — or any time you sense a shift in the picture — summarize what you've understood so far in 3-5 bullets. This gives the user a cheap, low-effort way to correct misunderstandings before they compound. Frame it as "Here's what I have so far — push back on anything that's off."
When you find yourself filling in a gap with an assumption, name it instead of letting it sit silent. "I'm assuming the audience here is engineers, not PMs — confirm or push back?" The assumptions you don't surface are the ones that bite later.
You can wrap up when:
The user said err on more. So when in doubt, ask the extra question. But don't pad — every question should still earn its place. If you catch yourself asking something generic, ask something specific instead.
End by writing a concise markdown document — KICKOFF.md is a sensible default, but match the project's conventions if there are any. The brief captures:
This is the foundation. Both you and the user should be able to refer back to it during the work. If the work drifts later, the brief is the anchor — and if the brief itself turns out to be wrong, that's important information; update it together rather than working from stale assumptions.
AskUserQuestion with thoughtfully-written options — the user can react in one click instead of typing a paragraph.development
Compile a plain-language task into a concise, auditable Codex or Claude Code `/goal`, or explain why a normal prompt fits better. Use when the user asks to draft, formulate, rewrite, tighten, or create a goal for multi-step work that needs a durable objective, transcript-visible proof, constraints, bounded stop conditions, host-aware operation, and risk-based review depth.
tools
Expert Unix and macOS systems engineer for shell scripting, system administration, command-line tools, launchd, Homebrew, networking, and low-level system tasks. Use when the user asks about Unix commands, shell scripts, macOS system configuration, process management, or troubleshooting system issues.
testing
Apply professional typography principles to create readable, hierarchical, and aesthetically refined interfaces. Use when setting type scales, choosing fonts, adjusting spacing, designing text-heavy layouts, implementing dark mode typography, or when asked about readability, font pairing, line height, measure, typographic hierarchy, variable fonts, font loading, or OpenType features.
development
Create visual parameter tuning panels for iterative adjustment of animations, layouts, colors, typography, physics, or any numeric/visual values. Use when the user asks to "create a tuning panel", "add parameter controls", "build a debug panel", "tweak parameters visually", "fine-tune values", "dial in the settings", or "adjust parameters interactively". Also triggers on mentions of "leva", "dat.GUI", or "tweakpane".