From: Sasha Levin <sashal@kernel.org>
To: workflows@vger.kernel.org, ksummit@lists.linux.dev
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Randy Dunlap <rdunlap@infradead.org>,
Mark Brown <broonie@kernel.org>, Theodore Ts'o <tytso@mit.edu>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Leon Romanovsky <leon@kernel.org>,
Konstantin Ryabitsev <konstantin@linuxfoundation.org>,
Thorsten Leemhuis <linux@leemhuis.info>,
"Michael S. Tsirkin" <mst@redhat.com>,
Kees Cook <kees@kernel.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Dan Carpenter <error27@gmail.com>,
Miguel Ojeda <ojeda@kernel.org>, Sasha Levin <sashal@kernel.org>,
stable@vger.kernel.org
Subject: [PATCH v3 0/7] agents: add skills for Fixes tags, stable tags, similar bugs, and commit messages
Date: Fri, 16 Oct 2026 11:28:20 -0400 [thread overview]
Message-ID: <20261016152828.3765695-1-sashal@kernel.org> (raw)
At the Maintainers Summit, Ted asked whether the stable trees have a way
to deal with incorrect Fixes tags. Hannes estimated that 15-20% of them
are wrong, often because the author ran git blame and took the first
commit that touched the line [1]. We use LLM workflows to find the
commit that actually introduced a bug, and others asked us to share
them.
This series adds them as agent skills under agents/skills/, together
with a skill for writing commit messages. Each skill is a short SKILL.md
that points the agent at the process documents for its task and adds
only the checks agents tend to get wrong:
- find-fixes determines the commit for a Fixes tag, following the
history past code moves and refactors.
- stable-tag decides whether a fix should go to stable and generates the
tag. It finds the first release with the bug and checks that the fix
applies there.
- find-siblings looks for the same bug elsewhere in the tree, with a
Coccinelle semantic patch when Coccinelle is available, and verifies
each candidate.
- commit-message writes, rewrites, or reviews a commit message or cover
letter, and writes the text of a pull request. It follows the P:
profiles for the changed files and keeps the text short and in the
imperative voice, as Linus asked [2].
Rules that people need as much as agents go into the existing documents
instead: submitting-patches.rst now says which commit a Fixes tag names.
stable-kernel-rules.rst drops the 100 line limit, the rule against
theoretical issues, and the requirement that a fix be obviously correct,
none of which the stable trees apply.
Most of the skills only point at Documentation/. The exception is
stable-tag, which also lists the kinds of changes the stable trees take
and leave out. The lists describe how the stable rules are applied, not
new rules, and they save smaller models from working that out on every
fix. To keep agents/ consistent with Documentation/, I'll check one
against the other every release and trim anything in agents/ that
duplicates or contradicts it, as Kees suggested [4].
The skills only inspect and report. The calling workflow writes the
commit, creates the tag, and sends the mail. coding-assistants.rst tells
agents when to use each skill. Tools do not load agents/skills/ on their
own; to have a tool load them automatically, link the skill directories
into its skills directory.
Changes since v2:
- Keep the skills in agents/. They are now short pointers into
Documentation/ rather than documentation of their own; see the
discussion on v1 [3].
- Cut each skill to a single short SKILL.md that points at the existing
documentation, and drop the git how-to (Kees). The skill text went
from about 960 lines to 250.
- find-siblings: describe how to search with Coccinelle in a separate
file that agents read only when Coccinelle is available.
- Say in submitting-patches.rst which commit to name when a later commit
exposed the bug or more than one commit introduced it, and which trees
need the fix (Michael, Thorsten, Dan).
- Drop the 100 line limit and the exclusion of theoretical issues from
stable-kernel-rules.rst, and require a fix to be correct rather than
obviously correct.
- State once, in coding-assistants.rst, that skills only inspect and
report.
v2: https://lore.kernel.org/r/20261012213452.1863248-1-sashal@kernel.org
v1: https://lore.kernel.org/r/cover.1791499378.git.sashal@kernel.org
[1] https://lore.kernel.org/r/askTmFZC6RJKAE_p@mit.edu
[2] https://lore.kernel.org/r/CAHk-=wgXU50=KgZNZc1JDxsSxg9Z+DjG1_2yU-fNXpZtUe4XDw@mail.gmail.com
[3] https://lore.kernel.org/r/87y0bzq8oe.fsf@trenco.lwn.net
[4] https://lore.kernel.org/r/202610150832.58E80C02A@keescook
Sasha Levin (7):
agents: add infrastructure for agent resources
docs: submitting-patches: say which commit a Fixes tag names
docs: stable-kernel-rules: drop rules the stable trees do not apply
agents: add a skill to determine Fixes tags
agents: add a skill to determine stable tags
agents: add a skill to find other instances of a fixed bug
agents: add a skill to write commit messages
Documentation/process/coding-assistants.rst | 35 +++++++--
Documentation/process/stable-kernel-rules.rst | 6 +-
Documentation/process/submitting-patches.rst | 9 +++
MAINTAINERS | 6 ++
agents/skills/commit-message/SKILL.md | 42 +++++++++++
agents/skills/find-fixes/SKILL.md | 39 ++++++++++
agents/skills/find-siblings/SKILL.md | 31 ++++++++
.../find-siblings/references/coccinelle.md | 66 +++++++++++++++++
agents/skills/stable-tag/SKILL.md | 72 +++++++++++++++++++
9 files changed, 297 insertions(+), 9 deletions(-)
create mode 100644 agents/skills/commit-message/SKILL.md
create mode 100644 agents/skills/find-fixes/SKILL.md
create mode 100644 agents/skills/find-siblings/SKILL.md
create mode 100644 agents/skills/find-siblings/references/coccinelle.md
create mode 100644 agents/skills/stable-tag/SKILL.md
base-commit: 3857c2fe5449541e24afc5efdb0f81a8a8f9a3a0
--
2.53.0
next reply other threads:[~2026-10-16 15:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 15:28 Sasha Levin [this message]
2026-10-16 15:28 ` [PATCH v3 1/7] agents: add infrastructure for agent resources Sasha Levin
2026-10-16 15:28 ` [PATCH v3 2/7] docs: submitting-patches: say which commit a Fixes tag names Sasha Levin
2026-10-16 15:28 ` [PATCH v3 3/7] docs: stable-kernel-rules: drop rules the stable trees do not apply Sasha Levin
2026-10-16 15:28 ` [PATCH v3 4/7] agents: add a skill to determine Fixes tags Sasha Levin
2026-10-16 15:28 ` [PATCH v3 5/7] agents: add a skill to determine stable tags Sasha Levin
2026-10-16 15:28 ` [PATCH v3 6/7] agents: add a skill to find other instances of a fixed bug Sasha Levin
2026-10-16 15:28 ` [PATCH v3 7/7] agents: add a skill to write commit messages Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261016152828.3765695-1-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=error27@gmail.com \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=kees@kernel.org \
--cc=konstantin@linuxfoundation.org \
--cc=ksummit@lists.linux.dev \
--cc=laurent.pinchart@ideasonboard.com \
--cc=leon@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@leemhuis.info \
--cc=mst@redhat.com \
--cc=ojeda@kernel.org \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.org \
--cc=stable@vger.kernel.org \
--cc=tytso@mit.edu \
--cc=workflows@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox