ct-status-diff
SkillDev toolsWeekly clinical-trial status diff, the 11-category change report over the stored weekly snapshots (spec 055 FR-B03). Surfaces exactly what changed on the trial registry for your coverage: New / Suspended / Withdrawn / Terminated / Recruiting / Recruitment-Complete / Completed / Ahead / Delayed / Upsized / Downsized, every row carrying previous and new values, with risk flags on Terminated and Downsized and re-timing flags on Ahead and Delayed. The stored-previous-value discipline makes each week's diff reproducible.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ct-status-diff skill
What this skill tells your AI
The instructions your AI receives, as published by agentii-ai/agentii-investment-intelligence in plugins/vertical-plugins/bio-pharm/skills/agentii/ct-status-diff/SKILL.md and read by ahel’s review.
Methodology inspired by publicly taught clinical-trial monitoring frameworks; all text is an original paraphrase.
Defaults
| Parameter | Default Value | Rationale |
|---|---|---|
| window | latest two snapshots | The diff is always between consecutive stored states |
| categories | all 11 | Complete change report; filter on request |
| risk_flags | on | Terminated / Downsized are surfaced first |
| gap_statement | on | Missing snapshot weeks are stated, never inferred |
Preflight
Run canonical pre-flight per contracts/preflight.md. Propagate X-Agentii-Trace per contracts/x-agentii-trace-header.md. Confirm the snapshot coverage via get_ct_status_changes before framing any readout.
Triggers
- "What changed on clinicaltrials.gov for my coverage this week?"
- "Which of [ticker]'s trials moved this week?"
- "Any trial delays or accelerations in my watchlist?"
- "Flag every terminated or downsized trial since last week."
- "Did any recruitment complete for [ticker]?"
- "Show the previous and new primary-completion dates for [drug]'s program."
- "Which trials were upsized this week?"
- "Is [trial]'s enrollment collapsing?"
- "Summarize the week's trial-registry changes for the sector."
- "What should I re-check ahead of [readout] based on registry moves?"
- "Compare this week's diff to the month-ago diff."
Production Grounding
- The diff is a stored-state comparison: every row pairs a NEW value with the PREVIOUS value from the prior snapshot — the previous-value column is the discipline; a row without both is a defect.
- The 11-category taxonomy: New / Suspended / Withdrawn / Terminated / Recruiting / Recruitment-Complete / Completed / Ahead / Delayed / Upsized / Downsized.
- Risk signals: Terminated and Downsized (enrollment collapse is the earliest visible distress). Re-timing alerts: Ahead / Delayed primary-completion moves.
- Recruitment-Complete means the readout clock has started — treat it as a catalyst-date confirmation.
- Gap windows: if snapshots are not consecutive archive writes, the gap is stated on the rows — a change is never attributed across a missing week.
- Determinism: identical snapshots yield byte-identical diffs; never invent an intermediate state.
- Badge discipline:
[FACT]registry rows,[DEDUCTED]interpretations,[VIEW]positioning, with the summary table.
Data Source Priority
get_ct_status_changes— the stored-weekly-snapshot diff (pipeline.ct_status_snapshot).- Trial context:
search_clinical_trials/get_clinical_trialfor design and endpoints. - Company context:
search_companies/get_company_profile. - Historical grounding:
search_investment_cases(event_type=termination/delay/safety) +search_by_analogue. - Knowledge:
search_knowledge_entriesfor trial-judgment patterns.
Methodology
Retrieval Scope
structured_only
Retrieval Strategy
- Pull the weekly diff via
get_ct_status_changes(ticker-filtered for single names, sector-wide for watchlists). - Rank rows: risk signals first, then re-timing, then recruiting/completed, then new.
- For each risk-signal row, pull the trial's design via
get_clinical_trialand state what changed and what it implies. - Ground termination/delay reads in
search_investment_cases/search_by_analogue(sectors=med); cite /v/ records. - Attach the gap-window statement verbatim wherever the tool reports one.
Temporal Scope
See frontmatter temporal_scope block. Historical diff series (month-over-month) available on request.
Tool Allowlist
See frontmatter allowed_tools.
Protocol
- Snapshot-diff pull
- Risk/re-timing triage
- Per-signal trial context
- Historical grounding
- Weekly change report + watch flags
Modes
- Watchlist (default): one diff report across the basket, sorted risk-first.
- Single ticker: per-trial change ledger with trial context.
- Signal scan: restrict to risk signals (Terminated/Downsized) or re-timing (Ahead/Delayed).
Tool Fallbacks
| Failure | Fallback |
|---|---|
| get_ct_status_changes empty (<2 snapshots) | State the coverage gap: the diff needs two consecutive snapshot cycles; use search_clinical_trials metadata as a degraded view |
| Trial not in snapshots | Flag as registry-coverage gap; do not fabricate a previous value |
| Knowledge tools empty | Proceed with structured diff only; annotate knowledge coverage_gap |
Output File
{ticker}/{YYYY-MM-DD_HHMM}_ct-status-diff_{affix}.md (watchlist: watchlist/{YYYY-MM-DD_HHMM}_ct-status-diff_{affix}.md)
Output Structure
- Executive Summary — the week in trial-registry changes, 2-3 sentences
- Risk Signals — Terminated / Downsized rows with previous/new values and trial context
- Re-Timing Alerts — Ahead / Delayed rows with date deltas
- Flow Changes — New / Recruiting / Recruitment-Complete / Completed / Suspended / Withdrawn rows
- Gap Statement — snapshot windows with missing weeks stated
- Watch Flags — what to re-check before the next readout
- Coverage Gaps — missing snapshots, unregistered trials, degraded modes
Error Handling
| Error | Fallback |
|---|---|
| Fewer than 2 snapshots | coverage_gap with the two-cycle requirement; degraded metadata view only |
| Empty diff | State it plainly — a clean week is a valid result; never pad |
| Ticker not in med universe | Resolve via company match; surface the classification gap |
Memory Load
See contracts/memory-load.md.
Snapshot
See contracts/snapshot-synthesis.md.
Final Summary (TUI)
Include ### Key Citations block with 0-10 clickable /v/ URLs.
References
contracts/citation-and-memory.mdcontracts/output-frontmatter-schema.mdcontracts/memory-load.mdcontracts/snapshot-synthesis.mdcontracts/preflight.mdreferences/knowledge-frameworks.md
Signals
- GitHub stars
- 203
- Forks
- 16
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ct-status-diff- Source
- github.com/agentii-ai/agentii-investment-intelligence