affaan-m/ECC · error · Error
skills:evaluate requires --skill <id>
Error message
skills:evaluate requires --skill <id>
What it means
Thrown by session-inspect when the report target is 'skills:evaluate' but options.skillId is falsy. Building an evaluation scaffold targets a single skill, so the --skill id is mandatory before the scaffold is produced.
Source
Thrown at scripts/session-inspect.js:89
});
if (target === 'skills:health') {
return buildSkillHealthReport(observations, {
skillId: options.skillId || null
});
}
if (target === 'skills:amendify') {
if (!options.skillId) {
throw new Error('skills:amendify requires --skill <id>');
}
return proposeSkillAmendment(options.skillId, observations);
}
if (target === 'skills:evaluate') {
if (!options.skillId) {
throw new Error('skills:evaluate requires --skill <id>');
}
return buildSkillEvaluationScaffold(options.skillId, observations, {
amendmentId: options.amendmentId || null
});
}
return null;
}
function main() {
const { target, adapterId, targetType, writePath, listAdapters, skillId, amendmentId, observationsPath } = parseArgs(process.argv);
if (listAdapters) {
const registry = createAdapterRegistry();
console.log(JSON.stringify({ adapters: registry.listAdapters() }, null, 2));
return;
}View on GitHub (pinned to 01e15490f0)
Solutions
- Provide `--skill <skill-id>` for the skill to evaluate.
- Optionally add `--amendment-id <id>` to scope the scaffold to an existing amendment.
- Use skills:health instead for an aggregate, no-skill-required view.
Example fix
# before node scripts/session-inspect.js skills:evaluate --amendment-id am1 # after node scripts/session-inspect.js skills:evaluate --skill security-review --amendment-id am1
Defensive patterns
Strategy: validation
Validate before calling
const argv = process.argv.slice(2);
if (argv.includes('skills:evaluate')) {
const i = argv.indexOf('--skill');
if (i === -1 || !argv[i + 1]) { console.error('skills:evaluate requires --skill <id>'); process.exit(2); }
} Try / catch
try { buildEvaluationScaffold(skillId, observations); } catch (err) { console.error(err.message); process.exit(2); } Prevention
- Pre-validate per-skill targets in a wrapper before invoking session-inspect.
- Keep a registry of valid skill ids and cross-check --skill against it.
When it happens
Trigger: Running `node scripts/session-inspect.js skills:evaluate` without --skill, or expecting evaluate to iterate over all skills (it does not).
Common situations: Confusing skills:evaluate (single skill) with skills:health (all skills); reusing a command template that omitted --skill; passing --amendment-id but no --skill.
Related errors
- skills:amendify requires --skill <id>
- --write requires a path
- Unknown argument: ${arg}
- Invalid ${flag}: expected a single cache path segment
- Unknown argument: ${arg}
AI-assisted analysis of affaan-m/ECC@01e15490f0 (2026-08-13).
Data as JSON: /api/errors/abc256ec32cbc359.
Report an issue: GitHub.