Files
deepseek-harness/packages/skill
creatixchu ccd27f3775 fix(web): address the second review round on context provenance
- An empty replacement catalog is a real catalog: `renderCatalogUpdate()`
  publishes zero entries when the last skill disappears, and falling back
  would hide that every earlier name was retired.
- The opaque fallback keeps a `form` declaration this version cannot present.
  It is the one place a newer or foreign log's declared shape would otherwise
  vanish from the UI entirely, since the row marker is also absent there.
- An instruction change with an unrecognized `action` disqualifies the record.
  The action decides the word the row shows, so an unknown one would be
  presented as loaded or updated.
- The catalog list bounds itself and reports the withheld count. Entry count
  is unbounded and the scrollport bounds height, not node count.
- A catalog message keeps content blocks this version does not know, instead
  of dropping model-visible content the extensible union may carry.
- `core.md` defines `ContextFormed`, the interface actually carrying the
  optional field, beside `ContextForm`.
- The superseded-in-part bullet states the affected clauses as one rule rather
  than enumerating them; two rounds of enumeration each missed some, which is
  the shape being fragile rather than the list being wrong.
- The note records the one migration case that does not self-heal: an
  old-format catalog as the only one, with an empty current view, leaves a
  stale catalog nothing replaces.
2026-08-05 16:51:01 +08:00
..

skill/ - skill capability family

English | 中文

The canonical three-package capability seam for reusable agent instructions: a provider registry, a local implementation, and the model-facing catalog/loader consumer. All are product packages.

Package Role ctx key
skill/ Provider registry, precedence resolution, complete/incomplete catalog snapshots, and full-definition lookup ctx.skills
skill-local/ Project/custom/user filesystem provider with membership watching (registers on ctx.skills)
tool-skill/ Initial and replacement catalogs plus the model-facing skill loader (registers on ctx.tools)

The interface lives at skill/skill/. Providers register synchronously and perform asynchronous discovery through ctx.skills; tool-skill consumes only that interface, so an embedded or remote provider can replace or complement skill-local without changing the model-facing contract. agent-core loads this family by default, but it remains a capability outside the core control spine, parallel to bash/, fs/, web/, and subagent/.