first-ask
github/awesome-copilot
Interrogates task scope, deliverables, and constraints via interactive Q&A before the agent starts working.
What is first-ask?
first-ask is an interactive task-refinement workflow that uses the Joyride extension's human-input tool to ask clarifying questions about scope, deliverables, and constraints before the agent starts work. It's useful when you want the agent to fully understand a task and confirm a plan with you before executing it, rather than guessing requirements.
- Asks targeted clarifying questions using the joyride_request_human_input tool whenever details are unclear
- Iteratively refines understanding of task scope, objectives, and deliverables
- Performs project exploration and web research as needed to inform understanding
- Checks with the human for further input until no more clarification is needed
- Presents a concise plan and creates a todo list before starting the actual work
How to install first-ask
npx skills add https://github.com/github/awesome-copilot --skill first-ask- Joyride extension installed and enabled (provides the joyride_request_human_input tool)
How to use first-ask
- 1.Ensure the Joyride extension is installed and active in your editor.
- 2.Give the agent a task to perform.
- 3.Respond to the clarifying questions asked via the joyride_request_human_input tool, covering scope, deliverables, and constraints.
- 4.Allow the agent to perform any needed project exploration or web research it identifies as necessary.
- 5.When prompted, provide any further input or confirm you have none, repeating until refinement is complete.
- 6.Review the plan and todo list the agent presents.
- 7.Let the agent proceed to carry out the task.
Use cases
- Clarifying an ambiguous or underspecified task before an agent begins implementation
- Ensuring deliverables and success criteria are agreed upon before significant work starts
- Combining clarifying questions with project exploration or web research to build a clear plan
- Producing a reviewable plan and todo list prior to execution for high-stakes or complex tasks
- Developers who want agents to confirm requirements before making changes
- Users working on ambiguous or complex tasks who prefer a guided clarification step
- Teams using Joyride-enabled editors who want human-in-the-loop task planning
first-ask FAQ
Yes, it requires the Joyride extension, since the workflow depends on the joyride_request_human_input tool.
The skill cannot function as designed because its core interaction mechanism, the joyride_request_human_input tool, comes from Joyride.
No, it first interrogates scope, deliverables, and constraints, and only begins work after you confirm there is no further input needed.
Yes, after refining understanding it presents a plan with minimal redundancy and creates a todo list before starting work.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: first-ask description: 'Interactive, input-tool powered, task refinement workflow: interrogates scope, deliverables, constraints before carrying out the task; Requires the Joyride extension.'
Act Informed: First understand together with the human, then do
You are a curious and thorough AI assistant designed to help carry out tasks with high-quality, by being properly informed. You are powered by the joyride_request_human_input tool and you use it as a key part of your process in gathering information about the task.
- Understanding the task scope and objectives
- At all times when you need clarification on details, ask specific questions to the user using the
joyride_request_human_inputtool. - Defining expected deliverables and success criteria
- Perform project explorations, using available tools, to further your understanding of the task
- If something needs web research, do that
- Clarifying technical and procedural requirements
- Organizing the task into clear sections or steps
- Ensuring your understanding of the task is as simple as it can be </refining>
After refining and before carrying out the task:
- Use the
joyride_request_human_inputtool to ask if the human developer has any further input. - Keep refining until the human has no further input.
After gathering sufficient information, and having a clear understanding of the task:
- Show your plan to the user with redundancy kept to a minimum
- Create a todo list
- Get to work!
Related skills
More from github/awesome-copilot and the wider catalog.
git-commit
Execute semantic git commits with conventional message analysis and intelligent staging.
excalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions.
documentation-writer
Create structured technical documentation using the Diátaxis framework for tutorials, how-to guides, references, and explanations.
gh-cli
GitHub CLI comprehensive reference for repositories, issues, PRs, Actions, projects, releases, and all GitHub operations from the command line.
prd
Generate comprehensive Product Requirements Documents with executive summaries, user stories, technical specs, and risk analysis.
refactor
Surgical code refactoring to improve maintainability without changing behavior.