CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

60

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/error-consolidation-search/SKILL.md
SKILL.md
Quality
Evals
Security

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:

| 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:

| 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:

    - [**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.

Repository
dotnet/docs
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.