Skip to main content

CLI toolkit for organizing AI/computational biology workshops

Project description

autocourse

A Claude Code plugin for organizing AI/computational biology workshops. Config-driven, ships with skills, templates, themes, and sample datasets.

Installation

Option A: pip package (standalone CLI)

pip install autocourse                    # core (yaml only)
pip install autocourse[google]            # + Google API support (email, forms, drive)
pip install autocourse[all]               # everything

Then use autocourse or acos from any directory:

autocourse --help
autocourse send --template invite --from-tsv participants.tsv --dry-run
acos slides --theme ocean
acos datasets --list

Option B: Claude Code plugin

claude install-plugin github:sahuno/autocourse

Install external tools

npm install -g @marp-team/marp-cli  # for slide building

Or run the full setup script:

bash setup/install.sh

Quick Start

1. Scaffold a new workshop

/workshop-init

Runs an interactive interview, generates workshop.config.yaml, creates the directory tree, and initializes git.

2. Send participant emails

/workshop-comms

Select a template (invite, checklist, or kickoff), load recipients from a TSV file, preview, and send via Gmail API.

# CLI usage
python scripts/send_email.py --config workshop.config.yaml --template invite --from-tsv participants/responses.tsv --dry-run

3. Build slide decks

/workshop-slides

Converts slide framework markdown files to themed HTML and PDF using Marp.

# CLI usage
./scripts/build_slides.sh --config workshop.config.yaml

CLI Commands

Command Description
autocourse init Scaffold a new workshop (interactive via Claude Code)
autocourse send Send templated emails via Gmail API
autocourse slides Build Marp slide decks
autocourse form Create pre-workshop survey (Google Forms)
autocourse drive Create Google Drive folder structure
autocourse datasets Generate sample datasets for exercises

Both autocourse and acos work as the command name.

Skills (Claude Code)

Skill Description
/workshop-init Scaffold a new workshop project with config and directory tree
/workshop-comms Send templated emails to participants via Gmail API
/workshop-slides Build Marp slide decks from markdown frameworks with themed CSS
/workshop-curriculum Generate agenda + slide frameworks from config topics (parallel subagents)
/workshop-repo Create and configure a GitHub repository from config
/workshop-marketing Generate flyers, social media posts, and email campaigns
/workshop-logistics Set up Google Forms survey, Drive folders, Calendar invites
/workshop-dayof Day-of checklist, kickoff email, last-minute prep
/workshop-postmortem Post-workshop follow-up, feedback survey, summary report

Configuration

All workshop details live in workshop.config.yaml:

workshop:
  name: "Agentic AI for Computational Biology"
  date: "2026-04-10"
  venue: "Your Venue"
  # ... see workshop.config.yaml for all fields

slides:
  theme: "ocean"  # ocean | savanna | midnight

email:
  sender: "you@gmail.com"
  credentials_dir: "./credentials"

Themes

Three Marp CSS themes included:

Theme Style Use Case
ocean White, deep blue headers Professional, institutional
savanna Warm white, earthy gold Community workshops
midnight Dark, cyan accents Tech-forward, hackathons

Email Templates

Templates in templates/ use {placeholder} syntax:

  • email_invite.md — Workshop invitation
  • email_checklist.md — Pre-workshop setup checklist
  • email_kickoff.md — Day-of kickoff with Zoom link

Sample Datasets

Small files in datasets/ for workshop exercises:

  • sample_sequences.fasta — BRCA1, TP53, EGFR, MYC partial sequences
  • sample_annotations.gff3 — Gene annotations (GRCh38)
  • sample_gene_list.txt — Simulated DEG list with log2FC and p-values

Project Structure

workshop-kit/
├── .claude-plugin              # Plugin manifest
├── workshop.config.yaml        # Workshop configuration
├── skills/
│   ├── workshop-init/          # /workshop-init skill
│   ├── workshop-comms/         # /workshop-comms skill
│   └── workshop-slides/        # /workshop-slides skill
├── templates/                  # Email and slide templates
├── themes/                     # Marp CSS themes
├── scripts/                    # send_email.py, build_slides.sh
├── datasets/                   # Sample data for exercises
├── references/                 # Setup guides and cheatsheets
└── setup/                      # install.sh, requirements.txt

Prerequisites

  • Python 3.9+
  • Node.js 18+ (for Marp CLI)
  • Git
  • Google OAuth credentials (for email sending — see references/google_api_setup.md)

License

MIT

Author

Samuel Ahuno (kwameaistudio@gmail.com) | GitHub: sahuno

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autocourse-1.0.1.tar.gz (55.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autocourse-1.0.1-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file autocourse-1.0.1.tar.gz.

File metadata

  • Download URL: autocourse-1.0.1.tar.gz
  • Upload date:
  • Size: 55.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for autocourse-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3b8984c9ee9324c3c8cbf51cfb2ea0f3921c54442a7dec916ffb3004d56066b4
MD5 648b2a6598de5175df682ff13763564f
BLAKE2b-256 c4c6867126b1291dd645025fb3d5312c73b516872eb7c36586f4c83c2f3ae736

See more details on using hashes here.

File details

Details for the file autocourse-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: autocourse-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for autocourse-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a70238cc863f0b29b55a99f8b30d25d2372b2b9632ac798cfb9e0e77bcd7f75f
MD5 d333284bb90aa5f17d1f7ae18d38af2f
BLAKE2b-256 e99f2efca8ada2beff5f32ca34b69cdd1d2b0d2b6d5738f99066f610bc51f459

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page