Skip to content

Commit bafde78

Browse files
authored
Merge branch 'staged' into prd-support
2 parents 9fec05f + 2a180a1 commit bafde78

86 files changed

Lines changed: 14502 additions & 2511 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.

.github/plugin/marketplace.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"name": "azure-cloud-development",
2121
"source": "azure-cloud-development",
2222
"description": "Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications.",
23-
"version": "1.0.0"
23+
"version": "1.0.1"
2424
},
2525
{
2626
"name": "cast-imaging",
@@ -130,6 +130,12 @@
130130
"description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot",
131131
"version": "1.0.0"
132132
},
133+
{
134+
"name": "noob-mode",
135+
"source": "noob-mode",
136+
"description": "Plain-English translation layer for non-technical Copilot CLI users. Translates every approval prompt, error message, and technical output into clear, jargon-free English with color-coded risk indicators.",
137+
"version": "1.0.0"
138+
},
133139
{
134140
"name": "openapi-to-application-csharp-dotnet",
135141
"source": "openapi-to-application-csharp-dotnet",

.github/workflows/deploy-website.yml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,7 @@
44
name: Deploy Website to GitHub Pages
55

66
on:
7-
# Runs on pushes targeting the default branch
8-
push:
9-
branches: ["main"]
10-
paths:
11-
- "website/**"
12-
- "agents/**"
13-
- "prompts/**"
14-
- "instructions/**"
15-
- "skills/**"
16-
- "plugins/**"
17-
- "cookbook/**"
18-
- "eng/generate-website-data.mjs"
19-
- ".github/workflows/deploy-website.yml"
20-
21-
# Allows you to run this workflow manually from the Actions tab
7+
# Triggered manually from the Actions tab, or dispatched by the Publish to main workflow.
228
workflow_dispatch:
239

2410
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages

.github/workflows/duplicate-resource-detector.lock.yml

Lines changed: 1045 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
description: Weekly scan of agents, instructions, and skills to identify potential duplicate resources and report them for review
3+
on:
4+
schedule: weekly
5+
permissions:
6+
contents: read
7+
issues: read
8+
tools:
9+
github:
10+
toolsets: [repos, issues]
11+
safe-outputs:
12+
create-issue:
13+
max: 1
14+
close-older-issues: true
15+
labels:
16+
- duplicate-review
17+
noop:
18+
---
19+
20+
# Duplicate Resource Detector
21+
22+
You are an AI agent that audits the resources in this repository to find potential duplicates — resources that appear to serve the same or very similar purpose.
23+
24+
## Your Task
25+
26+
Scan all resources in the following directories and identify groups of resources that may be duplicates or near-duplicates based on their **name**, **description**, and **content**:
27+
28+
- `agents/` (`.agent.md` files)
29+
- `instructions/` (`.instructions.md` files)
30+
- `skills/` (folders — check `SKILL.md` inside each)
31+
32+
### Step 1: Gather Resource Metadata
33+
34+
For each resource, extract:
35+
36+
1. **File name** (the path)
37+
2. **Front matter `description`** field
38+
3. **Front matter `name`** field (if present)
39+
4. **First ~20 lines of body content** (the markdown after the front matter)
40+
41+
Use bash to read files efficiently. For skills, read `skills/<name>/SKILL.md`.
42+
43+
### Step 2: Identify Potential Duplicates
44+
45+
Compare resources and flag groups that look like potential duplicates. Consider resources as potential duplicates when they share **two or more** of the following signals:
46+
47+
- **Similar names** — file names or `name` fields that share key terms (e.g., `react-testing.agent.md` and `react-unit-testing.agent.md`)
48+
- **Similar descriptions** — descriptions that describe the same task, technology, or domain with only minor wording differences
49+
- **Overlapping scope** — resources that target the same language/framework/tool and the same activity (e.g., two separate "Python best practices" instructions)
50+
- **Cross-type overlap** — an agent and an instruction (or instruction and skill) that cover the same topic so thoroughly that one may make the other redundant
51+
52+
Be pragmatic. Resources that cover related but distinct topics are NOT duplicates. For example:
53+
- `react.instructions.md` (general React coding standards) and `react-testing.agent.md` (React testing agent) are **not** duplicates — they serve different purposes.
54+
- `python-fastapi.instructions.md` and `python-flask.instructions.md` are **not** duplicates — they target different frameworks.
55+
- `code-review.agent.md` and `code-review.instructions.md` that both do the same style of code review **are** potential duplicates worth flagging.
56+
57+
### Step 3: Check for Known Accepted Duplicates
58+
59+
Before finalizing the report, search for **previous issues** labeled `duplicate-review` in this repository:
60+
61+
```
62+
Search for issues with label "duplicate-review" that are closed
63+
```
64+
65+
Read the comments and body of those past issues to find any pairs or groups that reviewers have explicitly marked as **"accepted"** or **"not duplicates"**. Look for phrases like:
66+
- "accepted as-is"
67+
- "not duplicates"
68+
- "intentionally separate"
69+
- "keep both"
70+
- checked task list items (i.e., `- [x]`)
71+
72+
Exclude those known-accepted pairs from the current report. If you include a group that was previously reviewed, add a note: `(previously reviewed — see #<issue-number>)`.
73+
74+
### Step 4: Produce the Report
75+
76+
Create an issue titled: `🔍 Duplicate Resource Review`
77+
78+
Format the body as follows:
79+
80+
```markdown
81+
### Summary
82+
83+
- **Potential duplicate groups found:** N
84+
- **Resources involved:** M
85+
- **Known accepted (excluded):** K pairs from previous reviews
86+
87+
### How to Use This Report
88+
89+
Review each group below. If the resources are intentionally separate, check the box to mark them as accepted. These will be excluded from future reports.
90+
91+
### Potential Duplicates
92+
93+
#### Group 1: <Short description of what they share>
94+
95+
- [ ] Reviewed — these are intentionally separate
96+
97+
| Resource | Type | Description |
98+
|----------|------|-------------|
99+
| `agents/foo.agent.md` | Agent | Does X for Y |
100+
| `instructions/foo.instructions.md` | Instruction | Also does X for Y |
101+
102+
**Why flagged:** <Brief explanation of the similarity>
103+
104+
---
105+
106+
#### Group 2: ...
107+
108+
<repeat for each group>
109+
```
110+
111+
Use `<details>` blocks to collapse groups if there are more than 10.
112+
113+
### Safe Output Guidance
114+
115+
- If you find potential duplicates: use `create-issue` to file the report.
116+
- If **no** potential duplicates are found (after excluding known accepted ones): call `noop` with the message: "No potential duplicate resources detected. All resources appear to serve distinct purposes."
117+
118+
## Guidelines
119+
120+
- Be conservative — only flag resources where there is a genuine risk of redundancy.
121+
- Group related duplicates together (don't list the same pair twice in separate groups).
122+
- Sort groups by confidence (strongest duplicate signals first).
123+
- Include cross-type duplicates (e.g., an agent and an instruction doing the same thing).
124+
- Limit the report to the top 20 most likely duplicate groups to keep it actionable.
125+
- For skills, use the folder name and description from `SKILL.md`.
126+
- Process resources in batches to stay within time limits — prioritize name and description comparison, then spot-check content for top candidates.

.github/workflows/publish.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ concurrency:
1010

1111
permissions:
1212
contents: write
13+
actions: write
1314

1415
jobs:
1516
publish:
@@ -50,5 +51,10 @@ jobs:
5051
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
5152
git add -A
5253
git add -f plugins/*/agents/ plugins/*/skills/
53-
git commit -m "chore: publish from staged [skip ci]" --allow-empty
54+
git commit -m "chore: publish from staged" --allow-empty
5455
git push origin HEAD:main --force
56+
57+
- name: Dispatch website deployment
58+
run: gh workflow run deploy-website.yml --ref main
59+
env:
60+
GH_TOKEN: ${{ github.token }}

.schemas/cookbook.schema.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,40 @@
8888
"items": {
8989
"type": "string"
9090
}
91+
},
92+
"external": {
93+
"type": "boolean",
94+
"description": "Whether this recipe links to an external repository",
95+
"default": false
96+
},
97+
"url": {
98+
"type": "string",
99+
"description": "URL to the external repository or project (required when external is true)",
100+
"format": "uri"
101+
},
102+
"author": {
103+
"type": "object",
104+
"description": "Author information for external recipes",
105+
"required": ["name"],
106+
"properties": {
107+
"name": {
108+
"type": "string",
109+
"description": "Author display name or GitHub username"
110+
},
111+
"url": {
112+
"type": "string",
113+
"description": "Author profile URL",
114+
"format": "uri"
115+
}
116+
}
91117
}
118+
},
119+
"if": {
120+
"properties": { "external": { "const": true } },
121+
"required": ["external"]
122+
},
123+
"then": {
124+
"required": ["url"]
92125
}
93126
}
94127
}

CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Default owner for everything
2+
* @aaronpowell
3+
4+
# Agentic Workflows
5+
/workflows/ @brunoborges
6+
/.github/workflows/validate-agentic-workflows-pr.yml @brunoborges

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ To make it easy to add these customizations to your editor, we have created an [
5757

5858
## 📄 llms.txt
5959

60-
An [`llms.txt`](https://github.github.io/awesome-copilot/llms.txt) file following the [llmstxt.org](https://llmstxt.org/) specification is available on the GitHub Pages site. This machine-readable file makes it easy for Large Language Models to discover and understand all available agents, instructions, and skills, providing a structured overview of the repository's resources with names and descriptions.
60+
An [`llms.txt`](https://awesome-copilot.github.com/llms.txt) file following the [llmstxt.org](https://llmstxt.org/) specification is available on the GitHub Pages site. This machine-readable file makes it easy for Large Language Models to discover and understand all available agents, instructions, and skills, providing a structured overview of the repository's resources with names and descriptions.
6161

6262
## 🔧 How to Use
6363

0 commit comments

Comments
 (0)