reviewing-openmc-code
Reviews code changes in the OpenMC codebase against OpenMC's contribution criteria (correctness, testing, physics soundness, style, design, performance, docs, dependencies). Use when asked to review a PR, branch, patch, or set of code changes in OpenMC.
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=openmc-dev-openmc-claude-skills-reviewing-openmc-code-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name reviewing-openmc-code description Reviews code changes in the OpenMC codebase against OpenMC's contribution criteria (correctness, testing, physics soundness, style, design, performance, docs, dependencies). Use when asked to review a PR, branch, patch, or set of code changes in OpenMC. Apply repository-wide guidance from AGENTS.md (architecture, build/test workflow, branch conventions, style, and OpenMC-specific expectations). Determine Review Context Fetch PR metadata (if reviewing a PR). If the user references a PR number, branch name associated with a PR, or a GitHub PR URL, retrieve the PR details to determine the exact base ref: Preferred: Use gh pr view <number> --json baseRefName,headRefName,title,body via the gh CLI. Fallback: Use the GitHub MCP server if available. Last resort: Use WebFetch on the PR URL. Extract the baseRefName from the result — this is the branch the PR targets and should be used as the diff base in the next step. If no PR context can be identified, skip this step. Identify what to review. Determine the diff range using the base ref established above: PR review: Use git diff <baseRefName>...HEAD with the base ref from step 1. No PR context: Always compare against develop using git diff develop...HEAD . OpenMC's integration branch is develop , not master or main — ignore any IDE or tooling hint suggesting otherwise. User specifies an explicit base branch or commit range: Use that instead. Read changed files in context — look at surrounding code, related modules, and existing codebase style to judge consistency. Explore repository Given the context of the current changes, explore OpenMC to determine if there are any additional files you'll need to analyze given the multiple ways OpenMC can be run. Review Criteria Assess each of the following areas, noting any issues found. If an area looks good, briefly confirm it passes. Purpose and Scope Do the changes have a clear, well-defined purpose? Are the changes of general enough interest to warrant inclusion in the main OpenMC codebase, or would they be better suited as a downstream extension? Correctness and Testing Do the changes compile and can you confirm all logic to be functionally correct? Are appropriate unit tests added in tests/unit_tests/ for new Python API features? Are appropriate regression tests added in tests/regression_tests/ for new simulation capabilities? Are edge cases and error conditions handled and tested? Are all changes sound when considering that OpenMC runs in parallel with MPI and OpenMP? Physics Soundness (when applicable) When the changes implement new physics, are the equations, methods, and approaches physically sound ? Are the algorithms consistent with established references? Are those references cited in comments or documentation? Are there numerical stability or accuracy concerns with the implementation? Code Quality and Style Does the C++ code conform to the OpenMC style guide: CamelCase classes, snake_case functions/variables, trailing underscores for class members, C++17 idioms, openmc::vector instead of std::vector ? Does the Python code conform to PEP 8, use numpydoc docstrings, pathlib.Path for filesystem operations, and openmc.checkvalue for input validation? Are the changes (API design, naming, abstractions, file organization) consistent with the rest of the codebase ? Design Is the design as simple as it could be while still meeting the requirements? Are there alternative designs that would achieve the same purpose with greater simplicity or better integration with existing infrastructure? Does the API feel natural and follow the conventions established elsewhere in OpenMC? Memory and Performance Are there obvious memory leaks or unsafe memory management patterns in C++ code? Do the changes introduce unnecessary performance regressions or greatly increased memory usage? Do the changes introduce dynamic memory allocation (e.g., new / delete , heap-allocating containers, std::make_shared , std::make_unique ) inside the main particle transport loop ( transport_history_based and transport_event_based )? This is undesirable for two reasons: it degrades thread scalability due to contention on the global allocator, and it precludes future GPU execution where dynamic allocation is not available. Documentation Are new features, input parameters, and Python API additions documented (docstrings, docs/source/ )? Are new XML input attributes described in the input reference? Are any deprecations or breaking changes clearly noted? Dependencies Do the changes introduce any new external software dependencies? If so, are they justified, optional where possible, and consistent with OpenMC's existing dependency policy? Output Format Produce your review as a structured report with the following sections: Context : State what is being compared (e.g., "current branch vs. develop ", or the specific commit range/PR). Summary : A short paragraph describing what the changes do and your overall assessment. Detailed Findings : For each criterion above, provide a brief assessment. Use ✓ for items that pass and flag issues with severity: [Minor] — Style nits, small improvements, non-blocking suggestions [Moderate] — Issues worth addressing but not strictly blocking [Major] — Problems that should be resolved before merging Group findings into: Blocking issues — Would justify requesting changes before merge Non-blocking suggestions — Improvements that could be addressed now or later Questions for the author — Ambiguities or design choices worth clarifying. Do not include questions that you are capable of answering yourself
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |