Repository navigation
feat(rocprofiler-sdk): add rocprofv3-doctor agent skill - #12895
Merged
Merged
Conversation
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The summary can omit unverified checks, and the workflow may retain --version, preventing diagnostics from running.
Review effort: Balanced
Findings: 1
Open (2)
What changed in this PR
Adds an agent skill for diagnosing rocprofv3 setup failures using rocprofv3 --doctor.
Changes:
- Adds diagnostic workflow guidance and safety constraints.
- Adds JSON-to-Markdown report summarization with unit tests.
- Adds routing/behavior evaluations and catalog metadata.
| File | Description |
|---|---|
SKILL.md |
Defines the diagnostic workflow and remediation rules. |
scripts/summarize_report.py |
Summarizes doctor JSON reports. |
tests/test_summarize_report.py |
Tests report summarization. |
evals/evals.json |
Defines routing and behavioral evaluations. |
evals/machine.yml |
Specifies evaluation machine requirements. |
skill-card.md |
Provides catalog metadata. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
bgopesh
force-pushed
the
users/bgopesh/rocprofv3-doctor-skill
branch
from
October 13, 2026 07:41
8b3ead4 to
1e79425
Compare
venkat1361
approved these changes
Oct 13, 2026
bwelton
approved these changes
Oct 16, 2026
bgopesh
force-pushed
the
users/bgopesh/rocprofv3-doctor-skill
branch
from
October 17, 2026 05:27
1e79425 to
54d9636
Compare
Adds a `rocprofv3-doctor` agent skill that teaches AI coding agents to
diagnose why rocprofv3 does not work on a machine: run rocprofv3-doctor,
find the root causes in its report, and give the user ordered fixes. It
sits beside the rocprofv3 skill, which covers profiling a working setup,
and follows the same layout so the amd/skills catalog can import it.
New folder projects/rocprofiler-sdk/skills/rocprofv3-doctor/:
- SKILL.md: locate the tool (PATH, rocprofv3 --doctor, ROCm and
TheRock prefixes, or a source checkout for older ROCm), run it with
JSON output, read exit codes, apply diagnosis confidence, and present
fixes without running privileged commands or adding remediations the
report does not give.
- scripts/summarize_report.py: turns the JSON report into a markdown
triage -- root causes with the checks they block, diagnoses with
confidence and evidence, doctor errors kept apart from system
findings, and what the run did not verify. Standard library only.
- tests/: GPU-free unit tests for the script.
- evals/evals.json: 5 should-trigger cases (2 graded on behavior) and
3 should-not cases that belong to the rocprofv3 skill or elsewhere;
evals/machine.yml.
- skill-card.md.
Depends on rocprofv3-doctor itself, added in the PR this one is stacked
on.
Co-Authored-By: Claude <noreply@anthropic.com>
The tool no longer installs a separate `rocprofv3-doctor` command (#12889): `rocprofv3 --doctor` is the only entry point. - SKILL.md finds and runs `rocprofv3 --doctor`, from PATH, a ROCm prefix, or a source checkout's rocprofv3.py for ROCm releases whose rocprofv3 rejects the option, and uses that command throughout. - It tells the agent to run the check as the user who runs rocprofv3, never with sudo, matching the tool's new run-as-user warning. - summarize_report.py, its tests, the skill card, and the evals use the new command; the behavior-graded evals also require `--doctor` in the logs and treat running the check as root as a mistake. The skill keeps its name, rocprofv3-doctor, until the flag's name is settled. Co-Authored-By: Claude <noreply@anthropic.com>
bgopesh
force-pushed
the
users/bgopesh/rocprofv3-doctor-skill
branch
from
October 17, 2026 13:59
54d9636 to
2dc2353
Compare
Contributor
TheRock Submodule Bump ActivityNewest first
|
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Motivation
Adds a
rocprofv3-doctoragent skill that teaches AI coding agents to work out why rocprofv3 does not work on a machine. The agent runsrocprofv3 --doctor, finds the root causes in its report, and gives the user an ordered list of fixes. Like therocprofv3skill in #12814, it is meant to be pulled into the amd/skills catalog from this repo.The two skills split the work.
rocprofv3covers profiling once the setup works.rocprofv3-doctorcovers what to do when rocprofv3 fails, crashes, finds no GPU, or will not start.Technical Details
New folder
projects/rocprofiler-sdk/skills/rocprofv3-doctor/, in the same layout asskills/rocprofv3/from #12814:SKILL.md:rocprofv3 --doctor: onPATH, under ROCm and TheRock prefixes, or from a source checkout'srocprofv3.pyfor ROCm releases whoserocprofv3rejects the optionrocprofv3, never withsudolikelycauses; forpossibleones, propose the step that tells causes apartsudo,usermod,sysctl, package managers, orpipon the user's behalfperf_event_paranoidchanges and nosetcapon therocprofv3Python scriptrocprofv3skill.scripts/summarize_report.py: turns the doctor's JSON report (schema_version1) into a markdown triage. It lists:It uses only the Python standard library, and on input it cannot read it exits 2 with a message instead of a traceback.
tests/test_summarize_report.py: unit tests that need no GPU.evals/evals.json:HSA_STATUS_ERROR_OUT_OF_RESOURCESerror that must be corroborated before a cause is namedrocprofv3skill's job), and a PyTorch profiler traceevals/machine.yml:os: [Linux],labels: [gpu, rocm].skill-card.md.Issue Tracking
JIRA ID:
Test Plan
rocprofv3rejects--doctoras the skill expects, the source-checkout fallback runs, and the script summarizes the real report.skillscope structuralv0.1.2, the version and arguments itscheck.shuses, with the skill copied into a catalog checkout.Test Result
skillscope routing/behavioral) have not been run yet; they need theclaudeCLI and a ROCm machine.Submission Checklist
🤖 Generated with Claude Code