Communitygithub.com

matlab

Construire, réviser, migrer et planifier en toute sécurité des workflows numériques MATLAB ou GNU Octave, incluant tableaux, données tabulaires/temporelles, tests, projets, graphiques, fichiers MAT et interopérabilité explicite avec Python.

Qu'est-ce que matlab ?

Cette compétence est conçue pour les développeurs et utilisateurs d'agents IA travaillant avec MATLAB et GNU Octave. Elle permet de concevoir et de réviser du code numérique, de migrer entre différentes versions de MATLAB, de préparer des projets reproductibles et de planifier des exécutions fiables. La compétence couvre à la fois MATLAB (propriétaire, nécessitant une licence) et GNU Octave (logiciel libre sous GPLv3+), en soulignant les différences de compatibilité. Les plateformes supportées incluent MATLAB R2026a et GNU Octave 11.3.0. La compétence met l'accent sur la sécurité, en interdisant l'exécution de code non fiable (fichiers `.m`, `.mlx`, binaires MEX, etc.) et en fournissant des aides pour inventorier et valider les dépendances, les licences et les artefacts de manière statique. Elle offre également des outils en ligne de commande Python (scripts de scan, planification, validation) pour automatisr les tâches de révision et de planification, tout en garantissant qu'aucun code MATLAB/Octave n'est exécuté directement. En résumé, cette compétence est un guide complet et sécurisé pour intégrer des workflows MATLAB/Octave dans des processus pilotés par des agents IA, en mettant l'accent sur la reproductibilité, la transparence des licences et la prévention des risques d'exécution.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/matlab

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

MATLAB et GNU Octave

Utilisez cette compétence pour concevoir ou réviser du code numérique, migrer des versions de MATLAB, préparer des projets reproductibles et planifier une exécution fiable. MATLAB et GNU Octave sont des produits distincts : la compatibilité est partielle, et ne constitue ni une garantie de licence ni de comportement.

Barrière produit et licence

  • MATLAB R2026a est propriétaire. Ne supposez pas que MATLAB, MATLAB Online, une boîte à outils nommée, MATLAB Test, MATLAB Compiler, MATLAB Coder, Parallel Computing Toolbox ou un module complémentaire est installé, licencié ou disponible pour l'utilisateur.
  • MATLAB Runtime n'est pas MATLAB. Il exécute des applications compatibles produites avec MATLAB Compiler ; il ne peut pas exécuter de code source arbitraire ni héberger MATLAB Engine pour Python. La construction d'artefacts nécessite le compilateur sous licence applicable et chaque produit utilisé par la source.
  • GNU Octave 11.3.0 est un logiciel libre sous GPLv3+. Les paquets Octave ne sont pas des boîtes à outils MATLAB. Des noms similaires n'impliquent pas une équivalence d'API, numérique, graphique ou de licence.
  • Demandez quel environnement d'exécution, version, plateforme, produits installés et contexte de licence l'utilisateur possède réellement. Traitez la disponibilité comme unknown jusqu'à confirmation.

Voir Compatibilité Octave et Limites d'exécution/produit.

Barrière de sécurité non négociable

N'exécutez jamais un fichier .m, .mlx, binaire MEX, fichier MAT, action de démarrage ou d'arrêt de projet, installeur de paquet ou artefact généré non fiable. Une révision statique ne prouve pas la sécurité.

Considérez ces éléments comme des surfaces d'exécution ou de chargement de code :

  • eval, evalin, assignin, feval dérivé de texte, str2func, callbacks, minuteries, callbacks d'application et chemins modifiés dynamiquement ;
  • system, unix, dos, échappement shell !, Java, .NET, Python (py.*, pyrun, pyrunfile), MEX et bibliothèques natives ;
  • mex, codegen, MATLAB Compiler, tâches de construction, démarrage/arrêt de paquet/projet et code généré ;
  • load, désérialisation d'objets (loadobj, sérialisation personnalisée), handles de fonctions, objets Java/System et code de classe accessible à partir de fichiers MAT.

