git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/create-custom-prompt" ~/.claude/skills/diegosouzapw-awesome-omni-skill-create-custom-prompt && rm -rf "$T"
skills/data-ai/create-custom-prompt/SKILL.mdSkill: 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
tool to retrieve the official documentation for custom prompt files from the following URL:fetch- 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 →
(default)agent - Important: For Terraformed projects, it is recommended to use role-specific agents (e.g.,
,@Developer
) instead of the generic@Architect
whenever possible.agent
- 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
(do not offer User Profile unless explicitly requested).github/prompts/
- 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:
: Generate a concise description from the user's goal.description
: Set the inferred agent (explain the reason).agent
: Basically omitted (all tools enabled). Explicitly specify only if restrictions are necessary.tools
: Omit unless there are special requirements (use default model).model
Repo convention:
- Prefer to omit
andname
unless there is a strong usability reason.argument-hint
-
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):
(or other appropriate role)You are Supporting the **@Architect**.
- One line that delegates to the Skill:
<skill-directory-or-name>` skill to <do the task>.`Use the \
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
in chat)./prompt-name
- 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.