Clarification README for Copilot CLI usage in this repository. This is a work in progress and will be updated as needed.
Use only instructions and skills in the .github directory.
Do not use instructions or skills that are designed for VS Code or other IDEs.
For: Standards, guidelines, or expectations that apply broadly across a context Use-Case: Enforce coding standards, accessibility rules, review checklists
Instructions regarding coding styles should be scoped.
e.g. Makefile, Containers, Lua, etc. SHOULD have their own instructions file in the .github/instructions/ directory.
name: lua-coding-style-guide
description: "Lua coding style guide for this repository."
applyTo: "**/*.lua"
These tell Copilot how to behave in general. For example, to ensure any code that Copilot writes conforms to your coding standard.
This is repo-wide and always-on. Loads on every request across the entire repository.
dot instructions are path scoped and only load when the agent is working in that path. They are optional and can be created as needed.
SHOULD be named exactly as the path they are scoped to, with .instructions.md appended.
For example, dot-config/nvim.instructions.md would only load when the agent is working in the dot-config/nvim/ directory.
An instruction file must contain the following front-matter YAML fields: name: {NAME} # MUST match directory name description: # 1-1024 chars applyTo: # glob pattern for files/directories this instruction applies to
``` --- name: lua-coding-style-guide description: "Lua coding style guide for this repository." applyTo: "**/*.lua" --- ```May contain special front-matter field: `excludeAgent' Set it to "cloud-agent" or "code-review" to opt a specific agent out of an instruction file.
##Instruction Prompts: Reusable Slash Commands For Copilot CLI
Name format: prompt-{name}.instructions.md
Location: .github/instructions/
https://nivedv.medium.com/before-the-agent-starts-how-github-copilots-customization-layer-actually-works-a7db689c795e https://docs.github.com/en/copilot/concepts/prompting/response-customization#writing-effective-custom-instructions gist
My prompt instruction files invoke interactive intentional tasks. Do this specific task now!
MUST contain yaml front-matter with applyTo set to the path they are scoped to. For example:
SHOULD contain additional front-matter fields as needed, such as description, author, and version.
SHOULD be named exactly as the path they are scoped to, with .instructions.md appended.
SHOULD be located in the .github/instructions/ directory.
MAY contain special front-matter field: excludeAgent Set it to "cloud-agent" or "code-review" to opt a specific agent out of an instruction file
SHOULD be interactive and carry out a task in a step-by-step manner.
- ask the user for input, regarding clarification, or to provide additional context.
- The agent will then use that input to complete the task.
- The agent will ask if the task was completed successfully, and if not, it will ask the user for additional input to refine the output.
- The agent will iterate on the task until the user is satisfied with the output.
- The agent will then ask if the user wants to overwrite the instruction prompt. This prompt will incorporate the clarifications and context generated via dialog with the agent.
Main use case is to
- Invoke a skill