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/[email protected] v1: https://lore.kernel.org/r/[email protected] [1] https://lore.kernel.org/r/[email protected] [2] https://lore.kernel.org/r/CAHk-=wgXU50=kgznzc1jdxssxg9z+djg1_2yu-fnxpztue4...@mail.gmail.com [3] https://lore.kernel.org/r/[email protected] [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

