Awesome-omni-skill create-custom-prompt

Prompt for creating custom prompt files

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
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"
manifest: skills/data-ai/create-custom-prompt/SKILL.md
source content

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}.
</instruction> </role_gate>

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/…
  • The detailed, repeatable procedure MUST live in
    SKILL.md
    .

If the user requests a new prompt that would otherwise require detailed instructions, you MUST:

  1. ensure a corresponding Skill exists (create it if needed), then
  2. 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:

  1. Fetch Documentation: Retrieve official docs from
    code.visualstudio.com
    .
  2. Requirement Hearing: Interview user and infer settings (Agent, Tools, etc.).
  3. Create Prompt File: Generate the YAML frontmatter and body.
  4. Proposal and Review: Present the file and get approval.
  5. Final Check: Review the "Final Check" section.

Step 1: Fetch Documentation (Mandatory)

You must perform the following action first:

  1. Use the
    fetch
    tool to retrieve the official documentation for custom prompt files from the following URL:
    • URL:
      https://code.visualstudio.com/docs/copilot/customization/prompt-files

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:

  1. First Question (Mandatory): "What do you want to achieve with this prompt?"

    • Understand the goal from the user's answer.
  2. 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 generic
        agent
        whenever possible.
    • 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.
    • Scope:
      • Default: Workspace prompt in
        .github/prompts/
        (do not offer User Profile unless explicitly requested)
  3. 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}
      )"
  4. 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:

  1. 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
      name
      and
      argument-hint
      unless there is a strong usability reason.
  2. 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.

  3. 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:

  1. 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."
  2. Fine-tune if necessary:

    • Reflect immediately if there is specific feedback from the user.
  3. 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-name
      in chat).

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.