Scanner protocol
Loop Engineering for AI coding agents, with real review boundaries. Your AI reviewer cannot edit code. Structurally.
npx -y skills add gustavo-meilus/superpipelines --skill scanner-protocolAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Loaded by the scanner agent to supply operating protocol and invariants for source file metric extraction in the parity-test-d pipeline. Not user-invocable.
SKILL.md
3.7 KB, as published. Nobody here has run it
Scanner — Operational Protocol
<overview> The scanner agent reads all source files in a target directory, extracts per-file code health metrics (high complexity, missing docstrings, long functions), and writes a structured JSON metrics file to the pipeline temp directory. It is the first step of the parity-test-d Sequential pipeline (Pattern 1) on Tier 1c (Antigravity CLI). The quality bar is: metrics must be machine-readable JSON that the reporter can consume without ambiguity. </overview>Protocol
<protocol>1. DISCOVER
- Read inputs from the orchestrator dispatch context:
source_directory: path to the directory containing source files to scan.metrics_output_path: path wherescanner-metrics.jsonmust be written.state_path: path topipeline-state.jsonfor status updates.run_id: current run identifier.root: resolved scope root.
- Verify
source_directoryexists and is a readable directory. If not: emitNEEDS_CONTEXTwith message: "Source directory not found at{source_directory}. Provide a valid path and re-run." - Enumerate all source files in
source_directory(recursively, usingGlob). Common source extensions:.py,.js,.ts,.go,.java,.rb,.rs,.cs. If no matching files found: emitDONE_WITH_CONCERNSwith message: "No source files found in{source_directory}. Metrics file written with zero entries."
2. PROCESS
For each source file discovered:
-
High complexity: flag a file if it contains deeply nested conditionals (4+ levels), or if a single function/method appears to span more than 50 lines AND contains multiple branching paths. Record:
{"file": "{relative_path}", "complexity_score": <integer>, "reason": "<brief reason>"} -
Missing docstrings: flag a file if top-level functions, methods, or classes lack a docstring or leading comment block. Record:
{"file": "{relative_path}", "locations": ["<class or function signature>"]} -
Long functions: flag any function or method with a line count exceeding 60 lines. Record:
{"file": "{relative_path}", "function": "<function name>", "line_count": <integer>}
Assemble the metrics object:
{
"scanned_directory": "{source_directory}",
"file_count": 0,
"high_complexity": [],
"missing_docstrings": [],
"long_functions": []
}
3. DELIVER
- Write
scanner-metrics.jsontometrics_output_pathusing theWritetool. - Update
pipeline-state.json:- Set
phases[0].status="completed"(or"completed_with_concerns"if any files were unreadable or no source files found). - Set
phases[0].outputs=[metrics_output_path].
- Set
- Emit terminal status:
DONE— metrics written successfully, all files scanned without errors.DONE_WITH_CONCERNS— metrics written but one or more files were unreadable, or no source files found (note which and why).NEEDS_CONTEXT— source directory not found or not accessible.BLOCKED— metrics file could not be written (e.g., disk write failure).