SYMBOL INDEX (25 symbols across 2 files) FILE: scripts/validate-template.mjs function addError (line 14) | function addError(message) { function addWarning (line 18) | function addWarning(message) { function pathExists (line 22) | async function pathExists(targetPath) { function ensureDirectory (line 31) | async function ensureDirectory(targetPath, context) { function readJsonFile (line 45) | async function readJsonFile(filePath, context) { function normalizeNewlines (line 62) | function normalizeNewlines(content) { function parseFrontmatter (line 66) | function parseFrontmatter(content) { function walkFiles (line 97) | async function walkFiles(dirPath) { function isSafeRelativePath (line 117) | function isSafeRelativePath(value) { function extractPathValues (line 131) | function extractPathValues(value) { function validateReferencedPath (line 154) | async function validateReferencedPath(pluginDir, fieldName, pathValue, p... function validateFrontmatterFile (line 173) | async function validateFrontmatterFile(filePath, componentName, required... function validateComponentFrontmatter (line 190) | async function validateComponentFrontmatter(pluginDir, pluginName) { function resolveMarketplaceSource (line 235) | function resolveMarketplaceSource(source, pluginRoot) { function validateOnePlugin (line 250) | async function validateOnePlugin(pluginDir, pluginName) { function main (line 285) | async function main() { function summarizeAndExit (line 403) | function summarizeAndExit() { FILE: skills/generate-status-report/scripts/jql_builder.py function sanitize_jql_value (line 12) | def sanitize_jql_value(value: str) -> str: function sanitize_jql_list (line 39) | def sanitize_jql_list(values: List[str]) -> List[str]: function build_project_query (line 52) | def build_project_query( function build_blocked_query (line 114) | def build_blocked_query( function build_completed_query (line 129) | def build_completed_query( function build_in_progress_query (line 147) | def build_in_progress_query( function build_risk_query (line 164) | def build_risk_query( function build_unassigned_query (line 184) | def build_unassigned_query(