From c17eefc5381d7e8f0e7645bb7e87714a6f875eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rey?= Date: Tue, 23 Jun 2026 02:51:15 +0200 Subject: [PATCH 1/4] Add research-method skill --- skills/research-method/SKILL.md | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 skills/research-method/SKILL.md diff --git a/skills/research-method/SKILL.md b/skills/research-method/SKILL.md new file mode 100644 index 00000000..17fcdea5 --- /dev/null +++ b/skills/research-method/SKILL.md @@ -0,0 +1,36 @@ +--- +name: research-method +description: Researches about a new method (scalarizer or aggregator) from the scientific literature and how to integrate it to TorchJD. Use when a contributor is interested into adding a new aggregator, scalarizer, or a new method that could be either, that is not already listed in the tracking issues. +--- + +# Research new method + +This skill researched about a new method by reading the paper and the existing implementations, proposing a plan for a TorchJD implementation. + +**For agents:** invoke as `/implement-method method-name (paper-name)` (e.g. `/implement-method upgradi (Jacobian Descent for Multi-objective Optimization)`). +If no method name is provided, ask the user for the name of the method and the title of the paper. + +**For humans:** follow the numbered steps below to guide you in your development. + +--- + +## Instructions + +### Step 1: Generate a tracking summary + +On GitHub, we have a tracking issue for scalarizers (https://github.com/SimplexLab/TorchJD/issues/667) and one for aggregators (https://github.com/SimplexLab/TorchJD/issues/665). +The first goal is to generate a new row for the table in the appropriate tracking issue. +You will also have to find the official implementation (if any), that could be linked in the paper, and the most known non-official implementations (search in particular in LibMTL, libmoon and pymoo, and search for more repos online). You will have to find the exact file(s) and lines in which the method is implemented. +You can also write special remarks if anything deserves further attention / if you're not sure about something. +Do not bother trying to find citation count or the exact venue in which the paper was published, unless you directly see this information from your initial search. + +### Step 2: Analyze the method + +Based on the paper and the existing implementations, find the things in the interface of the new method that are non-standard compared to existing methods. For example, is the method stateful (and in which way), random, does it require some warm-up period, other stats than those provided through the forward method (like losses for aggregators), and so on. Report all of those non-standard things. + +### Step 3: Produce summary row + +Produce and output a row that can be directly copy-pasted to this table, but do not modify the issue yourself. Propose to post a comment on the issue with the row. + + +--- From c162423f1d08fed4daf0fcf8b752bcceac0f2ded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rey?= <31951177+ValerianRey@users.noreply.github.com> Date: Tue, 23 Jun 2026 02:54:05 +0200 Subject: [PATCH 2/4] Apply suggestion from @ValerianRey --- skills/research-method/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/research-method/SKILL.md b/skills/research-method/SKILL.md index 17fcdea5..43af1ba2 100644 --- a/skills/research-method/SKILL.md +++ b/skills/research-method/SKILL.md @@ -7,7 +7,7 @@ description: Researches about a new method (scalarizer or aggregator) from the s This skill researched about a new method by reading the paper and the existing implementations, proposing a plan for a TorchJD implementation. -**For agents:** invoke as `/implement-method method-name (paper-name)` (e.g. `/implement-method upgradi (Jacobian Descent for Multi-objective Optimization)`). +**For agents:** invoke as `/implement-method method-name (paper-name)` (e.g. `/implement-method upgrad (Jacobian Descent for Multi-objective Optimization)`). If no method name is provided, ask the user for the name of the method and the title of the paper. **For humans:** follow the numbered steps below to guide you in your development. From 77e17affc823277121f18bb22d44362f6ebbed72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rey?= <31951177+ValerianRey@users.noreply.github.com> Date: Tue, 23 Jun 2026 11:54:43 +0200 Subject: [PATCH 3/4] Update skills/research-method/SKILL.md Co-authored-by: Pierre Quinton --- skills/research-method/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/research-method/SKILL.md b/skills/research-method/SKILL.md index 43af1ba2..f368e0f9 100644 --- a/skills/research-method/SKILL.md +++ b/skills/research-method/SKILL.md @@ -5,7 +5,7 @@ description: Researches about a new method (scalarizer or aggregator) from the s # Research new method -This skill researched about a new method by reading the paper and the existing implementations, proposing a plan for a TorchJD implementation. +This skill researches about a new method by reading the paper and the existing implementations, proposing a plan for integrating an implmentation in TorchJD. **For agents:** invoke as `/implement-method method-name (paper-name)` (e.g. `/implement-method upgrad (Jacobian Descent for Multi-objective Optimization)`). If no method name is provided, ask the user for the name of the method and the title of the paper. From f18f4a46981b9d3e827518deb534333bf7c687f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rey?= <31951177+ValerianRey@users.noreply.github.com> Date: Tue, 23 Jun 2026 11:55:40 +0200 Subject: [PATCH 4/4] Update skills/research-method/SKILL.md Co-authored-by: Pierre Quinton --- skills/research-method/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/research-method/SKILL.md b/skills/research-method/SKILL.md index f368e0f9..efb6b399 100644 --- a/skills/research-method/SKILL.md +++ b/skills/research-method/SKILL.md @@ -20,7 +20,7 @@ If no method name is provided, ask the user for the name of the method and the t On GitHub, we have a tracking issue for scalarizers (https://github.com/SimplexLab/TorchJD/issues/667) and one for aggregators (https://github.com/SimplexLab/TorchJD/issues/665). The first goal is to generate a new row for the table in the appropriate tracking issue. -You will also have to find the official implementation (if any), that could be linked in the paper, and the most known non-official implementations (search in particular in LibMTL, libmoon and pymoo, and search for more repos online). You will have to find the exact file(s) and lines in which the method is implemented. +You will also have to find the official implementation (if any), that could be linked in the paper, and the most known non-official implementations (search in particular in LibMTL, libmoon and pymoo, and search for more repos online). You will have to find the exact files and lines in which the method is implemented. You can also write special remarks if anything deserves further attention / if you're not sure about something. Do not bother trying to find citation count or the exact venue in which the paper was published, unless you directly see this information from your initial search.