Skip to content
/

matsengrp/plugins

matsengrp-plugins · matsengrp/plugins · ★ 22 · last commit 2025-10-24

Gives computational biology teams 12 specialized agents for scientific writing, LaTeX editing, bioinformatics pipelines, and code quality review, with macOS notification hooks.

Best whenScientific publishing workflows require domain-specific agents (verb tense checker, journal submission verifier, Snakemake expert) that general-purpose code …
Skip ifFake tests (called out in /pre-pr-check), Writing without checking journal submission requirements
vs seeds
spec-kit's hooks approach in functionality but not in simplicity.
Primitive shape 15 total
Commands 1 Subagents 12 Hooks 2
00

Summary

matsengrp-plugins — Summary

matsengrp/plugins is a Claude Code plugin from the Matsen computational biology group, shipping 12 specialized agents for scientific writing and code review, 1 command (/pre-pr-check), and 2 macOS notification hooks. The agents cover scientific LaTeX editing, grammar, verb tense, topic sentence structure, PDF proof-reading, journal submission checking, clean code review, code smell detection, antipattern scanning, Snakemake pipeline guidance, mathematical PR summarization, and PDF question answering. The plugin targets bioinformatics and computational biology teams — it ships a snakemake-pipeline-expert agent and references the Matsen group's internal LaTeX writing guidelines (loaded from a raw GitHub URL). With 22 stars and last commit October 2025, it is a small but complete domain vertical.

Differs from seeds: No seed targets scientific writing or bioinformatics. Closest to BMAD-METHOD (multiple specialized persona agents) but the agents are domain-specialized reviewers rather than project-phase personas. The /pre-pr-check command orchestrates 4 agents sequentially (antipattern-scanner, clean-code-reviewer + static analysis), matching spec-kit's command-per-workflow pattern.

01

Overview

matsengrp-plugins — Overview

Origin

Created by the Matsen computational biology group (Fred Hutchinson Cancer Center), a group known for bioinformatics research including phylogenetics and statistical methods. The plugin is tailored to their specific internal writing conventions (writing_with_erick.md from their LaTeX template repo).

Philosophy

From the README: "A collection of specialized agents designed to enhance your development workflow, particularly for: Scientific writing and LaTeX documents, Code quality and review, Academic publishing, Bioinformatics pipelines."

The plugin is opinionated about code quality: the code-smell-detector description explicitly says "gentle mentoring approach", and the pre-pr-check command bans fake tests ("No fake tests allowed!"). The scientific-tex-editor agent loads Matsen group writing guidelines from a raw GitHub URL, making it group-specific but adaptable.

Notification Hooks

macOS terminal-notifier hooks provide desktop notifications:

  • 🔔 When Claude needs input (Notification hook event)
  • ✅ When a task completes (Stop hook event)

The README notes: "Notifications are automatically enabled when you install the plugin (if terminal-notifier is available)."

02

Architecture

matsengrp-plugins — Architecture

Distribution

Claude Code plugin. Install via:

/plugin  # Opens interactive menu
# Enter: matsengrp/plugins

Directory Tree

.
├── .claude-plugin
├── .gitignore
├── QUICKSTART.md
├── README.md
├── agents/
│   ├── antipattern-scanner.md
│   ├── clean-code-reviewer.md
│   ├── code-smell-detector.md
│   ├── journal-submission-checker.md
│   ├── math-pr-summarizer.md
│   ├── pdf-proof-reader.md
│   ├── pdf-question-answerer.md
│   ├── scientific-tex-editor.md
│   ├── snakemake-pipeline-expert.md
│   ├── tex-grammar-checker.md
│   ├── tex-verb-tense-checker.md
│   └── topic-sentence-stickler.md
├── commands/
│   └── pre-pr-check.md
└── hooks/
    └── hooks.json

Required Runtime

  • Claude Code
  • terminal-notifier (macOS, optional — for desktop notifications)

Config Files

.claude-plugin — plugin manifest

Target AI Tools

  • Claude Code (primary)
03

Components

matsengrp-plugins — Components

Agents (12)

Scientific Writing & LaTeX

Agent Model Purpose
scientific-tex-editor sonnet Expert scientific editing for LaTeX; loads Matsen group writing_with_erick.md guidelines from GitHub
tex-grammar-checker unknown Meticulous grammar checking for LaTeX/TeX files
tex-verb-tense-checker unknown Verb tense consistency review in LaTeX documents
topic-sentence-stickler unknown Ensures strong topic sentences in paragraph structure
pdf-proof-reader unknown Proofreads PDF proofs from academic journals
journal-submission-checker unknown Verifies repositories, references, and bibliographic information

