Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Operator toolkit for nf-core/pacsomatic matched tumor-normal workflows from BAM inputs. Use this skill when the user needs to validate run inputs, generate pacsomatic-compliant samplesheets, prepare reproducible Nextflow launch artifacts, run locally or submit to schedulers (LSF/Slurm/PBS/SGE), and triage execution failures. Triggers on requests to run pacsomatic, prepare launch commands/scripts, perform dry-run checks, or troubleshoot pipeline startup and scheduler submission errors.
.claude/skills/lingxling-pacsomatic/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 1208% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 31% | 0% |
This skill provides a reproducible execution workflow for nf-core/pacsomatic, centered on a single helper entrypoint that handles validation, artifact generation, and optional execution.
Primary entrypoint:
scripts/run_pacsomatic.pyThe helper script:
patient,sample,status,bam,pbi)Use this skill as the default path for pacsomatic operations. Do not bypass it with manually assembled nextflow run nf-core/pacsomatic commands unless the user explicitly asks for manual command construction.
Invoke this skill when the user asks to:
Do not use this skill for:
Typical trigger phrases:
scripts/run_pacsomatic.py for validation and artifact generation.--dry-run when the user asks for checks/validation only.--run only when the user asks to execute/submit..nextflow.log, pipeline_info, failing task logs).Required:
--fasta or --genomeOptional:
-r)--dry-run and/or --run--dry-run and not --run, stop after artifact generation.--run, execute locally or submit to scheduler.Every response after invocation should include:
dry-run vs run)Dry run:
bashpython scripts/run_pacsomatic.py \ --tumor-bam /path/to/tumor.bam \ --normal-bam /path/to/normal.bam \ --patient-id P001 \ --tumor-sample-id P001_T \ --normal-sample-id P001_N \ --outdir /path/to/output \ --genome GRCh38 \ --profile singularity,sanger \ --dry-run
Scheduler execution example (Slurm):
bashpython scripts/run_pacsomatic.py \ --tumor-bam /path/to/tumor.bam \ --normal-bam /path/to/normal.bam \ --patient-id P001 \ --tumor-sample-id P001_T \ --normal-sample-id P001_N \ --outdir /path/to/output \ --genome GRCh38 \ --profile singularity,sanger \ --executor slurm \ --queue compute \ --project my_account \ --cpus 16 \ --memory-gb 64 \ --walltime 48:00 \ --run
Use config.yaml as the baseline for profile/executor/runtime defaults. Override at invocation time when user requirements differ.
Run unit tests from skill root:
bashpython -m unittest discover -s tests -v
references/agent-playbook.mdreferences/config-and-output.mdreferences/pacsomatic_guide.mdscripts/run_pacsomatic.py| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | 23,250 | 12,776 | -45% | 1 | 1 | 0% | 3,898 | 2,677 | -31% | 0 | 0 | — |
case-01 | fail→fail | 44,975 | 65,853 | +46% | 1 | 1 | 0% | 2,296 | 1,551 | -32% | 0 | 0 | — |
case-02 | fail→fail | 38,990 | 36,002 | -8% | 1 | 1 | 0% | 560 | 1,626 | +190% | 0 | 0 | — |
case-03 | fail→fail | 50,076 | 44,232 | -12% | 1 | 1 | 0% | 3,674 | 3,968 | +8% | 0 | 0 | — |
case-04 | pass→pass | 6,820 | 6,456 | -5% | 1 | 1 | 0% | 1,002 | 2,412 | +141% | 0 | 0 | — |
case-05 | fail→pass | 11,377 | 8,333 | -27% | 1 | 1 | 0% | 2,014 | 2,818 | +40% | 0 | 0 | — |
case-07 | fail→fail | 14,353 | 6,277 | -56% | 1 | 1 | 0% | 2,197 | 1,551 | -29% | 0 | 0 | — |
case-08 | fail→fail | 9,926 | 6,549 | -34% | 1 | 1 | 0% | 1,734 | 1,572 | -9% | 0 | 0 | — |
case-09 | fail→fail | 7,233 | 6,059 | -16% | 1 | 1 | 0% | 1,468 | 1,523 | +4% | 0 | 0 | — |
case-10 | pass→pass | 11,988 | 6,697 | -44% | 1 | 1 | 0% | 1,935 | 2,474 | +28% | 0 | 0 | — |
case-11 | fail→fail | 10,019 | 5,824 | -42% | 1 | 1 | 0% | 1,997 | 1,456 | -27% | 0 | 0 | — |
case-12 | fail→fail | 10,795 | 5,693 | -47% | 1 | 1 | 0% | 1,972 | 1,589 | -19% | 0 | 0 | — |
case-13 | fail→fail | 15,117 | 6,210 | -59% | 1 | 1 | 0% | 2,506 | 1,592 | -36% | 0 | 0 | — |
case-14 | fail→pass | 24,565 | 10,078 | -59% | 1 | 1 | 0% | 2,191 | 3,056 | +39% | 0 | 0 | — |
case-15 | fail→fail | 9,708 | 4,262 | -56% | 1 | 1 | 0% | 1,830 | 1,465 | -20% | 0 | 0 | — |
case-21 | fail→fail | 16,002 | 24,163 | +51% | 1 | 1 | 0% | 2,832 | 5,485 | +94% | 0 | 0 | — |
case-16 | fail→pass | 6,272 | 18,751 | +199% | 1 | 1 | 0% | 371 | 4,853 | +1208% | 0 | 0 | — |
case-17 | fail→pass | 8,872 | 4,669 | -47% | 1 | 1 | 0% | 1,598 | 2,087 | +31% | 0 | 0 | — |
case-18 | fail→fail | 13,368 | 6,376 | -52% | 1 | 1 | 0% | 2,371 | 1,631 | -31% | 0 | 0 | — |
case-19 | pass→fail | 3,881 | 6,574 | +69% | 1 | 1 | 0% | 670 | 1,507 | +125% | 0 | 0 | — |
case-20 | fail→fail | 17,737 | 17,844 | +1% | 1 | 1 | 0% | 2,909 | 4,118 | +42% | 0 | 0 | — |
case-22 | fail→pass | 12,818 | 5,407 | -58% | 1 | 1 | 0% | 2,251 | 2,064 | -8% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 10 counted toward the lift figure. The other 12 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 10 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.