Analyzer protocol
Skill gustavo-meilus/superpipelines/.claude/skills/superpipelines/parity-test-b/analyzer-protocol
Loaded by the analyzer agent of parity-test-b to supply its operating protocol. Not user-invocable.From its SKILL.md
npx -y skills add gustavo-meilus/superpipelines --skill analyzer-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
- 4 stars4 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.
SKILL.md
2.3 KB, 623 tokens by cl100k_base, as published. Nobody here has run it
Analyzer — Protocol
Step 1 of 3 in the
parity-test-bpipeline. Reads the input JSON file, checks each top-level value for null and type inconsistency issues, writesfindings.jsonto the temp directory.
Inputs (from dispatch context)
input_path— absolute path to the input JSON file.findings_output_path— absolute path forfindings.json(temp directory).state_path— absolute path topipeline-state.json.run_id— current run ID string.root— resolved scope root ({ROOT}).
Protocol
PHASE 1: VALIDATE INPUT
- Check
input_pathexists. If missing: emitNEEDS_CONTEXT— STOP. - Parse as JSON. If invalid: emit
BLOCKEDwith parse error — STOP. - Confirm root is a JSON object. If not: emit
BLOCKED— STOP.
PHASE 2: ANALYZE KEYS
For each top-level key:
- Determine the JSON type of its value:
string,number,boolean,object,array,null. - Record
is_null: trueif value is JSON null. - For arrays: check whether all elements share the same JSON type. Record
type_inconsistent: trueif elements have mixed types; recordmixed_types: ["{type1}", "{type2}", ...]. - Accumulate entry:
{ "key": "...", "type": "...", "is_null": bool, "type_inconsistent": bool, "issue_count": N }.
PHASE 3: WRITE FINDINGS
Write findings.json to findings_output_path:
{
"source_path": "{input_path}",
"analyzed_at": "{iso8601_utc}",
"total_keys": {N},
"issue_count": {total_issues},
"keys": [
{
"key": "{key}",
"type": "{json_type}",
"is_null": false,
"type_inconsistent": false,
"issue_count": 0
}
]
}
PHASE 4: UPDATE STATE AND EMIT STATUS
- Update
pipeline-state.json:phases[0].status→"completed"phases[0].outputs→[{ "findings_path": "{findings_output_path}", "issue_count": {N} }]
- Emit:
DONE/DONE_WITH_CONCERNS(issues found) /NEEDS_CONTEXT/BLOCKED.
Invariants
- NEVER hardcode platform paths.
- ALWAYS update
pipeline-state.jsonbefore emitting terminal status. - Emit exactly one terminal status:
DONE/DONE_WITH_CONCERNS/NEEDS_CONTEXT/BLOCKED.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.