Use when operating REANA from natural language: check job status, list available backends, show recent jobs by status, scaffold reana.yaml projects, run code as REANA workflows, inspect logs, validate YAML, and download outputs using REANA_SERVER_URL and REANA_ACCESS_TOKEN from the environment.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Use when operating REANA from natural language: check job status, list available backends, show recent jobs by status, scaffold reana.yaml projects, run code as REANA workflows, inspect logs, validate YAML, and download outputs using REANA_SERVER_URL and REANA_ACCESS_TOKEN from the environment.
This is the front-door skill for day-to-day REANA operations. Use it to translate user requests into safe, concrete REANA actions: check workflow status, list recent jobs, inspect failed logs, show the active backend, scaffold a new project, generate reana.yaml, submit a workflow, validate inputs, and download outputs.
The implementation assumes credentials are already present in the shell environment:
“Choose the REANA environment based on available libraries.”
“Show logs for the failed job.”
“Download outputs from workflow X.”
When the user gives an executable analysis/science task, prefer the REANA path by default: create a small task project, generate task-specific reana.yaml, validate it, and submit or give the exact run command. Use local execution only for quick inspection, formatting, or repository maintenance that is not intended as the user’s scientific/computational result.
For user tasks that produce a computational result, use task as the friendly front door. It creates a clean project, detects Python imports, chooses a modeled REANA environment profile, writes reana-env-report.md, generates reana.yaml, validates the project, and can submit immediately.
python reana-workflows/reana-operator/scripts/reana_operator.py task \
--project /tmp/my-reana-task \
--task "short description of the user task" \
--code 'from pathlib import Path; Path("output.txt").write_text("hello\n")' \
--output output.txt \
--environment-profile astro-ml \
--run --timestamp
If --script already exists and neither --code nor --command is supplied, task preserves that script and only generates reana.yaml plus the environment report. If the script does not exist, the helper writes a safe analysis.py placeholder; replace it before submission.
Environment-aware YAML generation
The helper has modeled AIP REANA environment profiles:
This keeps reana.yaml specific to the task while still using known AIP reana-env images when libraries are already available. Treat the profile library list as a curated availability model, not a formal package-lock file; run a smoke test when exact versions matter.
my-analysis/
reana.yaml
.reanaignore
analysis.py # only if --code was passed or a missing script should be stubbed
requirements.txt # optional, used if present
reana.yaml Defaults
The generated workflow uses the AIP-compatible serial pattern:
version:0.9.0inputs:files:-analysis.py-requirements.txtworkflow:type:serialspecification:steps:-name:my-analysisenvironment:gitlab-p4n.aip.de:5005/p4nreana/reana-env:py311-astro-ml.2891a60ckubernetes_memory_limit:"32Gi"kubernetes_job_timeout:7200compute_backend:kubernetescommands:-bash-lc'if [ -f requirements.txt ]; then pip install --quiet -r requirements.txt; fi && python3 analysis.py'outputs:files:-output.txt
Adjust the environment with --environment only when a known approved image is required.
Project-Type Handling
Supported now:
Input
Behavior
task --task ...
create task-specific REANA project and YAML; optionally submit with --run
--script analysis.py
parse imports, model package availability, run python3 analysis.py
--script run.sh
run bash run.sh
--command '...'
run the explicit shell command, with needed install prefix when detected
--code '...'
write code into the script, scaffold, validate, then run
--package healpy
declare extra dependency; install only if not modeled as available in the selected env profile
Planned/advanced cases to handle manually for now:
Project type
Recommended handling
notebook .ipynb
convert to a Python script or use a verified Jupyter-capable REANA image
Snakefile
use only after confirming a Snakemake-capable environment
Makefile
use --command 'make <target>' and declare outputs explicitly
large input data
stage only small scripts/config; fetch remote data inside the workflow