[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71QHB9RCKZ1X671MTC8008T":3,"skill-same:01M71QHB9RCKZ1X671MTC8008T":89},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M71QHB9RCKZ1X671MTC8008T","method-clif",null,"Applies CLIF (Common Longitudinal ICU data Format) rules: mCIDE versions, Parquet, UTC datetimes, no-PHI outputs. Use when the repo has CLIF tables, mCIDE, or CLIF_CLAUDE.md.","sajor2000\u002Fmethodsmith","sajor2000","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F126191042?v=4","01M71QG4M3561SH49E3S7J3GKT","JC Rojas ","01M71QG4N56X2P61YTJSRP95VD",6,"MIT","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"method clif","when","common","Data Format","data","phi","tables","repo","outputs","use","icu","Rules","version","format","parquet","2026-11-10 13:02:02",false,"---\nname: method-clif\ndescription: \"Applies CLIF (Common Longitudinal ICU data Format) rules: mCIDE versions, Parquet, UTC datetimes, no-PHI outputs. Use when the repo has CLIF tables, mCIDE, or CLIF_CLAUDE.md.\"\nargument-hint: \"[optional: --version 2.1.0|3.0.0, --strict, --off]\"\n---\n\n# CLIF-Safe Profile\n\n## Skill Value\n\n- **Problem it solves:** CLIF projects have consortium-specific invariants that generic EHR analysis workflows can violate.\n- **Use when:** The repo has CLIF_CLAUDE.md, CLIF tables, mCIDE content, CLIF remotes, or the user asks for CLIF-specific analysis.\n- **Output:** A CLIF activation signal plus language-specific CLIF workflow and validation guidance.\n- **Ask only if:** Only when CLIF signals are weak or ambiguous and activation could be wrong.\n- **Do not do:** Do not treat generic OMOP, claims, or EHR projects as CLIF without evidence.\n- **Interaction:** Check repo\u002Fconfig\u002Fchat evidence first. Ask one decision-changing question at a time; use the current harness's blocking question UI when available, otherwise present numbered choices and wait.\n\nLoads the CLIF (Common Longitudinal ICU data Format) ruleset for CLIF consortium or CLIF-derived projects so the rest of the `method-*` lifecycle respects CLIF schema, vocabularies, project layout, and PHI rules instead of treating CLIF like a generic Parquet dataset.\n\n**Core source:** Treat `https:\u002F\u002Fclif-icu.com\u002F` as the authoritative public CLIF source for the data dictionary, mCIDE context, tools, and consortium status. Use GitHub repositories for implementation details only after anchoring the project to the CLIF site and declared data dictionary version.\n\n## When this skill activates\n\nAuto-activate on **one strong signal** or **two or more weak signals**:\n\n**Strong signals:**\n- A file named `CLIF_CLAUDE.md` exists at the repo root or `~\u002FCLIF_CLAUDE.md`\n- Git remote URL contains `clif-consortium`, `Common-Longitudinal-ICU-data-Format`, or `clif-icu`\n- The user explicitly says \"CLIF\", \"mCIDE\", \"clif-icu\", or \"common longitudinal icu data format\"\n- Manual: `method-clif` (forces activation)\n\n**Weak signals (require 2+):**\n- A `mCIDE\u002F` directory exists\n- `WORKFLOW.md` exists at the repo root\n- Files named `clif_*.parquet` exist (e.g., `clif_vitals.parquet`, `clif_respiratory_support.parquet`)\n- Code references CLIF-specific table names: `respiratory_support`, `medication_admin_continuous`, `patient_assessments`, `intake_output`\n- `config\u002Fconfig.json` contains a `tables_path` field pointing to parquet files\n\n**NOT activation signals (too generic):**\n- `patient.parquet` alone (OMOP has `person`, but custom EHR may use `patient`)\n- `hospitalization` alone (generic term)\n- `vitals` or `labs` alone (generic terms)\n- `renv.lock` alone (any R project)\n- `WORKFLOW.md` alone (any project with a workflow doc)\n- `adt` alone (ADT feeds exist outside CLIF)\n\nWhen signals are ambiguous (only weak signals, or the user mentions a CLIF table name in a non-CLIF context), ask one question before activating:\n\n> \"Detected possible CLIF signals but this may not be a CLIF project. Is this a CLIF consortium or CLIF-derived project?\"\n\n`method-clif --off` forces deactivation for the session.\n\n### Select the CLIF and mCIDE family\n\nRead `references\u002Fversion-families.md` before selecting a family. Inspect, in\norder, an explicit `--version`, `stack_profile.clif.data_dictionary_version` and\n`stack_profile.clif.mcide_version` in local config, a project data-dictionary declaration,\nand a documented source manifest. Treat `--version` as a full direct call:\n\n```text\n`method-clif --version 2.1.0`  -> CLIF 2.1.0 + mCIDE 2.1.0\n`method-clif --version 3.0.0`  -> CLIF 3.0.0 + mCIDE 3.0.0\n```\n\nAn accepted direct call emits `selection=explicit` and needs no extra version\nquestion. If it conflicts with an explicitly declared local or project pair,\nshow the mismatch and ask which source is intended before category work. Never\ninfer `3.0.0` merely from an `mCIDE\u002F` directory, a table name, or missing\nlanguage evidence.\n\nWhen no matching pair is declared, signals conflict, or only one version is\nknown, ask this blocking question before generating category filters or\nvalidating vocabularies. Follow the interaction contract in Skill Value; if the\nblocking question UI is unavailable, present the same numbered choices in chat\nand wait. Never silently choose a family.\n\n> Which CLIF and mCIDE version family should this project use?\n>\n> 1. CLIF 2.1 + mCIDE 2.1 — the 2.1 structured-dictionary release family (confirm the current release at https:\u002F\u002Fclif-icu.com\u002F).\n> 2. CLIF 3.0 + mCIDE 3.0 — multimodal family, still pre-release on clif-icu.com; use only when the project explicitly targets it.\n\nReject an undeclared mixed pair such as CLIF 3.0 with mCIDE 2.1. Record a\nproject-specific exception only after the user supplies its source and states\nwhich vocabulary is authoritative.\n\nWhen selected, print one acknowledgment line and emit the handoff signal:\n\n```\n[method-clif] CLIF profile active (data dictionary v\u003Cdd-version>, mCIDE v\u003Cmcide-version>); protected paths read-only without POC sign-off.\n__CE_CLIF__ active=true version=\u003Cdd-version> mcide_version=\u003Cmcide-version> selection=\u003Cexplicit|declared|selected> strict=\u003Ctrue|false> rules=references\u002Fclif-rules.md\n```\n\nWhen `--off` is passed, emit `__CE_CLIF__ active=false` so downstream skills resume default behavior.\n\n## Prerequisites\n\nNone; no stack profile is required. Resolve the repository root before reading optional config:\n!`git rev-parse --show-toplevel 2>\u002Fdev\u002Fnull || true`\n\nUse the resolved absolute path or resolve it at runtime, then read `\u003Crepo-root>\u002F.methodsmith\u002Fconfig.local.yaml` with the native file-read tool. In a linked worktree, fall back to the main checkout when the config is absent.\n\n## Core workflow\n\n### Step 1: Detect or confirm\n\nIf auto-detection signals are present, activate silently and print the acknowledgment line. If signals are ambiguous (e.g., user mentions CLIF but is in an unrelated repo), ask one question:\n\n> \"Detected CLIF references but the working directory is `\u003Cdir>`. Activate CLIF profile for this session?\"\n\n### Step 2: Load the rule set and language envelope\n\nLoad `references\u002Fclif-rules.md` (always), `references\u002Fmcide-vocab.md` (when the session touches `_category` columns or vocabulary checks), and `references\u002Fpoc-table.md` (when an edit or PR is proposed against a protected path).\n\nBefore reading patient-level data, code output, logs, or tracebacks, apply the\nsensitive-data boundary in `references\u002Fclif-rules.md`. CLIF's federated rules (no\npatient-level tables leave the site; every shared cell has more than 10 patients) apply\nin every mode.\n\nThen ensure `__CE_LANG__` exists:\n\n- If `__CE_LANG__` is already present in chat context, consume it as-is.\n- Otherwise load the `method-language-detect` skill and use its emitted envelope.\n- If detection returns `primary=unknown`, route CLIF code guidance to both recipe files.\n\n### Step 3: Read the project's local override (optional)\n\nIf the resolved config contains a `clif:` block under `stack_profile:`, merge it over the defaults. Recognized keys:\n\n```yaml\nstack_profile:\n  profile: clif\n  clif:\n    data_dictionary_version: \"2.1.0\"   # selected family: 2.1.0 or 3.0.0\n    mcide_version: \"2.1.0\"             # must match data_dictionary_version unless an authoritative exception is documented\n    parquet_only: true                  # refuse CSV\u002FFeather for CLIF tables\n    protected_paths:                    # in addition to the built-in list\n      - mCIDE\u002F**\n      - ddl\u002F**\n      - WORKFLOW.md\n    poc_table_path: .\u002FCLIF_POCs.md      # optional override; defaults to references\u002Fpoc-table.md\n    strict: true                        # block on any rule violation rather than warn\n```\n\n### Step 4: Emit the signal\n\nEmit the `__CE_CLIF__` line (canonical envelope below) alongside `__CE_LANG__`; downstream `method-*` skills read both in their step-0 context scan. This skill never modifies the user's repo; it only loads rules and emits signals.\n\n### Step 5: On protected-path edits\n\nWhen the session is about to edit any `protected_paths` entry, the skill's guardrail runs **before** the edit:\n\n1. Resolve the responsible POC by matching the file path against `references\u002Fpoc-table.md` (e.g., `mCIDE\u002Frespiratory_support\u002F**` -> Nicholas Ingraham, `@ingra107`).\n2. Refuse the edit unless the prompt contains a phrase indicating POC authorization, e.g., `POC: @ingra107 approved` or `--poc-approved`.\n3. If the user insists without authorization, write the proposed change to `analysis\u002Fclif-protected-edits\u002F\u003Ctimestamp>-\u003Cfile>.diff` and surface a single-line warning:\n\n   ```\n   [method-clif] BLOCKED: edit to mCIDE\u002Frespiratory_support\u002Frespiratory_support_mode_categories.csv requires POC sign-off (Nicholas Ingraham, @ingra107). Diff staged at analysis\u002Fclif-protected-edits\u002F2026-04-29T18-00-00-respiratory_support_mode_categories.diff\n   ```\n\n## What this skill does NOT do\n\n- Does not edit files in the upstream CLIF repo on the user's behalf\n- Does not contact POCs (it only cites the right person)\n- Does not replace `method-data-qa`, `method-cohort`, etc. — it just changes how those skills behave when CLIF mode is active\n- Does not de-identify data or run PHI scans (dispatch the `method-phi-leak-reviewer` agent)\n\n## Handoff signal (canonical envelope)\n\n```\n__CE_CLIF__ active=\u003Ctrue|false> version=\u003Cdd-version> mcide_version=\u003Cmcide-version> selection=\u003Cexplicit|declared|selected> strict=\u003Ctrue|false> rules=\u003Cpath-to-clif-rules.md>\n```\n\nConsumers (other `method-*` skills) parse `active=true` to switch to CLIF behavior; they parse `version=` and `mcide_version=` as one selected family before validating categories; they parse `strict=true` to escalate warnings into refusals. If `mcide_version=` is absent, stop category validation and route back to this skill rather than assuming the v2.1 cache applies.\n\n## Code recipes (drawn from the upstream CLIF org)\n\nWhen the user is writing CLIF analysis code, surface canonical recipes from the upstream code-of-record packages:\n\n- **Python users** (`__CE_LANG__ primary=python`): load `references\u002Fclifpy-recipes.md` — core recipes verified against `Common-Longitudinal-ICU-data-Format\u002Fclifpy` 2.1.0 (uv projects use `uv add clifpy`; otherwise `python3 -m pip install --upgrade clifpy`). Covers `ClifOrchestrator` setup, schema validation, wide datasets, outlier handling, stitching, medication unit conversion, SOFA, and the data-quality assessment (DQA) pattern. For any other `clifpy` call, SOFA-2, ASE, timezone handling, 3.0 migration, or a review of existing `clifpy` code, load the `method-clifpy` skill.\n- **R users** (`__CE_LANG__ primary=r`): load `references\u002Fr-template-recipes.md` — recipes drawn from `Common-Longitudinal-ICU-data-Format\u002FCLIF-Project-Template` (R) and the canonical `code\u002Ftemplates\u002FR\u002F` layout. Covers `renv` bootstrap, `arrow::open_dataset()` reads, cohort → QC → outlier handling → analysis, and the separate intermediate\u002Ffinal output paths.\n- **`__CE_LANG__ primary=both`** or `unknown`: surface both files so the agent can choose.\n\nFor a new consortium project or a structural check of a template-derived repository, route to the `method-clif-template` skill. For a full audit of a CLIF project repository (environment pins, config, `clifpy` usage, timezone, output disclosure, reproducibility), route to the `method-clif-audit` skill. This skill remains the CLIF version, vocabulary, and protected-path guardrail.\n\nFor formal site-to-lead effect pooling, model-output synthesis, or a literature\nmeta-analysis, use `method-clif-meta-analysis`. A shared CLIF schema does not establish\ncomparable estimands or independent site estimates.\n\n## References\n\nRead each file at the step that names it (backtick paths, loaded on demand):\n\n- `references\u002Fclif-rules.md` — Core rules (Parquet, UTC datetimes, mCIDE vocab, project layout, sensitive-data boundary, template workflow). Read at Step 2, always.\n- `references\u002Fversion-families.md` — Selection and migration contract for CLIF\u002FmCIDE 2.1 and 3.0. Read before selecting a version family or validating v3 categories.\n- `references\u002Fmcide-vocab.md` — Cached 2.1 allow-lists plus pointers to authoritative mCIDE CSV sources; never use it for v3.\n- `references\u002Fpoc-table.md` — CLIF table \u002F mCIDE subdirectory to responsible POC (name and GitHub handle), for the protected-path guardrail. Names and handles only; no contact addresses are cached.\n- `references\u002Fclifpy-recipes.md` — Core Python recipes (ClifOrchestrator, wide dataset, outliers, stitching, units, SOFA, DQA). Load when generating Python CLIF code; use `method-clifpy` for the full verified API.\n- `references\u002Fr-template-recipes.md` — R recipes (arrow, cohort, QC, meta-analysis, propensity, federated). Load when generating R CLIF code.\n","# CLIF-Safe Profile\n\n## Skill Value\n\n- **Problem it solves:** CLIF projects have consortium-specific invariants that generic EHR analysis workflows can violate.\n- **Use when:** The repo has CLIF_CLAUDE.md, CLIF tables, mCIDE content, CLIF remotes, or the user asks for CLIF-specific analysis.\n- **Output:** A CLIF activation signal plus language-specific CLIF workflow and validation guidance.\n- **Ask only if:** Only when CLIF signals are weak or ambiguous and activation could be wrong.\n- **Do not do:** Do not treat generic OMOP, claims, or EHR projects as CLIF without evidence.\n- **Interaction:** Check repo\u002Fconfig\u002Fchat evidence first. Ask one decision-changing question at a time; use the current harness's blocking question UI when available, otherwise present numbered choices and wait.\n\nLoads the CLIF (Common Longitudinal ICU data Format) ruleset for CLIF consortium or CLIF-derived projects so the rest of the `method-*` lifecycle respects CLIF schema, vocabularies, project layout, and PHI rules instead of treating CLIF like a generic Parquet dataset.\n\n**Core source:** Treat `https:\u002F\u002Fclif-icu.com\u002F` as the authoritative public CLIF source for the data dictionary, mCIDE context, tools, and consortium status. Use GitHub repositories for implementation details only after anchoring the project to the CLIF site and declared data dictionary version.\n\n## When this skill activates\n\nAuto-activate on **one strong signal** or **two or more weak signals**:\n\n**Strong signals:**\n- A file named `CLIF_CLAUDE.md` exists at the repo root or `~\u002FCLIF_CLAUDE.md`\n- Git remote URL contains `clif-consortium`, `Common-Longitudinal-ICU-data-Format`, or `clif-icu`\n- The user explicitly says \"CLIF\", \"mCIDE\", \"clif-icu\", or \"common longitudinal icu data format\"\n- Manual: `method-clif` (forces activation)\n\n**Weak signals (require 2+):**\n- A `mCIDE\u002F` directory exists\n- `WORKFLOW.md` exists at the repo root\n- Files named `clif_*.parquet` exist (e.g., `clif_vitals.parquet`, `clif_respiratory_support.parquet`)\n- Code references CLIF-specific table names: `respiratory_support`, `medication_admin_continuous`, `patient_assessments`, `intake_output`\n- `config\u002Fconfig.json` contains a `tables_path` field pointing to parquet files\n\n**NOT activation signals (too generic):**\n- `patient.parquet` alone (OMOP has `person`, but custom EHR may use `patient`)\n- `hospitalization` alone (generic term)\n- `vitals` or `labs` alone (generic terms)\n- `renv.lock` alone (any R project)\n- `WORKFLOW.md` alone (any project with a workflow doc)\n- `adt` alone (ADT feeds exist outside CLIF)\n\nWhen signals are ambiguous (only weak signals, or the user mentions a CLIF table name in a non-CLIF context), ask one question before activating:\n\n> \"Detected possible CLIF signals but this may not be a CLIF project. Is this a CLIF consortium or CLIF-derived project?\"\n\n`method-clif --off` forces deactivation for the session.\n\n### Select the CLIF and mCIDE family\n\nRead `references\u002Fversion-families.md` before selecting a family. Inspect, in\norder, an explicit `--version`, `stack_profile.clif.data_dictionary_version` and\n`stack_profile.clif.mcide_version` in local config, a project data-dictionary declaration,\nand a documented source manifest. Treat `--version` as a full direct call:\n\n```text\n`method-clif --version 2.1.0`  -> CLIF 2.1.0 + mCIDE 2.1.0\n`method-clif --version 3.0.0`  -> CLIF 3.0.0 + mCIDE 3.0.0\n```\n\nAn accepted direct call emits `selection=explicit` and needs no extra version\nquestion. If it conflicts with an explicitly declared local or project pair,\nshow the mismatch and ask which source is intended before category work. Never\ninfer `3.0.0` merely from an `mCIDE\u002F` directory, a table name, or missing\nlanguage evidence.\n\nWhen no matching pair is declared, signals conflict, or only one version is\nknown, ask this blocking question before generating category filters or\nvalidating vocabularies. Follow the interaction contract in Skill Value; if the\nblocking question UI is unavailable, present the same numbered choices in chat\nand wait. Never silently choose a family.\n\n> Which CLIF and mCIDE version family should this project use?\n>\n> 1. CLIF 2.1 + mCIDE 2.1 — the 2.1 structured-dictionary release family (confirm the current release at https:\u002F\u002Fclif-icu.com\u002F).\n> 2. CLIF 3.0 + mCIDE 3.0 — multimodal family, still pre-release on clif-icu.com; use only when the project explicitly targets it.\n\nReject an undeclared mixed pair such as CLIF 3.0 with mCIDE 2.1. Record a\nproject-specific exception only after the user supplies its source and states\nwhich vocabulary is authoritative.\n\nWhen selected, print one acknowledgment line and emit the handoff signal:\n\n```\n[method-clif] CLIF profile active (data dictionary v\u003Cdd-version>, mCIDE v\u003Cmcide-version>); protected paths read-only without POC sign-off.\n__CE_CLIF__ active=true version=\u003Cdd-version> mcide_version=\u003Cmcide-version> selection=\u003Cexplicit|declared|selected> strict=\u003Ctrue|false> rules=references\u002Fclif-rules.md\n```\n\nWhen `--off` is passed, emit `__CE_CLIF__ active=false` so downstream skills resume default behavior.\n\n## Prerequisites\n\nNone; no stack profile is required. Resolve the repository root before reading optional config:\n!`git rev-parse --show-toplevel 2>\u002Fdev\u002Fnull || true`\n\nUse the resolved absolute path or resolve it at runtime, then read `\u003Crepo-root>\u002F.methodsmith\u002Fconfig.local.yaml` with the native file-read tool. In a linked worktree, fall back to the main checkout when the config is absent.\n\n## Core workflow\n\n### Step 1: Detect or confirm\n\nIf auto-detection signals are present, activate silently and print the acknowledgment line. If signals are ambiguous (e.g., user mentions CLIF but is in an unrelated repo), ask one question:\n\n> \"Detected CLIF references but the working directory is `\u003Cdir>`. Activate CLIF profile for this session?\"\n\n### Step 2: Load the rule set and language envelope\n\nLoad `references\u002Fclif-rules.md` (always), `references\u002Fmcide-vocab.md` (when the session touches `_category` columns or vocabulary checks), and `references\u002Fpoc-table.md` (when an edit or PR is proposed against a protected path).\n\nBefore reading patient-level data, code output, logs, or tracebacks, apply the\nsensitive-data boundary in `references\u002Fclif-rules.md`. CLIF's federated rules (no\npatient-level tables leave the site; every shared cell has more than 10 patients) apply\nin every mode.\n\nThen ensure `__CE_LANG__` exists:\n\n- If `__CE_LANG__` is already present in chat context, consume it as-is.\n- Otherwise load the `method-language-detect` skill and use its emitted envelope.\n- If detection returns `primary=unknown`, route CLIF code guidance to both recipe files.\n\n### Step 3: Read the project's local override (optional)\n\nIf the resolved config contains a `clif:` block under `stack_profile:`, merge it over the defaults. Recognized keys:\n\n```yaml\nstack_profile:\n  profile: clif\n  clif:\n    data_dictionary_version: \"2.1.0\"   # selected family: 2.1.0 or 3.0.0\n    mcide_version: \"2.1.0\"             # must match data_dictionary_version unless an authoritative exception is documented\n    parquet_only: true                  # refuse CSV\u002FFeather for CLIF tables\n    protected_paths:                    # in addition to the built-in list\n      - mCIDE\u002F**\n      - ddl\u002F**\n      - WORKFLOW.md\n    poc_table_path: .\u002FCLIF_POCs.md      # optional override; defaults to references\u002Fpoc-table.md\n    strict: true                        # block on any rule violation rather than warn\n```\n\n### Step 4: Emit the signal\n\nEmit the `__CE_CLIF__` line (canonical envelope below) alongside `__CE_LANG__`; downstream `method-*` skills read both in their step-0 context scan. This skill never modifies the user's repo; it only loads rules and emits signals.\n\n### Step 5: On protected-path edits\n\nWhen the session is about to edit any `protected_paths` entry, the skill's guardrail runs **before** the edit:\n\n1. Resolve the responsible POC by matching the file path against `references\u002Fpoc-table.md` (e.g., `mCIDE\u002Frespiratory_support\u002F**` -> Nicholas Ingraham, `@ingra107`).\n2. Refuse the edit unless the prompt contains a phrase indicating POC authorization, e.g., `POC: @ingra107 approved` or `--poc-approved`.\n3. If the user insists without authorization, write the proposed change to `analysis\u002Fclif-protected-edits\u002F\u003Ctimestamp>-\u003Cfile>.diff` and surface a single-line warning:\n\n   ```\n   [method-clif] BLOCKED: edit to mCIDE\u002Frespiratory_support\u002Frespiratory_support_mode_categories.csv requires POC sign-off (Nicholas Ingraham, @ingra107). Diff staged at analysis\u002Fclif-protected-edits\u002F2026-04-29T18-00-00-respiratory_support_mode_categories.diff\n   ```\n\n## What this skill does NOT do\n\n- Does not edit files in the upstream CLIF repo on the user's behalf\n- Does not contact POCs (it only cites the right person)\n- Does not replace `method-data-qa`, `method-cohort`, etc. — it just changes how those skills behave when CLIF mode is active\n- Does not de-identify data or run PHI scans (dispatch the `method-phi-leak-reviewer` agent)\n\n## Handoff signal (canonical envelope)\n\n```\n__CE_CLIF__ active=\u003Ctrue|false> version=\u003Cdd-version> mcide_version=\u003Cmcide-version> selection=\u003Cexplicit|declared|selected> strict=\u003Ctrue|false> rules=\u003Cpath-to-clif-rules.md>\n```\n\nConsumers (other `method-*` skills) parse `active=true` to switch to CLIF behavior; they parse `version=` and `mcide_version=` as one selected family before validating categories; they parse `strict=true` to escalate warnings into refusals. If `mcide_version=` is absent, stop category validation and route back to this skill rather than assuming the v2.1 cache applies.\n\n## Code recipes (drawn from the upstream CLIF org)\n\nWhen the user is writing CLIF analysis code, surface canonical recipes from the upstream code-of-record packages:\n\n- **Python users** (`__CE_LANG__ primary=python`): load `references\u002Fclifpy-recipes.md` — core recipes verified against `Common-Longitudinal-ICU-data-Format\u002Fclifpy` 2.1.0 (uv projects use `uv add clifpy`; otherwise `python3 -m pip install --upgrade clifpy`). Covers `ClifOrchestrator` setup, schema validation, wide datasets, outlier handling, stitching, medication unit conversion, SOFA, and the data-quality assessment (DQA) pattern. For any other `clifpy` call, SOFA-2, ASE, timezone handling, 3.0 migration, or a review of existing `clifpy` code, load the `method-clifpy` skill.\n- **R users** (`__CE_LANG__ primary=r`): load `references\u002Fr-template-recipes.md` — recipes drawn from `Common-Longitudinal-ICU-data-Format\u002FCLIF-Project-Template` (R) and the canonical `code\u002Ftemplates\u002FR\u002F` layout. Covers `renv` bootstrap, `arrow::open_dataset()` reads, cohort → QC → outlier handling → analysis, and the separate intermediate\u002Ffinal output paths.\n- **`__CE_LANG__ primary=both`** or `unknown`: surface both files so the agent can choose.\n\nFor a new consortium project or a structural check of a template-derived repository, route to the `method-clif-template` skill. For a full audit of a CLIF project repository (environment pins, config, `clifpy` usage, timezone, output disclosure, reproducibility), route to the `method-clif-audit` skill. This skill remains the CLIF version, vocabulary, and protected-path guardrail.\n\nFor formal site-to-lead effect pooling, model-output synthesis, or a literature\nmeta-analysis, use `method-clif-meta-analysis`. A shared CLIF schema does not establish\ncomparable estimands or independent site estimates.\n\n## References\n\nRead each file at the step that names it (backtick paths, loaded on demand):\n\n- `references\u002Fclif-rules.md` — Core rules (Parquet, UTC datetimes, mCIDE vocab, project layout, sensitive-data boundary, template workflow). Read at Step 2, always.\n- `references\u002Fversion-families.md` — Selection and migration contract for CLIF\u002FmCIDE 2.1 and 3.0. Read before selecting a version family or validating v3 categories.\n- `references\u002Fmcide-vocab.md` — Cached 2.1 allow-lists plus pointers to authoritative mCIDE CSV sources; never use it for v3.\n- `references\u002Fpoc-table.md` — CLIF table \u002F mCIDE subdirectory to responsible POC (name and GitHub handle), for the protected-path guardrail. Names and handles only; no contact addresses are cached.\n- `references\u002Fclifpy-recipes.md` — Core Python recipes (ClifOrchestrator, wide dataset, outliers, stitching, units, SOFA, DQA). Load when generating Python CLIF code; use `method-clifpy` for the full verified API.\n- `references\u002Fr-template-recipes.md` — R recipes (arrow, cohort, QC, meta-analysis, propensity, federated). Load when generating R CLIF code.\n",{"name":5,"description":7,"argument-hint":39},"[optional: --version 2.1.0|3.0.0, --strict, --off]","main","893bccb980e4dce1345919e9f675f5a9dcbed364","plugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif",0,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith","https:\u002F\u002Fsajor2000.github.io\u002Fmethodsmith\u002F","https:\u002F\u002Fgithub.com\u002Fsajor2000","Critical care physician-scientist at Rush University. @Common-Longitudinal-ICU-data-Format contributor building open ICU data tools & clinical AI","2026-11-01 01:56:01",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add sajor2000\u002Fmethodsmith --skill method-clif",{"tool":55,"command":56},"bunx","bunx skills add sajor2000\u002Fmethodsmith --skill method-clif",{"tool":58,"command":59},"pnpm","pnpm dlx skills add sajor2000\u002Fmethodsmith --skill method-clif","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002FSKILL.md",true,[63,69,73,77,81,85],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fclif-rules.md","REFERENCE","参考文档",20096,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002Freferences\u002Fclif-rules.md",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fclifpy-recipes.md",8644,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002Freferences\u002Fclifpy-recipes.md",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fmcide-vocab.md",7305,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002Freferences\u002Fmcide-vocab.md",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fpoc-table.md",6336,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002Freferences\u002Fpoc-table.md",{"path":82,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fr-template-recipes.md",20889,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002Freferences\u002Fr-template-recipes.md",{"path":86,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fversion-families.md",3455,"https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-clif\u002Freferences\u002Fversion-families.md",[90,106,120,132,141,150],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":101,"publishedAt":34},"01M71QQY0KE1184AF58EC1J5C1","skill-one","Sample skill","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fsample-plugin\u002Fskills\u002Fskill-one\u002FSKILL.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[102,103,104,105],"one","skill one","sample","sample skill",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":34},"01M71QQW3PNK9AYB5HBMAPM72J","disabled-skill","A skill with model invocation disabled","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fsample-plugin\u002Fskills\u002Fdisabled-skill\u002FSKILL.md",[112],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},[114,115,116,117,118,119],"disabled skill","a skill","with model","with","true","model",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":34},"01M71QQSY02X7DNZQRAGJ6YFGY","claude-only-skill","A skill restricted to Claude Code only","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fsample-plugin\u002Fskills\u002Fclaude-only-skill\u002FSKILL.md",[126],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},[128,129,130,115,131],"claude only","claude only skill","only","code",{"skillNo":133,"name":134,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":34},"01M71QQRPZ76X623V5P7T1E3DD","default-skill","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcustom-paths\u002Fskills\u002Fdefault-skill\u002FSKILL.md",[137],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},[139,140],"default","default skill",{"skillNo":142,"name":143,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":34},"01M71QQQG3FF2HFQHVH8VHA08R","custom-skill","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcustom-paths\u002Fcustom-skills\u002Fcustom-skill\u002FSKILL.md",[146],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},[148,149],"custom skill","custom",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":34},"01M71QQMBNC76141GHXBSMENSH","method-write","Drafts, revises, and audits evidence-bound manuscripts, sections, abstracts, and reviewer responses with claim provenance. Use when scientific prose must be written or revised (entry point).","https:\u002F\u002Fgithub.com\u002Fsajor2000\u002Fmethodsmith\u002Fblob\u002Fmain\u002Fplugins\u002Fmethodsmith\u002Fskills\u002Fmethod-write\u002FSKILL.md",[],[157,158,159,160,161,162,28,20,163,164,117,165,166,167],"write","method write","point","evidence","entry","claim","provenance","reviewer","scientific","prose","drafts"]