Skip to content

Commit 9ef6a28

Browse files
Copilotaaronpowell
andcommitted
Remove prompts infrastructure from build scripts
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
1 parent 59d1c8b commit 9ef6a28

149 files changed

Lines changed: 148 additions & 26354 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/README.plugins.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# 🔌 Plugins
22

3-
Curated plugins of related prompts, agents, and skills organized around specific themes, workflows, or use cases. Plugins can be installed directly via GitHub Copilot CLI.
3+
Curated plugins of related agents and skills organized around specific themes, workflows, or use cases. Plugins can be installed directly via GitHub Copilot CLI.
44
### How to Use Plugins
55

66
**Browse Plugins:**
77
- ⭐ Featured plugins are highlighted and appear at the top of the list
88
- Explore themed plugins that group related customizations
9-
- Each plugin includes prompts, agents, and skills for specific workflows
9+
- Each plugin includes agents and skills for specific workflows
1010
- Plugins make it easy to adopt comprehensive toolkits for particular scenarios
1111

1212
**Install Plugins:**

docs/README.prompts.md

Lines changed: 0 additions & 158 deletions
This file was deleted.

docs/README.skills.md

Lines changed: 142 additions & 0 deletions
Large diffs are not rendered by default.

eng/constants.mjs

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,16 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
2121
- Create task-specific \`*.instructions.md\` files in your workspace's \`.github/instructions/\` folder (e.g., \`.github/instructions/my-csharp-rules.instructions.md\`)
2222
- Instructions automatically apply to Copilot behavior once installed in your workspace`,
2323

24-
promptsSection: `## 🎯 Reusable Prompts
25-
26-
Ready-to-use prompt templates for specific development scenarios and tasks, defining prompt text with a specific mode, model, and available set of tools.`,
27-
28-
promptsUsage: `### How to Use Reusable Prompts
29-
30-
**To Install:**
31-
- Click the **VS Code** or **VS Code Insiders** install button for the prompt you want to use
32-
- Download the \`*.prompt.md\` file and manually add it to your prompt collection
33-
34-
**To Run/Execute:**
35-
- Use \`/prompt-name\` in VS Code chat after installation
36-
- Run the \`Chat: Run Prompt\` command from the Command Palette
37-
- Hit the run button while you have a prompt file open in VS Code`,
38-
3924
pluginsSection: `## 🔌 Plugins
4025
41-
Curated plugins of related prompts, agents, and skills organized around specific themes, workflows, or use cases. Plugins can be installed directly via GitHub Copilot CLI.`,
26+
Curated plugins of related agents and skills organized around specific themes, workflows, or use cases. Plugins can be installed directly via GitHub Copilot CLI.`,
4227

4328
pluginsUsage: `### How to Use Plugins
4429
4530
**Browse Plugins:**
4631
- ⭐ Featured plugins are highlighted and appear at the top of the list
4732
- Explore themed plugins that group related customizations
48-
- Each plugin includes prompts, agents, and skills for specific workflows
33+
- Each plugin includes agents and skills for specific workflows
4934
- Plugins make it easy to adopt comprehensive toolkits for particular scenarios
5035
5136
**Install Plugins:**
@@ -55,7 +40,7 @@ Curated plugins of related prompts, agents, and skills organized around specific
5540

5641
featuredPluginsSection: `## 🌟 Featured Plugins
5742
58-
Discover our curated plugins of prompts, agents, and skills organized around specific themes and workflows.`,
43+
Discover our curated plugins of agents and skills organized around specific themes and workflows.`,
5944

6045
agentsSection: `## 🤖 Custom Agents
6146
@@ -140,14 +125,12 @@ const repoBaseUrl =
140125

141126
const AKA_INSTALL_URLS = {
142127
instructions: "https://aka.ms/awesome-copilot/install/instructions",
143-
prompt: "https://aka.ms/awesome-copilot/install/prompt",
144128
agent: "https://aka.ms/awesome-copilot/install/agent",
145129
hook: "https://aka.ms/awesome-copilot/install/hook",
146130
};
147131