.mlx est une archive opaque pour cette boîte à outils et MEX est du code exécutable natif. N'utilisez pas Python pickle pour les échanges. Inspectez d'abord, isolez si nécessaire, obtenez une approbation explicite, puis invoquez un exécutable et une licence confirmés par l'utilisateur. Les scripts inclus sont des outils statiques ou de simulation : aucun ne lance MATLAB, Octave, Python Engine, un compilateur ou un sous-processus.

Flux de travail par défaut

  1. Clarifiez la cible. Enregistrez la version de MATLAB ou d'Octave, le système d'exploitation/architecture, le produit de base par rapport aux boîtes à outils/paquets requis, les entrées/sorties attendues, les tolérances numériques et si l'exécution est autorisée.
  2. Inventoriez statiquement. Analysez les fichiers .m, les artefacts opaques, les chemins de projet, les produits requis et les en-têtes MAT avant tout chargement à l'exécution.
  3. Choisissez la forme du code. Préférez les fonctions avec un bloc arguments pour l'automatisation. Utilisez les scripts uniquement pour l'orchestration contrôlée et les scripts live pour des récits interactifs révisés.
  4. Rendez la sémantique explicite. Enregistrez les formes, classes, unités, règles de valeurs manquantes, indexation, expansion implicite, algorithme/graine RNG, tolérances et formats de sortie.
  5. Testez sans état caché. Gardez les données de test synthétiques, les chemins locaux au projet, les graphiques déterministes et les tests indépendants des résidus de l'espace de travail de base.
  6. Planifiez l'exécution. Générez un plan argv, examinez les effets de démarrage/chemin et les licences, et ne lancez qu'après approbation explicite en dehors de ces assistants.
  7. Capturez la provenance. Hachez les entrées/ le code nommés et enregistrez la version, les produits, la politique RNG, les tolérances et le plan de commande sans vider l'environnement.

Liste de contrôle langage et données

Scripts, fonctions et scripts live

  • Les scripts partagent l'espace de travail de l'appelant/de base et laissent des variables derrière eux. Les fonctions ont des espaces de travail locaux et des entrées/sorties explicites.
  • Les scripts live (.mlx) mélangent code et sortie riche mais ne sont pas des artefacts de révision en texte brut. Exportez le code révisé en .m pour inspection statique.
  • Évitez clear all, addpath(genpath(...)) large, la dépendance à pwd, les variables globales et l'ombrage silencieux de noms. Utilisez les racines de projet et fullfile.
  • Validez les tailles, classes et valeurs dans les blocs arguments. N'oubliez pas que les déclarations de type peuvent convertir les entrées ; les validateurs vérifient sans convertir.
  • Un fichier de fonction principale doit correspondre au nom de la fonction principale. Les fonctions locales sont privées au fichier ; depuis R2024a, elles peuvent apparaître n'importe où dans un script en dehors des contextes conditionnels.
function y = scaleSignal(x, options)
arguments
    x (:,1) double {mustBeFinite}
    options.Scale (1,1) double {mustBeFinite, mustBeNonzero} = 1
end
y = x .* options.Scale;
end

Lisez Programmation.

Tableaux, indexation et numériques

  • MATLAB utilise une indexation basée sur 1, en ordre colonne-major. A(i,j), A(k), A(:,j), A{...} et A.(name) ont des sémantiques différentes.
  • *, /, \) et ^ sont des opérations matricielles ; les formes pointées sont élément par élément. Utilisez A\b, pas inv(A)*b.
  • Depuis R2016b, les dimensions compatibles s'étendent implicitement. Affirmez la forme prévue avant les opérations qui pourraient accidentellement former un résultat extérieur.
  • Préallouez lorsque la taille de sortie est connue, mais ne vectorisez pas au prix de temporaires énormes ou de code illisible. Mesurez avec timeit ou le profileur.
  • Comparez les résultats en virgule flottante avec des tolérances absolues et relatives choisies pour le domaine, pas avec == générique ou un multiple magique de eps.
  • Fixez à la fois l'algorithme aléatoire et la graine. Utilisez des sous-flux RandStream nommés pour un travail parallèle indépendant ; n'utilisez pas rng("shuffle") basé sur le temps pour une revendication de reproductibilité.

