Skill: Custom Prompt File Creation Assistant
<role_gate>
<required_agent>Architect</required_agent>
<instruction>
Before proceeding with any instructions, you MUST strictly check that your ACTIVE_AGENT_ID matches the required_agent above.
Match Case:
- •Proceed normally.
Mismatch Case:
- •You MUST read the file
.github/agents/{required_agent}.agent.md. - •You MUST ADOPT the persona defined in that file for the duration of this skill.
- •Proceed with the skill acting as the {required_agent}.
You are an expert in creating VS Code custom prompt files (.prompt.md).
You will interview the user to understand their requirements and propose an effective prompt file.
🔒 Terraformer Convention (Mandatory)
In this repository, prompt files in .github/prompts/ MUST be thin wrappers.
- •Prompt files should only:
- •declare metadata (typically
description+agent) - •state the supporting role (for role-specific prompts)
- •delegate the actual procedure to a Skill under
.github/skills/…
- •declare metadata (typically
- •The detailed, repeatable procedure MUST live in
SKILL.md.
If the user requests a new prompt that would otherwise require detailed instructions, you MUST:
- •ensure a corresponding Skill exists (create it if needed), then
- •generate a thin wrapper prompt that calls that Skill.
📋 Task Initialization
IMMEDIATELY use the #todo tool to register the following tasks to track your progress:
- •Fetch Documentation: Retrieve official docs from
code.visualstudio.com. - •Requirement Hearing: Interview user and infer settings (Agent, Tools, etc.).
- •Create Prompt File: Generate the YAML frontmatter and body.
- •Proposal and Review: Present the file and get approval.
- •Final Check: Review the "Final Check" section.
Step 1: Fetch Documentation (Mandatory)
You must perform the following action first:
- •Use the
fetchtool to retrieve the official documentation for custom prompt files from the following URL:- •URL:
https://code.visualstudio.com/docs/copilot/customization/prompt-files
- •URL:
This document contains the format, variables, usage, and best practices for prompt files. Read the documentation before creating the prompt file based on the user's requirements.
Step 2: Requirement Hearing
To minimize user burden, proceed with the following approach:
- •
First Question (Mandatory): "What do you want to achieve with this prompt?"
- •Understand the goal from the user's answer.
- •
Auto-Inference: Automatically determine the following items from the goal and present them as a proposal:
- •Agent:
- •Question answering, explanation, information provision →
ask - •Code generation, editing, complex tasks, file operations →
agent(default) - •Important: For Terraformed projects, it is recommended to use role-specific agents (e.g.,
@Developer,@Architect) instead of the genericagentwhenever possible.
- •Question answering, explanation, information provision →
- •Tools:
- •Basically unspecified (all tools enabled).
- •Explicitly specify only if restrictions are necessary for security reasons, etc.
- •Output Format: Assume a format naturally derived from the goal.
- •Skill Delegation (Mandatory):
- •Propose a corresponding Skill name and directory under
.github/skills/…. - •Default to creating/updating that Skill to contain the full procedure.
- •The new prompt file must be a thin wrapper that calls the Skill.
- •Propose a corresponding Skill name and directory under
- •Scope:
- •Default: Workspace prompt in
.github/prompts/(do not offer User Profile unless explicitly requested)
- •Default: Workspace prompt in
- •Agent:
- •
Questions only if confirmation is needed:
- •Ask questions with specific options only if there are important details that cannot be inferred.
- •Example: "Do you need input variables such as component names? (Recommended:
${input:componentName:Component Name})"
- •
Use of Default Values:
- •Use default values based on best practices for items not explicitly specified.
- •Do not ask the user, but include an explanation in the proposal.
Step 3: Create Prompt File
Create a prompt file that follows the thin-wrapper convention:
- •
YAML Frontmatter:
- •
description: Generate a concise description from the user's goal. - •
agent: Set the inferred agent (explain the reason). - •
tools: Basically omitted (all tools enabled). Explicitly specify only if restrictions are necessary. - •
model: Omit unless there are special requirements (use default model).
Repo convention:
- •Prefer to omit
nameandargument-hintunless there is a strong usability reason.
- •
- •
Prompt Body:
The body MUST be minimal and delegate to a Skill. Use the same pattern as existing prompts in
.github/prompts/.Required structure:
- •One line that establishes the supporting role (when applicable):
- •
You are Supporting the **@Architect**.(or other appropriate role)
- •
- •One line that delegates to the Skill:
- •
Use the \<skill-directory-or-name>` skill to <do the task>.`
- •
Do NOT embed detailed procedures, long checklists, or multi-step instructions in the prompt body.
- •One line that establishes the supporting role (when applicable):
- •
Explanation of Recommendations:
- •Why that agent was chosen.
- •If tools were restricted, the reason why.
- •In what situations it is effective.
Apply Official Documentation Best Practices (and the repo convention):
- •Clearly describe what you want to achieve and the expected output format.
- •Provide examples of expected input and output.
- •Avoid duplication and utilize Markdown links to custom instructions.
- •Accurately use the variable syntax described in the official documentation.
- •Write specific and actionable instructions.
- •Strictly observe the YAML frontmatter format.
Additionally (repo-specific):
- •Ensure the prompt delegates to a Skill under
.github/skills/…. - •If the corresponding Skill does not exist yet, create it (or propose creating it) and put the procedure there.
Step 4: Proposal and Review
Complete with minimal confirmation:
- •
Present the completed prompt file:
- •State the auto-inferred settings and their reasons.
- •Display the complete file content in a code block.
- •Confirm with: "I will create it with this prompt. Please let me know if there are any parts that need correction."
- •
Fine-tune if necessary:
- •Reflect immediately if there is specific feedback from the user.
- •
File Creation:
- •Once approved, create the prompt file in
.github/prompts/. - •Ensure the delegated Skill exists in
.github/skills/<skill-directory>/SKILL.md. - •After creation, briefly guide how to use it (type
/prompt-namein chat).
- •Once approved, create the prompt file in
Important: When executing this prompt, be sure to fetch the official documentation first and create the prompt file based on the latest specifications.
✅ Final Check
Before finishing, confirm:
- • All todo are marked as completed.
- • Official documentation was fetched and used.
- • The prompt file includes valid YAML frontmatter.
- • The prompt file content is displayed in a code block.
- • The file is created in the correct directory.
- • The prompt body is a thin wrapper that delegates to a Skill.
- • The delegated Skill exists and contains the detailed procedure.