148132
const ROOT_FOLDER = path.join(__dirname, "..");
149133
const INSTRUCTIONS_DIR = path.join(ROOT_FOLDER, "instructions");
150-
const PROMPTS_DIR = path.join(ROOT_FOLDER, "prompts");
151134
const AGENTS_DIR = path.join(ROOT_FOLDER, "agents");
152135
const SKILLS_DIR = path.join(ROOT_FOLDER, "skills");
153136
const HOOKS_DIR = path.join(ROOT_FOLDER, "hooks");
@@ -172,7 +155,6 @@ export {
172155
HOOKS_DIR,
173156
INSTRUCTIONS_DIR,
174157
MAX_PLUGIN_ITEMS,
175-
PROMPTS_DIR,
176158
repoBaseUrl,
177159
ROOT_FOLDER,
178160
SKILL_DESCRIPTION_MAX_LENGTH,

eng/materialize-plugins.mjs

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,13 @@ function copyDirRecursive(src, dest) {
2626
* Resolve a plugin-relative path to the repo-root source file.
2727
*
2828
* ./agents/foo.md → ROOT/agents/foo.agent.md
29-
* ./commands/bar.md → ROOT/prompts/bar.prompt.md
3029
* ./skills/baz/ → ROOT/skills/baz/
3130
*/
3231
function resolveSource(relPath) {
3332
const basename = path.basename(relPath, ".md");
3433
if (relPath.startsWith("./agents/")) {
3534
return path.join(ROOT_FOLDER, "agents", `${basename}.agent.md`);
3635
}
37-
if (relPath.startsWith("./commands/")) {
38-
return path.join(ROOT_FOLDER, "prompts", `${basename}.prompt.md`);
39-
}
4036
if (relPath.startsWith("./skills/")) {
4137
// Strip trailing slash and get the skill folder name
4238
const skillName = relPath.replace(/^\.\/skills\//, "").replace(/\/$/, "");
@@ -59,7 +55,6 @@ function materializePlugins() {
5955
.sort();
6056

6157
let totalAgents = 0;
62-
let totalCommands = 0;
6358
let totalSkills = 0;
6459
let warnings = 0;
6560
let errors = 0;
@@ -104,27 +99,6 @@ function materializePlugins() {
10499
}
105100
}
106101

107-
// Process commands
108-
if (Array.isArray(metadata.commands)) {
109-
for (const relPath of metadata.commands) {
110-
const src = resolveSource(relPath);
111-
if (!src) {
112-
console.warn(` ⚠ ${pluginName}: Unknown path format: ${relPath}`);
113-
warnings++;
114-
continue;
115-
}
116-
if (!fs.existsSync(src)) {
117-
console.warn(` ⚠ ${pluginName}: Source not found: ${src}`);
118-
warnings++;
119-
continue;
120-
}
121-
const dest = path.join(pluginPath, relPath.replace(/^\.\//, ""));
122-
fs.mkdirSync(path.dirname(dest), { recursive: true });
123-
fs.copyFileSync(src, dest);
124-
totalCommands++;
125-
}
126-
}
127-
128102
// Process skills
129103
if (Array.isArray(metadata.skills)) {
130104
for (const relPath of metadata.skills) {
@@ -147,14 +121,13 @@ function materializePlugins() {
147121

148122
const counts = [];
149123
if (metadata.agents?.length) counts.push(`${metadata.agents.length} agents`);
150-
if (metadata.commands?.length) counts.push(`${metadata.commands.length} commands`);
151124
if (metadata.skills?.length) counts.push(`${metadata.skills.length} skills`);
152125
if (counts.length) {
153126
console.log(`✓ ${pluginName}: ${counts.join(", ")}`);
154127
}
155128
}
156129

157-
console.log(`\nDone. Copied ${totalAgents} agents, ${totalCommands} commands, ${totalSkills} skills.`);
130+
console.log(`\nDone. Copied ${totalAgents} agents, ${totalSkills} skills.`);
158131
if (warnings > 0) {
159132
console.log(`${warnings} warning(s).`);
160133
}

eng/update-readme.mjs

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import {
1010
HOOKS_DIR,
1111
INSTRUCTIONS_DIR,
1212
PLUGINS_DIR,
13-
PROMPTS_DIR,
1413
repoBaseUrl,
1514
ROOT_FOLDER,
1615
SKILLS_DIR,
@@ -341,63 +340,6 @@ function generateInstructionsSection(instructionsDir) {
341340
return `${TEMPLATES.instructionsSection}\n${TEMPLATES.instructionsUsage}\n\n${instructionsContent}`;
342341
}
343342

344-
/**
345-
* Generate the prompts section with a table of all prompts
346-
*/
347-
function generatePromptsSection(promptsDir) {
348-
// Check if directory exists
349-
if (!fs.existsSync(promptsDir)) {
350-
return "";
351-
}
352-
353-
// Get all prompt files
354-
const promptFiles = fs
355-
.readdirSync(promptsDir)
356-
.filter((file) => file.endsWith(".prompt.md"));
357-
358-
// Map prompt files to objects with title for sorting
359-
const promptEntries = promptFiles.map((file) => {
360-
const filePath = path.join(promptsDir, file);
361-
const title = extractTitle(filePath);
362-
return { file, filePath, title };
363-
});
364-
365-
// Sort by title alphabetically
366-
promptEntries.sort((a, b) => a.title.localeCompare(b.title));
367-
368-
console.log(`Found ${promptEntries.length} prompt files`);
369-
370-
// Return empty string if no files found
371-
if (promptEntries.length === 0) {
372-
return "";
373-
}
374-
375-
// Create table header
376-
let promptsContent = "| Title | Description |\n| ----- | ----------- |\n";
377-
378-
// Generate table rows for each prompt file
379-
for (const entry of promptEntries) {
380-
const { file, filePath, title } = entry;
381-
const link = encodeURI(`prompts/${file}`);
382-
383-
// Check if there's a description in the frontmatter
384-
const customDescription = extractDescription(filePath);
385-
386-
// Create badges for installation links
387-
const badges = makeBadges(link, "prompt");
388-
389-
if (customDescription && customDescription !== "null") {
390-
promptsContent += `| [${title}](../${link})<br />${badges} | ${formatTableCell(
391-
customDescription
392-
)} |\n`;
393-
} else {
394-
promptsContent += `| [${title}](../${link})<br />${badges} | | |\n`;
395-
}
396-
}
397-
398-
return `${TEMPLATES.promptsSection}\n${TEMPLATES.promptsUsage}\n\n${promptsContent}`;
399-
}
400-
401343
/**
402344
* Generate MCP server links for an agent
403345
* @param {string[]} servers - Array of MCP server names
@@ -918,7 +860,6 @@ async function main() {
918860
/^##\s/m,
919861
"# "
920862
);
921-
const promptsHeader = TEMPLATES.promptsSection.replace(/^##\s/m, "# ");
922863
const agentsHeader = TEMPLATES.agentsSection.replace(/^##\s/m, "# ");
923864
const hooksHeader = TEMPLATES.hooksSection.replace(/^##\s/m, "# ");
924865
const skillsHeader = TEMPLATES.skillsSection.replace(/^##\s/m, "# ");
@@ -934,13 +875,6 @@ async function main() {
934875
TEMPLATES.instructionsUsage,
935876
registryNames
936877
);
937-
const promptsReadme = buildCategoryReadme(
938-
generatePromptsSection,
939-
PROMPTS_DIR,
940-
promptsHeader,
941-
TEMPLATES.promptsUsage,
942-
registryNames
943-
);
944878
// Generate agents README
945879
const agentsReadme = buildCategoryReadme(
946880
generateAgentsSection,
@@ -987,7 +921,6 @@ async function main() {
987921
path.join(DOCS_DIR, "README.instructions.md"),
988922
instructionsReadme
989923
);
990-
writeFileIfChanged(path.join(DOCS_DIR, "README.prompts.md"), promptsReadme);
991924
writeFileIfChanged(path.join(DOCS_DIR, "README.agents.md"), agentsReadme);
992925
writeFileIfChanged(path.join(DOCS_DIR, "README.hooks.md"), hooksReadme);
993926
writeFileIfChanged(path.join(DOCS_DIR, "README.skills.md"), skillsReadme);

eng/validate-plugins.mjs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ function validateSpecPaths(plugin) {
6868
const errors = [];
6969
const specs = {
7070
agents: { prefix: "./agents/", suffix: ".md", repoDir: "agents", repoSuffix: ".agent.md" },
71-
commands: { prefix: "./commands/", suffix: ".md", repoDir: "prompts", repoSuffix: ".prompt.md" },
7271
skills: { prefix: "./skills/", suffix: "/", repoDir: "skills", repoFile: "SKILL.md" },
7372
};
7473

prompts/add-educational-comments.prompt.md

Lines changed: 0 additions & 129 deletions
This file was deleted.

0 commit comments

Comments
 (0)