Scoped npm package specs are misclassified as unresolved local references
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17.9k
- Forks
- 1.5k
- Avg merge
- 5d 10h
- Merged PRs (30d)
- 66
Description
Summary
SkillSpector 2.11.2 treats the xerg/cli substring inside a scoped npm package spec as an unresolved local path. The scan has zero findings and LOW risk, but analysis_completeness.is_complete becomes false and the final recommendation is downgraded to CAUTION.
Minimal reproducer
SKILL.md:
---
name: repro
description: Minimal reference-resolution reproducer.
---
Run `npx --yes @xerg/cli@0.34.0 doctor --json` after approval.
Command:
skillspector scan ./repro --format json --output report.json --no-llm
Observed with SkillSpector v2.11.2 from commit 69dcdfb74487d361ba4c811d088cfdea2ff3a9dc:
{
"execution_successful": true,
"risk_assessment": {
"score": 0,
"severity": "LOW",
"recommendation": "CAUTION",
"max_issue_severity": "NONE"
},
"issues": [],
"analysis_completeness": {
"is_complete": false,
"status": "partial",
"execution_successful": true,
"ledger_exceptions": [
{
"phase": "reference_resolution",
"reason_code": "reference_unresolved",
"path": "SKILL.md",
"start_line": 6,
"end_line": 6,
"fatal": false
}
],
"references": [
{
"source_path": "SKILL.md",
"line": 6,
"column": 17,
"evidence": "Run `npx --yes @xerg/cli@0.34.0 doctor --json` after approval.",
"target_path": null,
"status": "missing",
"disposition": "partial"
}
]
}
}
The same resolver also appears to classify ordinary slash-separated prose such as reading/analyzing as path candidates.
Expected behavior
Scoped npm specs and ordinary slash-separated prose should not be treated as local file references. A zero-finding scan should remain complete unless a genuine bundle reference cannot be inspected.
Why baselines do not help
This is completeness accounting, not a finding. A baseline can suppress issues but cannot restore analysis_completeness.is_complete.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run the supplied skillspector scan ./repro --format json --output report.json --no-llm command against the SKILL.md reproducer, then trace the reference-resolution entry point. Done means scoped npm specs and prose such as reading/analyzing are not treated as local references, while genuine bundle references still affect completeness accounting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, python
- Domain
- security, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100