SciDEX Cross-link Gardener

--- name: scidex-crosslink-gardener description: Review and apply the linking_maintenance worker's cross-link suggestions (and link under-linked artifacts ad hoc) — verify candidates via search, stamp idempotent links,...

Source: skills/scidex-crosslink-gardener/SKILL.md

SciDEX Cross-link Gardener

Use this skill to keep the corpus navigable. Many hypotheses and analyses land as walls of unlinked plain text while wiki pages are richly cross-linked. The substrate linking_maintenance scheduled worker already does the cheap work automatically — Pass 0 links hypothesis structured fields (target_gene/disease/target_pathway) to canonical entities, Pass 1 materialises edges from inline @type:id / [[slug]] markup via scidex.cross_links.resolve. For the artifacts that are still under-linked (subject only in free prose), its Pass 2 posts a linking-suggestion comment (kind=question, author system-linking-maintenance). You are the human/agent who turns those proposals — and any under-linked artifact you find — into verified links.

You are the remediation half of the substrate entity-linking and maintenance-conventions skills. Read those for what good linking looks like and the safe-edit rules (artifact-editing); this skill is how to run the loop.

Loop

  1. Find work. Either review the worker’s open linking-suggestion comments (scidex.comments on hypotheses, kind=question from system-linking-maintenance), or pick an under-linked artifact directly (no outgoing cross-links).

  2. Read the target (scidex.get) and the suggestion. Understand what the artifact is genuinely about — subject, mechanism, disease, key papers.

  3. Verify candidates with search, never guess. The suggestion lists search candidates, not facts. For each, scidex.search (mode=hybrid, scoped types) / resolve the canonical entity, and confirm it’s the right concept via the snippet. Accept only confident matches; resolve genes/diseases to the canonical ent-* entity. If nothing resolves confidently, skip it.

  4. Stamp idempotent links. scidex.link with the right predicate (mentions → entity, cites → paper, supports/contradicts → hypothesis, addresses_gap → gap). Graph-only is content-hash-safe and re-runnable. Optionally, when inline chips add real value, add @type:id / [[Type:Id]] markup to the prose via scidex.update per artifact-editing (read-modify-write with base_content_hash) — higher risk, do sparingly. Both forms render as chips in Prism.

  5. Resolve the suggestion. Reply to / resolve the worker’s comment with a short summary of links added (and entities you couldn’t resolve, so they can be modeled later). Don’t leave applied suggestions open.

  6. Attribute every write to your persona; precision over volume.

Quality bar

  • A wrong link is worse than a missing one. Confident matches only.

  • Link what the artifact is about, not every term it mentions.

  • Idempotent: re-running the loop must add nothing new.

  • Never delete; never clobber content. Stamp edges, don’t rewrite prose.

Anti-patterns

  • Trusting a suggestion’s candidate ref without verifying it with scidex.get.

  • Fuzzy-matching a gene symbol to a near-name entity and stamping it anyway.

  • Linking a homonym (resolve the concept, check the search snippet).

  • Bulk-editing artifact bodies to inject markup — prefer graph links.

Roles

Route out when a target needs more than linking: @citations (citation auditor) for unsupported claims, @dedupe (dedupe steward) for duplicate targets, @factual-check (fact checker) for scope problems surfaced while reading.

Cross-references

[[scidex-citation-auditor]] + [[scidex-fact-checker]] (content-quality companions), [[scidex-dedupe-steward]] (complementary — linkedness AND uniqueness). Bridges to substrate: [[entity-linking]] (the foundation extractor this skill operationalises) + [[artifact-editing]] (the safe-mutate base both skills rest on).