{"record":{"id":"4ac08aa303c37dce","repo":"affaan-m/ECC","slug":"skills-amendify-requires-skill-id","errorCode":null,"errorMessage":"skills:amendify requires --skill <id>","messagePattern":"skills:amendify requires --skill <id>","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"scripts/session-inspect.js","lineNumber":81,"sourceCode":"  return { target, adapterId, targetType, writePath, listAdapters, skillId, amendmentId, observationsPath };\n}\n\nfunction inspectSkillLoopTarget(target, options = {}) {\n  const observations = readSkillObservations({\n    cwd: options.cwd,\n    projectRoot: options.cwd,\n    observationsPath: options.observationsPath\n  });\n\n  if (target === 'skills:health') {\n    return buildSkillHealthReport(observations, {\n      skillId: options.skillId || null\n    });\n  }\n\n  if (target === 'skills:amendify') {\n    if (!options.skillId) {\n      throw new Error('skills:amendify requires --skill <id>');\n    }\n\n    return proposeSkillAmendment(options.skillId, observations);\n  }\n\n  if (target === 'skills:evaluate') {\n    if (!options.skillId) {\n      throw new Error('skills:evaluate requires --skill <id>');\n    }\n\n    return buildSkillEvaluationScaffold(options.skillId, observations, {\n      amendmentId: options.amendmentId || null\n    });\n  }\n\n  return null;\n}\n","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/affaan-m/ECC/blob/8321021c54d670126ce3b2969d5deb880b4b0c2a/scripts/session-inspect.js#L63-L99","documentation":"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.","triggerScenarios":"Running session-inspect with target skills:amendify but no --skill flag, so options.skillId is undefined/null.","commonSituations":"Forgetting --skill on the amendify target (other targets don't require it), shell quoting dropping the flag, running an abbreviated command from memory.","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."],"exampleFix":"// before\nnode scripts/session-inspect.js skills:amendify\n// after\nnode scripts/session-inspect.js skills:amendify --skill tdd-workflow","handlingStrategy":"validation","validationCode":"if (target === 'skills:amendify' && !skillId) { console.error('skills:amendify requires --skill <id>'); process.exit(2); }","typeGuard":"const hasSkillId = (o) => typeof o.skillId === 'string' && o.skillId.length > 0;","tryCatchPattern":"try { payload = skillLoopPayload(target, options); } catch (e) { console.error(e.message); process.exit(2); }","preventionTips":["Always pass --skill when targeting skills:amendify","Validate the skill id exists in skills/ before invoking","Keep example invocations in docs for each target"],"tags":["cli","missing-argument","validation"],"backgroundTag":"missing-required-flag","analyzedSha":"8321021c54d670126ce3b2969d5deb880b4b0c2a","analyzedAt":"2026-09-16T10:08:13.343Z","contentChangedAt":"2026-09-16T10:08:13.343Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}