[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KKXTAPCM205SYA2NSS3BVV":3,"skill-same:01M6KKXTAPCM205SYA2NSS3BVV":65},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":58},"01M6KKXTAPCM205SYA2NSS3BVV","objective-refresh",null,"Verified rebaseline of active Objective records — refreshes what the current branch or trunk evidences; closes an Objective whose completion criteria are met unless it explicitly requires a final evidence-gathering step; never commits.","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\u002Fincubating\u002Fobjectives\u002Fobjective-refresh\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31],"refresh","objective refresh","commits","branch","never","evidence","what the","active","records","it","true","verified","evidence-gathering","2026-11-10 10:12:30",false,"---\nname: objective-refresh\ndisable-model-invocation: true\ndescription: \"Verified rebaseline of active Objective records — refreshes what the current branch or trunk evidences; closes an Objective whose completion criteria are met unless it explicitly requires a final evidence-gathering step; never commits.\"\n---\n\n# objective-refresh\n\nRebaseline active Objective records against ground truth. Read the `objective` umbrella skill first for shared vocabulary, storage layout, required headings, and Semantic Update rules; this skill does not restate them.\n\nOne absolute governs every run:\n\n- **Never commit.** No `git commit`, no staging. Edits stay uncommitted in the worktree and the report says what changed; the user decides how to land it.\n\nClosure is the default when done — step 10 owns the inline-close mechanics and the single hold-back condition (`closure-ready`).\n\n## Select targets\n\nSelection is mechanical — never ask a scope question:\n\n- **Explicit slug(s) or path(s)** → refresh exactly those. Paths must resolve under `.ns\u002Fobjectives\u002F\u003Cslug>\u002F`. On a feature branch, a named slug with no branch evidence is reported `not-owned` rather than silently rebaselined against trunk state — unless the user clearly asked for a trunk-style rebaseline of that slug.\n- **No slug, feature branch** → the union of slugs with committed or uncommitted Objective evidence:\n\n  ```bash\n  git -C \"$WT\" diff --name-only \u003Ctrunk>...HEAD -- .ns\u002Fobjectives\u002F\n  git -C \"$WT\" status --porcelain -- .ns\u002Fobjectives\u002F\n  ```\n\n  Reduce paths to slugs. Empty union → report that the branch evidences no Objective records and stop without writing.\n- **No slug, trunk** → every active open Objective from `ns objective list --names`.\n\n`WT` is the current working directory unless the caller names another worktree. Every git operation uses `git -C \"$WT\"`; never check out another branch. Stop if `HEAD` is detached (`git -C \"$WT\" symbolic-ref --quiet --short HEAD` fails). Trunk is `gt trunk` when available, else the repo's configured default branch; if the sources disagree, stop and ask.\n\n**Baseline.** On a feature branch the baseline is `git -C \"$WT\" merge-base \u003Ctrunk> HEAD` and the evidence window is `\u003Cbaseline>..HEAD` plus uncommitted worktree state; a slug is also in scope when the user points at branch changes that contradict its claims. On trunk there is no baseline — verify against `HEAD`. There are no refresh commits and no commit-message markers anywhere: due-ness is content-level, so a record that already matches its verified contract yields no write.\n\n## Refresh loop\n\nProcess one slug at a time. The authoring move is a from-scratch rewrite driven by a **contract** — extract, verify, rewrite, diff — never paragraph patching. Frame each slug as: on a feature branch, \"if this branch landed now, what should this record say on trunk?\"; on trunk, \"what should this record say about landed ground truth?\". Use `objective-update`'s landed-state writing semantics as the content model.\n\nUncommitted Objective edits are input, not a stop: worktree content, committed plus uncommitted, is the current record. Note which slugs were already dirty, for the report.\n\nWrite invariants, in addition to the never-commit absolute:\n\n- Edit only the selected Objective directories, except for the shared Objective exceptions: mirrored edge mutations may edit counterpart frontmatter, and closing a slug inline (step 10) must propagate semantic impact to every affected edge-connected Objective per `objective-close`, including counterpart durable tracking and new counterpart-local Semantic Updates when warranted.\n- For `updates\u002F`, follow the `objective` umbrella skill's immutable Semantic Update rule: refreshes may add new update files, not change old ones.\n- Never move, delete, rename, or recreate an Objective slug directory.\n\nPer slug:\n\n1. **Read the record.** `ns objective exec read-objective \u003Cslug> --format md` for deterministic inventory and closed-marker state; read `objective.md`, `roadmap.md`, and recent `updates\u002F` as source material.\n2. **Gather evidence** over the window:\n\n   ```bash\n   git -C \"$WT\" log --oneline \u003Cbaseline>..HEAD -- .ns\u002Fobjectives\u002F\u003Cslug>\u002F\n   git -C \"$WT\" diff \u003Cbaseline>..HEAD -- .ns\u002Fobjectives\u002F\u003Cslug>\u002F\n   git -C \"$WT\" diff -- .ns\u002Fobjectives\u002F\u003Cslug>\u002F\n   ```\n\n   On trunk, skip the range probes and verify against `HEAD` plus worktree state.\n3. **Extract the contract**: durable purpose, boundaries, completion criteria, assumptions\u002Frisks, open questions; progress (done, active, parked, closure-adjacent, remaining roadmap shape); every material claim by category; and stale or suspect text that must not be carried forward as fact.\n4. **Verify the contract** claim by claim, per Verify claims below.\n5. **Classify**: `verified` (contract supported, or weakened into assumptions\u002Fopen questions), `stale-rebaselined` (a false claim was corrected, parked, or narrowed), or `skipped-unverified` (important claims remain unverifiable and unsafe to rewrite without the user).\n6. **Rewrite `objective.md` from scratch** when the verified contract changes durable narrative, scope, criteria, assumptions\u002Frisks, or open questions, or shows existing prose stale. Never preserve old wording by inertia.\n   - **Blocked Sentence is in scope** (open records; step 10 owns the closure case). When the record's `blocked:` sentence gates on a condition the verified contract shows resolved — most commonly a named Objective that is verifiably closed — clear or reword the sentence as part of the rewrite and carry the decisive evidence into the Semantic Update. Leave it verbatim only when the evidence is ambiguous, and then say so explicitly in the report instead of silently deferring. Edges stay in place either way.\n7. **Rewrite `roadmap.md` from scratch** when active work shape changes: ordered guidance, checkbox state (`[ ]`, `[~]`, `[x]` only), row notes, completion evidence, parked work.\n8. **Contract-diff.** Compare the rewrite against the extracted contract line by line: every verified purpose, boundary, progress fact, roadmap item, assumption, open question, and parked item is present or intentionally omitted with a stated reason, and the umbrella's required headings survive. Dropped or softened meaning is a bug — fix it before moving on.\n9. **Re-derive `orientation.md`** when one exists, per the umbrella's re-derivation rule; add one when the verified contract shows the Objective became orienting (its direction now binds unrelated agents). Never drop one.\n10. **Close when finished.** If the verified contract shows the completion criteria met and no material open work, close inline per the full `objective-close` semantics. The closure evidence goes in the selected Objective's Semantic Update below. Report `closure-ready` without closing only when the Objective explicitly requires a final evidence-gathering step this refresh has not run.\n    - **Closing inline carries `objective-close`'s connected-Objective propagation, not just its file mechanics.** Run that skill's per-counterpart disposition procedure against each edge-connected Objective. After any frontmatter edit, run `ns objective check --all` and fix every structural error before continuing.\n11. **Append at most one timestamped Semantic Update per changed Objective** when the refresh or close propagation records a meaningful finding, decision, blocker, risk change, completion event, plan change, follow-up, closure, or rebaseline. The selected Objective's update carries the decisive evidence and provenance breadcrumb below; each affected counterpart gets its own update describing only that counterpart's impact. Existing updates remain immutable.\n\n    ```text\n    Provenance: objective-refresh basis target=\u003Ctarget-sha-or-ref> from=\u003Cmerge-base-or-trunk-HEAD>\n    ```\n\n    No meaningful durable change, or a contract you cannot trust? No filler: leave the slug unchanged and report `skipped-ambiguous` \u002F `skipped-unverified`.\n\n## Verify claims\n\nVerification is forensic: presume every material claim false until evidence proves it.\n\nMaterial claims: source paths, symbols, commands, packages, workflows, PRs, branches, tests, docs, ADRs, Objective slugs, status words, scope boundaries, non-goals, dependencies, risks, assumptions, completion evidence, roadmap rationale. Status words include \"exists\", \"gone\", \"current\", \"already\", \"now\", \"still\", \"remaining\", \"implemented\", \"deleted\", \"covered\", \"tested\", \"passing\", \"legacy\", \"core\", \"salvaged\", \"owned\", and \"deferred\".\n\nMatch each claim to a probe:\n\n- paths\u002Ffiles: `git -C \"$WT\" ls-files`, `test -e`, or `find` scoped to the claimed directory;\n- symbols\u002Fcommands\u002Ftypes: `rg --fixed-strings` or a narrow regex, `--help`\u002Fschema output;\n- negative claims (\"deleted\", \"no X\"): scoped absence evidence — a search showing X is gone;\n- \"implemented\"\u002F\"covered\"\u002F\"tested\": source plus test probes; run targeted tests only when the claim depends on passing behavior;\n- PR\u002FCI\u002Freview state: `gh`\u002FGraphite evidence;\n- ownership\u002Fdeferral: git diff\u002Flog\u002FObjective evidence that the named owner or deferred target exists.\n\nPR evidence is a material claim: verify numbers, review\u002FCI status, and merge state before carrying it forward, wording status per the umbrella skill's Objective PR evidence convention. Keep PR bullets to material Objective PRs; do not normalize unrelated historical PR mentions just to satisfy it.\n\nA claim that cannot be verified cheaply never stays as fact: convert it to an explicit assumption\u002Fopen question with the missing-evidence scope, park or narrow the roadmap item, or classify the slug `skipped-unverified`. When evidence contradicts the record, correct the contract before rewriting and say so in the Semantic Update. Never let a Semantic Update vouch for unverified prose.\n\n## Report\n\nReturn a compact report: worktree, branch, trunk, target SHA; per slug — baseline, action (`wrote`, `closed`, `noop`, `skipped-ambiguous`, `skipped-unverified`, `closure-ready`, `not-owned`), key claims verified\u002Fcorrected\u002Fstill-assumed, files edited and new Semantic Update filenames; for every edge-connected Objective of a closed slug, its propagation disposition, reason, files changed, and any newly closure-ready state; slugs that were already dirty; confirmation that the never-commit absolute and all write invariants held, and that any `closure-ready` (rather than `closed`) cites the Objective's explicit final evidence-gathering requirement.\n\nDone when an immediate rerun would modify nothing — every refreshed record already matches its verified contract.\n","# objective-refresh\n\nRebaseline active Objective records against ground truth. Read the `objective` umbrella skill first for shared vocabulary, storage layout, required headings, and Semantic Update rules; this skill does not restate them.\n\nOne absolute governs every run:\n\n- **Never commit.** No `git commit`, no staging. Edits stay uncommitted in the worktree and the report says what changed; the user decides how to land it.\n\nClosure is the default when done — step 10 owns the inline-close mechanics and the single hold-back condition (`closure-ready`).\n\n## Select targets\n\nSelection is mechanical — never ask a scope question:\n\n- **Explicit slug(s) or path(s)** → refresh exactly those. Paths must resolve under `.ns\u002Fobjectives\u002F\u003Cslug>\u002F`. On a feature branch, a named slug with no branch evidence is reported `not-owned` rather than silently rebaselined against trunk state — unless the user clearly asked for a trunk-style rebaseline of that slug.\n- **No slug, feature branch** → the union of slugs with committed or uncommitted Objective evidence:\n\n  ```bash\n  git -C \"$WT\" diff --name-only \u003Ctrunk>...HEAD -- .ns\u002Fobjectives\u002F\n  git -C \"$WT\" status --porcelain -- .ns\u002Fobjectives\u002F\n  ```\n\n  Reduce paths to slugs. Empty union → report that the branch evidences no Objective records and stop without writing.\n- **No slug, trunk** → every active open Objective from `ns objective list --names`.\n\n`WT` is the current working directory unless the caller names another worktree. Every git operation uses `git -C \"$WT\"`; never check out another branch. Stop if `HEAD` is detached (`git -C \"$WT\" symbolic-ref --quiet --short HEAD` fails). Trunk is `gt trunk` when available, else the repo's configured default branch; if the sources disagree, stop and ask.\n\n**Baseline.** On a feature branch the baseline is `git -C \"$WT\" merge-base \u003Ctrunk> HEAD` and the evidence window is `\u003Cbaseline>..HEAD` plus uncommitted worktree state; a slug is also in scope when the user points at branch changes that contradict its claims. On trunk there is no baseline — verify against `HEAD`. There are no refresh commits and no commit-message markers anywhere: due-ness is content-level, so a record that already matches its verified contract yields no write.\n\n## Refresh loop\n\nProcess one slug at a time. The authoring move is a from-scratch rewrite driven by a **contract** — extract, verify, rewrite, diff — never paragraph patching. Frame each slug as: on a feature branch, \"if this branch landed now, what should this record say on trunk?\"; on trunk, \"what should this record say about landed ground truth?\". Use `objective-update`'s landed-state writing semantics as the content model.\n\nUncommitted Objective edits are input, not a stop: worktree content, committed plus uncommitted, is the current record. Note which slugs were already dirty, for the report.\n\nWrite invariants, in addition to the never-commit absolute:\n\n- Edit only the selected Objective directories, except for the shared Objective exceptions: mirrored edge mutations may edit counterpart frontmatter, and closing a slug inline (step 10) must propagate semantic impact to every affected edge-connected Objective per `objective-close`, including counterpart durable tracking and new counterpart-local Semantic Updates when warranted.\n- For `updates\u002F`, follow the `objective` umbrella skill's immutable Semantic Update rule: refreshes may add new update files, not change old ones.\n- Never move, delete, rename, or recreate an Objective slug directory.\n\nPer slug:\n\n1. **Read the record.** `ns objective exec read-objective \u003Cslug> --format md` for deterministic inventory and closed-marker state; read `objective.md`, `roadmap.md`, and recent `updates\u002F` as source material.\n2. **Gather evidence** over the window:\n\n   ```bash\n   git -C \"$WT\" log --oneline \u003Cbaseline>..HEAD -- .ns\u002Fobjectives\u002F\u003Cslug>\u002F\n   git -C \"$WT\" diff \u003Cbaseline>..HEAD -- .ns\u002Fobjectives\u002F\u003Cslug>\u002F\n   git -C \"$WT\" diff -- .ns\u002Fobjectives\u002F\u003Cslug>\u002F\n   ```\n\n   On trunk, skip the range probes and verify against `HEAD` plus worktree state.\n3. **Extract the contract**: durable purpose, boundaries, completion criteria, assumptions\u002Frisks, open questions; progress (done, active, parked, closure-adjacent, remaining roadmap shape); every material claim by category; and stale or suspect text that must not be carried forward as fact.\n4. **Verify the contract** claim by claim, per Verify claims below.\n5. **Classify**: `verified` (contract supported, or weakened into assumptions\u002Fopen questions), `stale-rebaselined` (a false claim was corrected, parked, or narrowed), or `skipped-unverified` (important claims remain unverifiable and unsafe to rewrite without the user).\n6. **Rewrite `objective.md` from scratch** when the verified contract changes durable narrative, scope, criteria, assumptions\u002Frisks, or open questions, or shows existing prose stale. Never preserve old wording by inertia.\n   - **Blocked Sentence is in scope** (open records; step 10 owns the closure case). When the record's `blocked:` sentence gates on a condition the verified contract shows resolved — most commonly a named Objective that is verifiably closed — clear or reword the sentence as part of the rewrite and carry the decisive evidence into the Semantic Update. Leave it verbatim only when the evidence is ambiguous, and then say so explicitly in the report instead of silently deferring. Edges stay in place either way.\n7. **Rewrite `roadmap.md` from scratch** when active work shape changes: ordered guidance, checkbox state (`[ ]`, `[~]`, `[x]` only), row notes, completion evidence, parked work.\n8. **Contract-diff.** Compare the rewrite against the extracted contract line by line: every verified purpose, boundary, progress fact, roadmap item, assumption, open question, and parked item is present or intentionally omitted with a stated reason, and the umbrella's required headings survive. Dropped or softened meaning is a bug — fix it before moving on.\n9. **Re-derive `orientation.md`** when one exists, per the umbrella's re-derivation rule; add one when the verified contract shows the Objective became orienting (its direction now binds unrelated agents). Never drop one.\n10. **Close when finished.** If the verified contract shows the completion criteria met and no material open work, close inline per the full `objective-close` semantics. The closure evidence goes in the selected Objective's Semantic Update below. Report `closure-ready` without closing only when the Objective explicitly requires a final evidence-gathering step this refresh has not run.\n    - **Closing inline carries `objective-close`'s connected-Objective propagation, not just its file mechanics.** Run that skill's per-counterpart disposition procedure against each edge-connected Objective. After any frontmatter edit, run `ns objective check --all` and fix every structural error before continuing.\n11. **Append at most one timestamped Semantic Update per changed Objective** when the refresh or close propagation records a meaningful finding, decision, blocker, risk change, completion event, plan change, follow-up, closure, or rebaseline. The selected Objective's update carries the decisive evidence and provenance breadcrumb below; each affected counterpart gets its own update describing only that counterpart's impact. Existing updates remain immutable.\n\n    ```text\n    Provenance: objective-refresh basis target=\u003Ctarget-sha-or-ref> from=\u003Cmerge-base-or-trunk-HEAD>\n    ```\n\n    No meaningful durable change, or a contract you cannot trust? No filler: leave the slug unchanged and report `skipped-ambiguous` \u002F `skipped-unverified`.\n\n## Verify claims\n\nVerification is forensic: presume every material claim false until evidence proves it.\n\nMaterial claims: source paths, symbols, commands, packages, workflows, PRs, branches, tests, docs, ADRs, Objective slugs, status words, scope boundaries, non-goals, dependencies, risks, assumptions, completion evidence, roadmap rationale. Status words include \"exists\", \"gone\", \"current\", \"already\", \"now\", \"still\", \"remaining\", \"implemented\", \"deleted\", \"covered\", \"tested\", \"passing\", \"legacy\", \"core\", \"salvaged\", \"owned\", and \"deferred\".\n\nMatch each claim to a probe:\n\n- paths\u002Ffiles: `git -C \"$WT\" ls-files`, `test -e`, or `find` scoped to the claimed directory;\n- symbols\u002Fcommands\u002Ftypes: `rg --fixed-strings` or a narrow regex, `--help`\u002Fschema output;\n- negative claims (\"deleted\", \"no X\"): scoped absence evidence — a search showing X is gone;\n- \"implemented\"\u002F\"covered\"\u002F\"tested\": source plus test probes; run targeted tests only when the claim depends on passing behavior;\n- PR\u002FCI\u002Freview state: `gh`\u002FGraphite evidence;\n- ownership\u002Fdeferral: git diff\u002Flog\u002FObjective evidence that the named owner or deferred target exists.\n\nPR evidence is a material claim: verify numbers, review\u002FCI status, and merge state before carrying it forward, wording status per the umbrella skill's Objective PR evidence convention. Keep PR bullets to material Objective PRs; do not normalize unrelated historical PR mentions just to satisfy it.\n\nA claim that cannot be verified cheaply never stays as fact: convert it to an explicit assumption\u002Fopen question with the missing-evidence scope, park or narrow the roadmap item, or classify the slug `skipped-unverified`. When evidence contradicts the record, correct the contract before rewriting and say so in the Semantic Update. Never let a Semantic Update vouch for unverified prose.\n\n## Report\n\nReturn a compact report: worktree, branch, trunk, target SHA; per slug — baseline, action (`wrote`, `closed`, `noop`, `skipped-ambiguous`, `skipped-unverified`, `closure-ready`, `not-owned`), key claims verified\u002Fcorrected\u002Fstill-assumed, files edited and new Semantic Update filenames; for every edge-connected Objective of a closed slug, its propagation disposition, reason, files changed, and any newly closure-ready state; slugs that were already dirty; confirmation that the never-commit absolute and all write invariants held, and that any `closure-ready` (rather than `closed`) cites the Objective's explicit final evidence-gathering requirement.\n\nDone when an immediate rerun would modify nothing — every refreshed record already matches its verified contract.\n",{"name":5,"description":7,"disable-model-invocation":37},true,"master","44a56f0d543f274b42239091b35fe4d23855f6b3","skills\u002Fincubating\u002Fobjectives\u002Fobjective-refresh",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":47,"prompt":57,"zipAvailable":37},[48,51,54],{"tool":49,"command":50},"npx","npx skills add nseng-ai\u002Fns --skill objective-refresh",{"tool":52,"command":53},"bunx","bunx skills add nseng-ai\u002Fns --skill objective-refresh",{"tool":55,"command":56},"pnpm","pnpm dlx skills add nseng-ai\u002Fns --skill objective-refresh","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fincubating\u002Fobjectives\u002Fobjective-refresh\u002FSKILL.md",[59],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"agents\u002Fopenai.yaml","REFERENCE","参考文档",43,"https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fincubating\u002Fobjectives\u002Fobjective-refresh\u002Fagents\u002Fopenai.yaml",[66,88,119,142,165,175],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":32},"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",[],[73,74,75,76,77,78,79,80,81,82,83,84,85,29,86,87],"pr","make","pr make accountable","design","why","reviewer","decisions","interview","intent","focus","shared","co","with","changes","pr body",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":99,"publishedAt":32},"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",[94],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[100,101,102,76,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],"typescript","style","typescript style","writing","review","architecture","core","error handling","system","Rules","README","use","error-handling","study","module","error","case-study","style guide","for",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":128,"publishedAt":32},"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",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000008","测试与质量",[129,100,130,131,132,103,133,134,105,135,136,111,137,138,139,140,85,141],"testing","driven","fake driven testing","typescript fake driven testing","cli","memory","code","gateway","dependencies","tests","scenario","Adapters","in-memory",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":32},"01M6KM3AXC2539PENYVZJYKCP9","ns-typescript","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.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript\u002FSKILL.md",[],[100,149,150,151,152,153,154,155,111,156,157,158,159,101,160,161,162,118,163,164],"ns typescript","test","guard","vitest","projects","editing","repo","enforcement","references","time","host","oxlint","import","native","alternatives","imports",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":32},"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",[],[100,172,101,173,22,174,29],"tripwire","ns typescript style tripwire","diff",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":184,"publishedAt":32},"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",[181],{"categoryNo":182,"categoryName":183,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000023","Skill与智能体开发",[185,186,187,188,189,174,190,191,49,192,193,85,194,195,196,197,198,199,29,200],"management","skill management","github","Bash","remove","nested","manage","local","cat","ln","ls","mkdir","mv","readlink","rg","lock"]