The methodology that onboards new developers to MacCoss Lab’s 700,000-line codebase works on Claude Code, too. Here’s how Brendan MacLean, a Claude Developer Ambassador whose lab is part of our Claude for Open Source program, did it.
- CategoryClaude Code
- ProductClaude Code
- DateApril 28, 2026
- Reading time5min
- ShareCopy link
Skyline, the open source protein analysis software maintained by principal developer Brendan MacLean at the University of Washington’s MacCoss Lab, has been in active development since 2008. Skyline helps researchers detect and quantify proteins in things like blood plasma and tissue, which is vital for biomarker discovery, disease research, and drug development. The MacCoss Lab codebase contains 700,000+ lines of C#, maintained for 17 years by a small team running 200,000+ automated nightly tests.

For nearly three decades, Brendan has been Skyline’s connective tissue, onboarding dozens of undergrads, grad students, and postdocs to the lab.*
As developers joined and left, the codebase absorbed their contributions. By 2024, it carried the usual burdens of a long-lived project. Certain areas had grown untouchable as developers turned over.
After decades of training lab members, Brendan knew how to bring researchers up to speed on the lab’s massive codebase. What he didn’t expect was that the same methodology, applied to an AI tool, would make Skyline’s codebase manageable again.
The same onboarding problem, a different kind of developer
Brendan was skeptical modern AI coding tools could understand lines of C# the way a tool purpose-built for exactly this language and environment already did.
Early experiments with Claude.ai in the browser confirmed the pattern. He’d describe a problem, get a response, and copy a whole C# file back into his project, limiting scope to contained problems he could describe without any reference to project code.
“It became very laborious once changes became more incremental,” Brendan says.
Every session with Claude.ai felt like starting from scratch as it had no understanding of what Skyline was, how its components related, or what 17 years of development had established.
That was the same experience Brendan faced onboarding new developers, which gave him an idea.
“I could introduce Claude through Claude Code to my large project as I would a trainee developer: by explaining enough to achieve a successful limited project and produce improved context for the next iteration,” Brendan says.
He moved all AI context into its own repository, pwiz-ai, kept separate from the codebase so it applies across all branches and time points. The CLAUDE.md file at the root handles environment setup and points Claude to the relevant documentation: think of it as the ‘lay of the land,’ not the expertise itself.
The expertise lives in skills, an open format for giving agents capabilities and expertise. His debugging skill, for example, is designed to pull Claude out of what he calls “guess and test” mode, pushing it toward root cause analysis before attempting any fix. Skills can be triggered manually or automatically; Brendan tunes his most critical ones with explicit conditions—the debugging skill description reads “ALWAYS load when investigating bugs, failures, or unexpected behavior.”

