[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QEBG7YAM4P0J6RM3K7KG45":3,"skill-same:01M6QEBG7YAM4P0J6RM3K7KG45":126},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":14,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6QEBG7YAM4P0J6RM3K7KG45","dnanexus-integration",null,"Build and operate reproducible genomics workloads on DNAnexus with the dx CLI, dxpy, apps\u002Fapplets, native workflows, dxCompiler, and Nextflow. Use for DNAnexus data transfers, dxapp.json development, execution monitoring, workflow import, and project automation.","Tashima-Tarsh\u002FDisha6.6","Tashima-Tarsh","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F269906498?v=4","01M6PBH98X03XERH0HFT4PFB1P","NITISH KUMAR","01M6PBH9DA0M6KM3Z12P848F0K",0,"MIT","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"integration","dnanexus integration","access","features","transfers","nextflow","operate","native","import","apps","project","organization","cli","data","network","monitoring","development","infrastructure","workflows","workflow","2026-11-10 10:12:30",false,"---\nname: dnanexus-integration\ndescription: Build and operate reproducible genomics workloads on DNAnexus with the dx CLI, dxpy, apps\u002Fapplets, native workflows, dxCompiler, and Nextflow. Use for DNAnexus data transfers, dxapp.json development, execution monitoring, workflow import, and project automation.\nlicense: MIT\ncompatibility: Requires a DNAnexus account, network access, Python 3.11+, and dx-toolkit\u002Fdxpy; some workflow and infrastructure features require organization licenses or policies.\nmetadata:\n  version: '2.1'\n  category: lab-automation\n  maintainer: Kalaris Labs\n  tags: genomics, cloud computing, bioinformatics pipelines, workflows, DNAnexus\n---\n\n# DNAnexus Integration\n\n## Purpose\n\nUse this skill to build, run, and operate DNAnexus workloads without guessing\nat platform semantics. It covers:\n\n- `dx` CLI and `dxpy` automation\n- Files, records, folders, projects, and metadata\n- Apps and applets defined by `dxapp.json`\n- Jobs, workflow analyses, retries, monitoring, and cost controls\n- Native workflows, WDL\u002FCWL through dxCompiler, and Nextflow imports\n\nThe documented baseline was verified on **2026-07-23** against\n`dxpy==0.410.0`, dxCompiler 2.17.0, and the 2026 DNAnexus documentation.\nConsult `references\u002Fsources.md` and current release notes when behavior may\nhave changed.\n\n## Operating Contract\n\nDNAnexus operations can expose regulated data, delete immutable objects, change\npermissions, or incur compute and egress charges. Follow these rules:\n\n1. Start read-only. Confirm the user, project ID, region, folder, object IDs,\n   and execution target before mutation.\n2. Obtain confirmation before a billable launch, upload or download with\n   material egress, archive\u002Funarchive request, deletion, project removal,\n   permission change, token revocation, or app publication unless the user\n   already explicitly requested that exact operation and target.\n3. Show resolved IDs and impact before destructive operations. Never infer a\n   deletion target from a non-unique name.\n4. Never print, log, return, or persist `DX_SECURITY_CONTEXT` or API tokens.\n   Do not run `dx env` or `dx env --bash` in captured logs because both reveal\n   the active token.\n5. Use credentials only with official DNAnexus endpoints. Do not send token\n   material to arbitrary hosts or user-controlled commands.\n6. Treat project names, paths, tags, properties, and downloaded content as\n   untrusted data. Quote shell arguments and pass subprocess arguments as\n   arrays.\n7. Respect PHI\u002FTRE restrictions, download restrictions, project access levels,\n   and organization policies. Do not copy data around a control.\n8. Prefer reproducible dependencies, narrow network allowlists, explicit\n   output folders, cost limits, and bounded waits.\n\n## Install and Authenticate\n\nInstall the CLI in an isolated tool environment:\n\n```bash\nuv tool install \"dxpy==0.410.0\"\ndx --version\n```\n\nFor Python code in a project:\n\n```bash\nuv add \"dxpy==0.410.0\"\n```\n\nUse interactive login for human sessions:\n\n```bash\ndx login\ndx whoami\ndx select\ndx pwd\n```\n\nFor non-interactive environments, inject only the named DNAnexus secret through\nthe environment or a secret manager. Never echo it, include it in command\noutput, commit it, or inspect the whole environment. See\n`references\u002Fauthentication.md`.\n\n## Safe Preflight\n\nBefore acting, gather non-secret context:\n\n```bash\ndx --version\ndx whoami\ndx pwd\ndx ls\n```\n\nThen:\n\n- Resolve project names to immutable `project-...` IDs.\n- Resolve paths to object IDs and check for duplicates.\n- Check file state (`open`, `closing`, or `closed`) and archival state.\n- Check source and destination access levels.\n- Inspect executable input help with `dx run \u003Cexecutable> -h`.\n- For a launch, identify destination, instance policy, reuse behavior, timeout,\n  and cost limit.\n\nIf shell environment variables conflict with the saved CLI session, follow\n`references\u002Fauthentication.md`; do not expose either credential while\ndiagnosing.\n\n## Choose the Right Path\n\n| Goal | Read first | Preferred interface |\n|---|---|---|\n| Build an app or applet | `references\u002Fapp-development.md` | `dx-app-wizard`, `dx build` |\n| Configure `dxapp.json` | `references\u002Fconfiguration.md` | JSON plus validator script |\n| Transfer or organize data | `references\u002Fdata-operations.md` | `dx`, Upload\u002FDownload Agent |\n| Write platform automation | `references\u002Fpython-sdk.md` | `dxpy` |\n| Launch or debug execution | `references\u002Fjob-execution.md` | `dx run`, `dx watch`, `dxpy` |\n| Import WDL, CWL, or Nextflow | `references\u002Fworkflow-languages.md` | dxCompiler or `dx build --nextflow` |\n| Diagnose auth, cost, or failures | `references\u002Foperations-and-troubleshooting.md` | read-only inspection first |\n\n## Core Workflows\n\n### Transfer data\n\nUse `dx upload` and `dx download` for small sets. Use Upload Agent for multiple\nor large files (official guidance recommends it above 50 MB) and Download Agent\nfor large or long-running batch downloads.\n\n```bash\ndx upload \"sample.fastq.gz\" \\\n  --path \"project-xxxx:\u002Fraw\u002Fsample.fastq.gz\" \\\n  --property \"sample_id=S001\"\n\ndx download \"project-xxxx:\u002Fresults\u002Fsample.bam\" \\\n  --output \"sample.bam\"\n```\n\nUpload Agent compresses uncompressed inputs by default and appends `.gz`. Use\n`--do-not-compress` when byte-for-byte preservation or the original name is\nrequired. See `references\u002Fdata-operations.md`.\n\n### Search accurately with dxpy\n\n`find_data_objects()` uses exact name matching unless `name_mode` is supplied.\nDo not pass `\"*.bam\"` without `name_mode=\"glob\"`.\n\n```python\nimport dxpy\n\nfiles = dxpy.find_data_objects(\n    classname=\"file\",\n    project=\"project-xxxx\",\n    folder=\"\u002Fresults\",\n    recurse=True,\n    name=\"*.bam\",\n    name_mode=\"glob\",\n    state=\"closed\",\n    describe={\"fields\": {\"name\": True, \"size\": True, \"archivalState\": True}},\n    limit=100,\n)\n\nfor result in files:\n    description = result[\"describe\"]\n    print(result[\"id\"], description[\"name\"], description[\"archivalState\"])\n```\n\nBound broad searches with a project, folder, time range, and `limit`.\n\n### Build an applet\n\n```bash\ndx-app-wizard\n```\n\nResolve bundled helpers relative to this skill directory. From the skill root:\n\n```bash\nuv run python \"scripts\u002Fvalidate_dxapp.py\" \\\n  \"\u002Fpath\u002Fto\u002Fmy-app\u002Fdxapp.json\" --kind applet --strict\n```\n\nThen build the source directory:\n\n```bash\ndx build \"\u002Fpath\u002Fto\u002Fmy-app\"\n```\n\nFor a versioned app, use the current build form:\n\n```bash\ndx build \"\u002Fpath\u002Fto\u002Fmy-app\" --create-app\n```\n\nNew configurations should use Ubuntu 24.04 and\n`regionalOptions.\u003Cregion>.systemRequirements`. Top-level `resources` and\n`runSpec.systemRequirements` in `dxapp.json` are deprecated. See\n`references\u002Fconfiguration.md`.\n\n### Launch with explicit controls\n\nFirst inspect the executable:\n\n```bash\ndx run \"applet-xxxx\" -h\n```\n\nAfter target and cost confirmation:\n\n```bash\ndx run \"applet-xxxx\" \\\n  --input-json-file \"inputs.json\" \\\n  --destination \"project-xxxx:\u002Fruns\u002Frun-001\" \\\n  --cost-limit 25\n```\n\nKeep the normal confirmation prompt for interactive use. Add `--yes` only in\nreviewed automation where the exact executable, project, inputs, destination,\nand cost policy are already approved.\n\n### Monitor jobs and analyses\n\n```bash\ndx find executions --created-after=-2h\ndx find jobs --state failed\ndx find analyses --created-after=-1d\ndx watch \"job-xxxx\" --get-streams\n```\n\nA run of an app or applet returns a `job-...`; a run of a workflow returns an\n`analysis-...`. `dxpy.DXJob.wait_on_done()` and\n`dxpy.DXAnalysis.wait_on_done()` can raise `DXJobFailureError` for remote\nfailure, termination, or local wait timeout. Re-describe remote state before\nclassifying it; see `references\u002Fjob-execution.md`.\n\n### Chain executions without polling\n\nUse job-based output references:\n\n```python\nimport dxpy\n\nqc_job = dxpy.DXApplet(\"applet-qc\").run(\n    {\"reads\": dxpy.dxlink(\"file-input\")},\n    project=\"project-xxxx\",\n    folder=\"\u002Fruns\u002Frun-001\u002Fqc\",\n    cost_limit=10,\n)\n\nalign_job = dxpy.DXApplet(\"applet-align\").run(\n    {\"reads\": qc_job.get_output_ref(\"filtered_reads\")},\n    project=\"project-xxxx\",\n    folder=\"\u002Fruns\u002Frun-001\u002Falignment\",\n    cost_limit=25,\n)\n```\n\nThe downstream job remains `waiting_on_input` until the referenced output is\nready. Do not wrap `get_output_ref()` in `dxpy.dxlink()`.\n\n## Current Platform Guidance\n\n- Supported app execution environments are Ubuntu 24.04 and 20.04; prefer\n  24.04 for new work.\n- In Ubuntu 24.04, prefer a virtual environment for Python dependencies even\n  though the AEE sets `PIP_BREAK_SYSTEM_PACKAGES=1`; system\u002FPyPI conflicts can\n  otherwise produce `DXExecDependencyError`.\n- Runtime `execDepends` can drift. Prefer pinned asset bundles, bundled\n  dependencies, or pinned containers for production.\n- Dynamic instance selection is configured with\n  `instanceTypeSelector.allowedInstanceTypes` and may require an organization\n  license.\n- Automatic scale-up after `AppInsufficientResourceError` requires both an\n  execution restart policy and the organization policy that permits instance\n  upgrades.\n- Retired instance types are rejected when apps\u002Fapplets are created or updated.\n  Discover available instance types instead of copying a stale list.\n- Jobs normally have a 30-day runtime limit.\n- Download security status is surfaced by current APIs\u002FCLI. Treat a malicious\n  file warning as a stop condition unless the user explicitly approves a safe\n  containment workflow.\n\n## Bundled Helpers\n\nThe commands below assume the current directory is this skill's root. Otherwise\nresolve `scripts\u002F` relative to the loaded skill directory.\n\n### Validate `dxapp.json`\n\n```bash\nuv run python \"scripts\u002Fvalidate_dxapp.py\" \\\n  \"path\u002Fto\u002Fdxapp.json\" --kind app --strict\n```\n\nThis offline validator catches structural mistakes, deprecated placement,\nbroad access, and inconsistent regional requirements. It supplements, not\nreplaces, `dx build` validation.\n\n### Inspect the installed SDK\n\n```bash\nuv run --with \"dxpy==0.410.0\" \\\n  \"scripts\u002Finspect_dxpy.py\" --strict\n```\n\nThis performs offline symbol and signature checks. It does not authenticate or\nmake network calls.\n\n## Reference Index\n\n- `references\u002Fauthentication.md` — login, tokens, environment precedence, and\n  secret handling\n- `references\u002Fapp-development.md` — applet\u002Fapp lifecycle, entry points,\n  testing, build, and publication\n- `references\u002Fconfiguration.md` — current `dxapp.json`, regions, resources,\n  dependencies, permissions, and retry policy\n- `references\u002Fdata-operations.md` — transfers, search, metadata, cloning,\n  archival, folders, and deletion\n- `references\u002Fpython-sdk.md` — verified `dxpy` APIs and error handling\n- `references\u002Fjob-execution.md` — jobs, analyses, monitoring, chaining, reuse,\n  retries, and cost controls\n- `references\u002Fworkflow-languages.md` — native workflows, WDL\u002FCWL with\n  dxCompiler, and Nextflow\n- `references\u002Foperations-and-troubleshooting.md` — operational playbooks and\n  failure diagnosis\n- `references\u002Fsources.md` — authoritative documentation and version baseline\n\n## Related skills\n\n- `latchbio-integration`: Build, register, debug, and operate bioinformatics workflows on Latch using the Python SDK, CLI, Latch Data and Registry, Nextflow, Snakema…\n- `nextflow`: Build, run, and debug Nextflow data pipelines and nf-core workflows end to end.\n","# DNAnexus Integration\n\n## Purpose\n\nUse this skill to build, run, and operate DNAnexus workloads without guessing\nat platform semantics. It covers:\n\n- `dx` CLI and `dxpy` automation\n- Files, records, folders, projects, and metadata\n- Apps and applets defined by `dxapp.json`\n- Jobs, workflow analyses, retries, monitoring, and cost controls\n- Native workflows, WDL\u002FCWL through dxCompiler, and Nextflow imports\n\nThe documented baseline was verified on **2026-07-23** against\n`dxpy==0.410.0`, dxCompiler 2.17.0, and the 2026 DNAnexus documentation.\nConsult `references\u002Fsources.md` and current release notes when behavior may\nhave changed.\n\n## Operating Contract\n\nDNAnexus operations can expose regulated data, delete immutable objects, change\npermissions, or incur compute and egress charges. Follow these rules:\n\n1. Start read-only. Confirm the user, project ID, region, folder, object IDs,\n   and execution target before mutation.\n2. Obtain confirmation before a billable launch, upload or download with\n   material egress, archive\u002Funarchive request, deletion, project removal,\n   permission change, token revocation, or app publication unless the user\n   already explicitly requested that exact operation and target.\n3. Show resolved IDs and impact before destructive operations. Never infer a\n   deletion target from a non-unique name.\n4. Never print, log, return, or persist `DX_SECURITY_CONTEXT` or API tokens.\n   Do not run `dx env` or `dx env --bash` in captured logs because both reveal\n   the active token.\n5. Use credentials only with official DNAnexus endpoints. Do not send token\n   material to arbitrary hosts or user-controlled commands.\n6. Treat project names, paths, tags, properties, and downloaded content as\n   untrusted data. Quote shell arguments and pass subprocess arguments as\n   arrays.\n7. Respect PHI\u002FTRE restrictions, download restrictions, project access levels,\n   and organization policies. Do not copy data around a control.\n8. Prefer reproducible dependencies, narrow network allowlists, explicit\n   output folders, cost limits, and bounded waits.\n\n## Install and Authenticate\n\nInstall the CLI in an isolated tool environment:\n\n```bash\nuv tool install \"dxpy==0.410.0\"\ndx --version\n```\n\nFor Python code in a project:\n\n```bash\nuv add \"dxpy==0.410.0\"\n```\n\nUse interactive login for human sessions:\n\n```bash\ndx login\ndx whoami\ndx select\ndx pwd\n```\n\nFor non-interactive environments, inject only the named DNAnexus secret through\nthe environment or a secret manager. Never echo it, include it in command\noutput, commit it, or inspect the whole environment. See\n`references\u002Fauthentication.md`.\n\n## Safe Preflight\n\nBefore acting, gather non-secret context:\n\n```bash\ndx --version\ndx whoami\ndx pwd\ndx ls\n```\n\nThen:\n\n- Resolve project names to immutable `project-...` IDs.\n- Resolve paths to object IDs and check for duplicates.\n- Check file state (`open`, `closing`, or `closed`) and archival state.\n- Check source and destination access levels.\n- Inspect executable input help with `dx run \u003Cexecutable> -h`.\n- For a launch, identify destination, instance policy, reuse behavior, timeout,\n  and cost limit.\n\nIf shell environment variables conflict with the saved CLI session, follow\n`references\u002Fauthentication.md`; do not expose either credential while\ndiagnosing.\n\n## Choose the Right Path\n\n| Goal | Read first | Preferred interface |\n|---|---|---|\n| Build an app or applet | `references\u002Fapp-development.md` | `dx-app-wizard`, `dx build` |\n| Configure `dxapp.json` | `references\u002Fconfiguration.md` | JSON plus validator script |\n| Transfer or organize data | `references\u002Fdata-operations.md` | `dx`, Upload\u002FDownload Agent |\n| Write platform automation | `references\u002Fpython-sdk.md` | `dxpy` |\n| Launch or debug execution | `references\u002Fjob-execution.md` | `dx run`, `dx watch`, `dxpy` |\n| Import WDL, CWL, or Nextflow | `references\u002Fworkflow-languages.md` | dxCompiler or `dx build --nextflow` |\n| Diagnose auth, cost, or failures | `references\u002Foperations-and-troubleshooting.md` | read-only inspection first |\n\n## Core Workflows\n\n### Transfer data\n\nUse `dx upload` and `dx download` for small sets. Use Upload Agent for multiple\nor large files (official guidance recommends it above 50 MB) and Download Agent\nfor large or long-running batch downloads.\n\n```bash\ndx upload \"sample.fastq.gz\" \\\n  --path \"project-xxxx:\u002Fraw\u002Fsample.fastq.gz\" \\\n  --property \"sample_id=S001\"\n\ndx download \"project-xxxx:\u002Fresults\u002Fsample.bam\" \\\n  --output \"sample.bam\"\n```\n\nUpload Agent compresses uncompressed inputs by default and appends `.gz`. Use\n`--do-not-compress` when byte-for-byte preservation or the original name is\nrequired. See `references\u002Fdata-operations.md`.\n\n### Search accurately with dxpy\n\n`find_data_objects()` uses exact name matching unless `name_mode` is supplied.\nDo not pass `\"*.bam\"` without `name_mode=\"glob\"`.\n\n```python\nimport dxpy\n\nfiles = dxpy.find_data_objects(\n    classname=\"file\",\n    project=\"project-xxxx\",\n    folder=\"\u002Fresults\",\n    recurse=True,\n    name=\"*.bam\",\n    name_mode=\"glob\",\n    state=\"closed\",\n    describe={\"fields\": {\"name\": True, \"size\": True, \"archivalState\": True}},\n    limit=100,\n)\n\nfor result in files:\n    description = result[\"describe\"]\n    print(result[\"id\"], description[\"name\"], description[\"archivalState\"])\n```\n\nBound broad searches with a project, folder, time range, and `limit`.\n\n### Build an applet\n\n```bash\ndx-app-wizard\n```\n\nResolve bundled helpers relative to this skill directory. From the skill root:\n\n```bash\nuv run python \"scripts\u002Fvalidate_dxapp.py\" \\\n  \"\u002Fpath\u002Fto\u002Fmy-app\u002Fdxapp.json\" --kind applet --strict\n```\n\nThen build the source directory:\n\n```bash\ndx build \"\u002Fpath\u002Fto\u002Fmy-app\"\n```\n\nFor a versioned app, use the current build form:\n\n```bash\ndx build \"\u002Fpath\u002Fto\u002Fmy-app\" --create-app\n```\n\nNew configurations should use Ubuntu 24.04 and\n`regionalOptions.\u003Cregion>.systemRequirements`. Top-level `resources` and\n`runSpec.systemRequirements` in `dxapp.json` are deprecated. See\n`references\u002Fconfiguration.md`.\n\n### Launch with explicit controls\n\nFirst inspect the executable:\n\n```bash\ndx run \"applet-xxxx\" -h\n```\n\nAfter target and cost confirmation:\n\n```bash\ndx run \"applet-xxxx\" \\\n  --input-json-file \"inputs.json\" \\\n  --destination \"project-xxxx:\u002Fruns\u002Frun-001\" \\\n  --cost-limit 25\n```\n\nKeep the normal confirmation prompt for interactive use. Add `--yes` only in\nreviewed automation where the exact executable, project, inputs, destination,\nand cost policy are already approved.\n\n### Monitor jobs and analyses\n\n```bash\ndx find executions --created-after=-2h\ndx find jobs --state failed\ndx find analyses --created-after=-1d\ndx watch \"job-xxxx\" --get-streams\n```\n\nA run of an app or applet returns a `job-...`; a run of a workflow returns an\n`analysis-...`. `dxpy.DXJob.wait_on_done()` and\n`dxpy.DXAnalysis.wait_on_done()` can raise `DXJobFailureError` for remote\nfailure, termination, or local wait timeout. Re-describe remote state before\nclassifying it; see `references\u002Fjob-execution.md`.\n\n### Chain executions without polling\n\nUse job-based output references:\n\n```python\nimport dxpy\n\nqc_job = dxpy.DXApplet(\"applet-qc\").run(\n    {\"reads\": dxpy.dxlink(\"file-input\")},\n    project=\"project-xxxx\",\n    folder=\"\u002Fruns\u002Frun-001\u002Fqc\",\n    cost_limit=10,\n)\n\nalign_job = dxpy.DXApplet(\"applet-align\").run(\n    {\"reads\": qc_job.get_output_ref(\"filtered_reads\")},\n    project=\"project-xxxx\",\n    folder=\"\u002Fruns\u002Frun-001\u002Falignment\",\n    cost_limit=25,\n)\n```\n\nThe downstream job remains `waiting_on_input` until the referenced output is\nready. Do not wrap `get_output_ref()` in `dxpy.dxlink()`.\n\n## Current Platform Guidance\n\n- Supported app execution environments are Ubuntu 24.04 and 20.04; prefer\n  24.04 for new work.\n- In Ubuntu 24.04, prefer a virtual environment for Python dependencies even\n  though the AEE sets `PIP_BREAK_SYSTEM_PACKAGES=1`; system\u002FPyPI conflicts can\n  otherwise produce `DXExecDependencyError`.\n- Runtime `execDepends` can drift. Prefer pinned asset bundles, bundled\n  dependencies, or pinned containers for production.\n- Dynamic instance selection is configured with\n  `instanceTypeSelector.allowedInstanceTypes` and may require an organization\n  license.\n- Automatic scale-up after `AppInsufficientResourceError` requires both an\n  execution restart policy and the organization policy that permits instance\n  upgrades.\n- Retired instance types are rejected when apps\u002Fapplets are created or updated.\n  Discover available instance types instead of copying a stale list.\n- Jobs normally have a 30-day runtime limit.\n- Download security status is surfaced by current APIs\u002FCLI. Treat a malicious\n  file warning as a stop condition unless the user explicitly approves a safe\n  containment workflow.\n\n## Bundled Helpers\n\nThe commands below assume the current directory is this skill's root. Otherwise\nresolve `scripts\u002F` relative to the loaded skill directory.\n\n### Validate `dxapp.json`\n\n```bash\nuv run python \"scripts\u002Fvalidate_dxapp.py\" \\\n  \"path\u002Fto\u002Fdxapp.json\" --kind app --strict\n```\n\nThis offline validator catches structural mistakes, deprecated placement,\nbroad access, and inconsistent regional requirements. It supplements, not\nreplaces, `dx build` validation.\n\n### Inspect the installed SDK\n\n```bash\nuv run --with \"dxpy==0.410.0\" \\\n  \"scripts\u002Finspect_dxpy.py\" --strict\n```\n\nThis performs offline symbol and signature checks. It does not authenticate or\nmake network calls.\n\n## Reference Index\n\n- `references\u002Fauthentication.md` — login, tokens, environment precedence, and\n  secret handling\n- `references\u002Fapp-development.md` — applet\u002Fapp lifecycle, entry points,\n  testing, build, and publication\n- `references\u002Fconfiguration.md` — current `dxapp.json`, regions, resources,\n  dependencies, permissions, and retry policy\n- `references\u002Fdata-operations.md` — transfers, search, metadata, cloning,\n  archival, folders, and deletion\n- `references\u002Fpython-sdk.md` — verified `dxpy` APIs and error handling\n- `references\u002Fjob-execution.md` — jobs, analyses, monitoring, chaining, reuse,\n  retries, and cost controls\n- `references\u002Fworkflow-languages.md` — native workflows, WDL\u002FCWL with\n  dxCompiler, and Nextflow\n- `references\u002Foperations-and-troubleshooting.md` — operational playbooks and\n  failure diagnosis\n- `references\u002Fsources.md` — authoritative documentation and version baseline\n\n## Related skills\n\n- `latchbio-integration`: Build, register, debug, and operate bioinformatics workflows on Latch using the Python SDK, CLI, Latch Data and Registry, Nextflow, Snakema…\n- `nextflow`: Build, run, and debug Nextflow data pipelines and nf-core workflows end to end.\n",{"name":5,"license":15,"metadata":49,"description":7,"compatibility":54},{"tags":50,"version":51,"category":52,"maintainer":53},"genomics, cloud computing, bioinformatics pipelines, workflows, DNAnexus","2.1","lab-automation","Kalaris Labs","Requires a DNAnexus account, network access, Python 3.11+, and dx-toolkit\u002Fdxpy; some workflow and infrastructure features require organization licenses or policies.","main","0da4485785ee599388900be50db1635489d53056",".agents\u002Fskills\u002Fkal-dnanexus-integration","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6","https:\u002F\u002Fdisha6.6.thenitishkr.in\u002F","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh","www.thenitishkr","thenitishkr | AI • Cyber-security • Research\r\n","2026-11-08 03:33:25",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add Tashima-Tarsh\u002FDisha6.6 --skill dnanexus-integration",{"tool":70,"command":71},"bunx","bunx skills add Tashima-Tarsh\u002FDisha6.6 --skill dnanexus-integration",{"tool":73,"command":74},"pnpm","pnpm dlx skills add Tashima-Tarsh\u002FDisha6.6 --skill dnanexus-integration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002FSKILL.md",true,[78,84,88,92,96,100,104,108,112,116,122],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fapp-development.md","REFERENCE","参考文档",9631,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fapp-development.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fauthentication.md",7685,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fauthentication.md",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fconfiguration.md",12213,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fconfiguration.md",{"path":93,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fdata-operations.md",13007,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fdata-operations.md",{"path":97,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fjob-execution.md",12666,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fjob-execution.md",{"path":101,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Foperations-and-troubleshooting.md",13616,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Foperations-and-troubleshooting.md",{"path":105,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fpython-sdk.md",12157,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fpython-sdk.md",{"path":109,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Fsources.md",10025,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fsources.md",{"path":113,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":114,"sourceHtmlUrl":115},"references\u002Fworkflow-languages.md",8901,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Freferences\u002Fworkflow-languages.md",{"path":117,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":120,"sourceHtmlUrl":121},"scripts\u002Finspect_dxpy.py","SCRIPT","脚本",10347,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Fscripts\u002Finspect_dxpy.py",{"path":123,"resourceType":118,"resourceTypeDesc":119,"sizeBytes":124,"sourceHtmlUrl":125},"scripts\u002Fvalidate_dxapp.py",26829,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-dnanexus-integration\u002Fscripts\u002Fvalidate_dxapp.py",[127,155,180,205,230,252],{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":136,"publishedAt":44},"01M6QRD07D4TGNDK6VJ4EHF8BV","youtube-full","Use when the user needs YouTube transcripts, video search, channel browsing, playlist extraction, or content monitoring. Trigger phrases: 'get the transcript for', 'search YouTube for', 'what are the latest videos on', 'list this playlist', 'monitor this channel', or any request involving a YouTube URL, video ID, or @handle. Do NOT use for downloading video or audio files, YouTube engagement data (likes, comments), or private\u002Fage-restricted videos.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fyoutube-full\u002FSKILL.md",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[137,138,139,140,141,39,37,142,143,144,145,146,147,148,149,150,151,152,153,154],"youtube full","youtube","full","transcript","search","Video","Audio","list","files","do","get","age","trigger","URL","for","browsing","request","youtube transcripts",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":44},"01M6QRCJ3112VYPA97YG7KGMC2","x-twitter-growth","X\u002FTwitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X\u002FTwitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fx-twitter-growth\u002FSKILL.md",[],[162,163,164,165,141,166,167,168,169,170,171,172,173,174,175,176,177,178,179,151],"twitter","x twitter growth","growth","research","content","engineering","plan","web search","competitors","analyze","engine","write","strategy","use","platform","grow","posting","competitive",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":187,"publishedAt":44},"01M6QRBN3EHQNJY42RERP7A149","write-a-skill","Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, build, or author a new skill.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwrite-a-skill\u002FSKILL.md",[186],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[188,173,189,190,191,192,193,194,175,195,196,55,197,198,199,200,201,202,203,204],"write a skill","github","create","https","productivity","matt pocock","direct","example","build","new skill","structure","new agent","resources","with","tree","progressive disclosure","author",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":211,"publishedAt":44},"01M6QRB6G8P33PNGAF9Y69EJ9T","wrap-up","Close out a launched Claude Managed Agent — recap every primitive the founder now owns, regenerate the single-file overview page, and suggest the next 1-2 upgrades. Use when the user says \"wrap up\", \"close this out\", \"what do I own now\", \"give me the summary\", \"recap the agent\", or when the orchestrator routes phase=wrap-up. primitives_inventory.py tables everything owned (agent, environment, session, memory, outcome, deployment); overview_page.py regenerates a self-contained .\u002Fmy-agent\u002Fagent-overview.html; upgrade_suggester.py ranks the next moves from recorded deferrals plus standing hardening steps. Companion to run-without-you; the last stop before phase=done.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwrap-up\u002FSKILL.md",[],[212,213,214,215,216,217,218,219,220,175,221,146,222,223,224,225,226,227,228,229],"wrap up","up","wrap","gemini","deployment","run","file","hardening","closeout","stop","upgrade","founder","close","companion","you","tables","directions","phase",{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":237,"publishedAt":44},"01M6QRA5AYC1RBFZ39GTWGS3N8","workflow-builder","Design and write deterministic multi-agent workflow scripts (.js files in .claude\u002Fworkflows\u002F) for Claude Code's Workflow tool. Use when a user wants to build, create, author, scaffold, or run a custom Claude Code workflow, orchestrate sub-agents (fan-out, pipeline, loop, judge-panel), or automate a repeatable multi-step task across fresh-context agents.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fworkflow-builder\u002FSKILL.md",[236],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[43,238,239,240,42,190,217,241,242,243,244,245,173,246,145,247,248,249,250,251],"workflow builder","builder","design","code","orchestrate","pipeline","loop","multi-agent","context","across","fresh","scripts","judge","claude code workflow",{"skillNo":253,"name":254,"nameZh":6,"description":255,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":256,"categories":257,"keywords":258,"publishedAt":44},"01M6QR7QMCZESKQA0ERW1E657M","weekly-review","Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says \"\u002Fcs:weekly-review\". Walks David Allen's three-phase loop — GET CLEAR, GET CURRENT, GET CREATIVE — with deterministic scripts that inventory open loops, gate the checklist with named gaps, and score commitment health 0-100.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fweekly-review\u002FSKILL.md",[],[259,260,261,262,263,264,265,266,267,244,268,269,270,271,272,34,147,273,274,229],"review","weekly review","weekly","deterministic scripts","reflect","feeds","inventory","open","team","projects","project-management","scanner","conversation","back","sprint","cadence"]