writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
snakemakeCreate, run, debug, deploy, and programmatically inspect Snakemake 9.23.1 workflows, including Snakefile authoring, CLI execution, configuration/data validation, deployment/storage, reporting/testing, and Python API/plugin usage.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when a user asks for help with Snakemake workflows: writing or refactoring Snakefiles, constructing safe execution commands, validating configs and sample metadata, using conda/containers/storage/executors, generating diagnostics/reports/tests, or embedding Snakemake through its Python API.
snakemake --cores 1 --dry-run --printshellcmds, snakemake --lint, DAG/rulegraph/summary commands, or the bundled smoke scripts.--reason flag. Snakemake 9.23.1 rejects it; dry-run output already prints job reasons..tests/unit are user workflow files, not repo-skill review files.sub-skills/workflow-authoring/SKILL.md for rules, wildcards, directives, helper functions, modules, checkpoints, includes, scripts, notebooks, wrappers, CWL hooks, and authoring-time failures.sub-skills/execution-cli/SKILL.md for dry-runs, targets, cores/jobs/local cores, profiles, resources, batches, groups, DAG/rulegraph/summary inspection, schedulers, reruns, locks, and smoke checks.sub-skills/configuration-data/SKILL.md for configfile, --config, --configfile, profiles as config sources, schemas, sample tables, PEP metadata, pathvars, envvars, YTE, and data-driven helpers.sub-skills/deployment-storage/SKILL.md for conda, Apptainer/Singularity, env modules, storage providers/prefixes, shared filesystem usage, executor/jobscript surfaces, archives, and deployment caches.sub-skills/debugging-reporting/SKILL.md for linting, DAG/rulegraph/filegraph outputs, reports, notebooks, generated unit tests, benchmarking, runtime profiles, failed logs, and diagnostic bundles.sub-skills/python-api-plugins/SKILL.md for SnakemakeApi, WorkflowApi, DAGApi, settings dataclasses, plugin settings, and CLI-to-API translation.For a new public environment, start with pip install snakemake or the user's package-manager equivalent, then verify both the console script and Python module before running workflow commands. Optional integrations such as PEP metadata, reports, storage plugins, executor plugins, conda, and containers can require extras, separate plugins, external binaries, credentials, or site profiles.
references/installation-and-capabilities.md before making environment, optional dependency, CLI availability, or plugin capability claims.references/troubleshooting.md for cross-cutting install/import, optional dependency, CLI/API, and version-mismatch failures.references/repo-provenance.md when deciding whether this skill is stale relative to a checked-out Snakemake repository.scripts/check_snakemake_install.py --help to inspect a candidate Snakemake executable or Python module without depending on any original repository examples.--cores, and temporary workdirs before modifying outputs.python -m snakemake --help
snakemake --help
snakemake --cores 1 --dry-run --printshellcmds
python scripts/check_snakemake_install.py --command snakemake
For Python API checks, use sub-skills/python-api-plugins/scripts/api_dryrun_example.py in an environment where snakemake is importable.