Skip to main content

CLI toolkit for organizing AI/computational biology workshops

Project description

workshop-kit

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/workshop-kit

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.0.tar.gz (55.1 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.0-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: autocourse-1.0.0.tar.gz
  • Upload date:
  • Size: 55.1 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.0.tar.gz
Algorithm Hash digest
SHA256 1127a3f037124119359d59f5b301f2dc6fc979a65ce74021ccae6f2086444a5c
MD5 ede4e476e7e8662a1a353b605489add5
BLAKE2b-256 a4a2a1d518d981e86842b9063e1de8d77343d1a89c329e328e4501e820193ee5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autocourse-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ecf903ca2b6a022c8006a6076eccc8042e5967f59749dda1209d08bf7f7763d7
MD5 73d8010b6325a1a6a4c47e0893f3d376
BLAKE2b-256 f973740fc2bb2487bd80eb3c5b563c48698f5bb370eec11f71984afab9151662

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