[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HXCZ2EPA8TZZM7DF6T5CCX":3,"skill-same:01M6HXCZ2EPA8TZZM7DF6T5CCX":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":6,"updatedAt":49,"install":50,"resources":62},"01M6HXCZ2EPA8TZZM7DF6T5CCX","typescript-typecheck-fallback",null,"Reliably run TypeScript type-checking (npx tsc --noEmit) by using shell_agent as a fallback when run_shell fails due to environment or timeout issues.","HKUDS\u002FAgentPilot","HKUDS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F118165258?v=4","01M6HW8VRNZP64G0P4MVJW2KKQ","✨Data Intelligence Lab@HKU✨","01M6HW8VWZVHBRHYH3T330PFWV",8024,"MIT","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fexamples\u002Fmy-daily-monitor\u002Fskills\u002Ftypescript-typecheck-fallback\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"typescript","fallback","typecheck","typescript typecheck fallback","run","issues","shell","environment","npx","as","type","timeout","type-checking","2026-11-10 10:12:30",false,"---\nname: typescript-typecheck-fallback\ndescription: Reliably run TypeScript type-checking (npx tsc --noEmit) by using shell_agent as a fallback when run_shell fails due to environment or timeout issues.\n---\n\n# TypeScript Type-Check with shell_agent Fallback\n\nWhen verifying TypeScript compilation as part of a build or validation workflow, `run_shell` may fail with unknown errors due to shell environment issues, missing PATH entries, timeout constraints, or other transient problems. This skill describes a two-step pattern: attempt the check with `run_shell` first, then fall back to `shell_agent` if it fails.\n\n---\n\n## When to Use\n\n- After creating or modifying TypeScript source files and you need to confirm there are no type errors.\n- As part of a CI-like verification step inside an autonomous workflow.\n- Any time `run_shell` returns an unexpected or unclear error for a `tsc` invocation.\n\n---\n\n## Step-by-Step Pattern\n\n### Step 1 — Attempt with `run_shell` (fast path)\n\nTry the direct command first. This is fast and gives immediate output when the environment is well-configured.\n\n```\nrun_shell: npx tsc --noEmit\n```\n\n**Evaluate the result:**\n- ✅ **Exit code 0, no errors** → Type-check passed. Done.\n- ❌ **Exit code non-zero with TypeScript diagnostics** → Real type errors exist; surface them and fix.\n- ⚠️ **Unknown error, timeout, or no useful output** → Proceed to Step 2.\n\n---\n\n### Step 2 — Fall back to `shell_agent` (reliable path)\n\nWhen `run_shell` fails in an ambiguous or environmental way, delegate to `shell_agent` with a natural-language task. `shell_agent` can autonomously:\n- Locate the correct `npx`\u002F`tsc` binary\n- Retry on transient failures\n- Navigate PATH or permission issues\n- Return a structured summary of any type errors\n\n**Task string to pass to `shell_agent`:**\n\n```\nRun `npx tsc --noEmit` in the project root and report all TypeScript type errors found. If there are no errors, confirm the compilation succeeded. If tsc is not available, attempt to install TypeScript locally with `npm install --save-dev typescript` first.\n```\n\n**Evaluate the result:**\n- ✅ **\"No errors found\" \u002F exit 0** → Type-check passed.\n- ❌ **Type errors listed** → Collect and fix the reported diagnostics, then re-run.\n- ⚠️ **`tsconfig.json` missing** → Ensure the file exists in the project root before re-running.\n\n---\n\n## Decision Flowchart\n\n```\nrun_shell(\"npx tsc --noEmit\")\n        │\n        ├─ success (exit 0) ──────────────────► ✅ PASS\n        │\n        ├─ type errors reported ──────────────► ❌ Fix errors, retry\n        │\n        └─ unknown\u002Fenv error ─────────────────► shell_agent(natural-language task)\n                                                        │\n                                                        ├─ success ───► ✅ PASS\n                                                        └─ errors  ───► ❌ Fix & retry\n```\n\n---\n\n## Example Implementation\n\n```python\n# Pseudo-code for an autonomous agent loop\n\nresult = run_shell(\"npx tsc --noEmit\", timeout=60)\n\nif result.exit_code == 0:\n    print(\"TypeScript check passed.\")\n\nelif result.exit_code != 0 and result.stderr contains \"TS\\d+\":\n    # Real TypeScript diagnostics — surface and fix them\n    raise TypeScriptError(result.stderr)\n\nelse:\n    # Ambiguous failure — delegate to shell_agent\n    shell_agent(\n        task=\"Run `npx tsc --noEmit` in the project root and report all TypeScript \"\n             \"type errors found. If there are no errors, confirm compilation succeeded. \"\n             \"If tsc is not available, install it first with `npm install --save-dev typescript`.\"\n    )\n```\n\n---\n\n## Tips\n\n- **Always have a `tsconfig.json`**: `tsc --noEmit` requires a valid config. If none exists, generate one first with `npx tsc --init`.\n- **Set a reasonable timeout**: TypeScript compilation on large projects can take 30–120 seconds. Give `run_shell` at least `timeout=90`.\n- **Scope to changed files when possible**: Use `--project tsconfig.json` or a path glob to limit what tsc checks if only a subset of files changed.\n- **Prefer `shell_agent` for first-time setups**: If the project environment is freshly created and dependencies may not be fully installed, start with `shell_agent` directly to avoid a predictable `run_shell` failure.\n\n---\n\n## Generalizing Beyond TypeScript\n\nThis same fallback pattern applies to any build\u002Flint\u002Ftype-check command that may be sensitive to shell environment:\n\n| Tool | Primary `run_shell` command | `shell_agent` fallback task |\n|---|---|---|\n| TypeScript | `npx tsc --noEmit` | \"Run npx tsc --noEmit and report errors\" |\n| ESLint | `npx eslint src\u002F` | \"Run npx eslint on the src directory and report lint errors\" |\n| Python mypy | `python -m mypy src\u002F` | \"Run mypy on the src directory and report type errors\" |\n| Go build | `go build .\u002F...` | \"Run go build and report compilation errors\" |\n\nThe core principle: **`run_shell` for speed; `shell_agent` for resilience.**","# TypeScript Type-Check with shell_agent Fallback\n\nWhen verifying TypeScript compilation as part of a build or validation workflow, `run_shell` may fail with unknown errors due to shell environment issues, missing PATH entries, timeout constraints, or other transient problems. This skill describes a two-step pattern: attempt the check with `run_shell` first, then fall back to `shell_agent` if it fails.\n\n---\n\n## When to Use\n\n- After creating or modifying TypeScript source files and you need to confirm there are no type errors.\n- As part of a CI-like verification step inside an autonomous workflow.\n- Any time `run_shell` returns an unexpected or unclear error for a `tsc` invocation.\n\n---\n\n## Step-by-Step Pattern\n\n### Step 1 — Attempt with `run_shell` (fast path)\n\nTry the direct command first. This is fast and gives immediate output when the environment is well-configured.\n\n```\nrun_shell: npx tsc --noEmit\n```\n\n**Evaluate the result:**\n- ✅ **Exit code 0, no errors** → Type-check passed. Done.\n- ❌ **Exit code non-zero with TypeScript diagnostics** → Real type errors exist; surface them and fix.\n- ⚠️ **Unknown error, timeout, or no useful output** → Proceed to Step 2.\n\n---\n\n### Step 2 — Fall back to `shell_agent` (reliable path)\n\nWhen `run_shell` fails in an ambiguous or environmental way, delegate to `shell_agent` with a natural-language task. `shell_agent` can autonomously:\n- Locate the correct `npx`\u002F`tsc` binary\n- Retry on transient failures\n- Navigate PATH or permission issues\n- Return a structured summary of any type errors\n\n**Task string to pass to `shell_agent`:**\n\n```\nRun `npx tsc --noEmit` in the project root and report all TypeScript type errors found. If there are no errors, confirm the compilation succeeded. If tsc is not available, attempt to install TypeScript locally with `npm install --save-dev typescript` first.\n```\n\n**Evaluate the result:**\n- ✅ **\"No errors found\" \u002F exit 0** → Type-check passed.\n- ❌ **Type errors listed** → Collect and fix the reported diagnostics, then re-run.\n- ⚠️ **`tsconfig.json` missing** → Ensure the file exists in the project root before re-running.\n\n---\n\n## Decision Flowchart\n\n```\nrun_shell(\"npx tsc --noEmit\")\n        │\n        ├─ success (exit 0) ──────────────────► ✅ PASS\n        │\n        ├─ type errors reported ──────────────► ❌ Fix errors, retry\n        │\n        └─ unknown\u002Fenv error ─────────────────► shell_agent(natural-language task)\n                                                        │\n                                                        ├─ success ───► ✅ PASS\n                                                        └─ errors  ───► ❌ Fix & retry\n```\n\n---\n\n## Example Implementation\n\n```python\n# Pseudo-code for an autonomous agent loop\n\nresult = run_shell(\"npx tsc --noEmit\", timeout=60)\n\nif result.exit_code == 0:\n    print(\"TypeScript check passed.\")\n\nelif result.exit_code != 0 and result.stderr contains \"TS\\d+\":\n    # Real TypeScript diagnostics — surface and fix them\n    raise TypeScriptError(result.stderr)\n\nelse:\n    # Ambiguous failure — delegate to shell_agent\n    shell_agent(\n        task=\"Run `npx tsc --noEmit` in the project root and report all TypeScript \"\n             \"type errors found. If there are no errors, confirm compilation succeeded. \"\n             \"If tsc is not available, install it first with `npm install --save-dev typescript`.\"\n    )\n```\n\n---\n\n## Tips\n\n- **Always have a `tsconfig.json`**: `tsc --noEmit` requires a valid config. If none exists, generate one first with `npx tsc --init`.\n- **Set a reasonable timeout**: TypeScript compilation on large projects can take 30–120 seconds. Give `run_shell` at least `timeout=90`.\n- **Scope to changed files when possible**: Use `--project tsconfig.json` or a path glob to limit what tsc checks if only a subset of files changed.\n- **Prefer `shell_agent` for first-time setups**: If the project environment is freshly created and dependencies may not be fully installed, start with `shell_agent` directly to avoid a predictable `run_shell` failure.\n\n---\n\n## Generalizing Beyond TypeScript\n\nThis same fallback pattern applies to any build\u002Flint\u002Ftype-check command that may be sensitive to shell environment:\n\n| Tool | Primary `run_shell` command | `shell_agent` fallback task |\n|---|---|---|\n| TypeScript | `npx tsc --noEmit` | \"Run npx tsc --noEmit and report errors\" |\n| ESLint | `npx eslint src\u002F` | \"Run npx eslint on the src directory and report lint errors\" |\n| Python mypy | `python -m mypy src\u002F` | \"Run mypy on the src directory and report type errors\" |\n| Go build | `go build .\u002F...` | \"Run go build and report compilation errors\" |\n\nThe core principle: **`run_shell` for speed; `shell_agent` for resilience.**",{"name":5,"description":7},"main","6b84b0689ca0d9e7b1e4061188ff6b60758e0f8a","openspace\u002Fexamples\u002Fmy-daily-monitor\u002Fskills\u002Ftypescript-typecheck-fallback",941,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot","https:\u002F\u002Fgithub.com\u002FHKUDS","https:\u002F\u002Fsites.google.com\u002Fview\u002Fchaoh","2026-11-12 22:26:39",{"source":8,"skillName":5,"commands":51,"prompt":60,"zipAvailable":61},[52,54,57],{"tool":32,"command":53},"npx skills add HKUDS\u002FAgentPilot --skill typescript-typecheck-fallback",{"tool":55,"command":56},"bunx","bunx skills add HKUDS\u002FAgentPilot --skill typescript-typecheck-fallback",{"tool":58,"command":59},"pnpm","pnpm dlx skills add HKUDS\u002FAgentPilot --skill typescript-typecheck-fallback","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fexamples\u002Fmy-daily-monitor\u002Fskills\u002Ftypescript-typecheck-fallback\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},".skill_id","OTHER","其他",43,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fexamples\u002Fmy-daily-monitor\u002Fskills\u002Ftypescript-typecheck-fallback\u002F.skill_id",[70,89,108,129,153,173],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":37},"01M6HYB297NDABRERJRVG0K8R0","agentpilot","Set up AgentPilot and use its single entry to prepare missing inputs and run configured RSI experiments. Use when the user requests AgentPilot installation or work with AgentPilot.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fplugins\u002Fagentpilot\u002Fskills\u002Fagentpilot\u002FSKILL.md",[],[72,77,78,79,80,81,82,83,84,85,86,87,28,88],"prepare","requests","with","missing","installation","rsi","up","use","user","work","SET","experiments",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":37},"01M6HYAYWXTTE1J7DJM0MFNQ4H","remember","Review auto-memory entries and propose promotions to OPENSPACE.md, OPENSPACE.local.md, or retained auto-memory topics; detect duplicates, stale facts, conflicts, and ambiguous entries before making changes.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fskills\u002Fremember\u002FSKILL.md",[],[91,96,97,98,99,100,101,102,103,104,105,106,107],"memory","review","auto","openspace","changes","facts","detect","entries","local","conflicts","stale","duplicates",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":115,"publishedAt":37},"01M6HYAVMPM4SBDV60R2B5HPV8","skill-discovery","Search reusable OpenSpace skills locally, and browse cloud packages step by step when a cloud skill may help. Reusing proven skills saves tokens, improves reliability, and extends your capabilities beyond built-in tools.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fhost_skills\u002Fskill-discovery\u002FSKILL.md",[114],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[116,117,118,99,119,120,121,122,123,124,125,126,127,128],"skill discovery","discovery","reusable","step by step","tokens","packages","help","cloud","reliability","capabilities","browse","search","Tools",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":37},"01M6HYAR811B3RB0M50RBEDGN6","delegate-task","Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fhost_skills\u002Fdelegate-task\u002FSKILL.md",[135],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[137,138,139,99,140,141,142,143,144,118,98,84,145,146,147,148,149,150,151,152],"delegate","task","delegate task","time","improve","desktop automation","worker","community","autonomous","tool","stack","for","share","tasks","automation","MCP",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":37},"01M6HYAM9FSGV6E52AYENDQXYH","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\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-ts-check\u002FSKILL.md",[],[160,161,162,34,163,164,165,166,167,168,24,169,170,36,148,171,172],"write special chars ts check","write","check","files","filters","only","template","file","python","output","Existing","errors","script",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":37},"01M6HYAH05HGV7SVWSVR8PJRQD","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\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-readback\u002FSKILL.md",[],[180,181,161,79,148,172,182,183,184,185,186,166,167,187,188,168],"write special chars readback","readback","helper","post","via","scripts","read","verification","cleanup"]