.claude/skills/step-06-label-context-scope/SKILL.md
# step-06-label-context-scope ## What it does Labels Axis 3 — Context Scope. Determines what level of context a reviewer would need to confidently make this comment and documents all evidence used. ## Prerequisites - Step 05 completed (Severity labeled) ## Context > See `docs/axis-3-context-scope.md` for definitions, evaluation criteria, and examples. > See `docs/steps/step8.md` for the step-by-step process. > See `DOCUMENTATION.md` sections 8 (FAQ), 9 (Common Mistakes), and 10 (Tips) for edg
npx skillsauth add Pepe39/chameleon-pr .claude/skills/step-06-label-context-scopeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Labels Axis 3 — Context Scope. Determines what level of context a reviewer would need to confidently make this comment and documents all evidence used.
See
docs/axis-3-context-scope.mdfor definitions, evaluation criteria, and examples. Seedocs/steps/step8.mdfor the step-by-step process. SeeDOCUMENTATION.mdsections 8 (FAQ), 9 (Common Mistakes), and 10 (Tips) for edge cases and pitfalls.
id (required): Task IDRead task_info.md — specifically the "Comment Analysis" section. Pay attention to:
Update progress.md: step 06 status = "in-progress", Started = {timestamp ISO 8601}.
Ask: "What would the reviewer need to read to make this comment with confidence?"
Evaluate from narrowest to broadest:
DIFF — Could the comment be made by reading only the changed lines in the PR?
diff.diff@@ -0,0 +1,N @@, all lines are added), the scope is diff even if you need to read multiple parts of the file. There is no file scope for a file that did not exist before the PR.FILE — Did the reviewer need to read beyond the diff but within the PR-touched files?
REPO — Did the reviewer need knowledge from files NOT changed by the PR?
repoEXTERNAL — Did the reviewer need knowledge outside the repository?
Always pick the broadest level needed. If both diff and file context were required -> file.
List every specific piece of evidence the reviewer used. For each entry:
diff_line: line number or range as a string (e.g., "42", "42-50"). When the input field is empty or no specific line applies, set to JSON null, not an empty string, not "", not "null". The literal JSON value null.file_path: repo-relative path to the file.why: a short phrase explaining why this context matters.ZERO-TOLERANCE punctuation in why: the why field is user-facing text and is subject to the same wording rules as any justification. It MUST NOT contain em-dashes (—), en-dashes (–), hyphens used as sentence connectors, semicolons (;), or colons (:) outside file paths. If you need to join two ideas, write two short phrases separated by a period or use a comma. Before saving, re-read every why value and rewrite any that contain forbidden characters. This applies equally to context.json, labels.json, context_scope.md, and task_info.md.
Rules:
diff, at least one entry is needed (the commented line).file, include both the diff lines AND the non-diff lines that were needed.repo, include entries for both PR files and non-PR files consulted.external, the context array may be empty ([]).Document in 2-3 sentences:
diff just because the comment is on a diff line. The scope is about what the reviewer needed to know, not where the comment appears. (Mistake 3: Defaulting to Diff Scope)diff can span multiple files. If two diff hunks in different files were needed but nothing beyond the diff, it's still diff. (FAQ #2)file when repo is needed. If you had to consult files not touched by the PR, the scope is repo.file, or vice versa, state why you disagree in the reasoning.file for new files. If the target file is completely new in the PR, everything is diff. There is no file scope for files that did not exist before the PR.file just because the file is large. The file's size is irrelevant. What matters is whether the lines you need are in the diff or not.repo because "Copilot must have read other files." Do not speculate about what Copilot consumed. Evaluate what information was needed to make the comment.file, you still fill in diff_line for any context entry that points to a specific line, including lines inside the diff. (FAQ #3)diff_line must be null only for files NOT touched by the PR. For PR-touched files, always provide a line number or range unless the exact line is genuinely hard to locate.Before writing any context entry, verify each diff_line value against the actual file content in the repo clone (at comment_commit, or head_sha as fallback):
This prevents off-by-one errors from line counting during analysis.
Add to the Labels section:
### Context Scope
- **Label:** {diff | file | repo | external}
- **Context:**
```json
[
{
"diff_line": "{line_or_range}",
"file_path": "{path}",
"why": "{reason}"
}
]
### 8. Update progress
Update `progress.md`: step 06 status = "done", Completed = {timestamp ISO 8601}, Current Step = 07 - Label Advanced.
testing
step-09-recheck
development
# step-08-generate-output ## What it does Compiles all four axis labels into the final JSON output, validates consistency, and generates the deliverable file ready for submission. ## Prerequisites - Steps 04-07 completed (all four axes labeled) ## Context > See `docs/steps/step10.md` for the submission checklist. ## Arguments - `id` (required): Task ID ## Instructions ### 1. Recover context Read `task_info.md` — extract all four labels and their reasoning from the Labels section. Update
testing
# step-07-label-advanced ## What it does Labels Axis 4 — Advanced. Derives the Advanced label from Context Scope using a deterministic mapping. ## Prerequisites - Step 06 completed (Context Scope labeled) ## Context > See `docs/axis-4-advanced.md` for the mapping rule and definitions. > See `DOCUMENTATION.md` section 7 (Axis 4) for the rationale. ## Arguments - `id` (required): Task ID ## Instructions ### 1. Recover context Read `task_info.md` — specifically the Context Scope label from s
testing
# step-05-label-severity ## What it does Labels Axis 2 — Severity. Assesses how severe the issue is that the review comment points out. ## Prerequisites - Step 04 completed (Quality labeled) ## Context > See `docs/axis-2-severity.md` for definitions, evaluation criteria, and examples. > See `docs/steps/step7.md` for the step-by-step process. > See `DOCUMENTATION.md` sections 8 (FAQ), 9 (Common Mistakes), and 10 (Tips) for edge cases and pitfalls. **Critical reminder:** Severity measures the