microsoft/hve-core

Public

mirrored fromhttps://github.com/microsoft/hve-coreAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
c5fcf0b3766ea51ef3e9e9317f1d596622255f70

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

docs/architecture/ai-artifacts.md

486lines ยท modecode

1---
2title: AI Artifacts Architecture
3description: Prompt, agent, and instruction delegation model for Copilot customizations
4sidebar_position: 2
5author: Microsoft
6ms.date: 2026-03-10
7ms.topic: concept
8---
9
10HVE Core provides a four-tier artifact system for customizing GitHub Copilot behavior. Each tier serves a distinct purpose in the delegation chain, enabling structured, reusable AI guidance that flows from user intent to technology-specific standards and executable utilities.
11
12## Artifact Type Hierarchy
13
14The artifact system organizes customizations by scope and responsibility. Prompts handle user interaction, agents orchestrate workflows, instructions encode standards, and skills provide executable utilities.
15
16### Prompts
17
18Prompts (`.prompt.md`) serve as workflow entry points. They capture user intent and translate requests into structured guidance for Copilot execution.
19
20#### Core Characteristics
21
22* Define single-session workflows with clear inputs and outputs
23* Accept user inputs through `${input:varName}` template syntax
24* Delegate to agents via `agent:` frontmatter references
25
26#### Frontmatter Structure
27
28```yaml
29---
30description: 'Protocol for creating ADO pull requests'
31agent: Task Planner
32---
33```
34
35Prompts answer the question "what does the user want to accomplish?" and route execution to appropriate agents.
36
37### Agents
38
39Agents (`.agent.md`) define task-specific behaviors with access to Copilot tools. They orchestrate multi-step workflows and make decisions based on context.
40
41#### Core Characteristics
42
43* Specify available tools through `tools:` frontmatter arrays
44* Enable workflow handoffs via `handoffs:` references to other agents
45* Maintain conversation context across multiple interactions
46* Apply domain expertise through detailed behavioral instructions
47
48#### Frontmatter Structure
49
50```yaml
51---
52description: 'Orchestrates task planning with research integration'
53tools: ['codebase', 'search', 'editFiles', 'changes']
54handoffs:
55 - label: "โšก Implement"
56 agent: Task Implementor
57 prompt: /task-implement
58 send: true
59 - label: "๐Ÿ”ฌ Research"
60 agent: Task Researcher
61 prompt: /task-research
62 send: true
63---
64```
65
66Agents answer the question "how should this task be executed?" and coordinate the necessary tools and resources.
67
68### Instructions
69
70Instructions (`.instructions.md`) encode technology-specific standards and conventions. They apply automatically based on file patterns and provide consistent guidance across the codebase.
71
72#### Core Characteristics
73
74* Match files through `applyTo:` glob patterns for automatic application
75* Define coding standards, naming conventions, and quality requirements
76* Apply to specific languages, frameworks, or file types
77* Stack with other instructions when multiple patterns match
78
79#### Frontmatter Structure
80
81```yaml
82---
83description: 'Python scripting standards with type hints'
84applyTo: '**/*.py, **/*.ipynb'
85---
86```
87
88Instructions answer the question "what standards apply to this context?" and ensure consistent code quality.
89
90#### Repo-Specific Instructions
91
92Instructions placed at the root of `.github/instructions/` (without a subdirectory) are scoped to the hve-core repository itself and MUST NOT be included in collection manifests. These files govern internal repository concerns (CI/CD workflows, repo-specific conventions) that are not applicable outside the repository. Root-level artifacts are intentionally excluded from artifact selection and package composition.
93
94> [!IMPORTANT]
95> Root-level files under `.github/instructions/` (no subdirectory) are repo-specific and never distributed. Files in subdirectories like `hve-core/`, `ado/`, and `shared/` are collection-scoped and distributable.
96
97### Skills
98
99Skills (`.github/skills/<name>/SKILL.md`) provide executable utilities that agents invoke for specialized tasks. Unlike instructions (passive reference), skills contain actual scripts that perform operations.
100
101#### Core Characteristics
102
103* Provide self-contained utility packages with documentation and scripts
104* Include parallel implementations for cross-platform support (`.sh` and `.ps1`)
105* Execute actual operations rather than providing guidance
106
107#### Directory Structure (by Convention)
108
109```text
110.github/skills/{collection-id}/<skill-name>/
111โ”œโ”€โ”€ SKILL.md # Required entry point with frontmatter
112โ”œโ”€โ”€ scripts/
113โ”‚ โ”œโ”€โ”€ convert.sh # Bash implementation
114โ”‚ โ””โ”€โ”€ convert.ps1 # PowerShell implementation
115โ””โ”€โ”€ examples/
116 โ””โ”€โ”€ README.md # Usage examples
117```
118
119#### Frontmatter Structure
120
121```yaml
122---
123name: video-to-gif
124description: 'Video-to-GIF conversion with FFmpeg optimization'
125---
126```
127
128#### Required Frontmatter Fields
129
130| Field | Description |
131|---------------|---------------------------------------------------------|
132| `name` | Lowercase kebab-case identifier matching directory name |
133| `description` | Brief capability description |
134
135Maturity is tracked in `collections/*.collection.yml`, not in skill frontmatter. See [Collection Manifests](#collection-manifests) for details.
136
137Skills answer the question "what specialized utility does this task require?" and provide executable capabilities beyond conversational guidance.
138
139#### Key Distinction from Instructions
140
141| Aspect | Instructions | Skills |
142|------------|-----------------------------|-----------------------|
143| Nature | Passive reference | Active execution |
144| Content | Standards and conventions | Scripts and utilities |
145| Activation | Automatic via glob patterns | Explicit invocation |
146| Output | Guidance for Copilot | Executed operations |
147
148## Delegation Flow
149
150The artifact system follows a hierarchical delegation model. User requests flow through prompts to agents, which apply relevant instructions during execution.
151
152```mermaid
153graph LR
154 USER[User Request] --> PROMPT[Prompt]
155 PROMPT --> AGENT[Agent]
156 AGENT --> INSTR[Instructions]
157 AGENT --> SKILLS[Skills]
158```
159
160### Flow Mechanics
161
1621. User invokes a prompt through `/prompt` commands or workflow triggers.
1632. Prompt references an agent via `agent:` frontmatter, delegating execution.
1643. Agent executes with instructions auto-applied based on file context.
1654. Agent invokes skills for specialized utilities with executable scripts.
166
167This delegation model separates concerns. Prompts handle user interaction, agents manage orchestration, and instructions provide standards.
168
169## Interface Contracts
170
171Each artifact type defines clear interfaces for interoperability.
172
173### Prompt-to-Agent References
174
175Prompts reference agents through the `agent:` frontmatter field:
176
177```yaml
178---
179description: 'Create a pull request with work item linking'
180agent: 'pr-creator'
181---
182```
183
184The referenced agent file (`pr-creator.agent.md`) is typically organized under `.github/agents/{collection-id}/` by convention. When a user invokes the prompt, Copilot activates the specified agent with the prompt's context.
185
186### Instruction Glob Patterns
187
188Instructions use `applyTo:` patterns for automatic activation:
189
190| Pattern | Matches |
191|------------------------------|--------------------------------------|
192| `**/*.py` | All Python files recursively |
193| `**/tests/**/*.ts` | TypeScript files in test directories |
194| `**/.copilot-tracking/pr/**` | PR tracking files |
195
196Multiple instructions can apply to the same file. When patterns overlap, all matching instructions contribute guidance. Pattern specificity determines precedence for conflicting directives.
197
198### Skill Entry Points
199
200Skills provide self-contained utilities through the `SKILL.md` file:
201
202```text
203.github/skills/{collection-id}/<skill-name>/
204โ”œโ”€โ”€ SKILL.md # Entry point documentation
205โ”œโ”€โ”€ convert.sh # Bash implementation
206โ”œโ”€โ”€ convert.ps1 # PowerShell implementation
207โ””โ”€โ”€ examples/
208 โ””โ”€โ”€ README.md
209```
210
211The `{collection-id}` path segment reflects the conventional organization; artifacts can reside in any subfolder.
212
213Copilot discovers skills automatically when their description matches the current task context. Skills can also be referenced explicitly by name. The skill's `SKILL.md` documents prerequisites, parameters, and usage patterns. Cross-platform scripts ensure consistent behavior across operating systems.
214
215## Collection Manifests
216
217Collection manifests in `collections/*.collection.yml` serve as the source of truth for artifact selection and maturity. They drive packaging for extension collections and contributor workflows without adding maturity metadata to artifact frontmatter.
218
219### Collection Architecture
220
221```text
222โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
223โ”‚ Collection Manifests โ”‚
224โ”‚ collections/*.collection.yml โ”‚
225โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
226โ”‚ โ”‚ items[] โ”‚ โ”‚
227โ”‚ โ”‚ - path โ”‚ โ”‚
228โ”‚ โ”‚ - kind โ”‚ โ”‚
229โ”‚ โ”‚ - maturity (optional, defaults to stable) โ”‚ โ”‚
230โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
231โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
232 โ”‚
233 โ–ผ
234โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
235โ”‚ Build System โ”‚
236โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
237โ”‚ โ”‚ Collection โ”‚ โ”‚ Prepare- โ”‚ โ”‚
238โ”‚ โ”‚ Manifests โ”‚โ”€โ”€โ”€โ–ถโ”‚ Extension.ps1 โ”‚ โ”‚
239โ”‚ โ”‚ *.collection.yml โ”‚ -Collection โ”‚ โ”‚
240โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
241โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
242```
243
244### Collection Item Structure
245
246Each collection item defines inclusion metadata for artifact selection and release channel filtering:
247
248```yaml
249items:
250 - path: .github/agents/hve-core/rpi-agent.agent.md
251 kind: agent
252 maturity: stable
253 - path: .github/prompts/hve-core/task-plan.prompt.md
254 kind: prompt
255 maturity: preview
256```
257
258| Field | Purpose |
259|------------|-------------------------------------------------------------------|
260| `path` | Repository-relative path to the artifact source |
261| `kind` | Artifact type (`agent`, `prompt`, `instruction`, `skill`, `hook`) |
262| `maturity` | Optional release channel gating value (`stable` default) |
263
264### Collection Model
265
266Collections represent role-targeted artifact packages. Collection manifests select artifacts for those roles.
267
268| Collection | Identifier | Maturity | Target Users |
269|----------------------|--------------------|--------------|--------------------------------------------------|
270| **Full** | `hve-core-all` | Stable | Universal inclusion |
271| **Core** | `hve-core` | Stable | RPI workflow, code review, PR agents |
272| **ADO** | `ado` | Stable | Azure DevOps integration |
273| **GitHub** | `github` | Stable | GitHub backlog and issue management |
274| **Project Planning** | `project-planning` | Stable | Architecture, requirements, agile coaching |
275| **Coding Standards** | `coding-standards` | Stable | Language-specific coding conventions |
276| **Data Science** | `data-science` | Stable | Notebooks, dashboards, data analysis |
277| **Security** | `security` | Stable | Security review, planning, and incident response |
278| **RAI Planning** | `rai-planning` | Experimental | Responsible AI assessment and impact analysis |
279| **Design Thinking** | `design-thinking` | Preview | 9-method DT coaching and learning |
280| **Installer** | `installer` | Stable | HVE-Core installation and setup |
281| **Experimental** | `experimental` | Experimental | Early-stage artifacts under active iteration |
282
283The **Full** collection aggregates artifacts from all other stable and preview collections. Role-specific collections allow targeted installation for teams that need only a subset.
284
285### Collection Build System
286
287Collections define role-filtered artifact packages. Each collection manifest specifies which artifacts to include and controls release channel eligibility through a `maturity` field:
288
289```json
290{
291 "id": "data-science",
292 "name": "hve-data-science",
293 "displayName": "HVE Core - Data Science",
294 "description": "AI-powered agents for data analysis, notebooks, and dashboards",
295 "maturity": "stable",
296 "items": ["data-science"]
297}
298```
299
300The build system resolves collections by:
301
3021. Reading the collection manifest to identify target artifacts
3032. Checking collection-level maturity against the target release channel
3043. Filtering collection items by path/kind membership
3054. Including the `hve-core-all` collection artifacts as the base
3065. Adding collection-specific artifacts
3076. Resolving dependencies for included artifacts
308
309#### Collection Maturity
310
311Collections carry their own maturity level, independent of artifact-level maturity. This controls whether the entire collection is built for a given release channel:
312
313| Collection Maturity | PreRelease Channel | Stable Channel |
314|---------------------|--------------------|----------------|
315| `stable` | Included | Included |
316| `preview` | Included | Included |
317| `experimental` | Included | Excluded |
318| `deprecated` | Excluded | Excluded |
319| `removed` | Excluded | Excluded |
320
321New collections should start as `experimental` until validated, then graduate through `preview` to `stable` by changing a single field. The `maturity` field is optional and defaults to `stable` when omitted.
322
323### Dependency Resolution
324
325Agents may declare dependencies on other artifacts through the `requires` field. The dependency resolver ensures complete artifact graphs are installed:
326
327```mermaid
328graph TD
329 A[rpi-agent] --> B[task-researcher]
330 A --> C[task-planner]
331 A --> D[task-implementor]
332 A --> E[task-reviewer]
333 A --> F[checkpoint.prompt]
334 A --> G[rpi.prompt]
335```
336
337When installing `rpi-agent`, all dependent agents and prompts are automatically included regardless of collection filter.
338
339## Extension Integration
340
341The VS Code extension discovers and activates AI artifacts through contribution points.
342
343### Discovery Mechanism
344
345The extension scans these directories at startup:
346
347* `.github/prompts/{collection-id}/` for workflow entry points
348* `.github/agents/{collection-id}/` for specialized behaviors
349* `.github/instructions/{collection-id}/` for technology standards
350* `.github/skills/{collection-id}/` for utility packages
351
352These paths reflect the conventional directory structure. Artifact inclusion is controlled by `collections/*.collection.yml`, and collection manifests can reference artifacts from any subfolder. Root-level artifacts (files directly under `.github/{type}/` with no subdirectory) are repo-specific, excluded from discovery, and never packaged into extension builds.
353
354| Maturity | Stable Channel | Pre-release Channel |
355|----------------|----------------|---------------------|
356| `stable` | Included | Included |
357| `preview` | Excluded | Included |
358| `experimental` | Excluded | Included |
359| `deprecated` | Excluded | Excluded |
360| `removed` | Excluded | Excluded |
361
362The maturity table above applies to individual artifacts. Collections also carry a `maturity` field that gates the entire package at the channel level (see [Collection Maturity](#collection-maturity)).
363
364### Collection Packages
365
366Each collection produces two distributable outputs from the same codebase: a VS Code extension (`.vsix`) and a Copilot CLI plugin (under `plugins/`).
367
368| Collection | Extension ID | Contents |
369|------------------|-------------------------------------------|------------------------------------------------|
370| Core (flagship) | `ise-hve-essentials.hve-core` | RPI workflow and core artifacts |
371| Full | `ise-hve-essentials.hve-core-all` | All stable and preview artifacts combined |
372| ADO | `ise-hve-essentials.hve-ado` | Azure DevOps integration |
373| GitHub | `ise-hve-essentials.hve-github` | GitHub backlog and issue management |
374| Project Planning | `ise-hve-essentials.hve-project-planning` | Architecture, requirements, agile coaching |
375| Coding Standards | `ise-hve-essentials.hve-coding-standards` | Language-specific coding conventions |
376| Data Science | `ise-hve-essentials.hve-data-science` | Notebooks, dashboards, data analysis |
377| Security | `ise-hve-essentials.hve-security` | Security review, planning, and threat modeling |
378| Design Thinking | `ise-hve-essentials.hve-design-thinking` | 9-method DT coaching and learning |
379| Installer | `ise-hve-essentials.hve-installer` | HVE Core installation and setup |
380| Experimental | `ise-hve-essentials.hve-experimental` | Early-stage artifacts under active iteration |
381
382The VS Code extension is built with `Prepare-Extension.ps1` and `Package-Extension.ps1`, parameterized by collection manifest. The Copilot CLI plugin is generated by `npm run plugin:generate`, which creates symlink-based plugin structures under `plugins/{collection-id}/`. Both outputs derive their artifact lists from the same `collections/*.collection.yml` source of truth.
383
384Users install the collection matching their role for a curated experience. The **Core** extension provides the RPI workflow essentials, while the **Full** extension aggregates artifacts from all stable and preview collections.
385
386### Activation Context
387
388Instructions activate based on the current file's path matching `applyTo:` patterns. Prompts and agents activate through explicit user invocation. Skills activate when agents or users request their utilities.
389
390The extension provides these contribution points:
391
392* `/prompt <name>` invokes prompts by filename.
393* Agents activate through prompt references or direct invocation.
394* Matching instructions inject into Copilot context automatically.
395
396## Deprecated Artifacts
397
398Artifacts that have been superseded or are scheduled for removal live under `.github/deprecated/{type}/`, preserving the same type subdirectories used by active artifacts.
399
400### Location
401
402```text
403.github/deprecated/
404โ”œโ”€โ”€ agents/ # Superseded agent files
405โ”œโ”€โ”€ instructions/ # Retired instruction files
406โ”œโ”€โ”€ prompts/ # Retired prompt files
407โ””โ”€โ”€ skills/ # Retired skill packages
408```
409
410### Automatic Exclusion
411
412The build system excludes `.github/deprecated/` contents from all downstream surfaces:
413
414| Surface | Exclusion Mechanism |
415|----------------------|---------------------------------------------|
416| Collection manifests | `Update-HveCoreAllCollection` path filter |
417| Plugin generation | `Get-ArtifactFiles` path filter |
418| Extension packaging | Discovery function `deprecated` path filter |
419| VS Code activation | Not discovered at runtime |
420
421No manual removal from manifests is required when an artifact moves to `.github/deprecated/`. The path-based exclusion operates independently of `maturity` metadata, providing a reliable safety net against silent reintroduction.
422
423### Retention and Removal
424
425Deprecated artifacts remain in the repository for traceability and migration guidance. Each deprecated file SHOULD contain a frontmatter note or heading that identifies its replacement. Permanent removal occurs at a planned retirement window with a corresponding changelog entry.
426
427### When to Deprecate
428
429Move an artifact to `.github/deprecated/{type}/` when:
430
431* A newer artifact fully replaces its functionality
432* The artifact is no longer maintained or tested
433* The artifact targets a retired platform or workflow
434
435## Removed Artifacts
436
437The `removed` maturity is a collection-manifest-only marker that retires an artifact from every generated distribution while leaving its source file in place. Unlike deprecation, no file move is required and no per-artifact frontmatter field is involved - the collection YAML is the single source of truth.
438
439### Collection-YAML Marker
440
441Mark an item as removed by setting `maturity: removed` on the collection entry:
442
443```yaml
444items:
445 - path: .github/skills/security/owasp-docker/SKILL.md
446 kind: skill
447 maturity: removed
448```
449
450Every collection that references the artifact must carry the same marker. The artifact file itself stays under its original `.github/{type}/{collection-id}/` location, preserving git history, cross-references, and the option to reinstate it by changing a single field.
451
452### Automatic Exclusion
453
454The collection-level `removed` marker is honored at every build stage:
455
456| Surface | Exclusion Mechanism |
457|-----------------------|----------------------------------------------------------------------------------------------------------|
458| Collection manifests | `Update-HveCoreAllCollection` and `Get-ArtifactFiles` skip items where `maturity` equals `removed` |
459| Plugin generation | `npm run plugin:generate` produces no plugin entry for removed items |
460| Extension packaging | `Get-AllowedMaturities` (in `Prepare-Extension.ps1`) excludes `removed` from PreRelease and Stable alike |
461| Collection validation | `Validate-Collections.ps1` accepts `removed` as a valid `maturity` value but never emits the artifact |
462
463No runtime code reads a per-artifact `maturity` field; the schema for `SKILL.md` and other artifact frontmatter intentionally does not define one. This keeps the collection YAML as the unambiguous source of truth for distribution decisions.
464
465### Removed vs. Deprecated vs. `.github/deprecated/`
466
467Three distinct mechanisms govern artifact retirement, each chosen for a different intent:
468
469| Mechanism | What it signals | Source file location | When to use |
470|-------------------------------------|----------------------------------------------------------|----------------------|----------------------------------------------------------------------------------------------------------------------|
471| `maturity: deprecated` (collection) | Sunset in progress; transition time for downstream users | Original location | A replacement exists or removal is planned; users need a release window to migrate |
472| `maturity: removed` (collection) | Withdrawn from distribution; source retained | Original location | Distribution must stop now, but the file should stay for history, cross-references, or possible future reinstatement |
473| `.github/deprecated/{type}/` (path) | Long-term archival; replacement documented in-file | Moved subtree | The artifact is fully superseded and should be visibly archived; path-based filter prevents silent reintroduction |
474
475Use `maturity: removed` when the artifact should disappear from generated outputs without any source-tree disruption. Move to `.github/deprecated/` when archival visibility and a path-based safety net matter more than keeping the original location.
476
477## Related Documentation
478
479* [Agent Systems Catalog](../agents/) - Overview of all agent systems with workflow documentation
480* [AI Artifacts Common Standards](../contributing/ai-artifacts-common.md) - Quality requirements for all artifacts
481* [Contributing Prompts](../contributing/prompts.md) - Prompt file specifications
482* [Contributing Agents](../contributing/custom-agents.md) - Agent file specifications
483* [Contributing Instructions](../contributing/instructions.md) - Instruction file specifications
484* [Contributing Skills](../contributing/skills.md) - Skill package specifications
485
486๐Ÿค– *Crafted with precision by โœจCopilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.*
487