[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KM3AXC2539PENYVZJYKCP9":3,"skill-same:01M6KM3AXC2539PENYVZJYKCP9":74},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6KM3AXC2539PENYVZJYKCP9","ns-typescript",null,"TypeScript overlay for ns-style projects. Use when editing or reviewing TS in this repo: tsconfig baseline, pnpm\u002FVitest\u002Foxlint\u002Foxfmt\u002Fnative tsc commands, relative .ts imports, workspace subpath exports, and the exactOptionalPropertyTypes spread idiom. Repo-specific enforcement (test lanes, time seams, style guard) lives in the host repo's AGENTS.md.","nseng-ai\u002Fns","nseng-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273792438?v=4","01M6KKN105A07WPV2TZKZXZGQF","nseng.ai","01M6KKN14MDSR9VF9739AWXG8M",2,"MIT","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"ns typescript","typescript","time","imports","alternatives","for","native","import","oxlint","style","host","references","enforcement","use","repo","editing","projects","vitest","guard","test","2026-11-10 10:12:30",false,"---\nname: ns-typescript\ndescription: \"TypeScript overlay for ns-style projects. Use when editing or reviewing TS in this repo: tsconfig baseline, pnpm\u002FVitest\u002Foxlint\u002Foxfmt\u002Fnative tsc commands, relative .ts imports, workspace subpath exports, and the exactOptionalPropertyTypes spread idiom. Repo-specific enforcement (test lanes, time seams, style guard) lives in the host repo's AGENTS.md.\"\nreferences:\n  - references\u002Finternal-import-alternatives\n---\n\n# ns-typescript\n\nFollow `typescript-style` for how TypeScript code reads. This skill is the project overlay:\ntoolchain, compiler baseline, import conventions, and construction idioms. It is written for reuse\nin other projects that adopt the same stack; repo-specific enforcement — test-lane hard gates, the\ntime-seam package inventory, and the style-guard lane — is owned by the host repository's agent\ninstructions (in ns: `ts\u002FAGENTS.md`).\n\nLoad this after `typescript-style` whenever the task touches TypeScript in this repository.\n\n## Toolchain baseline\n\n- Package manager: pnpm 11 in `ts\u002F`.\n- Runtime: Node 24.12 or newer.\n- Dependency governance: pnpm catalog plus Syncpack via `just ts-deps-check`.\n- Default tests: Vitest 4 via `pnpm --dir ts run test` or `just ts-test`.\n- Development typecheck: stable native TypeScript 7 \u002F `tsc`, via `pnpm --dir ts run check` or `just ts-check`.\n- Formatting: oxfmt via `pnpm --dir ts run fmt:check` \u002F `just ts-format-check`; autofix with `pnpm --dir ts run fmt` \u002F `just ts-format-fix`.\n- Linting: oxlint via `pnpm --dir ts run lint` \u002F `just ts-lint`; autofix with `pnpm --dir ts run lint:fix` \u002F `just ts-lint-fix`.\n- Repo Markdown\u002FTOML formatting remains dprint via `dprint check` \u002F `just dprint-check`; autofix with `just dprint-fix`.\n\n## Compiler baseline\n\n`ts\u002Ftsconfig.json` is intentionally strict and strip-only; treat it as the project contract. The\nflags this skill gives behavioral guidance about:\n\n- `exactOptionalPropertyTypes: true`\n- `noUncheckedIndexedAccess: true`\n- `erasableSyntaxOnly: true`\n- `noUnusedLocals: true` \u002F `noUnusedParameters: true`\n\nPrefer small, complete changes that leave no dead scaffolding.\n\n## Import convention\n\n- Intra-package imports are relative and include the explicit `.ts` suffix:\n  `..\u002Ffailures.ts`, `.\u002Fmodels.ts`.\n- Cross-package imports use curated workspace package exports, for example\n  `@nseng-ai\u002Ffoundation\u002Fprimitives`, `@nseng-ai\u002Ffoundation\u002Fexec`, and `@nseng-ai\u002Fclinkr\u002Fraw`.\n- Do not deep-import another package's `src\u002F` tree.\n- Bring project-owned types used in type signatures into scope with a top-level `import type`. Do not\n  embed import type expressions such as `function load(): import(\".\u002Fmodule.ts\").LoadResult` or\n  `type Item = import(\".\u002Fmodule.ts\").Item` in signatures. This does not prohibit runtime dynamic\n  imports such as `await import(\".\u002Fmodule.ts\")` when lazy or optional loading is intentional.\n- Do not add root-only barrels that hide ownership. Prefer explicit subpath exports for public package\n  surfaces.\n\nThe `#`-subpath import alternative is documented in\n`references\u002Finternal-import-alternatives.md`; it is not the current standard and should not be migrated\nopportunistically.\n\n## Optional properties under `exactOptionalPropertyTypes`\n\nWhen conditionally including an optional property, use object spread to omit the key entirely when the\nvalue is `undefined`:\n\n```ts\nconst options = {\n  cwd: request.cwd,\n  ...(request.env === undefined ? {} : { env: request.env }),\n};\n```\n\nThis is intentional. Do not copy rules from projects that ban this pattern unless they also share\nns `exactOptionalPropertyTypes` contract. Under this setting, `{ env: undefined }` is not equivalent\nto omitting `env`.\n\nPreferred review fix: when a finding is caused by `prop: maybeUndefined`, rewrite construction to omit\nthe key with the conditional spread above instead of widening the field type just to make the object\nliteral type-check or silence review.\n\nUse these type shapes deliberately:\n\n- `foo?: T` means omission is the state; if the key is present, the value is a real `T`.\n- `foo: T | undefined` means the key is part of the shape, but the value may be unavailable.\n- Raw `foo?: T | undefined` is suspicious unless explicit present-key `undefined` is a meaningful contract.\n- Permanent explicit-undefined support should be expressed as `foo?: ExplicitUndefined\u003CReason, T>` from\n  `@nseng-ai\u002Ffoundation\u002Fprimitives`.\n\n`ExplicitUndefined\u003CReason, T>` is for permanent API\u002Finput\u002Fcompatibility\u002Fexternal contracts, such as env\nmaps, abort-signal seams, external schema mirrors, null-tolerant inputs, key-event payloads,\noverload selectors, or deliberate DI seams. It is not a convenience escape hatch for object\nconstruction sites.\n\nReview guidance:\n\n- For domain, context, result, command metadata, registry\u002Fcatalog entry, and durable record objects,\n  prefer `foo?: T` plus omission on construction; question raw `?: T | undefined` unless explicit\n  `undefined` is a meaningful present-key state.\n- If every consumer expects the property to exist and checks the value, prefer `foo: T | undefined`.\n- Option\u002Finput\u002Foverride\u002Fcompatibility bags may legitimately accept explicit `undefined`; permanent\n  explicit-`undefined` support uses `ExplicitUndefined\u003CReason, T>`.\n\n## Encoded contracts over ambient bags\n\nPer the `typescript-style` ambient-bags rule (`core-rules.md`):\nin ns, `ctx.extensions` dynamic data remains available only for genuinely project-local or\nextension-owned dynamic data. Do not use it to transport first-party SDK or ns-extension values\nbetween packages; promote those values to typed SDK fields, extension package API parameters, or\ngateway seams. For\nexample, prefer `ctx.renderCapabilities: RenderCapabilities` over\n`ctx.extensions?.[\"ns.clinkr.caps\"]`.\n\n## Time seams\n\nProduction code does not hand-roll raw timers or wall-clock reads: inject clock and timer-scheduler\nseams and drive them with manual test helpers in default tests. The host repo's AGENTS.md owns the\npackage-level seam inventory and the enforcement ban (in ns: `ts\u002FAGENTS.md` \"Time seams\",\n`NS_TS_BAN_RAW_PRODUCTION_TIMERS`).\n\n## Test lanes and shared-cache safety\n\nDefault tests are fake-driven. Integration tests retain actual external-system compatibility. Tests\nwhose subject genuinely requires ambient product\u002Fruntime module or process state belong in the isolated\nlane. A separate sanity lane may invoke a concrete real adapter while mocking only low-level runtime or\nvendor modules when code-unchanged adapter testing requires it; it must use `isolate: true` and must not\nmock domain\u002Fworkflow logic, semantic gateways, or the adapter subject. Isolation is not an\nadapter-mocking technique, an integration synonym, or a general slow-test lane. First prefer injected\ndependencies, gateways, manual time helpers, explicit env\u002Fcwd, or a narrow owned lifecycle seam. The\nshared-lane hard bans, per-ban remediation, exact paths and commands, and CI split are owned by the host\nrepo's agent instructions and testing docs (in ns: `ts\u002FAGENTS.md` and `ts\u002FTESTING.md`).\n\n## Style-guard enforcement\n\nRule semantics and preferred fixes for the mechanical hard bans — `as unknown as` laundering,\nfirst-party import aliases, empty interface extension, imported-binding local aliases — live in\n`typescript-style` (`core-rules.md`, `checklist.md`). The host repo's AGENTS.md owns the enforced-id\ninventory and the guard-lane command (in ns: `ts\u002FAGENTS.md` \"TypeScript style guard\",\n`just ts-test-typescript-style-guard`).\n\nRun the TypeScript validation gates before declaring TypeScript work done:\n\n```bash\njust ts-deps-check\njust ts-format-check\njust ts-lint\njust ts-check\njust ts-test\njust ts-test-integration\njust ts-test-isolated\njust ts-test-sanity\njust ts-test-typescript-style-guard\n```\n","# ns-typescript\n\nFollow `typescript-style` for how TypeScript code reads. This skill is the project overlay:\ntoolchain, compiler baseline, import conventions, and construction idioms. It is written for reuse\nin other projects that adopt the same stack; repo-specific enforcement — test-lane hard gates, the\ntime-seam package inventory, and the style-guard lane — is owned by the host repository's agent\ninstructions (in ns: `ts\u002FAGENTS.md`).\n\nLoad this after `typescript-style` whenever the task touches TypeScript in this repository.\n\n## Toolchain baseline\n\n- Package manager: pnpm 11 in `ts\u002F`.\n- Runtime: Node 24.12 or newer.\n- Dependency governance: pnpm catalog plus Syncpack via `just ts-deps-check`.\n- Default tests: Vitest 4 via `pnpm --dir ts run test` or `just ts-test`.\n- Development typecheck: stable native TypeScript 7 \u002F `tsc`, via `pnpm --dir ts run check` or `just ts-check`.\n- Formatting: oxfmt via `pnpm --dir ts run fmt:check` \u002F `just ts-format-check`; autofix with `pnpm --dir ts run fmt` \u002F `just ts-format-fix`.\n- Linting: oxlint via `pnpm --dir ts run lint` \u002F `just ts-lint`; autofix with `pnpm --dir ts run lint:fix` \u002F `just ts-lint-fix`.\n- Repo Markdown\u002FTOML formatting remains dprint via `dprint check` \u002F `just dprint-check`; autofix with `just dprint-fix`.\n\n## Compiler baseline\n\n`ts\u002Ftsconfig.json` is intentionally strict and strip-only; treat it as the project contract. The\nflags this skill gives behavioral guidance about:\n\n- `exactOptionalPropertyTypes: true`\n- `noUncheckedIndexedAccess: true`\n- `erasableSyntaxOnly: true`\n- `noUnusedLocals: true` \u002F `noUnusedParameters: true`\n\nPrefer small, complete changes that leave no dead scaffolding.\n\n## Import convention\n\n- Intra-package imports are relative and include the explicit `.ts` suffix:\n  `..\u002Ffailures.ts`, `.\u002Fmodels.ts`.\n- Cross-package imports use curated workspace package exports, for example\n  `@nseng-ai\u002Ffoundation\u002Fprimitives`, `@nseng-ai\u002Ffoundation\u002Fexec`, and `@nseng-ai\u002Fclinkr\u002Fraw`.\n- Do not deep-import another package's `src\u002F` tree.\n- Bring project-owned types used in type signatures into scope with a top-level `import type`. Do not\n  embed import type expressions such as `function load(): import(\".\u002Fmodule.ts\").LoadResult` or\n  `type Item = import(\".\u002Fmodule.ts\").Item` in signatures. This does not prohibit runtime dynamic\n  imports such as `await import(\".\u002Fmodule.ts\")` when lazy or optional loading is intentional.\n- Do not add root-only barrels that hide ownership. Prefer explicit subpath exports for public package\n  surfaces.\n\nThe `#`-subpath import alternative is documented in\n`references\u002Finternal-import-alternatives.md`; it is not the current standard and should not be migrated\nopportunistically.\n\n## Optional properties under `exactOptionalPropertyTypes`\n\nWhen conditionally including an optional property, use object spread to omit the key entirely when the\nvalue is `undefined`:\n\n```ts\nconst options = {\n  cwd: request.cwd,\n  ...(request.env === undefined ? {} : { env: request.env }),\n};\n```\n\nThis is intentional. Do not copy rules from projects that ban this pattern unless they also share\nns `exactOptionalPropertyTypes` contract. Under this setting, `{ env: undefined }` is not equivalent\nto omitting `env`.\n\nPreferred review fix: when a finding is caused by `prop: maybeUndefined`, rewrite construction to omit\nthe key with the conditional spread above instead of widening the field type just to make the object\nliteral type-check or silence review.\n\nUse these type shapes deliberately:\n\n- `foo?: T` means omission is the state; if the key is present, the value is a real `T`.\n- `foo: T | undefined` means the key is part of the shape, but the value may be unavailable.\n- Raw `foo?: T | undefined` is suspicious unless explicit present-key `undefined` is a meaningful contract.\n- Permanent explicit-undefined support should be expressed as `foo?: ExplicitUndefined\u003CReason, T>` from\n  `@nseng-ai\u002Ffoundation\u002Fprimitives`.\n\n`ExplicitUndefined\u003CReason, T>` is for permanent API\u002Finput\u002Fcompatibility\u002Fexternal contracts, such as env\nmaps, abort-signal seams, external schema mirrors, null-tolerant inputs, key-event payloads,\noverload selectors, or deliberate DI seams. It is not a convenience escape hatch for object\nconstruction sites.\n\nReview guidance:\n\n- For domain, context, result, command metadata, registry\u002Fcatalog entry, and durable record objects,\n  prefer `foo?: T` plus omission on construction; question raw `?: T | undefined` unless explicit\n  `undefined` is a meaningful present-key state.\n- If every consumer expects the property to exist and checks the value, prefer `foo: T | undefined`.\n- Option\u002Finput\u002Foverride\u002Fcompatibility bags may legitimately accept explicit `undefined`; permanent\n  explicit-`undefined` support uses `ExplicitUndefined\u003CReason, T>`.\n\n## Encoded contracts over ambient bags\n\nPer the `typescript-style` ambient-bags rule (`core-rules.md`):\nin ns, `ctx.extensions` dynamic data remains available only for genuinely project-local or\nextension-owned dynamic data. Do not use it to transport first-party SDK or ns-extension values\nbetween packages; promote those values to typed SDK fields, extension package API parameters, or\ngateway seams. For\nexample, prefer `ctx.renderCapabilities: RenderCapabilities` over\n`ctx.extensions?.[\"ns.clinkr.caps\"]`.\n\n## Time seams\n\nProduction code does not hand-roll raw timers or wall-clock reads: inject clock and timer-scheduler\nseams and drive them with manual test helpers in default tests. The host repo's AGENTS.md owns the\npackage-level seam inventory and the enforcement ban (in ns: `ts\u002FAGENTS.md` \"Time seams\",\n`NS_TS_BAN_RAW_PRODUCTION_TIMERS`).\n\n## Test lanes and shared-cache safety\n\nDefault tests are fake-driven. Integration tests retain actual external-system compatibility. Tests\nwhose subject genuinely requires ambient product\u002Fruntime module or process state belong in the isolated\nlane. A separate sanity lane may invoke a concrete real adapter while mocking only low-level runtime or\nvendor modules when code-unchanged adapter testing requires it; it must use `isolate: true` and must not\nmock domain\u002Fworkflow logic, semantic gateways, or the adapter subject. Isolation is not an\nadapter-mocking technique, an integration synonym, or a general slow-test lane. First prefer injected\ndependencies, gateways, manual time helpers, explicit env\u002Fcwd, or a narrow owned lifecycle seam. The\nshared-lane hard bans, per-ban remediation, exact paths and commands, and CI split are owned by the host\nrepo's agent instructions and testing docs (in ns: `ts\u002FAGENTS.md` and `ts\u002FTESTING.md`).\n\n## Style-guard enforcement\n\nRule semantics and preferred fixes for the mechanical hard bans — `as unknown as` laundering,\nfirst-party import aliases, empty interface extension, imported-binding local aliases — live in\n`typescript-style` (`core-rules.md`, `checklist.md`). The host repo's AGENTS.md owns the enforced-id\ninventory and the guard-lane command (in ns: `ts\u002FAGENTS.md` \"TypeScript style guard\",\n`just ts-test-typescript-style-guard`).\n\nRun the TypeScript validation gates before declaring TypeScript work done:\n\n```bash\njust ts-deps-check\njust ts-format-check\njust ts-lint\njust ts-check\njust ts-test\njust ts-test-integration\njust ts-test-isolated\njust ts-test-sanity\njust ts-test-typescript-style-guard\n```\n",{"name":5,"references":44,"description":7},[45],"references\u002Finternal-import-alternatives","master","44a56f0d543f274b42239091b35fe4d23855f6b3","skills\u002Finternal\u002Ftypescript\u002Fns-typescript",0,"https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns","https:\u002F\u002Fgithub.com\u002Fnseng-ai","Keeping the clankers in check: Nonslop Engineering for AI","2026-10-02 12:48:53",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add nseng-ai\u002Fns --skill ns-typescript",{"tool":60,"command":61},"bunx","bunx skills add nseng-ai\u002Fns --skill ns-typescript",{"tool":63,"command":64},"pnpm","pnpm dlx skills add nseng-ai\u002Fns --skill ns-typescript","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Finternal-import-alternatives.md","REFERENCE","参考文档",1596,"https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript\u002Freferences\u002Finternal-import-alternatives.md",[75,98,125,148,159,185],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":39},"01M6KM3VZ7JC4S6R4KATJ368EH","pr-make-accountable","Interview a PR author to establish shared understanding of intent and design decisions, then co-author the What \u002F Why \u002F Changes PR body with opt-in Requested reviewer focus.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fpublic\u002Fprs\u002Fpr-make-accountable\u002FSKILL.md",[],[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],"pr make accountable","pr","make","true","with","changes","pr body","interview","co","shared","focus","intent","design","why","reviewer","decisions",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":39},"01M6KM3NZCZ86VJ91RSVTRGTJW","typescript-style","Opinionated style guide for strict, portable TypeScript. Use when writing, designing, or reviewing TypeScript: type design, boundary validation, error handling, module architecture, and review discipline.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Ftypescript-style\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[20,28,110,111,32,112,113,114,115,116,117,118,94,119,120,121,122,123,124,24],"typescript style","architecture","README","Rules","system","error handling","core","review","writing","error-handling","study","module","error","case-study","style guide",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":134,"publishedAt":39},"01M6KM3HNY4WY42KMYRPS6KEJZ","typescript-fake-driven-testing","TypeScript fake-driven testing architecture. Use when writing or reviewing TS code with external dependencies, gateway interfaces, real adapters, in-memory fakes, or CLI scenario tests.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Ftypescript-fake-driven-testing\u002FSKILL.md",[131],{"categoryNo":132,"categoryName":133,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000008","测试与质量",[135,136,137,20,138,139,140,86,141,142,143,32,144,145,111,146,147,118],"typescript fake driven testing","fake driven testing","driven","testing","tests","memory","Adapters","scenario","dependencies","gateway","code","in-memory","cli",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":39},"01M6KM36Y5KZ5V48M58MT42AHM","ns-typescript-style-tripwire","Invoke the ns TypeScript style Tripwire against a supplied diff or current branch.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript-style-tripwire\u002FSKILL.md",[],[155,28,156,20,85,157,158],"ns typescript style tripwire","tripwire","diff","branch",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":168,"publishedAt":39},"01M6KM313HANS0AV181X37ZM45","skill-management","Manage skills with `npx skills`: add, edit, remove, rename, update, or list skills (local or GitHub), and the nested `skills\u002F\u003Cdisposition>\u002F...\u002F\u003Cname>\u002F` \u002F flat `.agents\u002Fskills\u002F` layout conventions.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Fskill-system\u002Fskill-management\u002FSKILL.md",[165],{"categoryNo":166,"categoryName":167,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000023","Skill与智能体开发",[169,170,171,172,173,174,175,86,176,177,57,178,179,157,180,181,182,183,85,184],"management","skill management","manage","mv","mkdir","ls","ln","cat","local","readlink","nested","remove","Bash","github","lock","rg",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":39},"01M6KM2XHJFVATD95A6QSWPM51","review-thermonuclear-review","Invoke the Thermonuclear Review review against a supplied diff or current branch.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Freview-system\u002Freview-thermonuclear-review\u002FSKILL.md",[],[117,192,193,85,157,158],"thermonuclear","review thermonuclear review"]