Capstone only uses Phase 12 tools plus earlier callbacks. Find a player, check roles, sort a copy for display, and merge UI defaults with spread.

find → some/includes → copy-sort → spread merge

Summary appears here.

Set options, then run.

Important JavaScript

const found = players.find((p) => p.id === id);
const hasRole = roles.includes(needed);
const anyStarter = players.some((p) => p.tags.includes("starter"));

const sorted = [...players].sort((a, b) => a.score - b.score);

const view = {
  ...defaults,
  ...{ theme: "dark", focusId: found ? found.id : null }
};