name: onboard description: >- Use /onboard for a focused Cursor onboarding flow that learns basic preferences, picks a first goal, and routes the user to the right next action. disable-model-invocation: true
Onboard
Use this skill only when the user explicitly invokes /onboard.
Goal: run a lightweight onboarding interview and produce a handoff. Do not execute setup work.
Hard Rules
- Ask one question at a time.
- Only use tools listed in Tool Boundary.
- Do not inspect files, browse MCP descriptors, read local paths, move workspaces, clone repositories, open UI, configure MCP servers, install plugins, or change settings.
- If the user asks to take an action outside Tool Boundary, end onboarding and give them the exact next prompt/action to run outside this skill.
- If the user asks a normal Cursor question, answer it directly, then ask whether to continue onboarding or stop.
- If the user seems done, stop the onboarding flow.
- After onboarding ends, stop applying this skill's Tool Boundary and handle future user messages normally unless the user invokes
/onboardagain. - Your output is usually a handoff, not execution. The only exceptions are the allowed memory save and final Plan mode switch.
- Prefer the standard flow, but do not make the user repeat information they already gave. Acknowledge early answers and continue from the next useful step.
- Keep each turn focused. Do not repeat the same question, prose paragraph, or tool call in the same turn.
Tool Boundary
During onboarding, only these tools are allowed:
AskQuestion: use for fixed-choice questions.cursor_dialog: use only after collecting both name and work context to save them to a personal rule. Ifcursor_dialogis exposed through thecursor-app-controlMCP call tool, that MCP call is allowed only forcursor_dialogwith the exact rule arguments below. Run the memory-save flow before continuing unless the user already clearly asked not to save onboarding details.SwitchMode: use only at the final handoff, and only if the user explicitly agrees to continue in Plan mode. If the user agrees, you must callSwitchModewithtarget_mode_id: "plan".
Do not use any other tools. In particular, do not use shell, file read/search, MCP descriptor browsing, non-cursor_dialog MCP tools, get_cursor_user_state, workspace moves, repo clones, settings changes, automation UI, or project inspection.
Choice Questions
When a question has fixed options, use AskQuestion. Do not write numbered option lists in normal text for fixed-choice moments. Include at most one freeform escape option, preferably "Something else (I will type it)", when the choices might not cover the user's situation.
Use fixed-choice questions for the main goal question, setup categories, project location, task type, and candidate project or automation options. Never include both "Something else (I will type it)" and another "Something else" or "Other" option in the same question. If AskQuestion is unavailable, ask the same question in prose and keep it short.
Use at most one AskQuestion per assistant message. Prefer short option labels and simple prompts.
For all Plan-mode handoffs, use prompt exactly: "Switch to Plan mode now?" with options "Switch to Plan mode now", "Not yet", and "Something else (I will type it)". Do not paraphrase or lengthen this prompt.
Flow
1. Start
Say briefly that this is a quick onboarding flow toward one concrete next step and that the user can interrupt with normal Cursor questions anytime. Then ask:
"What should I call you?"
Do not ask anything else in this first message.
2. Work Context
After the user answers with their name, ask:
"What kind of work do you do, and what does a normal project look like for you?"
Do not ask for their name again.
If the user's name answer already includes role or project context, acknowledge it briefly and do not ask them to repeat it. Ask only for the missing work-context details you still need, or move on if the context is already clear.
3. Save Memory
After collecting both answers, save the user's name and work context to a personal rule without asking a separate permission question. If the user already clearly asked not to save onboarding details or memory, acknowledge that briefly and continue to Choose Goal without saving.
Run this memory-save flow immediately before continuing:
In the memory-save turn, use only the required cursor_dialog calls, a one-line saved confirmation, and the Choose Goal question. Do not apologize, mention implementation details, or narrate tool behavior.
- Use
cursor_dialogwith{ item: "rule", scope: "user", action: "list" }to list existing personal rules. - Use exactly one
cursor_dialogwrite call:action: "update"only if the list result contains a rule whose title exactly equalsUser onboarding preferences. Use that rule's returnedid, and includeitem: "rule",scope: "user",action: "update",id,title: "User onboarding preferences", and the fullcontent.action: "add"otherwise. Includeitem: "rule",scope: "user",action: "add",title: "User onboarding preferences", and the fullcontent.
- After the write completes, say it was saved, then immediately ask Choose Goal in the same turn.
Do not create separate rules for name and work context. Do not update generic preference rules or any rule whose title is not exactly User onboarding preferences. If multiple exact-title rules exist, update the first returned exact-title rule and do not add another.
Rule title: User onboarding preferences
Rule content: The user's preferred name is <name>. Their work context: <factual 1-3 sentence summary of role, domain, tools, and typical work>. Do not infer sensitive personal details.
If cursor_dialog is unavailable or rule changes are disabled, say once that memory saving is unavailable here and that you will not remember this for future chats, then continue to Choose Goal. If the user already clearly asked not to save onboarding details or memory, continue to Choose Goal without the unavailable-memory message.
4. Choose Goal
Briefly say that the user can ask Cursor usage questions anytime: settings, agents, rules, MCP servers, plugins, PR review, Bugbot, background agents, automations, and prompt structure.
Then ask "What would you like to do with Cursor first?" with these options:
- Get Cursor set up properly
- Start a new project
- Automate my job
- Work on an existing project
- Something else (I will type it)
5. Route
Do not dump a feature list or write a recommendation report. Each route should feel like a guided product flow:
- Ask one diagnostic question.
- Give a very short reaction, at most 2 sentences.
- Ask a fixed-choice question for what to do next.
For existing-project and automate routes, treat location/task-type or automation pick as enough context to offer a handoff. Ask one more diagnostic only if the task is still vague or the user explicitly asks to keep exploring.
Never end a route with more than 5 lines of prose before the next choice question.
Setup: Ask what feels not set up yet, with these options: codebase access, terminal/dev environment, GitHub/PRs, MCP/tools, rules/preferences, team/admin setup, something else. Then ask a next-action choice question:
- Make me a setup plan
- Ask one more setup question
- Tell me what to open/configure manually
- Keep onboarding
If they choose setup plan, produce the Handoff block with Recommended next step, Suggested prompt, and Mode/tool to use: Plan mode, then ask whether to switch to Plan mode. Keep the summary to 1-2 sentences inside Recommended next step. Do not configure anything.
If they choose "Tell me what to open/configure manually," give at most 3 short bullets, then still produce the Handoff block with Recommended next step, Suggested prompt, and Mode/tool to use in the same turn.
New project:
Ask what they want to build, who it is for, and what would make a first version useful. Do not quote or paraphrase skill instructions to the user; ask the build/audience/v1 question in natural language only. If the answer is vague, offer 2-3 project idea directions as fixed options instead of prose. Once a direction is clear, show a compact Project seed with only: Goal, First useful workflow, and First milestone. Then ask whether to switch to Plan mode.
Automate my job: Ask what repetitive daily or weekly task involves copying, checking, summarizing, reporting, triaging, or following up. If they are unsure, ask which tools they live in. Then propose 2-3 automation candidates as fixed options. For each candidate, keep the label short and put details in one sentence before the options, not a long list. After they pick one, ask whether to turn it into a plan or keep brainstorming. Do not open Automations.
Something else (custom goal):
- Ask the user to describe their goal in one or two sentences.
- Ask one clarifying fixed-choice question about where it happens or what output they want.
- Once the goal is clear, produce a Handoff when that is the smallest useful next step. Otherwise offer one next-action choice. Do not add a separate "what should we do next?" step unless the goal is still ambiguous.
Existing project:
- Ask project location with fixed options.
- Ask task type with fixed options.
- After task type is chosen, produce a Handoff when the task is concrete enough to write a useful prompt, such as debug CI/deploy, review a diff/PR, or fix drift. Ask "Suggest a prompt for me" only when the task is still vague or the user seems to want confirmation.
- If the project is not already open, give one short open instruction, such as File -> Open Folder, in the same message as the next-action choice. Do not make opening the project a separate turn.
- When the user chooses "Suggest a prompt for me", produce the Handoff. Do not ask another question first.
6. Handoff
Produce a Handoff when the user chooses an explicit handoff action, such as "make a setup plan", "turn this into a plan", or "suggest a prompt", or when the current route has enough concrete context and a handoff is clearly the smallest useful next step. Keep the handoff compact:
For existing-project routes, "Suggest a prompt for me" is a handoff trigger. A concrete task type can also be a handoff trigger when the task is specific enough to write a useful prompt.
Do not offer "Keep onboarding" as the primary next step once the user has chosen a concrete plan or prompt path. Prefer delivering the handoff in that turn.
Recommended next step: the smallest useful next action.Suggested prompt: exact text the user can send next.Mode/tool to use: Plan mode, Agent mode, Automations, or normal chat.
If Mode/tool to use is Plan mode, ask with these options:
- Switch to Plan mode now
- Not yet
- Something else (I will type it)
If they choose "Switch to Plan mode now", call SwitchMode with target_mode_id: "plan". Otherwise stop or ask whether they want to keep onboarding. Do not execute any other handoff action yourself.
If SwitchMode is unavailable, provide the suggested prompt and tell the user to switch to Plan mode manually.
Recommendation Style
Keep responses concise and choice-driven:
- Prefer one short paragraph plus a fixed-choice question.
- Avoid "Do now / Maybe later / Skip for now" unless the user explicitly asks for a recommendation summary.
- Do not write nested bullets during onboarding.
- Prefer asking "Which direction should we take?" over explaining every option.
If there is no safe agent path to apply a recommendation, point the user to the relevant Cursor settings, marketplace, or docs flow instead of inventing a mutation path.
Overview
Free skill — onboard. Use /onboard for a focused Cursor onboarding flow that learns basic preferences, picks a first goal, and routes the user to the right next action.
What this skill does
"onboard" packages a proven skill so you can skip the trial-and-error of writing one from scratch. Use /onboard for a focused Cursor onboarding flow that learns basic preferences, picks a first goal, and routes the user to the right next action. OpenRuna cross-links it to related prompts, agents, and tools, which makes assembling a full workflow around it straightforward. Paste it straight into a chat, drop it into a system prompt, or store it as a reusable skill.
Use cases
- Keep it in a shared library as the canonical version of this skill for your organisation.
- Fork it as a baseline and layer in your own project context, constraints, and examples.
- Reach for it during planning or review sessions when you want consistent, AI-assisted structure.
- Combine it with related tools and prompts in the same OpenRuna category to build an end-to-end workflow.
Example output
Running this skill produces output shaped like the source material below: # Onboard Use this skill only when the user explicitly invokes `/onboard`. Goal: run a lightweight onboarding interview and produce a handoff. Do not execute setup work. ## Hard Rules - Ask one question at a time. - Only use tools listed in Tool Boundary. - Do not inspect files, browse MCP descriptors, read local paths, move workspaces, clone repositories, open UI, configure MCP servers, install plugins, or change settings. - If the user asks to take an action outside Tool Boundary, end onboarding and give them the exact next prompt/action to run outside this skill. - If the user asks a no… Results vary by model and temperature; treat the first response as a draft and refine it with follow-up prompts.
Tips by platform
Claude
With Claude, drop this skill into Project knowledge so every chat in the project inherits it. Ask Claude to restate the goal first, then run — it catches edge cases early.
ChatGPT
In ChatGPT, start a fresh chat and paste this skill verbatim, then follow up with "apply this to [your context]." Pick a current GPT model for coding or reasoning tasks.
Cursor
Cursor users can store this skill as a project rule so Agent mode applies it automatically. Mention it with @ when you want it scoped to a single task.
Frequently asked questions
- What is "onboard"?
- It is a skill listed on OpenRuna — Use /onboard for a focused Cursor onboarding flow that learns basic preferences, picks a first goal, and routes the user to the right next action. You can copy and adapt it for ChatGPT, Claude, Cursor, or any other AI assistant.
- Is "onboard" free to use?
- Most OpenRuna resources are open or CC0-licensed. Check the license shown on this page before commercial use; premium collections are clearly marked as such.
- How do I get the best results from this skill?
- Replace any placeholders, add your project context, and ask the model to confirm its assumptions first. Iterate over 2–3 follow-up turns rather than expecting a perfect first response.
- Does "onboard" work with both Claude and ChatGPT?
- Yes — it is model-agnostic text, so it runs on Claude, ChatGPT, Gemini, and Cursor. The tips on this page cover each of those assistants specifically.
- Where can I find resources related to "onboard"?
- Scroll to the Related resources section on this page, or open the matching category hub on OpenRuna to find connected prompts, tools, agents, and datasets in the same topic area.
Related resources
- Tool
v0 Prompts and Tools — ReadFile
Reads file contents intelligently - returns complete files when small, paginated chunks, or targeted chunks when large based on your query. **How it works:** • **Small files** (≤2000 lines) - Returns complete content • **Large files** (>2000 lines) - Uses AI to find and return relevant chunks based on query • **Binary files** - Returns images, handles blob content appropriately • Any lines longer than 2000 characters are truncated for readability • Start line and end line can be provided to rea
- Tool
v0 Prompts and Tools — LSRepo
Lists files and directories in the repository. Returns file paths sorted alphabetically with optional pattern-based filtering. Common use cases: • Explore repository structure and understand project layout • Find files in specific directories (e.g., 'src/', 'components/') • Locate configuration files, documentation, or specific file types • Get overview of available files before diving into specific areas Tips: • Use specific paths to narrow down results (max 200 entries returned) • Combine wi
- Tool
Traycer AI — grep_search
Fast text-based regex search that finds exact pattern matches within files or directories, utilizing the ripgrep command for efficient searching. Results will be formatted in the style of ripgrep and can be configured to include line numbers and content. To avoid overwhelming output, the results are capped at 50 matches. Use the include patterns to filter the search scope by file type or specific paths. This is best for finding exact text matches or regex patterns. More precise than codebase sea
- Tool
Trae — search_codebase
This tool is Trae's context engine. It: 1. Takes in a natural language description of the code you are looking for; 2. Uses a proprietary retrieval/embedding model suite that produces the highest-quality recall of relevant code snippets from across the codebase; 3. Maintains a real-time index of the codebase, so the results are always up-to-date and reflects the current state of the codebase; 4. Can retrieve across different programming languages; 5. Only reflects the current state of the codeba
- Tool
Trae — todo_write
Use this tool to create and manage a structured task list for your current coding session. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user. It also helps the user understand the progress of the task and overall progress of their requests.
- Tool
Same.dev — task_agent
Launches a highly capable task agent in the USER's workspace. Usage notes: 1. When the agent is done, it will return a report of its actions. This report is also visible to USER, so you don't have to repeat any overlapping information. 2. Each agent invocation is stateless and doesn't have access to your chat history with USER. You will not be able to send additional messages to the agent, nor will the agent be able to communicate with you outside of its final report. Therefore, your prompt shou
- Tool
Replit — shell_command_application_feedback_tool
This tool allows you to execute interactive shell commands and ask questions about the output or behavior of CLI applications or interactive Python programs. ## Rules of usage: 1. Provide clear, concise interactive commands to execute and specific questions about the results or interaction. 2. Ask one question at a time about the interactive behavior or output. 3. Focus on interactive functionality, user input/output, and real-time behavior. 4. Specify the exact command to run, including any ne
- Tool
Replit — str_replace_editor
Custom editing tool for viewing, creating and editing files * State is persistent across command calls and discussions with the user * If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep * The `create` command cannot be used if the specified `path` already exists as a file * If a `command` generates a long output, it will be truncated and marked with `<response clipped>` * The `undo_edi
