Skip to content

Collection category #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

craigbekker
Copy link
Contributor

@craigbekker craigbekker commented Jul 30, 2025

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • My contribution adds a new instruction, prompt, or chat mode file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, or chat mode with GitHub Copilot.
  • I have run node update-readme.js and verified that README.md is up to date.

Description

This PR introduces a Collections feature to the awesome-copilot repository, enabling organized, domain-specific GitHub Copilot customizations. The Collections system provides a structured way to group related prompts, instructions, and chat modes around specific workflows or domains.

✨ Key Features Added:

Collections System:

New collections directory structure for organizing domain-specific customizations
Automated README generation for individual collections and the main repository
Badge generation with proper collection path support for VS Code integration
Navigation links between collections and main repository

Plan Collection:

6 specialized prompts for comprehensive feature development workflow:
Epic PRD creation and architecture specification
Feature PRD and implementation planning
GitHub issue automation and project planning
Test planning and quality assurance strategies
Complete development lifecycle coverage from epic planning to testing

Script Enhancements:

Enhanced update-readme.js to discover and process collections automatically
Individual collection README generation with proper formatting
Main README collections section integration
Proper VS Code installation badge URLs for collection prompts


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New chat mode file.
  • Other (please specify): The ability to add collections

Additional Notes

The Collections feature represents a significant organizational improvement to the repository, making it easier for users to find and use related GitHub Copilot customizations. The Plan collection serves as the first example of this system, providing a complete workflow for software development planning and execution.


By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

✨ New Features:
• Collections system for organizing domain-specific customizations
• Plan collection with 6 specialized prompts for feature development
• Automated README generation for collections
• Badge generation with proper collection path support

📝 Plan Collection Content:
• Epic planning (PRD and architecture)
• Feature planning (PRD and implementation)
• GitHub issue automation
• Build implementation guide
• Comprehensive development workflow

🔧 Script Enhancements:
• Collections discovery and processing
• Individual collection README generation
• Main README collections section
• Badge URL generation with collection paths
• Proper navigation links to README.md files

📁 Structure:
collections/
├── plan/ (6 prompts)
└── test/ (demo content)

The collections feature enables organized, domain-specific GitHub Copilot customizations with automated documentation and proper VS Code integration.
- Deleted obsolete feature build prompt.
- Updated feature implementation prompt to enhance system architecture overview and API design sections.
- Revised GitHub prompt to streamline quality standards context and remove redundant test strategy templates.
- Removed implementation guide prompt to consolidate documentation.
- Introduced a new comprehensive test planning prompt with detailed strategies, task breakdowns, and quality assurance plans.
@craigbekker craigbekker marked this pull request as ready for review July 30, 2025 20:43
@Copilot Copilot AI review requested due to automatic review settings July 30, 2025 20:43
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a Collections feature to the awesome-copilot repository, enabling organized, domain-specific GitHub Copilot customizations. The feature provides a structured way to group related prompts, instructions, and chat modes around specific workflows or domains.

  • Adds a complete Collections system for organizing domain-specific customizations
  • Includes the first Plan collection with 6 specialized prompts for feature development workflow
  • Enhances the update-readme.js script to automatically discover and process collections with proper badge generation

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.

