Agent skill

Admiral Adae

by RConsortium in RConsortium/pharma-skills

Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem.

MITAuto-check passed

Install Admiral Adae

skills CLI
$ npx skills add RConsortium/pharma-skills --skill admiral-adae -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RConsortium/pharma-skills admiral-adae --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/admiral/admiral-adae .claude/skills/admiral-adae && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
admiral-adae
GitHub stars
120
Token cost
~3.9k tokens
SKILL.md length
1,076 words
Files
7 (incl. references)
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem.

  • Works in 12 steps: Setup and domain loading → Subject spine from AE → Merge ADSL variables → …
  • A user needs to create ADAE from SDTM AE and supporting domains
  • SKILL.md covers Inputs, Workflow, Code quality requirements and Common errors to avoid, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Admiral Adae is an agent skill from RConsortium/pharma-skills. Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem. Use when a user needs to create ADAE from SDTM AE and supporting domains, derive standard adverse event analysis variables (severity, seriousness, treatment-emergent flags, study day variables, baseline flags), or generate QC-ready R code following CDISC ADaM conventions. Requires SDTM input data, ADSL, and an ADaM spec.

Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `DESIGN.md`, `README.md` and `benchmarks/README.md`). Compatibility notes: Requires R with admiral, dplyr, lubridate, and pharmaversesdtm installed. Designed for use in a GxP-compliant environment with access to SDTM datasets, a…

The repository describes itself as: A collection of agent skills for BioPharma use cases GSDBench Intake https://rconsortium.github.io/pharma-skills/gsdbench-intake/. The licence is MIT.

When your agent uses it

  • A user needs to create ADAE from SDTM AE and supporting domains
  • Derive standard adverse event analysis variables (severity
  • Treatment-emergent flags
  • Study day variables

Example prompts

  • “Use the admiral-adae skill to derive an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem”
  • “/admiral-adae”

Requirements

  • Compatibility (from SKILL.md): Requires R with admiral, dplyr, lubridate, and pharmaversesdtm installed. Designed for use in a GxP-compliant environment with access to SDTM datasets, a completed ADSL dataset, and an ADaM ADAE specification.

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Setup and domain loading
  2. Subject spine from AE
  3. Merge ADSL variables
  4. AE date variables (ASTDT, ASTDTF, AENDT, AENDTF)
  5. Study day variables (ASTDY, AENDY)
  6. Treatment-emergent flag (TRTEMFL)
  7. Severity and grade variables (AESEV, AETOXGR)
  8. Seriousness and outcome variables (AESER, AEOUT, AESDTH)
  9. Causality and action taken (AEREL, AEACN)
  10. Pre-existing condition flag (PREFL)
  11. Maximum severity flag (AESEQ, grouping flags)
  12. SMQ and grouping flags (optional)

What it can do on your machine

Read from SKILL.md and the folder at commit ae5d83b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are r).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires R with admiral, dplyr, lubridate, and pharmaversesdtm installed. Designed for use in a GxP-compliant environment with access to SDTM datasets, a completed ADSL dataset, and an ADaM ADAE specification.

    From compatibility in the SKILL.md frontmatter.

Context cost

Admiral Adae loads about 3.9k tokens when it runs, and up to ~9.2k if it reads all its reference files. Until then it costs about 112 tokens; SKILL.md has 1,076 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~112
When it runs · the whole SKILL.md, loaded when a task matches
~3.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from RConsortium/pharma-skills at commit ae5d83b, republished under its MIT licence (© RConsortium). 1,076 words, ~3,859 tokens.

Download SKILL.mdSave it as .claude/skills/admiral-adae/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
admiral-adae
description
Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem. Use when a user needs to create ADAE from SDTM AE and supporting domains, derive standard adverse event analysis variables (severity, seriousness, treatment-emergent flags, study day variables, baseline flags), or generate QC-ready R code following CDISC ADaM conventions. Requires SDTM input data, ADSL, and an ADaM spec.
compatibility
Requires R with admiral, dplyr, lubridate, and pharmaversesdtm installed. Designed for use in a GxP-compliant environment with access to SDTM datasets, a completed ADSL dataset, and an ADaM ADAE specification.
license
MIT
metadata.author
Navitas Data Sciences
metadata.version
0.1
metadata.pharmaverse
true

admiral-adae

Derives a CDISC-conformant ADAE dataset using {admiral}. Outputs executable, QC-ready R code with derivation logic traceable to the ADaM specification.

The primary design challenge in ADAE is the treatment-emergent adverse event (TEAE) flag (TRTEMFL) and its supporting date infrastructure. All date and study day derivations must flow from this before any analysis variables are added.


Inputs

Before generating code, confirm the following are available or explicitly noted as absent:

InputRequiredNotes
AEYesOne record per AE per subject; subject spine for ADAE
ADSLYesProvides TRTSDT, TRTEDT, TRT01P/A, population flags
MHNoMedical history; needed for pre-existing condition flag (PREFL)
CMNoConcomitant medications; sometimes linked to AE causality
ADaM ADAE specYesVariable list, derivation rules, TEAE definition, grading rules
Study contextYesTEAE window definition, SMQ/grouping flag scope, severity scale

If AE or ADSL are absent, stop and request them. If optional domains are absent, omit the corresponding derivations and note this in code comments.

Note on pharmaversesdtm test data: The pharmaversesdtm::ae dataset does not contain AETOXGR. Users running this skill against pharmaverse test data should skip the AETOXGR derivation in Step 7. The derivation is retained in the skill for use with real study data where NCI CTCAE grading was collected.

Critical ADSL dependency: ADAE must merge a defined set of ADSL variables onto every AE record. Confirm with the statistician which ADSL variables are required — at minimum: TRTSDT, TRTEDT, TRTSDTM, TRT01P, TRT01PN, TRT01A, TRT01AN, and all population flags in scope (SAFFL, ITTFL).


Workflow

Follow these steps in order. Generate code section by section, not as a single block.

Step 1 — Setup and domain loading
r
library(admiral)
library(dplyr)
library(lubridate)
library(pharmaversesdtm)

# Load SDTM domains
ae   <- pharmaversesdtm::ae
adsl <- adsl  # assumed derived upstream; replace with path/load as needed
# mh <- pharmaversesdtm::mh  # uncomment if pre-existing condition flag in scope

# Remove DOMAIN from AE to avoid variable conflicts in merges
ae <- ae |> select(-DOMAIN)

# Confirm AE has at least one record
stopifnot(nrow(ae) > 0)
Step 2 — Subject spine from AE

ADAE is a one-record-per-AE dataset; the subject spine is AE itself. Start here and add ADSL variables in the next step.

r
adae <- ae
Step 3 — Merge ADSL variables

Merge a controlled subset of ADSL variables onto every AE record. Do not merge all of ADSL — select only variables referenced in the ADAE derivation logic and required for the output dataset per the ADaM spec.

r
# REVIEW: Confirm which ADSL variables are required per the ADAE spec.
#   The list below covers the minimum set for TEAE flag derivation and treatment
#   labelling. Extend with population flags and other ADSL variables as needed.
adsl_vars <- exprs(
  STUDYID, USUBJID,
  TRTSDT, TRTEDT, TRTSDTM,
  TRT01P, TRT01PN, TRT01A, TRT01AN,
  SAFFL, ITTFL
)

adae <- adae |>
  derive_vars_merged(
    dataset_add = adsl |> select(!!!adsl_vars),
    by_vars     = exprs(STUDYID, USUBJID)
  )
Step 4 — AE date variables (ASTDT, ASTDTF, AENDT, AENDTF)

Derive analysis start and end dates from AE.AESTDTC and AE.AEENDTC. Always use derive_vars_dt() — never as.Date() directly on DTC variables.

Use date_imputation = "first" for start dates and "last" for end dates per CDISC convention. Always retain imputation flag variables (ASTDTF, AENDTF).

r
adae <- adae |>
  derive_vars_dt(
    dtc             = AESTDTC,
    new_vars_prefix = "AST",
    date_imputation = "first",
    flag_imputation = "auto"
  ) |>
  derive_vars_dt(
    dtc             = AEENDTC,
    new_vars_prefix = "AEN",
    date_imputation = "last",
    flag_imputation = "auto"
  )
Step 5 — Study day variables (ASTDY, AENDY)

Use derive_vars_dy() relative to TRTSDT from ADSL. Do not compute study days manually with date subtraction — this bypasses the Day 1 = first dose date offset logic required by ADaM.

r
adae <- adae |>
  derive_vars_dy(
    reference_date = TRTSDT,
    source_vars    = exprs(ASTDT, AENDT)
  )
Step 6 — Treatment-emergent flag (TRTEMFL)