Lisez Tableaux et Mathématiques.

Tables, horodatables et valeurs manquantes

  • Une table a des variables nommées de hauteur égale qui peuvent avoir différents types. T(rows,vars) renvoie une table ; T{rows,vars} extrait le contenu ; T.Var sélectionne une variable.
  • Un timetable a en plus des temps de ligne. Triez, validez les fuseaux horaires et l'unicité, puis utilisez retime/synchronize intentionnellement.
  • Les sentinelles de valeur manquante sont spécifiques au type : NaN, NaT, <missing>, <undefined> et les vecteurs de caractères vides. Les tableaux d'entiers et logiques n'ont pas de sentinelle standard.
  • Définissez les options d'importation plutôt que de vous fier à l'inférence pour les données de production. Préservez les unités, fuseaux horaires, noms de variables, encodages et règles de valeurs manquantes.

Lisez Import/export de données.

Graphiques et exportation

Utilisez des handles de figure/axes explicites et tiledlayout ; étiquetez les unités ; définissez les limites, les échelles de couleurs, les tailles de police et les colormaps délibérément. Préférez exportgraphics à saveas pour une sortie de publication. Dans R2026a, il exporte en raster, PDF/EPS/EMF, SVG, GIF et HTML interactif ; les capacités de format diffèrent. Spécifiez ContentType="vector" pour une sortie PDF/SVG appropriée et Resolution pour une sortie raster. Examinez l'accessibilité et le comportement du raster intégré.

Lisez Graphiques et exportation.

Fichiers MAT et échanges

  • La version 7 est le save par défaut normal ; matfile crée par défaut la version 7.3. Les versions 4/6/7/7.3 diffèrent en types, compression et limites par variable.
  • La version 7.3 est basée sur HDF5, pas un contrat d'échange HDF5 arbitraire. L'accès partiel et le chunking peuvent aider pour les grands tableaux.
  • Ne chargez jamais un fichier MAT non fiable. Inventoriez d'abord les en-têtes/ensembles de données. Les objets peuvent invoquer un comportement de désérialisation de classe ; le contenu opaque/fonction/natif nécessite une escalade.
  • Préférez CSV/JSON/Parquet/HDF5 avec un schéma documenté pour les échanges simples. Ne renommez pas les charges utiles pickle en fichiers MAT et ne désérialisez pas pickle.

Lisez Import/export de données.

Projets, analyse et tests

  • Utilisez MATLAB Projects pour des chemins contrôlés, des tâches de démarrage/arrêt, des dépendances, le contrôle de source et des points d'entrée reproductibles. Examinez les actions du projet avant d'ouvrir un projet non fiable.
  • matlab.codetools.requiredFilesAndProducts et l'analyseur de dépendances sont des approximations statiques ; la répartition dynamique peut entraîner des manques ou des faux positifs. Un rapport de produits requis ne prouve pas qu'une licence est disponible.
  • Utilisez l'analyseur de code (codeIssues ; les flux de travail texte hérités peuvent utiliser checkcode) et codeCompatibilityReport avant la migration.
  • MATLAB de base inclut des flux de travail matlab.unittest basés sur des scripts, fonctions et classes. Les exécutions parallèles nécessitent Parallel Computing Toolbox. La sélection basée sur les dépendances, les tableaux de bord de qualité plus riches, les tests générés et les fonctionnalités avancées de couverture/équivalence peuvent nécessiter MATLAB Test ou d'autres produits.
  • R2026a runtests ouvre et ferme automatiquement un projet lorsque les tests cibles appartiennent à un projet qui n'est pas déjà ouvert. Tenez compte des actions de démarrage et d'arrêt avant d'utiliser ce comportement.

