{"record":{"id":"bc4be85bacda681f","repo":"sickn33/agentic-awesome-skills","slug":"invalid-l-syntax-in-day-of-month-trimmed","errorCode":null,"errorMessage":"Invalid \"L\" syntax in day-of-month: \"${trimmed}\"","messagePattern":"Invalid \"L\" syntax in day-of-month: \"(.+?)\"","errorType":"validation","errorClass":"CronError","httpStatus":null,"severity":"error","filePath":"skills/cron-doctor/scripts/cron-engine.js","lineNumber":66,"sourceCode":"    if (dowNum === 7) dowNum = 0;\n    out.special = { kind: 'hash', dow: dowNum, nth: parseInt(m[2], 10) };\n    return out;\n  }\n\n  // Special: day-of-week \"L\" (last weekday)\n  if (fieldDef.key === 'dow' && /L$/i.test(trimmed)) {\n    const m = trimmed.match(/^([0-7A-Za-z]+)L$/i);\n    if (!m) throw new CronError(`Invalid \"L\" syntax in day-of-week: \"${trimmed}\"`, fieldIndex);\n    let dowNum = parseSingleNum(m[1], fieldDef, fieldIndex);\n    if (dowNum === 7) dowNum = 0;\n    out.special = { kind: 'dowLast', dow: dowNum };\n    return out;\n  }\n\n  // Special: day-of-month \"L\" (last day)\n  if (fieldDef.key === 'dom' && /^L/i.test(trimmed)) {\n    const m = trimmed.match(/^L(?:-(\\d+))?$/i);\n    if (!m) throw new CronError(`Invalid \"L\" syntax in day-of-month: \"${trimmed}\"`, fieldIndex);\n    out.special = { kind: 'domLast', offset: m[1] ? parseInt(m[1], 10) : 0 };\n    return out;\n  }\n\n  // Special: day-of-month \"W\" (nearest weekday)\n  if (fieldDef.key === 'dom' && /W$/i.test(trimmed)) {\n    const m = trimmed.match(/^(\\d+)W$/i);\n    if (!m) throw new CronError(`Invalid \"W\" syntax in day-of-month: \"${trimmed}\"`, fieldIndex);\n    const day = parseInt(m[1], 10);\n    if (day < fieldDef.min || day > fieldDef.max) {\n      throw new CronError(`Day-of-month \"${day}W\" out of range (${fieldDef.min}-${fieldDef.max})`, fieldIndex);\n    }\n    out.special = { kind: 'weekday', day: day };\n    return out;\n  }\n\n  // Standard parsing\n  const values = new Set();","sourceCodeStart":48,"sourceCodeEnd":84,"githubUrl":"https://github.com/sickn33/agentic-awesome-skills/blob/58d857988fcfac6986206bca2b2fe223aa437e4b/skills/cron-doctor/scripts/cron-engine.js#L48-L84","documentation":"Error \"Invalid \"L\" syntax in day-of-month: \"${trimmed}\"\" thrown in sickn33/agentic-awesome-skills.","triggerScenarios":"Thrown at skills/cron-doctor/scripts/cron-engine.js:66 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"58d857988fcfac6986206bca2b2fe223aa437e4b","analyzedAt":"2026-08-26T11:55:59.350Z","schemaVersion":2},"datasetVersion":"2026-08-26T14:46:13.012Z"}