This is the central derivation in ADAE. TRTEMFL = "Y" when:

  • AE onset date (ASTDT) >= first dose date (TRTSDT), and
  • AE onset date (ASTDT) <= last dose date (TRTEDT) + study-specific window

The derive_var_trtemfl() function handles this logic. The end_window parameter defines how many days post-last-dose an AE is still considered treatment-emergent — this is study- and protocol-specific.

r
# REVIEW: end_window is protocol-specific. Common values are 30 days post-last
#   dose for SAEs and 7 days for non-serious AEs, but always confirm from the
#   SAP. If the protocol does not specify a post-treatment window, set end_window
#   to 0 to include only AEs on or before the last dose date.
#   The ignore_time_for_trt_end argument should be TRUE if TRTEDTM is not
#   reliable for all subjects — confirm with the data manager.
adae <- adae |>
  derive_var_trtemfl(
    new_var                    = TRTEMFL,
    start_date                 = ASTDT,
    end_date                   = AENDT,
    trt_start_date             = TRTSDT,
    trt_end_date               = TRTEDT,
    end_window                 = 30,        # PLACEHOLDER — confirm from SAP
    ignore_time_for_trt_end    = TRUE
  )
Step 7 — Severity and grade variables (AESEV, AETOXGR)

Map AESEV from AE.AESEV (already decoded in SDTM) and AETOXGR from AE.AETOXGR if NCI CTCAE grading is used. If only AESEV is in scope, skip AETOXGR.

r
adae <- adae |>
  mutate(
    # AESEV: severity — use decoded AESEV directly from AE; no transformation required
    AESEV = AESEV,
    # AESEVN: optional numeric mapping for sorting
    # REVIEW: Confirm severity ordering and numeric mapping against the ADaM spec.
    AESEVN = case_when(
      AESEV == "MILD"     ~ 1L,
      AESEV == "MODERATE" ~ 2L,
      AESEV == "SEVERE"   ~ 3L
    )
  )

# AETOXGR: CTCAE numeric grade — carry through from AE if grading was collected
# Uncomment if in scope per ADaM spec:
# adae <- adae |>
#   mutate(AETOXGR = AETOXGR)
Step 8 — Seriousness and outcome variables (AESER, AEOUT, AESDTH)

These variables typically carry through from AE SDTM with controlled terminology alignment. If the ADaM spec requires recoding, apply case_when() with explicit # REVIEW: annotations.

r
adae <- adae |>
  mutate(
    # AESER: serious AE flag — "Y" or NA only; never "N" per CDISC convention
    AESER = if_else(AESER == "Y", "Y", NA_character_),
    # AESDTH: AE resulted in death — "Y" or NA
    AESDTH = if_else(AESDTH == "Y", "Y", NA_character_),
    # AEOUT: outcome — verify CDISC CT values in spec
    # REVIEW: Confirm AEOUT coded values align with the CDISC AE outcome codelist
    #   (RECOVER, NOT RECOVERED/NOT RESOLVED, RECOVERING/RESOLVING, etc.)
    AEOUT = AEOUT
  )
Step 9 — Causality and action taken (AEREL, AEACN)

Carry through from AE, applying if_else() for flag recoding to "Y"/NA convention where applicable.

r
adae <- adae |>
  mutate(
    # AEREL: relationship to study treatment — usually "RELATED" / "NOT RELATED"
    # REVIEW: Some studies use "POSSIBLE", "PROBABLE" — confirm CT per spec.
    AEREL = AEREL,
    # AERELN: numeric causality code for sorting/analysis if required by spec
    AERELN = case_when(
      AEREL == "NOT RELATED" ~ 1L,
      AEREL == "RELATED"     ~ 2L
    ),
    # AERELNST: causality to non-study treatment if applicable
    # Uncomment if in scope: AERELNST = AERELNST
    #
    # AEACN: action taken with study treatment
    AEACN = AEACN
  )
Step 10 — Pre-existing condition flag (PREFL)

PREFL = "Y" when the AE term (AEDECOD) is present in MH prior to treatment start. Requires MH domain. If MH is absent, comment out this section.

