affaan-m/ECC · error
skills:amendify requires --skill
Error message
skills:amendify requires --skill <id>
What it means
inspectSkillLoopTarget in scripts/session-inspect.js throws when the target 'skills:amendify' is requested without a --skill <id> value in options. The amendment proposer needs a concrete skill id to operate on.
Solutions
- Add --skill <id>, e.g. `node scripts/session-inspect.js skills:amendify --skill tdd-workflow`.
- Verify the skill id exists in skills/ and matches the directory name.
- Check the script usage for which targets require --skill.
Example fix
// before node scripts/session-inspect.js skills:amendify // after node scripts/session-inspect.js skills:amendify --skill tdd-workflow
Defensive patterns
Strategy: validation
Validate before calling
if (target === 'skills:amendify' && !skillId) { console.error('skills:amendify requires --skill <id>'); process.exit(2); } Type guard
const hasSkillId = (o) => typeof o.skillId === 'string' && o.skillId.length > 0;
Try / catch
try { payload = skillLoopPayload(target, options); } catch (e) { console.error(e.message); process.exit(2); } Prevention
- Always pass --skill when targeting skills:amendify
- Validate the skill id exists in skills/ before invoking
- Keep example invocations in docs for each target
When it happens
Trigger: Running session-inspect with target skills:amendify but no --skill flag, so options.skillId is undefined/null.
Common situations: Forgetting --skill on the amendify target (other targets don't require it), shell quoting dropping the flag, running an abbreviated command from memory.
Understand the failure class
Background: "--flag is required" and "must specify" CLI errors: how missing-required-flag validation works and how to fix it — this error's family across 20 libraries.
Related errors
- Missing issue number.
- Missing --repo <owner/repo>.
- open requires a file path
- is required exactly once for live node qualification.
- skills:evaluate requires --skill
AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16).
Data as JSON: /api/errors/4ac08aa303c37dce.
Report an issue: GitHub.
Appendix: source
Thrown at scripts/session-inspect.js:81
return { target, adapterId, targetType, writePath, listAdapters, skillId, amendmentId, observationsPath };
}
function inspectSkillLoopTarget(target, options = {}) {
const observations = readSkillObservations({
cwd: options.cwd,
projectRoot: options.cwd,
observationsPath: options.observationsPath
});
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;
}
View on GitHub (pinned to 8321021c54)