Agent Skillsnetalertx/NetAlertX › netalertx-pr-analysis

netalertx-pr-analysis

GitHub

指导如何分析并响应 NetAlertX 项目的 GitHub PR 评论。包含测试代码规范、PR 评论分类处理流程、变更执行步骤及回复准则,确保代码质量与审查一致性。

.github/skills/pr-analysis/SKILL.md netalertx/NetAlertX

Trigger Scenarios

需要处理 GitHub PR 中的评论或反馈 针对 PR 进行代码修改和验证 回复 PR 审查线程

Install

npx skills add netalertx/NetAlertX --skill netalertx-pr-analysis -g -y
More Options

Non-standard path

npx skills add https://github.com/netalertx/NetAlertX/tree/main/.github/skills/pr-analysis -g -y

Use without installing

npx skills use netalertx/NetAlertX@netalertx-pr-analysis

指定 Agent (Claude Code)

npx skills add netalertx/NetAlertX --skill netalertx-pr-analysis -a claude-code -g -y

安装 repo 全部 skill

npx skills add netalertx/NetAlertX --all -g -y

预览 repo 内 skill

npx skills add netalertx/NetAlertX --list

SKILL.md

Frontmatter
{
    "name": "netalertx-pr-analysis",
    "description": "How to analyze and respond to GitHub PR review comments in NetAlertX. Use this whenever you are addressing PR feedback, review threads, or inline code comments."
}

PR Analysis

Before Writing Any Test Code — Non-Negotiable Checklist

Run through this before creating or editing any file under test/:

  1. Helpers first: Check test/db_test_helpers.py for existing factories (make_db, make_device_dict, insert_device_from_dict, DummyDB). Use them. If what you need doesn't exist, add it there — never define it locally in the test file.
  2. MAC literals must be lowercase: Every MAC string in fixtures, parametrize, assertions, docstrings, and comments must be lowercase hex (e.g. aa:bb:cc:dd:ee:01). No exceptions.
  3. Test file location: Place tests under a subdirectory of test/ that mirrors the source path (e.g. test/scan/ for server/scan/). Never put test files directly in test/.
  4. No inline imports: All imports at the top of the file.

Before Acting on Any PR Comment

  1. Load code-standards skill — all code changes must comply with it before replying.
  2. Load testing-workflow skill — any test additions or changes must follow it.
  3. Load any domain-specific skill relevant to the files being changed (e.g. database-patterns for DB writes, settings-management for config).

Comment Classification

For each comment, determine:

Type Action
Request for code change Make the change, validate it, then reply with the short commit hash
Question about code Reply with a concise answer (no restatement of the question)
Suggestion / feedback Decide if it is actionable. If yes, act and reply. If not, do not reply.
General / praise Do not reply.

Acting on Comments — Step by Step

  1. Identify all actionable comments before touching any file.
  2. Load relevant skills to understand conventions that apply.
  3. Prepare a plan — list each file and the exact change required.
  4. Make changes one comment at a time — keep commits focused.
  5. Run targeted tests after each change (testing-workflow skill).
  6. Reply only after the commit is pushed via report_progress. Include the short SHA.

Reply Guidelines

  • Be concise. Do not summarize or restate the original comment.
  • State what was done and (optionally) why.
  • Include the short commit hash when relevant.
  • Do not thank or compliment the reviewer.

What to Check After Every Batch of Changes

  • MAC literals lowercase — grep for uppercase hex in every changed test file: grep -Pn '[0-9A-F]{2}:[0-9A-F]' test/ must be empty.
  • No local DB helpers — no DummyDB, make_db, or inline DDL defined outside test/db_test_helpers.py.
  • No inline imports — all imports at the top of the file.
  • Tests live under a subdirectory of test/ matching the source path, not in test/ root.
  • Secret scan (runtime-tools-secret_scanning) before committing.

Stacked / Base-Branch Issues

When a PR targets a non-default branch (e.g. next_release):

  • Do not retarget the branch yourself; note it in a reply so the author can do it from the GitHub UI.
  • Check CI failures on the base branch first before checking your branch.

Version History

  • 716a41a Current 2026-08-27 19:51

Same Skill Collection

.gemini/skills/devcontainer-management/SKILL.md
.gemini/skills/logging-standards/SKILL.md
.gemini/skills/mcp-activation/SKILL.md
.gemini/skills/pr-analysis/SKILL.md
.gemini/skills/project-navigation/SKILL.md
.gemini/skills/settings/SKILL.md
.gemini/skills/skills-index/SKILL.md
.gemini/skills/testing-workflow/SKILL.md
.github/skills/api-development/SKILL.md
.github/skills/authentication/SKILL.md
.github/skills/code-standards/SKILL.md
.github/skills/database-patterns/SKILL.md
.github/skills/database-reset/SKILL.md
.github/skills/devcontainer-configs/SKILL.md
.github/skills/devcontainer-services/SKILL.md
.github/skills/devcontainer-setup/SKILL.md
.github/skills/docker-build/SKILL.md
.github/skills/docker-prune/SKILL.md
.github/skills/logging-standards/SKILL.md
.github/skills/mcp-activation/SKILL.md
.github/skills/plugin-run-development/SKILL.md
.github/skills/project-navigation/SKILL.md
.github/skills/sample-data/SKILL.md
.github/skills/settings-management/SKILL.md
.github/skills/skills-overview/SKILL.md
.github/skills/testing-workflow/SKILL.md

Metadata

Files
0
Version
716a41a
Hash
0768c50f
Indexed
2026-08-27 19:51

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-29 05:11
浙ICP备14020137号-1 $Carte des visiteurs$