SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/dotnet/runtime --skill fuzzlyn-triage명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
Update OS version references in Helix queue definitions to add new versions, replace EOL versions, or audit coverage against the supported-os matrix. USE FOR: adding new OS versions to Helix queues, replacing EOL OS versions, upgrading "oldest" or "latest" version references, auditing Helix coverage. DO NOT USE FOR: creating new container images (that's dotnet-buildtools-prereqs-docker), updating supported-os.json (that's the update-supported-os skill in dotnet/core).
Review code changes in dotnet/runtime for correctness, performance, and consistency with project conventions. Use when reviewing PRs or code changes.
Create prototype-backed API proposals for dotnet/runtime. Use when asked to draft an API proposal, write an api-suggestion issue, refine a vague API idea into a complete proposal, or improve a proposal marked api-needs-work. Covers the full pipeline from research through prototyping, ref source generation, and publishing. DO NOT USE FOR bug fixes, code review, performance benchmarking, or internal API changes that don't affect public surface area.
| name | fuzzlyn-triage |
| description | Triage Fuzzlyn CI runs. |
Initial investigation of Fuzzlyn found issues with assertions in CI runs.
Ask the user for a link to a Fuzzlyn CI run if not provided.
Download all the Issues artifacts for the CI run. These artifacts are zipped files named "Issues_{platform}_Checked.zip". For example, "Issues_windows_x64_Checked.zip". This may take a long time, so download these in parallel. Extract all the downloaded zip files into a single directory, and delete the .zip files once extracted.
Look at the reduced examples that are available. Focus on ones that have JIT assertion failures in them, and group by the specific assertion failure. For each assertion failure pick a single example and create a directory named based on the number part of the seed. Create an "example.cs" file in the directory with the content of the example. For example, if the seed is 123456789, create a directory named "123456789" and an "example.cs" file in it with the content of the example.
Look for the .mc files corresponding to the examples you have created. Move the relevant .mc files under the appropriate example folders.
Download the Helix payload for the host you are using to run these triage steps, from the Partition0 work item.
In most cases this will be the windows-x64 job; if you are running the triage steps on a different host, use that host's payload instead.
To download the payload, obtain the Job ID from the "Send job to Helix" step in the CI run.
Download the payload for Partition0 with runfo get-helix-payload -j <helix job ID> -w Partition0 -o <output directory>.
This should result in the host-appropriate corerun, superpmi, and mcs tools that you should use for the next steps.
Choose the payload based on the machine running triage, not on the platform where the examples reproduced.
Now, for each example, do the following. Do NOT parallelize. Finish ALL steps for each example before you start on the next example.
Use superpmi to replay the .mc files for that example until you find a context that reproduces the assertion failure.
To do that, for each example, run superpmi.exe <path to clrjit.dll> <path to .mc>.
The clrjit.dll used should be the one that corresponds to the target that reproduced the error.
For example, if the example reproduced on linux-x64, then use clrjit_unix_x64_x64.dll.
If the assertion failure reproduces it should give you the context index before the message, e.g. "#12345".
For the next steps use the numeric portion of that index, e.g. "12345" without the "#" symbol.
Once you have the context index, use superpmi to replay that specific context with superpmi.exe <path to clrjit.dll> <path to .mc> -c <context index>.
Validate that this reproduces the assertion failure instantly.
Use mcs.exe next to superpmi.exe to extract that single context to a repro.mc file with mcs.exe -copy <context index> <path to .mc> <output repro.mc>.
Delete all the other .mc files for that example, and keep only the repro.mc file.
Create a jitdump file.
To do that, run superpmi.exe <path to clrjit.dll> <path to repro.mc> -jitoption JitDump=* and pipe the output to a jitdump.txt file in the example's directory.
Analyze the jitdump file and try to come up with the root cause of that assertion failure. The JIT source code creating the jitdump is available at src/coreclr/jit/*. Do NOT make any changes to the source code; only analyze the jitdump file and try to come up with a root cause. Put your analysis into an analysis.md file in the example's directory.
Create a details.zip file that includes the repro.mc and also the jitdump.txt file.
Create an issue.md file that can be used to open a GitHub issue later. In this issue.md file include the following:
<details> <summary> Analysis of jitdump </summary> ... </details> block.
Make sure to add a note that the analysis is AI generated.