← Browse

@sage-bionetworks/ct-repository

A

Reference guide for implementing and configuring Comparison Tool (CT) repository classes that extend ComparisonToolRepositorySupport. Use this skill whenever the user is: creating a new CT repository, adding a sort column to an existing CT, debugging unexpected sort order (null rows floating up, wrong column ordering), configuring filters or search for a CT, reviewing a CT repository implementation, or asking how to wire up any part of the CT backend pipeline (sort hooks, filter config, base criteria, spaced field names, heatmap columns, array columns, computed/fallback fields). Trigger phrases include "new CT", "comparison tool", "CT repository", "CT sort", "null rows", "empty rows", "sort order", "heatmap column sort", "array column sort", "getComputedSortFieldExpressions", "getSortFieldAliases", "ComparisonToolRepositorySupport", "CtFilterConfig".

skillclaude

Install

agr install @sage-bionetworks/ct-repository --target claude

Writes 1 file into .claude/skills/, pinned to git-389ae7a6.

  • .claude/skills/ct-repository/SKILL.md

Document


name: ct-repository description: > Reference guide for implementing and configuring Comparison Tool (CT) repository classes that extend ComparisonToolRepositorySupport. Use this skill whenever the user is: creating a new CT repository, adding a sort column to an existing CT, debugging unexpected sort order (null rows floating up, wrong column ordering), configuring filters or search for a CT, reviewing a CT repository implementation, or asking how to wire up any part of the CT backend pipeline (sort hooks, filter config, base criteria, spaced field names, heatmap columns, array columns, computed/fallback fields). Trigger phrases include "new CT", "comparison tool", "CT repository", "CT sort", "null rows", "empty rows", "sort order", "heatmap column sort", "array column sort", "getComputedSortFieldExpressions", "getSortFieldAliases", "ComparisonToolRepositorySupport", "CtFilterConfig".

Read and apply the rule at .claude/rules/ct-repository.md. If that path isn't found, search for ct-repository.md under .claude/rules/ from the repo root.

That rule is the single source of truth for the CT repository pattern. It covers:

  • The full pipeline shape and which stages are optional
  • All five sort column patterns (scalar string, array, nested object, companion numeric, computed fallback) and which hook to use for each
  • Spaced field name constraints and what ApiHelper handles automatically
  • CtFilterConfig builder reference (dataFilter, simpleItemFilter, compositeItemFilter, searchFilter)
  • Base criteria injection for collection-scoped queries
  • A reference table of all existing implementations to use as examples

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-389ae7a686082026-07-31