Guide · Agent skill
How to use the DNAnexus Integration agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The dnanexus-integration skill gives an AI agent a structured playbook for DNAnexus, a cloud platform used for genomics and biomedical data. Once installed, the agent can help with the dx command-line tool and the dxpy Python library, building apps from dxapp.json files, moving and searching files, launching and monitoring jobs, and importing WDL, CWL or Nextflow pipelines. This guide explains what the skill does, how to install it, how to ask for things in plain language, and what to check before you let it touch a live account.
Quick start
- 1Download the ZIP. Get the dnanexus-integration ZIP from this page.
- 2Unzip into a skills folder. Extract it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder, or upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
- 3Install and log in. Install dxpy with uv, check dx --version, then run dx login and dx whoami to confirm your identity.
- 4Select a project. Run dx select and dx pwd so the agent works in the project you intend.
- 5Make a natural request. Describe the DNAnexus task in plain words, naming the project, folder or object involved.
- 6Review the confirmation. Check the resolved IDs, destination, cost limit and impact the agent shows before approving any billable or destructive step.
What an agent skill is and what this one makes the agent do
An agent skill is a folder of instructions and reference files that an AI agent loads when a task matches the skill's description. The skill does not add a new program you run yourself; it changes how the agent approaches DNAnexus work.
The dnanexus-integration skill covers files, records, folders, projects and metadata; apps and applets defined by dxapp.json; jobs, workflow analyses, retries and monitoring; native workflows; WDL and CWL through dxCompiler; and Nextflow imports. Its operating rules tell the agent to start read-only, to confirm the user, project ID, region, folder and object IDs before changing anything, and never to print or store API tokens.
- Reads and resolves project names, paths and object IDs before acting
- Validates dxapp.json files with a bundled script before building
- Asks for confirmation before billable launches, deletions, permission changes and similar actions
- Uses official DNAnexus endpoints only
Install the skill from a ZIP file
Download the ZIP for this skill from this page. Unzip it into your personal skills folder, ~/.claude/skills/, so that the dnanexus-integration folder with SKILL.md at its root sits inside it. To scope the skill to one project instead, unzip it into the .claude/skills/ folder inside that project.
In the Claude apps you can instead upload the ZIP under Settings → Capabilities → Skills.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project folder
- Claude apps: Settings → Capabilities → Skills
Set up the DNAnexus tools and log in
The skill expects the dx CLI, which comes from dxpy, installed in an isolated tool environment. The source recommends uv for this. For Python code inside a project, add dxpy to the project with uv.
Log in interactively for your own sessions. Then check who you are and which project is selected. The agent is designed to use these non-secret checks first. Login sessions expire after two hours of inactivity and no later than 18 hours after issuance.
- You need a DNAnexus account with project access, and network access to official DNAnexus endpoints
- Some workflow and infrastructure features need organization licences
- Keep tokens out of shared logs: never run dx env or dx env --bash in captured output
uv tool install "dxpy==0.415.0" && dx --version && dx login && dx whoami && dx select && dx pwdTrigger the skill with natural requests
You do not need special syntax. Describe a DNAnexus task in plain words that mention DNAnexus, dx, dxpy, dxapp.json, applets or workflows, and the agent will match it to this skill. Good requests name the project, the folder or the object you mean, and say whether you want a read-only answer or an action.
Expect the agent to ask for confirmation before any billable, destructive or permission-changing step. That is intended behaviour, not a fault.
- Read-only: "List the failed jobs in my DNAnexus project from the last day and tell me why they failed."
- Validation: "Check this dxapp.json for an applet before I build it."
- Transfer: "Upload these FASTQ files to project-xxxx under /raw and tag each with its sample ID."
- Import: "Import this Nextflow pipeline into DNAnexus and show me the required inputs."
Validate and build an applet
For app development the skill follows a set order: write the applet, validate its dxapp.json with the bundled script, then build it. The validator is scripts/validate_dxapp.py and runs from the skill root. Build the source directory with dx build. The source says to test in a non-production project first and to publish an app only after reviewing code, permissions, dependencies and region.
New configurations should put system requirements under regionalOptions.<region>.systemRequirements, because top-level resources and runSpec.systemRequirements are deprecated.
- Use dx-app-wizard to start a new app if you want a scaffold
- Pass --strict to the validator for stricter checking
- Use --create-app with dx build only for a versioned app
uv run python "scripts/validate_dxapp.py" "/path/to/my-app/dxapp.json" --kind applet --strict && dx build "/path/to/my-app"Transfer and search files safely
Use dx upload and dx download for small sets of files. The source recommends the Upload Agent for multiple or large files, above 50 MB, and the Download Agent for large or long batch downloads. The Upload Agent compresses uncompressed inputs and appends .gz by default, so pass --do-not-compress when you need byte-for-byte preservation or the original name.
For searches in Python, dxpy's find_data_objects() uses exact name matching unless you add name_mode. Always bound broad searches with a project, folder, time range and limit.
- Quote paths and IDs such as project-xxxx:/results/sample.bam
- Use name_mode="glob" when searching with wildcards such as *.bam
- Filter by state and archival state to avoid unfinished or archived files
dx upload "sample.fastq.gz" --path "project-xxxx:/raw/sample.fastq.gz" --property "sample_id=S001"Launch and monitor jobs with explicit controls
Before any launch, the agent inspects the executable's input help with dx run and the -h flag. It then checks the destination, instance policy, reuse behaviour, timeout and cost limit. Launch with --cost-limit and an explicit destination, and keep the normal confirmation prompt unless you have already approved the exact executable, project, inputs and destination.
An app or applet run returns a job ID beginning job-, and a workflow run returns an analysis ID beginning analysis-. Use the find and watch commands to check progress.
- --yes should be used only in reviewed automation where every target and cost policy is already approved
- A failed wait in dxpy can raise DXJobFailureError; the agent re-checks remote state before drawing conclusions
dx run "applet-xxxx" -h && dx find jobs --state failed && dx watch "job-xxxx" --get-streamsWhat people use it for
- Validating dxapp.json configurations before building an app or applet
- Listing and diagnosing failed jobs or analyses in a project
- Uploading sample files with metadata properties and downloading result files
- Searching a project for files by name pattern and checking archival state
- Importing a WDL, CWL or Nextflow pipeline into DNAnexus
Frequently asked questions
How do I install the dnanexus-integration agent skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. In the Claude apps you can instead upload the ZIP under Settings → Capabilities → Skills.
What do I need to use the DNAnexus skill?
You need a DNAnexus account with project access, Python as specified in the skill's compatibility notes, dx-toolkit/dxpy, and network access to official DNAnexus endpoints. Some workflow and infrastructure features also need organisation licences.
Is the dnanexus-integration skill free?
The skill is licensed under MIT, as listed on this page. Using DNAnexus itself requires your own account, and some features depend on your organisation's licences.
Does the skill run scripts or use the network?
Yes on both counts. It bundles scripts such as scripts/validate_dxapp.py and scripts/inspect_dxpy.py and calls official DNAnexus endpoints. Review the scripts and keep your network allowlist narrow.
Why won't the agent just run my command without asking?
The skill's operating rules require confirmation before billable launches, uploads or downloads with material egress, deletions, permission changes and similar actions. You can approve the exact target and the agent will proceed.
Can I use this skill for PHI or regulated data?
Only inside an approved DNAnexus environment that your organisation permits. The skill can move data, so it must follow your organisation's policies and cannot be used to copy data around a control.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits bioinformatics engineers who build or run pipelines on DNAnexus, platform admins automating projects and jobs with dxpy, and teams that want dxapp.json files validated before building. It is a poor fit if you have no DNAnexus account, if you handle regulated data outside an approved environment, or if you want unattended bulk deletions or launches, since its examples were not run against a live account.
Download the skill