Use when you need to validate that a published software tool (e.g., MassQL) executes correctly in your environment, reproduce published results, or contribute to development.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill repository-source-code-setup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Repository Source Code Setup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-repository-source-code-setup)More formats (shields.io, HTML) on the badges page.
---
name: repository-source-code-setup
description: Use when you need to validate that a published software tool (e.g., MassQL) executes correctly in your environment, reproduce published results, or contribute to development.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_0335
edam_topics:
- http://edamontology.org/topic_0091
- http://edamontology.org/topic_3365
tools:
- MassQL
- GitHub Actions (test-unit.yml workflow)
- pytest (inferred from test suite structure)
derived_from:
- doi: 10.1038/s41592-025-02660-z
title: massql
evidence_spans:
- The Mass Spec Query Language (MassQL) is a domain specific language meant to be a succinct way to express a query in a mass spectrometry centric fashion.
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_massql
doi: 10.1038/s41592-025-02660-z
title: massql
dedup_kept_from: coll_massql
schema_version: 0.2.0
---
# repository-source-code-setup
## Summary
Clone a scientific software repository and install its runtime dependencies and test fixtures to prepare the codebase for execution or testing. This skill ensures a reproducible local environment matching the project's configuration before running workflows, unit tests, or analyses.
## When to use
You need to validate that a published software tool (e.g., MassQL) executes correctly in your environment, reproduce published results, or contribute to development. Apply this skill when you have a GitHub repository URL and want to verify the unit test suite or run the tool end-to-end on your own machine.
## When NOT to use
- The tool is already installed in your environment (e.g., via pip install massql) and you do not need to reproduce or develop against the source repository.
- You only need to use the tool as a published package, not inspect or modify its source code.
- The repository is private or inaccessible to you; instead, rely on pre-built Docker images or containerized distributions.
## Inputs
- GitHub repository URL or clone path (string)
- Repository README or configuration files (text/markdown)
- Requirements files (requirements.txt, setup.py, environment.yml, or equivalent)
## Outputs
- Cloned local repository directory with all source code
- Installed Python package with dependencies available in the environment
- Fetched test fixtures and data files (if required by the test suite)
- Test execution report (pass/fail status, test counts, error logs)
- Verification that the tool CLI or API is callable
## How to apply
First, clone the repository from GitHub (e.g., mwang87/MassQueryLanguage) to a local directory. Next, examine the repository structure and README to identify runtime and test dependencies—these may be specified in requirements files (e.g., requirements.txt, requirements_test.txt) or in documentation. Install the core package and its dependencies using the recommended package manager (pip for Python). If the project includes a test suite, fetch additional test fixtures or data (e.g., via scripts like get_data.sh) that are not bundled with the git repo. Verify installation by checking that the tool's API or CLI is available (e.g., `from massql import msql_engine` or `massql --help`). Finally, run the test suite (e.g., via a CI workflow definition like test-unit.yml) to confirm that the installation succeeded and the codebase is functional.
## Related tools
- **MassQL** (Reference implementation of a domain-specific query language for mass spectrometry data; the tool being installed and tested) — https://github.com/mwang87/MassQueryLanguage
- **GitHub Actions (test-unit.yml workflow)** (CI workflow definition that specifies how to execute the unit test suite; consulted to understand the test execution steps) — https://github.com/mwang87/MassQueryLanguage
- **pytest (inferred from test suite structure)** (Test runner implied by the presence of a test suite; typically specified in requirements_test.txt)
## Examples
```
cd /tmp && git clone https://github.com/mwang87/MassQueryLanguage.git && cd MassQueryLanguage && pip install -r requirements_test.txt && cd tests && sh ./get_data.sh && cd .. && python -m pytest tests/
```
## Evaluation signals
- Repository successfully clones without authentication errors and contains the expected directory structure (Language Grammar, Reference Implementation, CLI, workflows).
- All core and test dependencies install without errors or unresolved version conflicts; `pip show massql` or `from massql import msql_engine` confirms the package is available.
- Test fixtures are fetched completely (e.g., `cd tests && sh ./get_data.sh` completes without errors); data files are present in the test directory.
- Unit test suite executes and the test-unit.yml CI badge shows a passing status (green check); test output reports zero failures or expected/acceptable failure counts.
- The command-line tool is callable (e.g., `massql test.mzML "QUERY scaninfo(MS2DATA)" --output_file results.tsv` produces output without import or command-not-found errors).
## Limitations
- Test fixtures and large data files may not be bundled with the git repository; they must be fetched separately via scripts (e.g., get_data.sh), which may require network access or authentication.
- Python version compatibility may vary; the README states the package is tested on Python 3.9 but compatibility with other versions is uncertain.
- CI workflows (test-unit.yml, test-package.yml) are defined for GitHub Actions; execution locally requires a compatible test runner setup, not automatic replication of the CI environment.
## Evidence
- [other] Clone the MassQL repository, install dependencies, execute unit tests, collect results: "1. Clone the MassQL repository (mwang87/MassQueryLanguage) from GitHub. 2. Install dependencies and runtime environment as specified in the repository configuration. 3. Execute the unit test suite"
- [readme] Test fixtures are not bundled and must be fetched separately: "To run tests, you'll need to first fetch some fixtures that are not bundled with the git repo: `cd tests && sh ./get_data.sh`"
- [readme] Test suite requires additional dependencies specified in a separate requirements file: "You will also want to install the extra requirements for the test suite: `pip install -r requirements_test.txt`"
- [readme] Python 3.9 is the tested version; other versions are uncertain: "We currently test massql in python 3.9, but are figuring out other versions if they work or not."
- [readme] Basic Python API invocation after installation: "from massql import msql_engine
results_df = msql_engine.process_query(input_query, input_filename)"
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!