{"id":2233108,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2233108/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260505170105.228162-1-alex.bennee@linaro.org/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.2/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260505170105.228162-1-alex.bennee@linaro.org>","list_archive_url":null,"date":"2026-05-05T17:00:55","name":"[RFC,00/10] AGENTS.md and associated skills","submitter":{"id":39532,"url":"http://patchwork.ozlabs.org/api/1.2/people/39532/?format=json","name":"Alex Bennée","email":"alex.bennee@linaro.org"},"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260505170105.228162-1-alex.bennee@linaro.org/mbox/","series":[{"id":502869,"url":"http://patchwork.ozlabs.org/api/1.2/series/502869/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502869","date":"2026-05-05T17:01:00","name":"AGENTS.md and associated skills","version":1,"mbox":"http://patchwork.ozlabs.org/series/502869/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2233108/comments/","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=UoJXlem8;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g94b94WsQz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 03:03:17 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wKJ9A-0007xl-UW; Tue, 05 May 2026 13:01:25 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <alex.bennee@linaro.org>)\n id 1wKJ92-0007wK-Le\n for qemu-devel@nongnu.org; Tue, 05 May 2026 13:01:18 -0400","from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <alex.bennee@linaro.org>)\n id 1wKJ8w-0003SN-L8\n for qemu-devel@nongnu.org; Tue, 05 May 2026 13:01:13 -0400","by mail-wm1-x32f.google.com with SMTP id\n 5b1f17b1804b1-488b3f8fa2bso654395e9.1\n for <qemu-devel@nongnu.org>; Tue, 05 May 2026 10:01:09 -0700 (PDT)","from draig.lan ([185.124.0.195]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-45055960811sm6109719f8f.27.2026.05.05.10.01.06\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 10:01:07 -0700 (PDT)","from draig.lan (localhost [IPv6:::1])\n by draig.lan (Postfix) with ESMTP id 024375F832;\n Tue, 05 May 2026 18:01:05 +0100 (BST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778000468; x=1778605268; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=IFFZbjjLf6TvwQTkC8SZiNDdSj/jCQlN3w12zEgNIa0=;\n b=UoJXlem85GXkebSM0zGwNZla7VsAYqM0G9DfQvUp+eaFFhIFlCJBCvwnfETS62FyMd\n 4ZdnZi2BFSH/XkwgvPpaemXffFfWk/jtUx1jEV3osxjt+jRqedLzfGT4ekTrUcXSYDdi\n egpCxk1cyo3tvcePSt6xIzX9ZBiTP5tA4tnAvWaKdubFI4deE31NAgIY7hLxzzj0wb0Y\n NyPCq4ZtFVW4L3jVgHe8ysziYdlDqj3DnTOfeM1KThYoOmYbMwSyt09BoXWlCJmbUAaz\n /SDbF5zWbrK60PhRlElGUJqOF8l9b5wQgI5pU4KEsrQJEc0/XUUTCT2Fg9e/pmJhEr7j\n MmqQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778000468; x=1778605268;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=IFFZbjjLf6TvwQTkC8SZiNDdSj/jCQlN3w12zEgNIa0=;\n b=bC3KH+QPI5oORVhvLKbSbv3DRzn8uGhiugquUSU59cpHF+/rAqsSrgMbmaZZDydE2x\n BhCmILQJ19fkLC/pNDhtdVDZvkjfjB9dBHvyaSUBSAr2m9wAKb5GwxWbUAgfwD2hE9Vw\n mZ6qesTI8GyvA+T+0/bkt1mJZlOqL0DgPl4sg9+x61rXloKVIITftORd90aqydjAlu8/\n SABVZKjT26fwHXv48J74BYn+SgmGhbo/Ah2C/LtLWzg1r09AbL+nAMxtF7+hqujHmo5a\n YwNr9IzCUZwDNHg3AYYPtHJf2oGz6ITqSBWgunQPUgfa9iWwii7nfjDse2QAto7gM537\n zfWA==","X-Gm-Message-State":"AOJu0YwsJm2xrOaCMJCejRVW+TxRRui0tHTekGqLAO6c8g/O7mWGNJ/w\n eMRcgcAFl2oikWKOVrmqwojsAicOiIKgeKLXsqHhR9L4of/IZF620PUwBGcq0C2GsGQIr92t0+n\n 0EYh5XM4=","X-Gm-Gg":"AeBDietuuWE2cR0Gfq12/YHYhnDA8pAoMb6uqMSGYL9wSskEAcTIWhk7z/GV8VWeiH1\n IZ+q0/QZkdvZKJhr+y0fzqiluf4GRoUZjB3W6bLkAmk4xezJvR1kiXctVtjridN9/XOlyfN7SRo\n krD0ImUyDx8197X5rhAUxqARsNvRSwMS1oP/mAvU7nz4AD3grHrh7oKI3zoOBXTCDhqs8maQ58r\n 8CLfpTQp4lLIZy/RIWogB/jn+9w/ek1XMA7Hl9FwEd9UeC14HPxli/UsUtZG73a3Gz3syaydnXC\n 6N5eziIQzws1Zvq4IUK1/ZzByaEPSe0/JydTEuo9GZfbKRJ+LLX/dlhxMVIqwkeQw57BvyfJpvo\n 4Y7efJN+KvvFYHvTCSuzEs88rJYJvwVe4GQfKuj03QBVkhLOzeR9sN9Ut6WqnpYrCv0SdmHHop+\n F35gLO0Onnbn68A5AkRA4KeuTApHVe52WsFw==","X-Received":"by 2002:a05:600c:4854:b0:489:1c0d:c9cb with SMTP id\n 5b1f17b1804b1-48d1422e803mr50602665e9.5.1778000467637;\n Tue, 05 May 2026 10:01:07 -0700 (PDT)","From":"=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>","To":"qemu-devel@nongnu.org","Cc":"=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>","Subject":"[RFC PATCH 00/10] AGENTS.md and associated skills","Date":"Tue,  5 May 2026 18:00:55 +0100","Message-ID":"<20260505170105.228162-1-alex.bennee@linaro.org>","X-Mailer":"git-send-email 2.47.3","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::32f;\n envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Not withstanding the current contributor policy there are a number of\nareas that AI agents could be helpful for. This series introduces an\nAGENTS.md file which is the basic guide to the source tree and a\nnumber of \"skills\". Skills are like scripts except far less clearly\ndefined. However I have found the issue triage skill quite useful for\noff-loading the drudgery of going through stuff by hand. I've also\nused the issue helper to automate the task of starting a debug session\nby pulling in test cases from the tracker.\n\nThese originally where a set of skills for ECA (eca.dev) but I've\nported them across to the agent agnostic .agents directory. There are\nstill some cases where the ECA heritage shows through though\n(specifically the code explorer skill could be better).\n\nI'm not suggesting this is ready for up-streaming but I'm posting the\ncollected set for comment and I'd be interested how well these hold up\nacross different agentic systems.\n\nAlex.\n\nAlex Bennée (10):\n  AGENTS.md: add basic AGENTS.md for QEMU\n  .agents/skills: add qemu-code-explorer skill\n  .agents/skills: add qemu-code-reviewer skill\n  .agents/skills: add qemu-issue-helper skill\n  .agents/skills: add qemu-build skill\n  .agents/skills: add qemu-testing skill\n  .agents/skills: add skill to distil mail threads\n  .agents/skills: add qemu-issue-triage agent skill\n  .agents/skills: add checkpatch agent skill\n  MAINTAINERS: add a section for AI agents\n\n MAINTAINERS                                   |   6 +\n .agents/skills/checkpatch/SKILL.md            |  10 ++\n .agents/skills/distil-mail-thread/SKILL.md    |  33 +++++\n .../distil-mail-thread/scripts/parse_mail.py  |  64 +++++++++\n .agents/skills/qemu-build/SKILL.md            |  50 +++++++\n .agents/skills/qemu-code-explorer/SKILL.md    |  67 +++++++++\n .../qemu-code-explorer/evals/evals.json       |  26 ++++\n .agents/skills/qemu-code-reviewer/SKILL.md    |  74 ++++++++++\n .agents/skills/qemu-issue-helper/SKILL.md     |  47 +++++++\n .agents/skills/qemu-issue-triage/SKILL.md     |  91 ++++++++++++\n .../qemu-issue-triage/assets/labels.txt       | 133 ++++++++++++++++++\n .../skills/qemu-issue-triage/evals/evals.json |  18 +++\n .../scripts/update_labels.sh                  |  16 +++\n .agents/skills/qemu-testing/SKILL.md          |  53 +++++++\n .gitignore                                    |   1 +\n AGENTS.md                                     |  94 +++++++++++++\n 16 files changed, 783 insertions(+)\n create mode 100644 .agents/skills/checkpatch/SKILL.md\n create mode 100644 .agents/skills/distil-mail-thread/SKILL.md\n create mode 100644 .agents/skills/distil-mail-thread/scripts/parse_mail.py\n create mode 100644 .agents/skills/qemu-build/SKILL.md\n create mode 100644 .agents/skills/qemu-code-explorer/SKILL.md\n create mode 100644 .agents/skills/qemu-code-explorer/evals/evals.json\n create mode 100644 .agents/skills/qemu-code-reviewer/SKILL.md\n create mode 100644 .agents/skills/qemu-issue-helper/SKILL.md\n create mode 100644 .agents/skills/qemu-issue-triage/SKILL.md\n create mode 100644 .agents/skills/qemu-issue-triage/assets/labels.txt\n create mode 100644 .agents/skills/qemu-issue-triage/evals/evals.json\n create mode 100755 .agents/skills/qemu-issue-triage/scripts/update_labels.sh\n create mode 100644 .agents/skills/qemu-testing/SKILL.md\n create mode 100644 AGENTS.md"}