r
# PREFL: pre-existing condition flag from MH
# REVIEW: The matching logic below uses AEDECOD = MHDECOD. Confirm the
#   match strategy with the medical reviewer — some specs require AEBODSYS
#   matching or a more specific term hierarchy.
# Requires: mh <- pharmaversesdtm::mh |> select(-DOMAIN)
#
# mh_terms <- mh |>
#   filter(MHSTAT != "HISTORY OF") |>   # REVIEW: filter condition is study-specific
#   distinct(STUDYID, USUBJID, MHDECOD)
#
# adae <- adae |>
#   derive_var_merged_exist_flag(
#     dataset_add   = mh_terms,
#     by_vars       = exprs(STUDYID, USUBJID, AEDECOD = MHDECOD),
#     new_var       = PREFL,
#     condition     = TRUE,
#     true_value    = "Y",
#     false_value   = NA_character_,
#     missing_value = NA_character_
#   )
Step 11 — Maximum severity flag (AESEQ, grouping flags)

If the spec requires a worst-case severity flag per subject (AMAXSEVFL) or cumulative AE counts, derive using derive_var_extreme_flag().

r
# AMAXSEVFL: flag for the most severe AE per subject within TRTEMFL == "Y"
# REVIEW: Confirm whether worst-severity flag applies to TEAE only or all AEs.
adae <- adae |>
  restrict_derivation(
    derivation = derive_var_extreme_flag,
    args = params(
      by_vars   = exprs(STUDYID, USUBJID),
      order     = exprs(desc(AESEVN), ASTDT, AESEQ),
      new_var   = AMAXSEVFL,
      mode      = "first"
    ),
    filter = TRTEMFL == "Y"
  )
Step 12 — SMQ and grouping flags (optional)

If the spec includes standardised MedDRA queries (SMQs) or custom AE grouping flags, derive using derive_vars_query() with a query dataset constructed from the specification.

r
# SMQ / grouping flags via derive_vars_query()
# REVIEW: SMQ membership lists are sponsor-defined; confirm the query dataset
#   structure and variable names against the ADaM ADAE spec and MedDRA version.
# Requires: queries_smq — a data frame in admiral query format
#   (see admiral::queries_mednav for structure reference)
#
# adae <- adae |>
#   derive_vars_query(
#     dataset_queries = queries_smq
#   )
Show full SKILL.md (415 more words)Show less
Step 13 — Sequence number (AESEQ)

Assign a within-subject sequence number. AE.AESEQ from SDTM is typically carried through to ADaM — do not re-derive unless the spec explicitly requires a different ordering.

r
# REVIEW: If AESEQ from AE SDTM is the correct sequence variable per spec,
#   carry it through directly. If the spec requires a re-derived sequence,
#   use derive_var_obs_number() instead.
# adae <- adae |>
#   derive_var_obs_number(
#     new_var  = AESEQ,
#     by_vars  = exprs(STUDYID, USUBJID),
#     order    = exprs(ASTDT, AETERM),
#     check_type = "warning"
#   )
Step 14 — Dataset attributes and final checks
r
# Required variable check
required_vars <- c(
  "STUDYID", "USUBJID",
  "AETERM", "AEDECOD", "AEBODSYS",
  "ASTDT", "ASTDTF", "AENDT", "AENDTF",
  "ASTDY", "AENDY",
  "AESEV", "AESER",
  "TRTEMFL",
  "TRT01P", "TRT01A"
)
missing_vars <- setdiff(required_vars, names(adae))
if (length(missing_vars) > 0) {
  stop("Missing required ADAE variables: ", paste(missing_vars, collapse = ", "))
}

# Record count sanity check — ADAE should have at least as many records as AE
stopifnot(nrow(adae) >= nrow(ae))

# Apply variable labels — use xportr for submission context
# adae <- adae |>
#   xportr_label(metacore_obj, domain = "ADAE") |>
#   xportr_type(metacore_obj, domain = "ADAE") |>
#   xportr_length(metacore_obj, domain = "ADAE") |>
#   xportr_order(metacore_obj, domain = "ADAE")
# xportr_write(adae, "adae.xpt", label = "Adverse Events Analysis Dataset")

Code quality requirements