Lisez Programmation et Exécution/tests.

Intégration Python, figée à R2026a

  • R2026a prend en charge CPython 64 bits 3.9-3.13 pour l'interface MATLAB vers Python, MATLAB Engine pour Python et MATLAB Compiler SDK pour Python.
  • Le paquet PyPI R2026a actuel examiné ici est matlabengine==26.1.12 (publié le 2026-05-08). Il nécessite une installation de R2026a ; MATLAB Runtime seul est insuffisant. R2026a est également livré avec une distribution Engine préinstallée sous un chemin matlabroot nommé.
  • L'installation du paquet n'accorde pas de licence MATLAB ou de boîte à outils. Configurez un interpréteur/exécutable nommé ; n'imprimez pas l'environnement complet, PATH, PYTHONPATH ou les informations d'identification.
  • pyenv contrôle la sélection de l'interpréteur MATLAB vers Python. Python en processus nécessite généralement de redémarrer MATLAB pour changer ; Python hors processus peut être terminé et reconfiguré.
  • Démarrer Engine est une action d'exécution explicite : matlab.engine.start_matlab() démarre un processus MATLAB et peut utiliser une licence. Ne l'appelez jamais simplement pour vérifier la disponibilité.
  • Vérifiez la sémantique de conversion pour les tableaux NumPy, DataFrames pandas, tables/timetables, chaînes/valeurs manquantes, datetime/duration, dictionnaires, forme/ordre et les cas non pris en charge (sparse, objet, catégoriel).

Lisez Intégration Python.

CLI d'assistance locales

Chaque assistant est sans réseau, limité, rejetant les liens symboliques et non exécutant. Exécutez depuis ce répertoire de compétence avec Python 3.11+. Bash est autorisé uniquement pour invoquer ces CLI Python et les commandes de validation ; ne l'utilisez jamais pour exécuter un plan argv MATLAB/Octave généré ou un artefact non fiable.

AssistantObjectif
scripts/plan_batch_command.pyProduire argv MATLAB/Octave révisé ; jamais exécuter
scripts/scan_m_code.pyAnalyser le texte .m et signaler les risques opaques .mlx/MEX
scripts/validate_project_manifest.pyValider les chemins et l'état déclaré du produit/licence
scripts/inventory_mat_file.pyInventaire en-tête/métadonnées ; jamais appeler loadmat
scripts/plan_python_compatibility.pyVérifier la compatibilité R2026a CPython/Engine
scripts/reproducibility_report.pyHacher les artefacts locaux nommés et émettre un rapport limité
scripts/generate_function_scaffold.pySimulation ou création d'échafaudages de fonctions et de tests unitaires
python scripts/scan_m_code.py path/to/source --root path/to/project
python scripts/plan_batch_command.py matlab script path/to/main.m --root path/to/project
python scripts/validate_project_manifest.py project-manifest.json --root path/to/project
python scripts/inventory_mat_file.py data.mat --root path/to/project
python scripts/plan_python_compatibility.py --python-version 3.13
python scripts/reproducibility_report.py --root path/to/project --file src/analyze.m
python scripts/generate_function_scaffold.py analyzeSignal --root path/to/project

Le générateur d'échafaudage par défaut est en mode simulation ; l'écriture nécessite --write et refuse les collisions. SciPy et h5py sont des backends d'inventaire optionnels ; si autorisé, ajoutez les versions exactes révisées au fichier de verrouillage du projet de l'appelant. Ils ne sont pas requis pour --help ou l'inventaire d'en-tête uniquement, et cette compétence n'effectue pas d'installation de paquets.

Références

Les actifs JSON inclus sont le manifeste de projet, le manifeste de reproductibilité et la table Python R2026a. Il n'y a pas de répertoire templates/ et aucun fichier Markdown n'est chargé depuis assets/ ; les tests de liens locaux appliquent ce contrat de paquet.

Sources primaires (vérifiées le 2026-07-23)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

Skills associés