com um clique
dismech-pr-review
// Instructions for reviewing a dismech PR, in particular PRs relating to disorder curation, either creating new dismech entries or updating existing ones.
// Instructions for reviewing a dismech PR, in particular PRs relating to disorder curation, either creating new dismech entries or updating existing ones.
Use when asked to curate the next N disease curation issues already assigned to the current GitHub user. Filters open issues to those where the user is the sole assignee and no PR exists yet, picks the first N, then dispatches /curate in parallel for each. Accepts a positional integer N between 1 and 8.
Skill for initiating new disorder YAML files in the dismech knowledge base. Use this skill when the user asks to create a new disorder entry. Also useful for enhancing existing entries.
Use ONLY when the user explicitly asks to orchestrate parallel external agents (Codex or Claude Code) in tmux sessions via tp (tmux-pilot). Or when a user tells you that you're the boss or orchestrator. You can also use this if you are an operclaw agent. NEVER auto-invoke for a generic "do this in parallel" request. For in-process subagents, use superpowers:dispatching-parallel-agents instead.
Skill for populating the `classifications` top-level block of a dismech Disease entry. Covers Harrison's Part assignment, mechanistic nosology, lysosomal storage, IUIS immunodeficiency, channelopathy, and ICD-O morphology fields, with a lookup table from common clinical phrasing to controlled-vocabulary keys.
Use when claiming the next high-priority uncurated disease from the dismech priority dashboard. Picks the top-ranked disease in dashboard/priority.json that is not already covered in kb/disorders/, opens a GitHub curation issue, and assigns it to the current GitHub user. Accepts an optional integer 1–8 to claim N diseases at once.
Skill for adding and validating ontology term references in the dismech knowledge base. This skill should be used when working with disorder YAML files that need ontology term annotations (HPO for phenotypes, CL for cell types, GO for biological processes, MONDO for diseases, UBERON for anatomical entities). Use this skill when adding phenotype_term, cell_types term, biological_processes term, or other ontology-bound fields to disorder files.
| name | dismech-pr-review |
| description | Instructions for reviewing a dismech PR, in particular PRs relating to disorder curation, either creating new dismech entries or updating existing ones. |
Use this skill to review or draft curation guidance and to QA disorder entries for correctness, specificity, and schema alignment.
Use all appropriate skills. What follows are some specific guidelines aimed to catch common suboptimal things we see in PRs a lot. This list is not complete and you should always consult skills and comparable entries.
Although your primary objective is to evaluate the biological and clinical content of PRs, you MUST be vigilant for cases where the committed has botched a rebase or merge arising from merge conflict resolution (usually in cache files). You should also try ensure that all changes in the PR are in scope. If files are touched that are not relevant to the original request this is a warning sign.
If in doubt, mark the PR as being review-required, and assign to cmungall.
If the author truly did intend to include changes that seem out of scope, they will label the PR as scope-override.
If you see a massive number of files touched and these are not relevant, this is a sure sign something has gone horribly wrong. Flag the PR assign to cmungall and stop.
Typically conflicts arise from difference in cache files. We don't really care so much how these are resolved as they are derived files. More care should be taken when looking at conflicts resolution in anything authored, whether it is yaml, python, markdown etc.
If the case seems nuanced, consult issue #1430 for further guidance.
Do NOT second-guess deterministic validation.
The dismech CI pipeline runs just validate, just validate-terms-file, and just validate-references on every PR. If a file passes those checks, it is schema-valid and structurally correct. The reviewer's job is NOT to re-inspect the output of these checks — that is redundant and leads to false positives.
Concretely:
datasets: with no content). In LinkML, a null value, an empty list, and a missing key are semantically equivalent. If validation passes, the entry is valid.The reviewer's role is to evaluate non-deterministic components using biological judgment, domain expertise, and the rubrics below: biological plausibility, ontology specificity, evidence quality, claim–snippet alignment, and section appropriateness. Focus there.
updated_date: Do NOT flag or request updates to updated_date in reviews. Change tracking is handled via separate git logs and traces.datasets:, clinical_trials:).just validate — trust CI.When a PR adds or updates a disorder YAML and matching deep-research artifacts exist in
research/, treat those artifacts as first-class curation inputs, not optional background.
At minimum:
research/*-deep-research-*.md file and corresponding .citations.md.asta outputs, do NOT treat every retrieved paper as a review issue. Prioritize disease-specific, central, quotable, cache-backed items with clear modeling value.Always check the deep research markdown file. Occasionally agents will cheat and put a "fake" deep research entry. Real entries will always have a frontmatter block with metadata about the run, and after some rote repetition of the original prompt, should have dense narrative results, with citations.
For NEW dismech entries, there MUST be at least one deep research entry in the PR. A dismech entry that lacks this will likely be highly incomplete.
When deep-research artifacts are present, the reviewer MUST walk through each dimension below and note whether the YAML adequately covers what the research surfaced. This checklist exists because schema-compliance review alone systematically misses content gaps (see issue #1673 — the HHT retrospective).
For each dimension, compare the research artifact against the YAML and record one of:
Include the completed checklist (or a summary of it) in your review body.
has_subtypes?disease_term with MONDO or OMIM identifier when the research provides one?treatments section?clinical_trials?references_cache/, incorporated into the YAML?downstream links.term omitted and a "needs term / NTR" note.evidence_source: MODEL_ORGANISM
Snippets must be exact quotes from abstracts or trial summaries. No paraphrase.Allowed evidence_source values:
HUMAN_CLINICALMODEL_ORGANISMIN_VITROCOMPUTATIONALOTHER
Split mixed sources into separate evidence items.located_in)INCREASED, DECREASED, ABERRANT)temporality: RECURRENT, CHRONIC, ACUTE, SUBACUTE, TRANSIENT, etc.)clinical_course: PROGRESSIVE / STABLE)severity: MILD|MODERATE|SEVERE)onset.onset_category: CHILDHOOD, etc.)Prefer the explicit descriptor slots above over the deprecated generic qualifiers
field for common post-composition. Reserve qualifiers for predicate-value cases
that are not covered by dedicated slots.
comorbidities, not histopathologydiagnosis, not treatmentsgenetic:biochemical or appropriate sections.hgnc: (e.g., hgnc:1100), not HGNC:1100. Only flag if you have verified the mismatch causes a validation failure — do not flag preemptively.has_subtypes for true subtypesstages for phased diseases (e.g., cancer phases)Evidence at Cell-Type Granularity
When possible, consider evidence at the cell-type level and annotate cell_types accordingly.
Research-Backed Completeness (Content-Completeness Checklist) If matching deep-research artifacts exist, walk through the Content-Completeness Checklist in the "Deep Research Cross-Check" section above. This is not optional — it is the primary defence against schema-valid but content-incomplete entries.
kb/modules/ for these)For new entries and major augmentations, verify that GeneReviews was used as a mandatory baseline where applicable.
Step 1 — Is a GeneReviews article tagged?
Check the top-level references: block for an entry with tags: [GeneReviews].
references:
- reference: PMID:XXXXXXXX
tags:
- GeneReviews
If no such tag exists, search PubMed:
curl -sG "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi" \
--data-urlencode "db=pubmed" --data-urlencode "retmode=json" \
--data-urlencode "term=<DISEASE NAME>[TI] GeneReviews[TI]"
REQUEST_CHANGES.Step 2 — If GeneReviews is tagged, check coverage
Read the cached abstract at references_cache/PMID_<ID>.md and verify:
phenotypes: block or the omission
is clearly intentional (documented scope narrowing).Absence of a GeneReviews-documented phenotype that affects >10% of patients is blocking under the same threshold as the Content-Completeness Checklist.
After completing the review, you MUST submit a formal GitHub review (not just a comment).
Use gh pr review with one of the three events below.
Submit --approve when all of the following hold:
biological_processes)Submit --request-changes when any one of the following is true:
biological_processes)tags: [GeneReviews]) in the top-level references: blockSubmit --comment and reassign the PR/issue to @cmungall when:
Do NOT defer fixable problems with "can be addressed in a future PR". The curating agent can act on feedback immediately. If something is wrong, request changes. Only approve when the entry is genuinely ready to merge. This includes central research-backed omissions when matching deep-research artifacts were available in the PR.