File Description
update-readme.js Major enhancement to discover collections, generate individual collection READMEs, and create proper VS Code installation badges with collection path support
collections/plan/prompts/*.prompt.md Six new prompt files providing comprehensive planning workflow from epic creation to test planning
collections/plan/README.md Auto-generated README for the Plan collection with proper formatting and navigation
README.md Updated main README to include Collections as a fourth customization type with proper table formatting

@aaronpowell
Copy link
Contributor

Thanks for submitting this PR. I appreciate the intent behind it and the effort to improve the structure of the repo.

After reviewing it, I have a few concerns I’d like to raise before making a final decision:

  • Discoverability: Introducing another layer of README files (from root to collection) adds friction to navigating the repo. It makes prompts less immediately accessible, which could hinder usability for contributors and users.

  • Conceptual Alignment: The idea of “collections” doesn’t currently exist within GitHub Copilot itself. Since this repo aims to reflect and support features that are native to the tools, adding new conceptual layers might create confusion or misalignment.

  • Problem Framing: I do agree that there’s a real challenge here—how to represent a “job role” composed of prompts, instructions, and chat modes. That’s a valuable direction, but I think we need to explore solutions that preserve discoverability and stay closer to Copilot’s existing paradigms.

I’d love to hear your thoughts on these points before moving forward. If you have ideas on how to address the discoverability issue or align the concept more closely with Copilot’s current model, I’m open to discussing further.

@craigbekker
Copy link
Contributor Author

craigbekker commented Aug 1, 2025

Thanks for submitting this PR. I appreciate the intent behind it and the effort to improve the structure of the repo.

After reviewing it, I have a few concerns I’d like to raise before making a final decision:

  • Discoverability: Introducing another layer of README files (from root to collection) adds friction to navigating the repo. It makes prompts less immediately accessible, which could hinder usability for contributors and users.
  • Conceptual Alignment: The idea of “collections” doesn’t currently exist within GitHub Copilot itself. Since this repo aims to reflect and support features that are native to the tools, adding new conceptual layers might create confusion or misalignment.
  • Problem Framing: I do agree that there’s a real challenge here—how to represent a “job role” composed of prompts, instructions, and chat modes. That’s a valuable direction, but I think we need to explore solutions that preserve discoverability and stay closer to Copilot’s existing paradigms.

I’d love to hear your thoughts on these points before moving forward. If you have ideas on how to address the discoverability issue or align the concept more closely with Copilot’s current model, I’m open to discussing further.

Thanks for the thoughtful feedback, @aaronpowell,

I completely understand your concerns about discoverability and conceptual alignment. You're right that adding structural layers could create friction.

Perhaps we can solve this with convention over structure, avoiding new conceptual layers entirely. Here's what I'm thinking:

  • Filename prefixing: Add category prefixes to prompts (e.g., plan-, azure-, csharp-, blueprint-)
  • Documentation approach: Create a simple docs folder explaining workflows and prompt sequences for each category
  • Preserve flat structure: Keep everything discoverable at the root level while enabling logical grouping

For my plan category specifically, I'd love to document the persona and intended prompt sequence in a simple markdown file, without changing the repo's navigation model.

This addresses my core need: when setting up a dotnet API, I can quickly identify and copy all csharp- prefixed files. It also helps manage the cognitive load as the repo scales—especially for junior engineers who might find the growing collection overwhelming.

Regarding implementation approach: If contributors agree with this naming convention approach, I'm happy to update the repo to reflect this change. However, since it's a large structural change, it might make sense to put up a second PR with my plan prompts using the new naming convention for now?

Would this approach work better? It maintains discoverability while providing the organizational benefits through naming convention rather than structure.

@aaronpowell
Copy link
Contributor

Perhaps we can solve this with convention over structure, avoiding new conceptual layers entirely. Here's what I'm thinking:

  • Filename prefixing: Add category prefixes to prompts (e.g., plan-, azure-, csharp-, blueprint-)

In an early draft of this project, I did go with using "tagging" in the file names to help group similar ones together, but unfortunately it falls down quickly. Let's say you're creating something that's in JavaScript for front-end. Do you have that as javascript-, typescript-, react- or tailwind-? All are most likely applicable.

This addresses my core need: when setting up a dotnet API, I can quickly identify and copy all csharp- prefixed files. It also helps manage the cognitive load as the repo scales—especially for junior engineers who might find the growing collection overwhelming.

There are a few ways that we currently can support a quick setup, there's a chat mode in the repo, and two prompts, which you can use to query the repo and find the prompts, instructions, and chat modes that are useful. Also, one of my team mates has built a MCP server for the repo.

But like I mentioned above, I really do think that some concept of a "role" and being able to create a "collection" of prompts/etc. that support that role does make sense, but it has to work in a way that is still logical and discoverable.

@craigbekker
Copy link
Contributor Author

That is a fair point; the naming convention could break down quickly, especially considering the scope being very broad.

I'm going to keep thinking about this. The folders were the simplest way for me, but it's possible I need to wait for the tooling to mature and introduce the concept of collections

During last Friday’s VSCode Live “Let It Cook” podcast, @pierceboggan had referenced ongoing work on a Plan workflow.(the "Blair Witch moment" if you will)

This concept, once introduced, could serve as the foundation for organising a “collection” within an environment.

In practice, the prompts I added to this PR outlined a multistage workflow, where each phase is carefully reviewed and updated to ensure alignment before proceeding.

If GitHub Copilot’s Plan workflow becomes customizable and supports multiple stages, it could be leveraged to group related prompts by persona or category, enabling a more cohesive and guided workflow experience.

The plan I have with what is available now is to wrap it all up in a chat mode that understands the workflow and guides you through it. But having dedicated phases in a workflow would be great for this.

Saying that this same concept would apply to web development. You typically have a workflow you follow, build out to components needed, create a mock endpoint, build out the UI, etc

Most of these could be grouped in a custom multi-stage prompt workflow

@aaronpowell aaronpowell mentioned this pull request Aug 11, 2025
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants