T09 · Insecure Skill Coding Practices
- Location
bin/workspace-local-retrieval.js:93- Finding
Installation Continues After Required Prerequisite Checks Fail
- Content
View full analysis
- Remediation
View remediation
=20", "details": "not found" } ``` 3. Determine blocking status using exact values rather than substring matching: ```javascript const blocking = payload.results.filter( (entry) => entry.ok === false && entry.requirementLevel === "required" ); ``` 4. Handle degraded modes separately. Missing `recommended` or `optional` capabilities should produce explicit warnings but should not be included in the blocking set. 5. Ensure the process exits nonzero on required failures so automated callers cannot mistake the result for a successful readiness check. 6. Add regression tests covering: - all required checks passing; - a required check failing, with no destination directory or files created; - only a recommended check failing; - only an optional check failing; - correct exit codes and completion messages for every case. 7. Avoid printing the normal success and next-step messages unless all required prerequisites have passed. ]]>