Generated code must meet these standards for QC-readiness:

  • Comments: Each derivation block must have a comment referencing the source variable (e.g. # ASTDT: AE onset analysis date from AE.AESTDTC)
  • Human review flags: Use # REVIEW: comments where protocol-specific decisions are required (TEAE window, causality coding, SMQ membership, PREFL matching logic, severity ordering)
  • No silent failures: Use stopifnot() for critical assertions (AE not empty, required variables present, row count preserved after merge)
  • Pipe style: Use the native pipe |> and exprs() for admiral verb arguments
  • No manual date arithmetic: Always use admiral date derivation functions

Common errors to avoid

  • Merging all ADSL variables onto ADAE — select only the variables needed; full ADSL merge inflates the dataset and introduces variable naming conflicts
  • Using as.Date() on AESTDTC or AEENDTC — always use derive_vars_dt() to handle partial dates with proper imputation
  • Setting flag_imputation = "auto" without including ASTDTF and AENDTF in the output — imputation flags must appear in the dataset per ADaM specification
  • Hardcoding end_window in derive_var_trtemfl() without a # REVIEW: annotation — this is always protocol-specific and must come from the SAP
  • Using AESER == "N" comparisons — SDTM AE.AESER is "Y" or "" (blank), not "Y" or "N"; align to ADaM convention of "Y" or NA in output
  • Computing study days manually (e.g. ASTDT - TRTSDT + 1) — use derive_vars_dy() to ensure correct ADaM study day offset logic
  • Passing AE.AESEV directly as a numeric severity without a lookup — AESEV is character; derive AESEVN separately with an explicit case_when() lookup
  • Using "N" for any flag variable (TRTEMFL, AESER, AESDTH, PREFL) — CDISC convention is "Y" or NA, never "N"
  • Deriving TRTEMFL without confirming end_window against the SAP — an incorrect window silently miscategorises AEs with major safety implications
  • Not removing DOMAIN from AE before derive_vars_merged() calls — causes variable conflict errors

Output checklist

Before returning code, verify:

  • AE row count confirmed non-zero with stopifnot() at load
  • DOMAIN removed from AE before processing
  • ADSL variables merged selectively — not select(everything())
  • ASTDT and AENDT derived via derive_vars_dt() with imputation arguments explicit
  • ASTDTF and AENDTF present in output
  • ASTDY and AENDY derived via derive_vars_dy() not manual arithmetic
  • TRTEMFL derived via derive_var_trtemfl() with end_window annotated with # REVIEW:
  • AESER and AESDTH recoded to "Y" / NA convention
  • All # REVIEW: comments placed at protocol-specific decision points
  • Required variables presence check with stop() on failure
  • xportr block present (commented) for submission context

© RConsortium, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (references) in admiral/admiral-adae of RConsortium/pharma-skills.

  • SKILL.md
  • DESIGN.md
  • LICENSE
  • README.md
  • benchmarks/README.md
  • references/adae-conventions.md
  • references/admiral-adae-functions.md

Open the folder on GitHubat commit ae5d83b

Compare with similar skills

Admiral Adae next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Admiral Adae compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Admiral Adae this skillRConsortium/pharma-skills120—~3.9kAutomated safety check: PassMIT
Reporting Adverse Eventsmaziyarpanahi/openmed5.5k—~2.2kAutomated safety check: PassApache-2.0
Eventscoreyhaines31/marketingskills54k—~3kAutomated safety check: PassMIT
Adverse Event Narrativeaipoch/medical-research-skills1.9k—~3kAutomated safety check: PassMIT
Event Sourcing Architectdavila7/claude-code-templates33k4 repos~659Automated safety check: PassMIT
Event Store Designwshobson/agents40k9 repos~828Automated safety check: PassMIT

Similar skills

  • Reporting Adverse Events

    maziyarpanahi/openmed

    Structures adverse-event mentions that OpenMed extracts into FAERS / ICH E2B(R3) reportable fields — suspect drug, reaction (MedDRA PT), seriousness criteria, and outcome.

    5.5k GitHub stars~2.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Events

    coreyhaines31/marketingskills

    When the user wants to plan, run, sponsor, speak at, or get pipeline from events — webinars, conferences, trade shows, meetups, dinners, workshops, virtual summits, or user conferences.

    54k GitHub stars~3k tokensUpdated 2 days ago
    Marketing & SEOAuto-check passed
  • Adverse Event Narrative

    aipoch/medical-research-skills

    Generates CIOMS I-compliant ICSR narratives from adverse event case data for FDA and EMA regulatory submission.

    1.9k GitHub stars~3k tokensUpdated 24 days ago
    Research & ScienceAuto-check passed
  • Event Sourcing Architect

    davila7/claude-code-templates

    Expert in event sourcing, CQRS, and event-driven architecture patterns.

    33k GitHub starsUsed in 4 repos~659 tokens
    Backend & APIsAuto-check passed
  • Event Store Design

    wshobson/agents

    Designs event stores for event-sourced systems: requirements, a comparison of EventStoreDB, PostgreSQL, Kafka, DynamoDB and Marten, and stream and versioning practices.

    40k GitHub starsUsed in 9 repos~828 tokens
    Backend & APIsAuto-check passed
  • Datasets

    Arize-ai/phoenix

    Understand what a Phoenix dataset is and reason well about its examples, outputs, splits, and how it feeds evaluators and experiments.

    12k GitHub stars~1.6k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed

More from RConsortium/pharma-skills

All 13 skills in this repo
  • Rounding

    RConsortium/pharma-skills

    Audit R code that prepares CSR/TLF statistics for SAS-compatible rounding compliance (ties away from zero, round-once-at-display, fixed trailing-zero precision).

    120 GitHub stars~3.8k tokensUpdated 6 days ago
    Auto-check passed
  • Issue To Eval

    RConsortium/pharma-skills

    Converts one or more GitHub Issues into standardized benchmark data using automated scripts.

    120 GitHub stars~463 tokensUpdated 6 days ago
    Auto-check passed
  • Weekly Summary

    RConsortium/pharma-skills

    Generate a concise weekly progress summary for the pharmaskills repository.

    120 GitHub stars~546 tokensUpdated 6 days ago
    Auto-check passed
  • Admiral Adsl

    RConsortium/pharma-skills

    Derives an ADaM Subject-Level Analysis Dataset (ADSL) using the {admiral} R package and pharmaverse ecosystem.

    120 GitHub stars~4.4k tokensUpdated 6 days ago
    Auto-check passed
  • Admiral Bds

    RConsortium/pharma-skills

    Derives ADaM Basic Data Structure (BDS) datasets using the {admiral} R package.

    120 GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check passed
  • Sdtm Oak

    RConsortium/pharma-skills

    Derives CDISC SDTM domains from raw clinical (EDC/eCRF) data using the {sdtm.oak} R package.

    120 GitHub stars~3.9k tokensUpdated 6 days ago
    Auto-check passed

Questions about Admiral Adae

What does Admiral Adae do?

Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem. Admiral Adae is an agent skill from RConsortium/pharma-skills. Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem.

When should I use Admiral Adae?

Admiral Adae fits situations like: A user needs to create ADAE from SDTM AE and supporting domains; derive standard adverse event analysis variables (severity; treatment-emergent flags; study day variables.

How do I install Admiral Adae in Claude Code?

Run `npx skills add RConsortium/pharma-skills --skill admiral-adae -a claude-code`. Or copy the skill folder (admiral/admiral-adae in RConsortium/pharma-skills) into .claude/skills/admiral-adae in your project. Claude Code loads it when a task matches its description.

How do I install Admiral Adae in Codex?

Run `npx skills add RConsortium/pharma-skills --skill admiral-adae -a codex`. Or copy the skill folder (admiral/admiral-adae in RConsortium/pharma-skills) into .agents/skills/admiral-adae in your project. Codex loads it when a task matches its description.

Can I use Admiral Adae in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RConsortium/pharma-skills --skill admiral-adae -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/admiral-adae, .gemini/skills/admiral-adae, .github/skills/admiral-adae and .opencode/skills/admiral-adae in your project.

What does Admiral Adae need to run?

SKILL.md names no scripts, command-line tools or credentials: Admiral Adae is instructions for the agent only. Compatibility (from SKILL.md): Requires R with admiral, dplyr, lubridate, and pharmaversesdtm installed. Designed for use in a GxP-compliant environment with access to SDTM datasets, a completed ADSL dataset, and an ADaM ADAE specification. .

Does Admiral Adae access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Admiral Adae safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Admiral Adae use?

Admiral Adae is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Admiral Adae use?

About 3.9k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.4k tokens, read only when the agent opens those files.

What are the alternatives to Admiral Adae?

Skills that share tags, products or a category with Admiral Adae: Reporting Adverse Events (maziyarpanahi/openmed, 5.5k stars), Events (coreyhaines31/marketingskills, 54k stars), Adverse Event Narrative (aipoch/medical-research-skills, 1.9k stars) and Event Sourcing Architect (davila7/claude-code-templates, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Admiral Adae?

RConsortium (a GitHub organization) maintains it in RConsortium/pharma-skills, which has 120 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 4, 2026.

Source: RConsortium/pharma-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.