GitHub Copilot prompt files
Create one manually invoked command for one focused task. Inspect the active VS Code prompt schema and available agent/tool identifiers first.
Workflow
- Define the input variables, attached context, output artifact, allowed tools, and completion evidence.
- Store workspace prompts as
.github/prompts/<name>.prompt.md; use user scope only for a genuinely cross-project command. - Add only needed frontmatter:
name,description,argument-hint,agent,model, andtoolsare currently supported. - Write an ordered task contract. Use
${input:name:placeholder}for missing values and relative Markdown links for repository context. - Give the prompt the smallest tool list. A prompt's
toolsoverrides tools inherited from its selected agent; unavailable tools can be ignored. - Run from the editor and slash menu, then verify the output rather than the response wording.
Rules
- Use a prompt for deliberate one-task invocation. Use a skill for automatic discovery, multi-step expertise, scripts, or resources.
- Omit
modelunless the task genuinely requires a verified model capability. - Do not hardcode current selections, secrets, absolute paths, or undocumented tool identifiers.
- Reference shared instructions instead of duplicating them.
- Ask only for inputs not discoverable from the workspace.
Read the prompt contract, use evaluated patterns, and follow verification.
Completion
Frontmatter parses; every input is consumed; links resolve; tools are available and least privilege; the slash command is discoverable; positive and malformed inputs produce the declared artifacts; a nearby non-command task stays outside.