[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KKJYNQQTP0SWMW96XKNYJS":3,"skill-same:01M6KKJYNQQTP0SWMW96XKNYJS":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":13,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":42,"updatedAt":43,"install":44,"resources":56},"01M6KKJYNQQTP0SWMW96XKNYJS","typescript-compile-check-resilient-fallback",null,"A resilient workflow for running TypeScript compile checks (tsc --noEmit) that falls back gracefully when npx or direct binary invocations fail, and distinguishes pre-existing errors from newly introduced ones.","AG064\u002FOpenSpace","AG064","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F184930299?v=4","01M6KHVFG7TB73NHX3RDYSTMH2","01M6KHVFMM7XA2PZA9Z83PHS3V",0,"MIT","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Ftypescript-compile-check-resilient-fallback\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31],"typescript","compile","check","fallback","typescript compile check resilient fallback","typescript compile check resilient","workflow","direct","npx","back","binary","errors","for","Existing","2026-11-10 10:12:30",false,"---\nname: typescript-compile-check-resilient-fallback\ndescription: A resilient workflow for running TypeScript compile checks (tsc --noEmit) that falls back gracefully when npx or direct binary invocations fail, and distinguishes pre-existing errors from newly introduced ones.\n---\n\n# TypeScript Compile-Check Resilient Fallback\n\nUse this workflow whenever you need to verify that TypeScript files compile\ncleanly after creating or modifying them, especially in environments where\n`npx` or direct `.\u002Fnode_modules\u002F.bin\u002Ftsc` invocations may return unexpected\nerrors.\n\n---\n\n## Step 1 — Attempt Primary Invocation\n\nRun the compile check with `run_shell` using the standard approach:\n\n```bash\nnpx tsc --noEmit\n```\n\nor, if you already know the project root:\n\n```bash\n.\u002Fnode_modules\u002F.bin\u002Ftsc --noEmit\n```\n\n**Evaluate the result:**\n- If it exits cleanly (exit code 0, no unexpected output) → done.\n- If it exits with **TypeScript diagnostic errors** → proceed to Step 3.\n- If it exits with an **unknown \u002F tool-level error** (e.g., `npx` not found,\n  permission denied, spawn error, unclear non-zero exit unrelated to TS\n  diagnostics) → proceed to Step 2.\n\n---\n\n## Step 2 — Fallback via `shell_agent`\n\nWhen the primary invocation fails with an unknown error, delegate to\n`shell_agent` so it can resolve environment issues automatically:\n\n> Task: \"From the project directory `\u003CPROJECT_DIR>`, run\n> `node node_modules\u002Ftypescript\u002Fbin\u002Ftsc --noEmit` and report all\n> TypeScript diagnostic errors.\"\n\nExample `shell_agent` task string:\n\n```\nFrom \u002Fpath\u002Fto\u002Fproject, run:\n  node node_modules\u002Ftypescript\u002Fbin\u002Ftsc --noEmit\nCapture the full stdout\u002Fstderr output and return it.\n```\n\n`shell_agent` will handle PATH issues, working-directory changes, and\nretry on transient failures automatically.\n\n---\n\n## Step 3 — Filter Pre-Existing Errors\n\nTypeScript projects frequently have pre-existing errors in files you did\n**not** touch. To avoid false regressions:\n\n1. **Identify the baseline error count** for the project (e.g., determined\n   at task start or documented in task context). A common baseline is\n   **11 pre-existing errors** in unrelated files.\n2. **Collect the full diagnostic list** from tsc output.\n3. **Filter** to keep only errors whose file path matches a file you\n   created or modified in this task.\n4. **Evaluate:**\n   - Zero errors in your new\u002Fmodified files → ✅ no regression introduced.\n   - One or more errors in your new\u002Fmodified files → ❌ fix them before\n     proceeding.\n\n### Filtering heuristic (pseudocode)\n\n```\nall_errors   = parse_tsc_output(tsc_stdout)\nmy_files     = [list of files created\u002Fmodified in this task]\nnew_errors   = [e for e in all_errors if e.file in my_files]\n\nif len(new_errors) == 0:\n    print(\"✅ No new TypeScript errors introduced.\")\nelse:\n    for err in new_errors:\n        print(f\"❌ {err.file}:{err.line} — {err.message}\")\n    raise Exception(\"Fix TypeScript errors before continuing.\")\n```\n\n---\n\n## Step 4 — Fix and Re-Run\n\nIf new errors are found:\n1. Fix the errors in your file(s).\n2. Repeat from **Step 1**.\n\n---\n\n## Decision Tree Summary\n\n```\nrun_shell: npx tsc --noEmit\n        │\n        ├─ clean exit ──────────────────────────────► ✅ Done\n        │\n        ├─ TS diagnostic errors ────────────────────► Step 3 (filter)\n        │\n        └─ unknown\u002Ftool error\n                │\n                └─ shell_agent: node ...\u002Ftsc --noEmit\n                        │\n                        ├─ TS diagnostic errors ────► Step 3 (filter)\n                        └─ clean exit ──────────────► ✅ Done\n```\n\n---\n\n## Notes\n\n- Always run tsc from the **project root** (where `tsconfig.json` lives).\n- The `node node_modules\u002Ftypescript\u002Fbin\u002Ftsc` invocation is the most portable\n  fallback because it bypasses `npx`, shell PATH lookups, and binary\n  permission issues entirely.\n- When the baseline error count is unknown, run tsc **before** making any\n  changes and record the count; that becomes your baseline.\n- Only report\u002Fact on errors in files **you own**; never attempt to fix\n  pre-existing errors in third-party or unrelated project files unless\n  explicitly asked.","# TypeScript Compile-Check Resilient Fallback\n\nUse this workflow whenever you need to verify that TypeScript files compile\ncleanly after creating or modifying them, especially in environments where\n`npx` or direct `.\u002Fnode_modules\u002F.bin\u002Ftsc` invocations may return unexpected\nerrors.\n\n---\n\n## Step 1 — Attempt Primary Invocation\n\nRun the compile check with `run_shell` using the standard approach:\n\n```bash\nnpx tsc --noEmit\n```\n\nor, if you already know the project root:\n\n```bash\n.\u002Fnode_modules\u002F.bin\u002Ftsc --noEmit\n```\n\n**Evaluate the result:**\n- If it exits cleanly (exit code 0, no unexpected output) → done.\n- If it exits with **TypeScript diagnostic errors** → proceed to Step 3.\n- If it exits with an **unknown \u002F tool-level error** (e.g., `npx` not found,\n  permission denied, spawn error, unclear non-zero exit unrelated to TS\n  diagnostics) → proceed to Step 2.\n\n---\n\n## Step 2 — Fallback via `shell_agent`\n\nWhen the primary invocation fails with an unknown error, delegate to\n`shell_agent` so it can resolve environment issues automatically:\n\n> Task: \"From the project directory `\u003CPROJECT_DIR>`, run\n> `node node_modules\u002Ftypescript\u002Fbin\u002Ftsc --noEmit` and report all\n> TypeScript diagnostic errors.\"\n\nExample `shell_agent` task string:\n\n```\nFrom \u002Fpath\u002Fto\u002Fproject, run:\n  node node_modules\u002Ftypescript\u002Fbin\u002Ftsc --noEmit\nCapture the full stdout\u002Fstderr output and return it.\n```\n\n`shell_agent` will handle PATH issues, working-directory changes, and\nretry on transient failures automatically.\n\n---\n\n## Step 3 — Filter Pre-Existing Errors\n\nTypeScript projects frequently have pre-existing errors in files you did\n**not** touch. To avoid false regressions:\n\n1. **Identify the baseline error count** for the project (e.g., determined\n   at task start or documented in task context). A common baseline is\n   **11 pre-existing errors** in unrelated files.\n2. **Collect the full diagnostic list** from tsc output.\n3. **Filter** to keep only errors whose file path matches a file you\n   created or modified in this task.\n4. **Evaluate:**\n   - Zero errors in your new\u002Fmodified files → ✅ no regression introduced.\n   - One or more errors in your new\u002Fmodified files → ❌ fix them before\n     proceeding.\n\n### Filtering heuristic (pseudocode)\n\n```\nall_errors   = parse_tsc_output(tsc_stdout)\nmy_files     = [list of files created\u002Fmodified in this task]\nnew_errors   = [e for e in all_errors if e.file in my_files]\n\nif len(new_errors) == 0:\n    print(\"✅ No new TypeScript errors introduced.\")\nelse:\n    for err in new_errors:\n        print(f\"❌ {err.file}:{err.line} — {err.message}\")\n    raise Exception(\"Fix TypeScript errors before continuing.\")\n```\n\n---\n\n## Step 4 — Fix and Re-Run\n\nIf new errors are found:\n1. Fix the errors in your file(s).\n2. Repeat from **Step 1**.\n\n---\n\n## Decision Tree Summary\n\n```\nrun_shell: npx tsc --noEmit\n        │\n        ├─ clean exit ──────────────────────────────► ✅ Done\n        │\n        ├─ TS diagnostic errors ────────────────────► Step 3 (filter)\n        │\n        └─ unknown\u002Ftool error\n                │\n                └─ shell_agent: node ...\u002Ftsc --noEmit\n                        │\n                        ├─ TS diagnostic errors ────► Step 3 (filter)\n                        └─ clean exit ──────────────► ✅ Done\n```\n\n---\n\n## Notes\n\n- Always run tsc from the **project root** (where `tsconfig.json` lives).\n- The `node node_modules\u002Ftypescript\u002Fbin\u002Ftsc` invocation is the most portable\n  fallback because it bypasses `npx`, shell PATH lookups, and binary\n  permission issues entirely.\n- When the baseline error count is unknown, run tsc **before** making any\n  changes and record the count; that becomes your baseline.\n- Only report\u002Fact on errors in files **you own**; never attempt to fix\n  pre-existing errors in third-party or unrelated project files unless\n  explicitly asked.",{"name":5,"description":7},"main","ff671ef61ed6587c49bd54c81cdc751c0b99e363","showcase\u002Fskills\u002Ftypescript-compile-check-resilient-fallback","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace","https:\u002F\u002Fgithub.com\u002FAG064","AG064, E.Mi.\r\n\r\nA person who thinks all the time, yet all they have to think is nothing. I want to improve the world and work on open source projects","2026-10-08 06:53:48",{"source":8,"skillName":5,"commands":45,"prompt":54,"zipAvailable":55},[46,48,51],{"tool":26,"command":47},"npx skills add AG064\u002FOpenSpace --skill typescript-compile-check-resilient-fallback",{"tool":49,"command":50},"bunx","bunx skills add AG064\u002FOpenSpace --skill typescript-compile-check-resilient-fallback",{"tool":52,"command":53},"pnpm","pnpm dlx skills add AG064\u002FOpenSpace --skill typescript-compile-check-resilient-fallback","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Ftypescript-compile-check-resilient-fallback\u002FSKILL.md",true,[57],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},".skill_id","OTHER","其他",57,"https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Ftypescript-compile-check-resilient-fallback\u002F.skill_id",[64,83,100,109,139,155],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":32},"01M6KKMPWA0B5SCCH766F8M5EA","write-special-chars-ts-check","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, plus a reliable TypeScript type-checking step that filters output to only the newly-written files to avoid being misled by pre-existing errors.","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-ts-check\u002FSKILL.md",[],[71,20,72,73,31,74,30,29,75,76,77,78,79,80,81,82,18],"write special chars ts check","write","filters","type-checking","script","output","type","files","only","template","file","python",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":32},"01M6KKMJXVBNVEY3TRK055F4A7","write-special-chars-readback","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, with mandatory post-write verification via read_file and cleanup of \u002Ftmp helper scripts.","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-readback\u002FSKILL.md",[],[90,91,72,80,92,93,81,82,94,95,96,97,98,30,75,99],"readback","write special chars readback","cleanup","read","scripts","verification","via","post","helper","with",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":32},"01M6KKMEGX9M9NC105J0W3Q5B9","write-special-chars-heredoc","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) by using a Python heredoc script executed via shell.","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-heredoc\u002FSKILL.md",[],[72,107,82,30,96,80,108,81,75],"write special chars heredoc","shell",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":120,"publishedAt":32},"01M6KKM8EJ2AATVHZBNB916WT0","worldmonitor-reference","Curated architecture index of the WorldMonitor open-source dashboard. Reference for extracting patterns — vanilla TypeScript, Panel class hierarchy, service layer, CSS grid, API edge functions, refresh scheduler, and 60+ data source integrations.","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fworldmonitor-reference\u002FSKILL.md",[115],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[121,122,123,124,18,125,126,127,128,129,30,130,131,132,133,134,135,136,137,138],"reference","worldmonitor","worldmonitor reference","dashboard","css","architecture","extracting","hierarchy","source","layer","panel","patterns","edge functions","integrations","open","api","data","scheduler",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":32},"01M6KKM39PHYK627F19GE2B9XN","virtual-list","Implement efficient virtual scrolling for rendering large lists with DOM recycling, chunk-based rendering, and performance optimizations","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fvirtual-list\u002FSKILL.md",[],[146,147,148,149,30,150,99,151,152,153,154],"virtual list","list","virtual","chunk","dom","rendering","recycling","implement","performance",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":32},"01M6KKKY7T2P61Y0JH54CDEJKQ","verify-directory-structure","Diagnose and resolve file access issues by first verifying the directory structure.","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fverify-directory-structure\u002FSKILL.md",[],[162,163,164,165,166,167,81,168,169,170],"directory","verify","structure","verify directory structure","access","first","issues","diagnose","file access"]