Skip to main content

error-consolidation-search

Finds C# diagnostics related to a consolidation theme. Use after setup to review documented and catch-all candidates through explicit approval gates.

Informations de source

Dépôt
dotnet/docs
Dernière activité de la source
19 août 2026 à 22:31
Langue détectée de SKILL.md
anglais
Étoiles
4 771
Forks
6 072

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
error-consolidation-search
description
Finds C# diagnostics related to a consolidation theme. Use after setup to review documented and catch-all candidates through explicit approval gates.
# Search for Related Error Codes Search for theme-related diagnostics that may have been missed during initial consolidation. Preserve all three phase boundaries and approval gates. ## Required Inputs Collect these inputs from the user: - **Destination filename**: The consolidated `.md` file in `docs/csharp/language-reference/compiler-messages/`. - **Theme description**: The theme to search for. ## Key Paths - Destination: `docs/csharp/language-reference/compiler-messages/{destination-filename}` - TOC: `docs/csharp/language-reference/toc.yml` - Catch-all: `docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md` - Roslyn error codes: `../roslyn/src/Compilers/CSharp/Portable/Errors/ErrorCode.cs` - Roslyn resources: `../roslyn/src/Compilers/CSharp/Portable/CSharpResources.resx` ## Phase A: Search Existing Documentation 1. Read the destination and collect all included error codes. 2. Search all files whose names begin with `cs` in: - `docs/csharp/language-reference/compiler-messages/` - `docs/csharp/misc/` 3. Read every candidate and decide whether its diagnostic relates to the theme. 4. Build a candidate list containing the file, error code, and a brief reason it matches. Present the list and stop: ```markdown | File | Error Code | Reason | |------|------------|--------| | cs0220.md | CS0220 | Describes compile-time overflow | ``` Tell the user: > Review this list. Approve the files you want merged, then run the `error-consolidation-merge-existing` skill with the approved list. Wait for the user before proceeding to Phase B. Do not merge candidates in this skill. ## Phase B: Search Undocumented Catch-All Errors After the Phase A gate is satisfied: 1. Read `f1_keywords` from the catch-all file's front matter. 2. For each listed code: 1. Extract the numeric portion, such as `CS0463` to `463`. 2. Find the `ERR_` or `WRN_` constant assigned that number in `ErrorCode.cs`. 3. Find the `<data>` element in `CSharpResources.resx` whose `name` exactly matches the constant. 4. Read the verbatim message from its `<value>` child. 3. Keep only messages related to the theme. 4. Exclude codes already present in the destination. Present the filtered list and stop: ```markdown | Error Code | Error Message | |------------|---------------| | CS0463 | Evaluation of the decimal constant expression failed | | CS1021 | Integral constant is too large | ``` Tell the user: > Review this list. Tell me which error codes to add. Wait for explicit approval before proceeding to Phase C. ## Phase C: Add Approved Error Codes Process all approved codes as one batch. For each code: 1. Add it to destination `f1_keywords` and `helpviewer_keywords` in numeric order. 2. Add it to the destination master error list in numeric order: ```markdown - [**CS{NNNN}**](#anchor-tbd): *{verbatim error message from CSharpResources.resx}* ``` Use `#anchor-tbd` until the consolidation phase assigns thematic anchors. Replace Roslyn format placeholders such as `'{0}'` and `'{1}'` with descriptive terms while preserving the static message text and producing a coherent sentence. Prefer context-appropriate generic terms such as `'type'`, `'value'`, `'operator'`, `'member'`, or `'method'`. For example, `Constant value '{0}' cannot be converted to a '{1}'` becomes `Constant value 'value' cannot be converted to a 'type'`. Use the following XML `<comment>` element, when present, to identify placeholder meanings. 3. Add it to the destination TOC entry's `displayName` in numeric order. 4. Remove it from `f1_keywords` in the catch-all file. Do not create redirects for these codes because they had no standalone articles. Present a summary of all changes made.
Voir sur GitHub