Try using .github/copilot-instructions.md.
authorMarvin Schenkel <marvinschenkel@gmail.com>
Thu, 26 Feb 2026 11:56:11 +0000 (12:56 +0100)
committerMarvin Schenkel <marvinschenkel@gmail.com>
Thu, 26 Feb 2026 11:56:11 +0000 (12:56 +0100)
.claude/skills/review-pr/REVIEW_STANDARDS.md
.claude/skills/review-pr/SKILL.md
.github/copilot-instructions.md [new file with mode: 0644]
.github/instructions/REVIEW.instructions.md [deleted file]

index 23a58c0fbf59026edd0e1e11c817111c15402df7..24e5d476f21ef46324c9b20164e013f38d295e29 100644 (file)
@@ -1,5 +1,11 @@
 # PR Review Standards
 
+## Review Philosophy
+* Only comment when you have HIGH CONFIDENCE (>80%) that an issue exists
+* Be concise: one sentence per comment when possible
+* Focus on actionable feedback, not observations
+* When reviewing text, only comment on clarity issues if the text is genuinely confusing or could lead to errors.
+
 ## What to Analyze
 
 Review all code changes for:
@@ -11,15 +17,31 @@ Review all code changes for:
 - Documentation updates if needed
 
 ## PR Title
-
 The PR title must be a functional description of the change. It must NOT contain conventional commit prefixes such as `feat:`, `fix:`, `refactor:`, `chore:`, etc. Labels are used to categorize PRs, not the title. Flag as `[PROBLEM]` if the title uses such prefixes.
 
-## Existing Review Comments
+## CI context
+**Important**: You review PRs immediately, before CI completes. Do not flag issues that CI will catch.
 
-Ensure any existing review comments on the PR have been addressed before approving.
+### What Our CI Checks (`.github/workflows/test.yml`)
+**Lint checks:**
+* SKIP=no-commit-to-branch pre-commit run --all-files
+* See .pre-commit-config.yaml for the full list of checks
 
-## Issue Categories
+**Runs test:**
+* pytest --durations 10 --cov-report term-missing --cov=music_assistant --cov-report=xml tests/
 
+## Skip These (Low Value)
+Do not comment on:
+
+* Style/formatting (pre-commit handles this)
+* Test failures
+* Missing dependencies (ci handles this)
+* Minor naming suggestions
+* Suggestions to add comments
+* Multiple issues in one comment
+* Logging suggestions unless security-related
+
+## Issue Categories
 Categorize every issue found as one of:
 - `[CRITICAL]` — must be fixed before merging (bugs, security issues, broken functionality)
 - `[PROBLEM]` — should be fixed (code quality, bad patterns, missing tests)
index 25eb4faf391efe923d6de462cf975f6cb28f6091..034fd4dcb089a1f42887ef8c3aab01a067ab2085 100644 (file)
@@ -40,3 +40,11 @@ Output format:
     - [PROBLEM] Inefficient algorithm in music_assistant/helpers/data_processing.py
     - [SUGGESTION] Improve variable naming in music_assistant/helpers/config_validation.py
     ```
+
+Output Comment Format
+1. State the problem (1 sentence)
+2. Why it matters (1 sentence, if needed)
+3. Suggested fix (snippet or specific action)
+
+Example:
+This could generate a `KeyError` if `"name"` does not exist in the `dict`. Consider using `.get("name")` or adding a check.
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
new file mode 100644 (file)
index 0000000..02fee50
--- /dev/null
@@ -0,0 +1,64 @@
+# PR Review Standards
+
+## Review Philosophy
+* Only comment when you have HIGH CONFIDENCE (>80%) that an issue exists
+* Be concise: one sentence per comment when possible
+* Focus on actionable feedback, not observations
+* When reviewing text, only comment on clarity issues if the text is genuinely confusing or could lead to errors.
+
+## What to Analyze
+
+Review all code changes for:
+- Code quality and style consistency with the existing codebase
+- Potential bugs or issues
+- Performance implications
+- Security concerns
+- Test coverage
+- Documentation updates if needed
+
+## PR Title
+The PR title must be a functional description of the change. It must NOT contain conventional commit prefixes such as `feat:`, `fix:`, `refactor:`, `chore:`, etc. Labels are used to categorize PRs, not the title. Flag as `[PROBLEM]` if the title uses such prefixes.
+
+## CI context
+**Important**: You review PRs immediately, before CI completes. Do not flag issues that CI will catch.
+
+### What Our CI Checks (`.github/workflows/test.yml`)
+**Lint checks:**
+* SKIP=no-commit-to-branch pre-commit run --all-files
+* See .pre-commit-config.yaml for the full list of checks
+
+**Runs test:**
+* pytest --durations 10 --cov-report term-missing --cov=music_assistant --cov-report=xml tests/
+
+## Skip These (Low Value)
+Do not comment on:
+
+* Style/formatting (pre-commit handles this)
+* Test failures
+* Missing dependencies (ci handles this)
+* Minor naming suggestions
+* Suggestions to add comments
+* Multiple issues in one comment
+* Logging suggestions unless security-related
+
+## Issue Categories
+Categorize every issue found as one of:
+- `[CRITICAL]` — must be fixed before merging (bugs, security issues, broken functionality)
+- `[PROBLEM]` — should be fixed (code quality, bad patterns, missing tests)
+- `[SUGGESTION]` — optional improvement (style, minor refactors, nice-to-haves)
+
+## Output
+- Post inline comments on GitHub for every `[CRITICAL]` and `[PROBLEM]` issue found.
+- Do NOT post `[SUGGESTION]` items to GitHub.
+- Do not list things that are already correct
+
+## Output Comment Format
+1. State the problem (1 sentence)
+2. Why it matters (1 sentence, if needed)
+3. Suggested fix (snippet or specific action)
+
+Example:
+This could generate a `KeyError` if `"name"` does not exist in the `dict`. Consider using `.get("name")` or adding a check.
+
+## When to Stay Silent
+If you’re uncertain whether something is an issue, don’t comment.
diff --git a/.github/instructions/REVIEW.instructions.md b/.github/instructions/REVIEW.instructions.md
deleted file mode 100644 (file)
index 5b288df..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
----
-applyTo: "**"
-excludeAgent: "code-agent" # Only used by the code review agent in Github
----
-
-# PR Review Standards
-
-## What to Analyze
-
-Review all code changes for:
-- Code quality and style consistency with the existing codebase
-- Potential bugs or issues
-- Performance implications
-- Security concerns
-- Test coverage
-- Documentation updates if needed
-
-## PR Title
-
-The PR title must be a functional description of the change. It must NOT contain conventional commit prefixes such as `feat:`, `fix:`, `refactor:`, `chore:`, etc. Labels are used to categorize PRs, not the title. Flag as `[PROBLEM]` if the title uses such prefixes.
-
-## Existing Review Comments
-
-Ensure any existing review comments on the PR have been addressed before approving.
-
-## Issue Categories
-
-Categorize every issue found as one of:
-- `[CRITICAL]` — must be fixed before merging (bugs, security issues, broken functionality)
-- `[PROBLEM]` — should be fixed (code quality, bad patterns, missing tests)
-
-## Output
-
-- Post inline comments on GitHub for every `[CRITICAL]` and `[PROBLEM]` issue found.
-- Do NOT post `[SUGGESTION]` items to GitHub.
-- Do not list things that are already correct