Code Quality & Review

Agent Model Purpose
clean-code-reviewer unknown Expert code review focused on clean code principles
code-smell-detector unknown Gentle code smell detection with mentoring approach
antipattern-scanner unknown Scans for architectural antipatterns and violations

Specialized Tools

Agent Model Purpose
snakemake-pipeline-expert unknown Expert guidance on Snakemake bioinformatics workflows
math-pr-summarizer unknown Creates mathematical summaries of statistical/computational PRs
pdf-question-answerer unknown Analyzes and answers questions about scientific PDFs

Commands (1)

Command Purpose
/pre-pr-check Comprehensive pre-PR quality checklist: issue compliance, formatting, docs, architecture review (antipattern-scanner + clean-code-reviewer), test quality, static analysis (ruff, mypy, coverage)

Hooks (2)

Event Action
Notification terminal-notifier — desktop notification: "Claude needs your input"
Stop terminal-notifier — desktop notification: "Task completed"

Both hooks have empty matchers (fire for all events).

MCP Servers (0)

None.

05

Prompts

matsengrp-plugins — Prompt Excerpts

Excerpt 1: scientific-tex-editor agent — External knowledge injection

Technique: External guideline loading from raw GitHub URL; numbered editing workflow.

You are an expert scientific editor specializing in LaTeX documents, with deep expertise in scientific writing, clarity, and the specific writing guidelines from the Matsen group (https://raw.githubusercontent.com/matsengrp/tex-template/refs/heads/main/misc/writing_with_erick.md).

When editing LaTeX files, you will:
1. **Structural Review**: Assess overall organization, logical flow, and argument coherence
2. **Language Optimization**: Improve sentence clarity, eliminate redundancy, and enhance readability
3. **Scientific Accuracy**: Verify terminology usage and suggest more precise language where needed
4. **Style Consistency**: Apply consistent formatting, citation style, and mathematical notation
5. **LaTeX Best Practices**: Suggest improvements to LaTeX structure, commands, and formatting

For each edit, provide:
- The specific change with before/after examples
- Clear rationale explaining why the change improves the text
- Alternative suggestions when multiple approaches are viable

Excerpt 2: hooks.json — macOS notification hooks

Technique: Lifecycle event hooks for ambient awareness; no matcher (fires universally).

{
  "Notification": [
    {
      "matcher": "",
      "hooks": [
        {
          "type": "command",
          "command": "terminal-notifier -title \"🔔 Claude Code\" -message \"Claude needs your input\" -sound default"
        }
      ]
    }
  ],
  "Stop": [
    {
      "matcher": "",
      "hooks": [
        {
          "type": "command",
          "command": "terminal-notifier -title \"✅ Claude Code\" -message \"Task completed\" -sound default"
        }
      ]
    }
  ]
}

Excerpt 3: scientific-tex-editor — Agent example block

Technique: Structured <example> blocks with <commentary> showing intended trigger scenarios.

<example>
Context: User has written a draft of a scientific paper section and wants it reviewed for clarity and style.
user: 'I've finished writing the methods section of my paper. Can you review it for scientific clarity and adherence to good writing practices?'
assistant: 'I'll use the scientific-tex-editor agent to review your methods section for scientific clarity, writing style, and adherence to best practices.'
<commentary>The user is requesting scientific editing of their LaTeX content, which is exactly what this agent is designed for.</commentary>
</example>
09

Uniqueness

matsengrp-plugins — Uniqueness

Differs from Seeds

No seed targets scientific writing or bioinformatics. Closest to BMAD-METHOD (named persona agents for specialized roles), but the agents are all stateless reviewers and editors rather than project-phase personas. The scientific-tex-editor agent's live URL injection of writing_with_erick.md is unique in the corpus — no other framework loads context dynamically from an external URL at agent invocation time. The snakemake-pipeline-expert agent is the only bioinformatics workflow agent in the batch. The notification hooks (Notification + Stop events) target macOS ambient UX, which only kiro approximates (via IDE-native notifications), but at zero friction (no IDE required, just brew install terminal-notifier).

Positioning

A group-specific plugin for computational biology labs doing academic publishing and bioinformatics pipeline development. The LaTeX agents are narrow but valuable for researchers submitting to journals — they catch issues (verb tense inconsistency, weak topic sentences, journal-submission checklist violations) that general code review agents miss.

Observable Failure Modes

  1. External URL dependency: scientific-tex-editor loads writing guidelines from a GitHub URL at runtime — network failure or URL change silently changes agent behavior.
  2. macOS-only notifications: terminal-notifier is macOS-specific; Linux/Windows users get no notifications.
  3. No fake-test enforcement: /pre-pr-check says "no fake tests allowed" but there is no hook to detect them — it is a checklist item, not an enforcer.

Explicit Antipatterns

  • Fake tests (called out in /pre-pr-check)
  • Hardcoded hex colors (cross-reference to Power BI antipatterns)
04

Workflow

matsengrp-plugins — Workflow

Pre-PR Check Workflow (/pre-pr-check)

A comprehensive quality gate before opening a pull request.

Phases

Step Activity Agent/Tool
1 Issue compliance verification Manual
2 Code formatting and documentation checks Manual
3 Architecture review antipattern-scanner + clean-code-reviewer agents
4 Test quality validation Manual ("no fake tests allowed!")
5 Static analysis ruff, mypy, test coverage (Bash tools)

Approval Gates

None automated — the command is a checklist, not an enforcer. The developer runs through each step and acts on findings.

Scientific Editing Workflow

Ad hoc — invoke specific agents as needed:

  • scientific-tex-editor for comprehensive editing
  • tex-grammar-checker for grammar pass
  • tex-verb-tense-checker for tense consistency
  • pdf-proof-reader for final journal proof

Artifacts

  • Edited LaTeX files
  • Code review comments
  • Snakemake workflow improvements
  • Mathematical PR summary (for complex statistical PRs)
06

Memory Context

matsengrp-plugins — Memory & Context

State Storage

None. No persistent memory mechanism.

Context Injection

The scientific-tex-editor agent loads the Matsen group's writing guidelines at runtime from a raw GitHub URL:

https://raw.githubusercontent.com/matsengrp/tex-template/refs/heads/main/misc/writing_with_erick.md

This is live injection from an external URL — the agent's behavior changes if that URL content changes. It is the only dynamic context injection in the corpus (other frameworks embed context statically).

Cross-Session Handoff

None.

Compaction Handling

None.

07

Orchestration

matsengrp-plugins — Orchestration

Multi-Agent Pattern

Sequential/pre-pr-check dispatches agents in order: antipattern-scanner, clean-code-reviewer.

Execution Mode

Interactive-loop — agents are dispatched manually by the developer.

Isolation Mechanism

None.

Multi-Model

Not specified. scientific-tex-editor specifies model: sonnet; others inherit session default.

Auto-Validators

None. pre-pr-check invokes ruff, mypy, test coverage via Bash, but these are checklist steps, not automatic hooks.

Prompt Chaining

No. Each agent operates independently.

Consensus Mechanism

None.

08

Ui Cli Surface

matsengrp-plugins — UI / CLI Surface

CLI Binary

None.

Local UI

None.

IDE Integration

Claude Code only.

Observability

macOS desktop notifications via terminal-notifier:

  • Input-needed notification
  • Task completion notification

These are the only ambient feedback mechanism in the plugin.

Related frameworks

same archetype · same primary tool · same memory type

Claude-Flow / Ruflo ★ 55k

Eliminates single-agent context limits and sequential bottlenecks by orchestrating fault-tolerant swarms of specialized AI agents…

Hermes Agent (NousResearch) ★ 168k

Self-improving personal AI agent with closed learning loop, 7 terminal backends, and messaging gateway — not tied to any AI…

OpenCode ★ 165k

Terminal-first AI coding agent with multi-model routing, native desktop app, and a typed .opencode/ configuration system for…

OpenHands ★ 75k

Open-source AI software development platform (open-source Devin alternative) with Docker sandbox isolation, 77.6% SWE-bench…

DeerFlow ★ 70k

Long-horizon superagent that researches, codes, and creates by orchestrating parallel sub-agents with isolated contexts in Docker…

oh-my-openagent (omo) ★ 60k

Multi-provider AI agent orchestration for OpenCode: escape vendor lock-in by routing Sisyphus (Claude/Kimi/GLM) and Hephaestus…