Linus Torvalds Skill/Soul or how I distilled the knowledge for code reviews from 32~k emails - Daniele Mte90 Scasciafratte

· Daniele Mte90 Scasciafratte ·

5 min read Original article ↗

I was wondering if we have https://github.com/multica-ai/andrej-karpathy-skills/ that is a condensed way to create a AGENTS.md file from an opinion of a specific person what we can do with more content from a person?

I used the karpathy skill to create my AGENTS.md but it will be a topic for another blog post

So I was thinking, where I can find content from a person, that can be helpful for an AI that is public domain?
Why don’t distill the Code Review skills from Linus Torvalds in over 2 decades in the Kernel mailing list?

So after some working I got https://github.com/Mte90/linus-torvalds-skill that I decide to be always reproducible.

Every generated file carries traceability metadata in its frontmatter (prompt hash, input hash, model, pipeline version). Generated artifacts are never hand-edited — any change goes through the generator script.
The data folder is a release asset, the full pipeline ~2,000 LLM calls, and python3 scripts/run_pipeline.py --dry-run shows every stage before spending a cent.

This means that there are scripts to download and parse the various emails, exclude the one that are commits and stuff not useful (so from 32~k emails they are 19~k).

Before public announcement

The first version was a single SKILL.md generated from the email corpus — no soul, no calibration, no interviews, no validation.

The first step it was to ask to the agents to build a pipeline to download and evaluate the various emails, and a script that generates the skill based on the email content.

The next step it was to generate the same skill with different models to see the difference, as I am part of Regolo.AI that part it was easy.

The first generation attempts included C-specific terms like BUG_ON and READ_ONCE, making the skill useless for non-C projects.
Fixing this required a forbidden-terms list and a post-processor.

With this first version I was thinking that was ready for the world…

After public announcement

After sharing to the world (apart the usual sarcastic people) I got some useful suggestions:

What the community asked — and what changed

Feedback What I shipped
“Did you even use the skill?” Validated on antirez/smallchat: 8 reviews (4 models × with-skill/baseline), consensus matrix + a 43-bug ground-truth benchmark
“Why not a SOUL.md?” 4 soul variants (identity/values/voice, separate from the rules)
“The skill quality is bad” Quality gates: verify_skill.py scores 0–100 (SKILL.md: 95/100), 1,026 tests, forbidden-C-terms enforcement
“The report isn’t useful” Consensus matrix, severity disagreement table, trigger effectiveness metrics
“Why not interviews?” 67 interview transcripts fused into the corpus
“Upload the data folder” Published as release assets (data.tar.gz) — regenerate with your own models
Where are the profanities? In soul.md are present

Right now I want to present to you the first official release of the project with this all these improvements (and many others)!
I used a lot GLM 5.3 that it was released in the meantime to review it and improve it (GLM 5.2 and Qwen3.5-122b are used for the development).

The actual LLMs used (from Regolo.AI):

  • GLM 5.2
  • Mistral-small-4-119b
  • GPT-OSS-120b
  • Qwen3.8-27b

The pipeline, the prompt generation and everything else is the same for the various models but the output is completely different.
Actual pipeline is:

  • 31,397 emails fetched (192MB mbox from gmane NNTP)
  • After classify.py filters out git-pull/patch/RFC/announcements → review-only subset
  • 38,293 moves extracted (not emails — each email can yield multiple moves)
  • 325 representative patterns (25 per category × 13 categories)
  • 1 skill/soul file per model

In the report folder there is a comparison from all the models with and without the skill with the antirez/smallchat project.

Some excerpts from the comparison (auto-generated) as 10/09/2026:

Model Total Findings Critical Findings Skill-Only Critical Verdict
gpt-oss-120b 15 4 4 Skill adds value
glm5.2 7 2 0 Skill reduces coverage
mistral 22 9 9 Skill adds value
qwen3.8-27b 18 6 4 Skill adds value

The skill adds the most value for mistral, which gained 9 critical finding(s) exclusive to the with-skill review.

For each model, comparing findings with the skill vs without (baseline):

Model Baseline Total With-Skill Total Baseline CRITICAL With-Skill CRITICAL Critical Overlap Skill-Only CRITICAL Baseline-Only CRITICAL Skill Added Value
gpt-oss-120b 7 15 0 4 0 4 0 yes (+4 net critical: 4 found, 0 lost)
glm5.2 12 7 4 2 2 0 2 no (-2 net critical: 0 found, 2 lost)
mistral 15 22 0 9 0 9 0 yes (+9 net critical: 9 found, 0 lost)
qwen3.8-27b 11 18 2 6 2 4 0 yes (+4 net critical: 4 found, 0 lost)

Findings confirmed by 2+ models are treated as real bugs. Findings reported by only one model are unverified (could be real or false positive).

Model Total Findings Confirmed (2+ models) Unverified (1 model only) Consensus Rate
gpt-oss-120b 15 12 3 80%
glm5.2 9 9 0 100%
mistral 22 14 8 64%
qwen3.8-27b 19 14 5 74%

Looking a the comparison is clear that GLM and Mistral are the most interesting to find bugs.
I suggest to read the comparison (that is generated automatically so has margin for improvements).

Conclusion

This project was fully generated by AI – and my only real job was reviewing its work.
Which is exactly what the skill teaches. I just never expected to be on the receiving end of a Linus-style review of my own pipeline.
But I think that is my actual most used duty in my job as developer, review what an agent does.

The repository is online and open to everyone for feedback and suggestions.

Liked it? Take a second to support Mte90 on Patreon!

Become a patron at Patreon!