Skip to content

FrancisCrickInstitute/lyra

Repository files navigation

lyra

Agentic primitives repository. Provides reusable agents, instructions, prompts, and skills for AI-assisted development workflows, managed via the Microsoft Agentic Package Manager (APM).

New to agents? Read our intro before diving in

Contents

The .apm/ directory contains the following primitive types:

Type Description
agents/ Custom GitHub Copilot agents for orchestrating development workflows
instructions/ Coding guidelines applied automatically to matching file types
prompts/ Reusable prompt templates
skills/ Reusable skill definitions

Setup

Requires Python 3.13+ and uv.

just dev

This creates a virtual environment, installs all dependencies, and drops you into an activated shell.

Using as an APM Dependency

Quick Install

Install a conductor agent:

# For Nextflow projects
apm install FrancisCrickInstitute/lyra/agents/nextflow/conductor.agent.md

# For Python projects
apm install FrancisCrickInstitute/lyra/agents/python/python-focused-conductor.agent.md

Or install a curated bundle as a single dependency path:

# Nextflow bundle (conductor + subagents/skills)
apm install FrancisCrickInstitute/lyra/packages/nextflow
apm install
apm compile

# Python bundle (conductor + subagents)
apm install FrancisCrickInstitute/lyra/packages/python
apm install
apm compile

The Python bundle also installs a GitHub Copilot post-edit hook that runs ruff check against changed Python files and pytest for the project after Python code changes. The hook will use .venv executables when present, otherwise it falls back to uv run or tools available on PATH. The hook is packaged separately under hooks/ and included in the bundle via packages/python/apm.yml.

APM Version Requirements

Use a recent APM release if you want to consume all primitives in this repository:

  • Hooks require APM >= 0.7.4.
  • .github/instructions support requires APM >= 0.7.5.

Project Configuration

Or declare in your project's apm.yml:

name: my-project
version: 0.0.0
dependencies:
  apm:
    - FrancisCrickInstitute/lyra/agents/nextflow/conductor.agent.md
    - FrancisCrickInstitute/lyra/agents/nextflow/nextflow-subagents/code-review-subagent.agent.md
    - FrancisCrickInstitute/lyra/agents/nextflow/nextflow-subagents/planning-subagent.agent.md

Then run:

apm install

Notes on Paths

  • APM supports installing owner/repo/path packages (subdirectory/virtual packages).
  • APM does not support wildcard folder installs (for example, "install all files under this folder" via glob).
  • If you need a fixed set of primitives from this repo, prefer bundle paths like FrancisCrickInstitute/lyra/packages/nextflow or FrancisCrickInstitute/lyra/packages/python.

Install Individual Components

You can also install specific components:

# Just a skill
apm install FrancisCrickInstitute/lyra/skills/nextflow-diagram-creation

# Specific subagent
apm install FrancisCrickInstitute/lyra/agents/nextflow/nextflow-subagents/planning-subagent.agent.md
apm install FrancisCrickInstitute/lyra/agents/python/python-subagents/python-planner-subagent.agent.md

Troubleshooting: "not accessible or doesn't exist"

APM uses the GitHub API, which rate-limits unauthenticated requests to 60/hour. If you hit this limit, installs will fail with "not accessible or doesn't exist" even though the file is public.

Fix: set GITHUB_APM_PAT using your existing gh CLI token:

export GITHUB_APM_PAT=$(gh auth token)

To make this permanent, add it to your shell profile (~/.zshrc or ~/.bashrc):

echo 'export GITHUB_APM_PAT=$(gh auth token)' >> ~/.zshrc

This raises the rate limit to 5,000 requests/hour.

About

Agentic primative repository

Topics

Resources

Stars

Watchers

Forks

Contributors