license: adopt REUSE, switch custom to MutuaL-1.2

Amolith created

Change summary

LICENSES/Apache-2.0.txt                             |  73 +++
LICENSES/CC0-1.0.txt                                | 121 ++++++
LICENSES/LicenseRef-MutuaL-1.2.txt                  | 285 +++++++++++++++
LICENSES/MIT.txt                                    |  18 
README.md                                           |  11 
REUSE.toml                                          |  52 ++
skills/auditing-repositories/SKILL.md               |   2 
skills/authoring-skills/SKILL.md                    |   2 
skills/backing-up-with-keld/SKILL.md                |   2 
skills/collaborating-through-pr-pico-sh/SKILL.md    |   2 
skills/creating-tasks-through-lunatask/SKILL.md     |   2 
skills/formatting-commits/SKILL.md                  |   2 
skills/formatting-commits/scripts/format            |   2 
skills/frontend-accessibility/SKILL.md              |   2 
skills/handling-customer-data/SKILL.md              |   2 
skills/ideating-with-bdd/SKILL.md                   |   2 
skills/initialising-and-updating-agents-md/SKILL.md |   2 
skills/invoking-subagents/SKILL.md                  |   2 
skills/managing-and-navigating-worktrees/SKILL.md   |   2 
skills/monitoring-with-munin/SKILL.md               |   2 
skills/notifying-through-ntfy/SKILL.md              |   2 
skills/rebasing-with-git/SKILL.md                   |   2 
skills/researching-with-rumilo/SKILL.md             |   2 
skills/resuming-work-through-lunatask/SKILL.md      |   2 
skills/scripting-with-go/SKILL.md                   |   2 
skills/testing-with-gocuke-and-gherkin/SKILL.md     |   2 
skills/updating-llm-client-model-lists/SKILL.md     |  55 +-
skills/using-jujutsu/SKILL.md                       |   2 
skills/working-with-zmx/SKILL.md                    |   2 
skills/writing-git-tags/SKILL.md                    |   2 
skills/writing-roc-lang/SKILL.md                    |   2 
skills/writing-rust/SKILL.md                        |   2 
32 files changed, 610 insertions(+), 55 deletions(-)

Detailed changes

LICENSES/Apache-2.0.txt đź”—

@@ -0,0 +1,73 @@
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+     (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+     (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+     (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+     (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+     You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!)  The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.

LICENSES/CC0-1.0.txt đź”—

@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+    HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+     in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation
+     thereof, including any amended or successor version of such
+     directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+     world based on applicable law or treaty, and any national
+     implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties of
+    title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy, or
+    the present or absence of errors, whether or not discoverable, all to
+    the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+    that may apply to the Work or any use thereof, including without
+    limitation any person's Copyright and Related Rights in the Work.
+    Further, Affirmer disclaims responsibility for obtaining any necessary
+    consents, permissions or other rights required for any use of the
+    Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+    party to this document and has no duty or obligation with respect to
+    this CC0 or use of the Work.

LICENSES/LicenseRef-MutuaL-1.2.txt đź”—

@@ -0,0 +1,285 @@
+# The Mutualist License v1.2
+
+**© 2026 <https://codeberg.org/Mutualism/Mutualist-License>**
+
+**Short ID: MutuaL-1.2** or **MutuaL-1.2-only**  
+*Please note that not including “only” automatically allows license upgrades.*  
+“Mutualist License” and “MutuaL” should be seen as the same name everywhere one of them is used after this.
+
+Everyone is allowed to share exact copies of this license, with or without changing the formatting, as long as the changes do not alter, remove, or add any terms. You may not change the terms of this license and still call it the Mutualist License, except for clearly marked excerpts, quotations, or commentary. You are free to use this text as a starting point for your own license under a different name. If you do, credit back to us is appreciated, but not required.
+
+This license is not legal advice and does not create an attorney-client relationship.
+
+---
+
+## Credit
+
+**Name of this software:** agent-skills  
+**Project home:** https://git.secluded.site/agent-skills  
+**Original copyright holder(s):** Amolith  
+
+## Purpose
+
+This license’s goal is to allow you to use this software as freely as possible, while protecting the people who make it from harm and making sure everyone plays fair. As long as you follow all of this license’s rules, you can use, run, study, copy, change, share, or sell this software for any reason, without having to ask permission first.
+
+This section is only here to explain why the Mutualist License exists. It is not a rule or permission by itself. Those are found in the sections to follow.
+
+MutuaL is a [flipped form](https://flippedform.com/) in everyday English. If something doesn’t make sense, that’s MutuaL’s fault, not yours. Please [open an issue](https://codeberg.org/Mutualism/Mutualist-License/issues) so we can fix it.
+
+## Acceptance
+
+In order to receive any benefits from this license, you must agree to all of its rules. These rules are the conditions of the deal. If you do not follow the rules, you do not have a license. Do not use this software if you cannot or will not follow these rules.
+
+Please read this license as a whole; different sections rely on each other to make sense.
+
+You agree to these rules if you **use, run, study, copy, change, share, or sell** this software in any way that normally needs permission. From now on, we’ll just use “**use**” when we want to refer to this long list. When bolded, “**use**” should always be read to mean the full list in this paragraph.
+
+## Generosity
+
+The copyright holders and contributors allow you to do everything with this software that would otherwise break that contributor’s copyright and related rights. You must follow this license’s rules to get and keep these rights.
+
+This license, by itself, does not give you any rights to use any names, logos, or trademarks in promotion.
+
+## Symmetry
+
+This section should be read as a basic contributor agreement. It describes what you agree to when you contribute changes to this software, separate from your rights as a user or distributor.
+
+If you change this software and then make your changes available to anyone that makes or shares this software, you license those changes under this same license for everyone.
+
+You “make them available” when you:
+
+- open a pull request, merge request, or patch submission,
+- post them in a public project space, forum, or issue tracker,
+- include them in any public sharing, or
+- let people use them in the project.
+
+Your license for your changes applies only to the parts you made or changed. It does not apply to separate code you mixed with your changes unless you own that code or have permission to license it this way.
+
+By making your changes available, you promise that:
+
+- you have the right to share those changes under this license, and
+- you are not adding code that has rules you aren’t allowed to give.
+
+If someone claims your changes include code they own or that needs different terms, that dispute is between you and the person making the claim. Other contributors and copyright holders are not responsible for verifying your contributions.
+
+## Notice
+
+Everyone who receives a copy of this software from you, with or without changes, must also receive:
+
+- this license or a [link to it](https://codeberg.org/Mutualism/Mutualist-License), and
+- the current Credit block from the copy you received, if any.
+
+You may include the license and Credit in any reasonable way. For example, you can put them in a “LICENSE” file, document, an about box, or other place where people normally look for license and copyright information.
+
+You may add your own Credit, or update facts in the Credit block, if:
+
+- you keep the original Credit block somewhere in the project, and
+- you do not suggest that anyone approves of you or your changes unless they actually do.
+
+If you add credit, the original Credit block must be at least as easy to find.
+
+If the copy you received didn’t have a Credit block, you do not have to add one. If you want, you can still add one for your own changes.
+
+Metadata like SPDX® headers count as a “reasonable way” to follow this section’s rules about including the license.
+
+## Mutualism
+
+If you share this software or software based on it, you must use this same license for any copies that you share and follow the Notice rule. This applies whether or not you’ve made changes.
+
+You must not add rules to these copies that would limit or take away the rights people get under this license.
+
+You must not add technical measures to this software that are designed or used mostly to stop others from using their own rights under this license. You are allowed to use security measures whose purpose is to protect users, systems, or data, and that do not stop people from using their rights under this license.
+
+If you change this software and allow others (as defined in Clarity) to interact with it over a network, like the internet, you must give them a clear and easy way to get the source code and this license. The source code must be for that exact version. For example, a clear link in the user interface that lets them download the source for the version they’re using.
+
+You must keep that source available for as long as you are letting others interact with a modified version over a network. If you stop running or offering that modified version, you no longer need to offer source. If you start offering a modified version again later, you must provide the source code again.
+
+If you run an unchanged copy of this software over a network, and others can use it directly as you offer it, you do not have to provide source code. This exception applies only when people interact with this software as itself. It does not apply when this software acts as a hidden component of something else you have made. To use this exception, you must keep any links or references to this software’s home that were already present. You do not have to add new links to the software’s home if none were included when you received your copy.
+
+This exception is for straightforward hosting. It applies when someone connects to your instance and gets the software as it was made, without a separate layer of your own software between them and it. It does not apply if this software is a backend or component of a different product or service you have built, or if what users primarily interact with is something you made that depends on this software to run.
+
+If you run software for others (as defined in Clarity) over a network that depends on this software for core functionality, you must also follow the rules above for sharing source code, as if you were sharing this software itself. This applies even if others never use this software directly, and even if your copy of this software is unchanged.
+
+A service “depends on this software for core functionality” when it could not operate in its current form without this software, and this software provides substantial functionality that users of the service benefit from. This does not apply when this software is merely a tool-like an operating system, compiler, or utility-that happens to be used in the stack but is not a core part of what makes the service valuable to users.
+
+If you share this software or software based on it with others in a form people can run off of a network, you must also offer them the source code for those parts. You can do this by including the source code with the sharing or by letting them know about a standard and no-cost way to get the source code over a network.
+
+Any time you must provide others with source code, it must not require separate contracts or extra terms beyond this license.
+
+## Innovation
+
+Every copyright holder and contributor, and everyone who gives you this software under this license, also gives you a patent license to **use** this software as this license allows. It covers any patents of theirs that you would break by **using** the software as this license allows.
+
+If they later get new patents, those patents are also covered if they would be broken by using this software as this license allows.
+
+If you start what we will call a *patent attack*, you immediately and permanently lose **all** rights under this license for this software.
+
+A *patent attack* means starting a patent lawsuit or making a legal demand (such as a cease-and-desist letter or a request for royalty payment).
+
+For an action to count as a patent attack, ALL of the following must be true:
+
+- The action claims that someone **using** this software (or software based on it, or any contribution to it) has broken a patent you control.
+- The action is aimed at someone who is **using** this software under this license.
+- The person you are suing or demanding from has accepted this license for that use.
+
+### What is not a patent attack
+
+A patent attack does *not* include legal actions against people who don’t have rights under this license. For example:
+
+- Someone who never accepted this license, or
+- Someone who lost their rights under Redemption and did not fix the problem in time, or
+- Someone who already lost their rights under this Innovation section in a past patent attack.
+
+None of these count as patent attacks.
+
+### Defense exception
+
+This rule does not apply if you are only defending yourself. You are only defending yourself if *all* of the following are true:
+
+- Someone else sued you first over patents about this software (or software based on it).
+- You were following this license’s rules when they sued you.
+- Your response stays within that same dispute, or a dispute covering the same core issue.
+
+If you meet all three conditions above, you may:
+
+- Argue that their patent is invalid, not broken by your **use**, or can’t be enforced, and/or
+- Bring a counterclaim or cross-claim about their **use** of this software (or software based on it).
+
+If you do anything beyond these defensive actions in that dispute, or if you start a separate patent action, this exception does not apply.
+
+### Unrelated patent cases
+
+This rule also does not apply to patent cases that are only about software or technology clearly unrelated to this software, which does not include it or software based on it.
+
+This patent rule does not affect any other rights you might have under other agreements for the same software.
+
+### What this means in plain English
+
+Patent law requires precise language. Here is what the rules above mean in simple terms:
+
+A *patent attack* is when you use patents you control to stop someone from **using** this software as this license allows. If you do this, you lose all your rights to the software immediately and forever. There is no Redemption period.
+
+The **defense exception** protects you if someone else attacks *you* first. You can fight back in that same lawsuit without losing your license. However, you cannot start a separate patent action and claim it is “defense.” Your response must stay in the dispute they started.
+
+You can sue people who never accepted this license, who already lost their rights under Redemption, or who already lost rights under this Innovation section. None of those count as patent attacks under this license.
+
+This section explains these terms for your understanding, but are not themselves the binding terms. Everything from “Innovation” to just before “What this means in plain English” are the legally binding terms you need to listen to.
+
+## Cooperation
+
+You are allowed to link or combine this software with other software licensed under different terms if that other software’s license gives everyone the rights to **use** it. The other software’s source code must be shared to others to fit this description.
+
+If the other software’s license fits that description, the Mutualism rule changes. MutuaL still applies to *this* software; however, it does not force you to share the *other* software’s source code. You must still follow the source sharing and network rules from Mutualism for the MutuaL-licensed parts, but you do not have to license the combined work as a whole under this license.
+
+If the other software does not meet that condition (like if it’s closed source), this Cooperation exception does not apply. In that case, the full Mutualism rule applies to the entire combined work.
+
+This exception only applies if the *source code* remains separable; that is, the MutuaL-licensed source files remain separate from other source files and are not mixed in a way that prevents easy separation. What happens when source code is compiled into binaries does not change whether the source is separable. Code becomes inseparable when:
+
+- It is copy-pasted across file boundaries, OR
+- Source files are merged so the MutuaL-licensed portions cannot be spotted and separated by reasonable effort.
+
+Separable means the MutuaL-licensed source code stays in its own identifiable files, even if those files are later compiled into a combined binary. If the source code becomes inseparable, the full Mutualism rule applies to everything.
+
+Static and dynamic linking are both allowed under this exception as long as the *source* files remain separate and identifiable.
+
+Any license that fits the [Free Software Definition](https://www.gnu.org/philosophy/free-sw.html) or [Open Source Definition](https://opensource.org/osd) meets this condition. This is not the only way for a license to qualify.
+
+This exception is offered by the Mutualist License, but please make sure the other license also plays nice by allowing this on its end. Ask a legal expert if you are unsure.
+
+## Redemption
+
+If any copyright holder of this software lets you know in writing that you have not followed any of the rules of this license *except* for Innovation, you can keep your license by fixing the problem. The notice must reasonably identify which rule or rules were broken so you know what to fix.
+
+To fix the problem, you must, within 30 days after you receive the notice:
+
+- stop doing the thing that breaks the rules of this license, and
+- do what is needed to fix the mistake and make things right, such as giving people missing source code, Notice, or license copies.
+
+If you do this in time, your rights under this license continue as if you never broke its rules. You have done this successfully either when the person who let you know agrees with your fix, or when you have let them know about your fix but they have not responded after seven days. If these seven days extend beyond the 30 day Redemption period, the Redemption period extends to cover this time.
+
+If you do not do this in time, all your rights under this license for this software end automatically at the end of the 30 days. Any copyright holder may choose to give you a new license if they choose, but they do not have to. If they do, it must be in writing.
+
+You do not get this Redemption period if you violate the Innovation rule. In that case, your rights under this license end immediately and permanently when you start the patent attack.
+
+## Reliability
+
+This license, along with its rights and grants, lasts forever. No one can revoke them or ask you to stop using the software, except where this license states that your rights may end (for example, under Innovation and Redemption).
+
+The law likes to see certain terms here, so legally speaking: this counts as a **worldwide, non-exclusive, perpetual, royalty-free** license that lasts as long as copyright and related rights and patent law allows, unless otherwise ended under this license.
+
+## Foresight
+
+**If you are using this license for your own software, please read this section carefully and choose the wording that matches what you actually want.**
+
+New versions of the Mutualist License may be released over time. You can tell a version is newer by its higher number.
+
+Each copy of the software will say which version it uses at the top of its license section.
+
+If your copy does not say “only,” you may follow that version or any later one. If it says “only,” you must follow that exact version and not a later one.
+
+If you combine code under different versions, the newest version applies to the whole combined work. You cannot mix code that requires “only” a specific version with code that does not, unless all code uses “only” that same version.
+
+Updating the license in the software does not change the license for copies you already received. You can only move to a higher version number, never lower.
+
+## Clarity
+
+By *this software,* we are including both its source code and any form built from that source code.
+
+By *software based on this software,* we mean work that fits the legal definition of a derivative work under copyright law. Software is not *based on this software* if it only runs alongside it or talks to it through a *standard interface.* This license does not touch separate software.
+
+By *source code,* we mean the best form for making changes. This includes the code itself, plus the scripts and files needed to build, install, connect, and run it.
+
+By *share,* we mean giving copies of this software or software based on it to someone else, in any form, by any method, for free or for money.
+
+By *copyright and related rights,* we mean that besides copyright, we’re also including neighboring rights, database rights, and similar rights in any country.
+
+By *standard interface,* we mean a public way for software to talk to other software. This includes things like APIs, protocols, or file formats. It must be documented in a way that allows independent implementation, and available for anyone in the general public to use.
+
+By *others,* we mean any person, company, or group that is not you, and not part of the same single legal entity as you.
+
+- If you are acting as an individual, “others” means people you don’t live with and who aren’t part of your immediate family. Regardless of how your jurisdiction defines “immediate family”, your spouse, romantic partner(s), parents, siblings, and children always count as part of your immediate family as far as this license is concerned.
+- If you are acting for a legal entity, “others” are anyone outside that entity. Contractors do not count as “others” while they are:
+  - Under direct contract to do specific work for you, AND
+  - Bound by confidentiality obligations to your entity, AND
+  - Working under your direction and control (not as an independent service provider)
+
+Once a contractor’s work ends or these conditions no longer apply, they become “others” if they retain access to the software.
+
+- Public users, customers, clients, federated groups, and unrelated organizations always count as “others,” even if access to the service is limited, invite-only, or requires registration.
+- Cloud providers, CDNs, and similar outside services do not count as “others” or a group that “shares” the software if they just run or deliver what you tell them to.
+
+We need to use *legal entity* here, but it means a company, non-profit, or organization that the law treats as one single person.
+
+By *core functionality,* we mean the essential features that make a service valuable to its users. Software provides core functionality when the service could not operate in its current form without it, and it provides substantial value that users benefit from.
+
+A version of the software is *unchanged* if you have not modified any part of its code or build configuration in a way that creates a derivative work under copyright or related rights. Changing only how the software is configured, such as setting environment variables, editing configuration files, or adjusting settings through the software’s own interface, does not count as modifying its code or build configuration. A copy remains unchanged even if you have configured it for your environment or use case.
+
+By *in writing,* we mean a physical document or digital message. It must clearly show who sent it and what they mean.
+
+A version of the Mutualist License is only considered real and applicable to Foresight if it appears, or has ever appeared, at [the license’s home](https://codeberg.org/Mutualism/Mutualist-License) or a future home that the original author(s) designate.
+
+This license is only valid in English. If a court or regulatory body looks at it, they must use the English text. Translations are just for help and have no legal power.
+
+## Holism
+
+If any part of this license is invalid or can’t be enforced, the rest still applies. The invalid part will be changed to make it valid if possible. If it can’t be fixed, that part will be removed, but the rest of the license stays in effect.
+
+## Non-Liability
+
+**Unless the law says we have to, or unless we signed a separate written agreement with you, we provide this software to you “AS IS.”**
+
+**We do not make any promises about the software. We do not guarantee that it works perfectly. This includes, but is not limited to, the legal warranties of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.**
+
+**Unless the law forces us to be, WE ARE NOT RESPONSIBLE TO YOU OR ANYONE ELSE FOR ANY KIND OF LOSS OR DAMAGE THAT COMES FROM USING THIS SOFTWARE, EVEN IF WE KNEW IT COULD HAPPEN. This includes things like lost data, broken systems, or money you lose because the software did not work the way you hoped.**
+
+**You are the one who has to decide if this software is safe or right for you to use or share. You take all the risks when you use it.**
+
+Some of the capitalized words in this section break the flipped form goal. This is because the law requires us to use those specific words, often in capital letters, to make sure you see them. Unfortunately, because they are legal terms, they can be confusing. Here is what they mean in simple English:
+
+- AS-IS: In the state the software is in when you receive a copy of it, no matter what state that may be.
+- TITLE: This means we formally promise that we own the software or have the right to give it to you. **We are not making that promise.**
+- NON-INFRINGEMENT: This means we promise the software does not steal anyone else’s work or break copyright rules. **We are not making that promise.**
+- MERCHANTABILITY: This means the software is good enough to be sold in a store and works like a normal person would expect. **We are not making that promise.**
+- FITNESS FOR A PARTICULAR PURPOSE: This means the software will work for the specific job or goal you have in mind. **We are not making that promise.**
+
+This list explains these terms for your understanding, but the capitalized phrases are the binding terms.

LICENSES/MIT.txt đź”—

@@ -0,0 +1,18 @@
+MIT License
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
+associated documentation files (the "Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
+EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md đź”—

@@ -47,9 +47,9 @@ token count, plus overall metadata usage. I've used and tested them most with
 - [formatting-commits](skills/formatting-commits/SKILL.md): Detects a project's
   commit style from recent history and formats messages accordingly. Supports
   Conventional Commits and kernel-style imperative commits.
-- [getting-a-code-review](skills/getting-a-code-review/SKILL.md): Gets an
-  external code review of changes, commits, PRs, or patches via CLI tools like
-  Amp, CodeRabbit, or Kodus.
+- [fallback-code-review](skills/fallback-code-review/SKILL.md): Provides a
+  fallback external review flow via CLI tools like Amp, CodeRabbit, or Kodus
+  when no other review mechanism exists.
 - [frontend-accessibility](skills/frontend-accessibility/SKILL.md): Strives to
   generate accessible HTML, React, and frontend code following WCAG 2.2 AA.
   Prioritizes semantic HTML over ARIA, keyboard navigation, and screen reader
@@ -106,6 +106,9 @@ token count, plus overall metadata usage. I've used and tested them most with
 - [using-exe-dev](skills/using-exe-dev/SKILL.md): Guides working with [exe.dev]
   VMs, which provide Linux VMs with persistent disks, instant HTTPS, and
   built-in auth via SSH.
+- [using-goji](skills/using-goji/SKILL.md): Manages goji workspaces and zmx
+  sessions for git worktrees and jj workspaces. Covers conversion, creation,
+  listing, attaching, removal, JSON output, and safe temp-repo testing.
 - [using-jujutsu](skills/using-jujutsu/SKILL.md): Guides [jujutsu] (jj)
   workflows, covering commit selection, change creation, diff reading, and
   common pitfalls that trip up agents.
@@ -355,7 +358,7 @@ Token breakdown:
   ───────────────────────────────────────────────
   Total:        4759 tokens
 
-=== getting-a-code-review ===
+=== fallback-code-review ===
 
 Token breakdown:
   Name:            8 tokens

REUSE.toml đź”—

@@ -0,0 +1,52 @@
+version = 1
+
+[[annotations]]
+path = "**"
+SPDX-FileCopyrightText = "Amolith <amolith@secluded.site>"
+SPDX-License-Identifier = "LicenseRef-MutuaL-1.2"
+
+[[annotations]]
+path = "README.md"
+SPDX-FileCopyrightText = "Amolith <amolith@secluded.site>"
+SPDX-License-Identifier = "CC0-1.0"
+
+[[annotations]]
+path = "skills/humanizer/**"
+SPDX-FileCopyrightText = "2025 Siqi Chen"
+SPDX-License-Identifier = "MIT"
+
+[[annotations]]
+path = [
+  "skills/charm-*/**",
+  "vendor/forge/**",
+]
+SPDX-FileCopyrightText = "2026 alxx"
+SPDX-License-Identifier = "MIT"
+
+[[annotations]]
+path = [
+  "skills/adapt/**",
+  "skills/animate/**",
+  "skills/audit/**",
+  "skills/bolder/**",
+  "skills/clarify/**",
+  "skills/colorize/**",
+  "skills/critique/**",
+  "skills/delight/**",
+  "skills/distill/**",
+  "skills/harden/**",
+  "skills/impeccable/**",
+  "skills/layout/**",
+  "skills/optimize/**",
+  "skills/overdrive/**",
+  "skills/polish/**",
+  "skills/quieter/**",
+  "skills/shape/**",
+  "skills/typeset/**",
+  "vendor/impeccable/**",
+]
+SPDX-FileCopyrightText = [
+  "2025-2026 Paul Bakaus",
+  "2025 Anthropic, PBC",
+]
+SPDX-License-Identifier = "Apache-2.0"

skills/auditing-repositories/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: auditing-repositories
 description: Audits open source repositories for security, privacy, and unexpected behavior. Use when asked to audit, review, or assess a repo or codebase for vulnerabilities, privacy or telemetry concerns, suspicious behavior, dependency or supply chain risk, or OSS due diligence.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/authoring-skills/SKILL.md đź”—

@@ -2,7 +2,7 @@
 name: authoring-skills
 description: Creates well-structured Agent Skills following best practices. Use when writing new skills, reviewing existing skills, or when the user mentions skill authoring or Skills.
 compatibility: Requires filesystem access to create skill directories and files
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/backing-up-with-keld/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: backing-up-with-keld
 description: Writes and manages keld configuration for restic backups. Use when the user mentions keld, backup presets, restic config, or needs help writing TOML config for backups.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/collaborating-through-pr-pico-sh/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: collaborating-through-pr-pico-sh
 description: Collaborates on git patches via pr.pico.sh, a minimal patchbin service. Use when submitting, reviewing, or managing patch requests, or when the user mentions pr.pico.sh, patchbin, or patch requests.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/creating-tasks-through-lunatask/SKILL.md đź”—

@@ -2,7 +2,7 @@
 name: creating-tasks-through-lunatask
 description: Creates tasks in Lunatask for todos, reminders, deferred work, and handoffs. Use when the user wants to capture something for later, whether for themselves or for a future agent session.
 compatibility: Requires Lunatask MCP or CLI tools
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/formatting-commits/SKILL.md đź”—

@@ -6,7 +6,7 @@ description: >-
   mentions commits, commit messages, conventional commits, or commit formatting,
   regardless of VCS. Also use when writing tag annotations or change
   descriptions.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/formatting-commits/scripts/format đź”—

@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 #
-# SPDX-License-Identifier: GPL-3.0-or-later
+# SPDX-License-Identifier: LicenseRef-MutuaL-1.2
 
 use strict;
 use warnings;

skills/frontend-accessibility/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: frontend-accessibility
 description: Generates accessible HTML, React, and frontend code following WCAG 2.2 AA guidelines. Use when creating UI components, forms, navigation, or any user-facing frontend code. Focuses on semantic HTML, keyboard accessibility, and screen reader compatibility.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/handling-customer-data/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: handling-customer-data
 description: Handles customer data responsibly by answering questions ABOUT data without ever seeing the data directly. Use when querying Redis, databases, logs, or any source containing customer information like JIDs, emails, phone numbers, or account details.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/ideating-with-bdd/SKILL.md đź”—

@@ -11,7 +11,7 @@ description: >-
   it concrete, or when they ask "what should the behaviour be". Works for
   any language or framework. NOT for automating tests or writing
   implementation code.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/initialising-and-updating-agents-md/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: initialising-and-updating-agents-md
 description: Analyses a codebase and creates or updates AGENTS.md to help future agents work effectively. Use when asked to initialise, generate, or update an AGENTS.md file, or when the user says "init agents", "generate agents.md", or wants to document a project for agent use.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/invoking-subagents/SKILL.md đź”—

@@ -2,7 +2,7 @@
 name: invoking-subagents
 description: Spawns subagents with configurable tool access that return just the answers without flooding your context. Use for summarizing extensive git history, comparing across multiple repositories in parallel, or processing large diffs/logs.
 compatibility: Requires `synu` shell plugin and `claude` CLI tool
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/managing-and-navigating-worktrees/SKILL.md đź”—

@@ -2,7 +2,7 @@
 name: managing-and-navigating-worktrees
 description: Manages git worktrees and repos using the wt CLI. Use when cloning or creating new repos, adding worktrees, switching branches or branches, when the user mentions wt or worktrees. If you need to clone and whether to use worktrees/this skill is unclear, ask the user.
 compatibility: Requires wt CLI, git, and gum
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/monitoring-with-munin/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: monitoring-with-munin
 description: Deploys and manages Munin monitoring across servers. Use when setting up munin-node on a host, writing munin plugins, adding nodes to a master, configuring alerts, or diagnosing system issues using munin data. Also use when the user mentions munin, monitoring, or graphing server metrics.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/notifying-through-ntfy/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: notifying-through-ntfy
 description: Sends push notifications via ntfy.sh. Use when the user asks to be notified, says "ntfy me", or requests a notification when a task is done.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/rebasing-with-git/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: rebasing-with-git
 description: Guides git rebase workflows including simple rebases and complex fork rebases with drop-and-repick for personal integration branches. Use when the user asks to rebase, mentions rebasing, needs help with rebase conflicts, or asks to pull feature branch changes into a personal branch. Supports branch-based repos, worktrees, and wt-managed bare repos.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/researching-with-rumilo/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: researching-with-rumilo
 description: Dispatches AI research subagents via rumilo to search the web or explore git repositories. Use when the user asks to research a topic, look up library usage, explore a codebase, read documentation from the web, or when you need information from an external repository or website to complete a task.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/resuming-work-through-lunatask/SKILL.md đź”—

@@ -2,7 +2,7 @@
 name: resuming-work-through-lunatask
 description: Resumes previously deferred work from Lunatask. Use when user pastes a task note, shares a lunatask:// deep link, says "let's pick this up", or references continuing earlier work.
 compatibility: Requires Lunatask MCP or CLI tools
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/scripting-with-go/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: scripting-with-go
 description: Creates executable Go scripts with shebang-like behavior.  Use when the user wants Go scripts, mentions Go scripting, or needs executable .go files. If working in a Go project, do NOT use unless explicitly requested.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/testing-with-gocuke-and-gherkin/SKILL.md đź”—

@@ -6,7 +6,7 @@ description: >-
   running Go BDD tests, or automating .feature files in Go. For discovery and
   formulation of behaviour, use ideating-with-bdd instead. NOT for non-Go
   projects or other BDD frameworks.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/updating-llm-client-model-lists/SKILL.md đź”—

@@ -1,6 +1,6 @@
 ---
 name: updating-llm-client-model-lists
-description: Synchronizes model configurations across Zed, Crush, Octofriend, and Pi from Plexus' /v1/models endpoint. Use when the user asks to update model lists, sync models, refresh available models, or mentions Plexus model availability.
+description: Synchronizes model configurations across Zed, Crush, Pi, and ECA from Plexus' /v1/models endpoint. Use when the user asks to update model lists, sync models, refresh available models, or mentions Plexus model availability.
 ---
 
 Updates four LLM client configs from the Plexus proxy's available models.
@@ -30,9 +30,9 @@ tailscale set --accept-dns=false
 curl -s http://harp-willow.snowy-egret.ts.net:4000/v1/models | \
   jq -r '.data[]
     | select(.id | IN("nomic-embed-text-v1.5", "diff-apply", "fix-json") | not)
+    | select(.context_length != null and .context_length > 0)
     | [.id, (.name // .id), (.context_length | tostring),
        ((.context_length * 0.2 | floor | tostring)),
-       (if (.supported_parameters | index("tools"))     then "tools"     else "" end),
        (if (.supported_parameters | index("reasoning"))  then "reasoning" else "" end),
        (if (.architecture.input_modalities | index("image")) then "image" else "" end)]
     | @tsv' | column -t -s $'\t'
@@ -43,15 +43,16 @@ This should provide all the info you need in a table. The data in this table is
 ## Rules
 
 - Always exclude `nomic-embed-text-v1.5` (embedding model, not supported by any client)
-- Exclude `diff-apply` and `fix-json` from Zed, Crush, and Pi because it's only supported by Octofriend
+- Exclude `diff-apply` and `fix-json` from all client model lists
 - Exclude models with no `context_length` field (e.g. voxtral-small, mistral-ocr) unless the user provides values manually
+- Assume every listed model supports tools, regardless of whether Plexus reports `tools` in `supported_parameters`
 - Omit special characters from display names. For example, "MiniMax-M2.7" should become "MiniMax M2.7". "nemotron-3-super" becomes "Nemotron 3 Super".
 
 ## Update Zed config
 
 File: `~/.config/zed/settings.json`
 
-Update `language_models.Plexus.available_models[]`. Each entry:
+Update `language_models.openai_compatible.Plexus.available_models[]`. Each entry:
 
 ```json
 {
@@ -62,7 +63,7 @@ Update `language_models.Plexus.available_models[]`. Each entry:
   "capabilities": {
     "chat_completions": true,
     "prompt_cache_key": false,
-    "tools": <true if "tools">,
+    "tools": true,
     "parallel_tool_calls": true,
     "images": <true if "image">
   }
@@ -89,27 +90,6 @@ Update `providers.plexus.models[]`. Each entry:
 After editing: `chezmoi apply ~/.config/crush/crush.json`
 STOP if chezmoi has any output other than success.
 
-## Update Octofriend config
-
-File: `~/.local/share/chezmoi/dot_config/octofriend/octofriend.json5`
-
-Update `models[]`. Each entry:
-
-```json
-{
-  "nickname": "<name>",
-  "baseUrl": "http://100.77.116.78:4000/v1",
-  "model": "<id>",
-  "context": <context_length>,
-  "apiEnvVar": "PLEXUS_API_KEY"
-}
-```
-
-Leave `diffApply` and `fixJson` objects unchanged.
-
-After editing: `chezmoi apply ~/.config/octofriend/octofriend.json5`
-STOP if chezmoi has any output other than success.
-
 ## Update Pi config
 
 File: `~/.local/share/chezmoi/dot_config/pi/models.json`
@@ -134,3 +114,26 @@ Update `providers.plexus.models[]`. Each entry:
 
 After editing: `chezmoi apply ~/.config/pi/models.json`
 NEVER use `--force` with chezmoi apply. If it reports the file has changed since last write, STOP and inform the user — they may have local changes not yet added to chezmoi.
+
+## Update ECA config
+
+Reference docs: <https://eca.dev/config/introduction/> and <https://eca.dev/config/models/>
+
+File: `~/.config/eca/config.json`
+
+Update `providers.plexus`. ECA custom providers use an OpenAI-compatible provider config with a static model map:
+
+```json
+{
+  "api": "openai-chat",
+  "url": "http://100.77.116.78:4000/v1",
+  "key": "${cmd:fnox get PLEXUS_API_KEY}",
+  "reasoningHistory": "all",
+  "fetchModels": false,
+  "models": {
+    "<id>": {}
+  }
+}
+```
+
+ECA's custom-provider docs list `api`, `url`, `key`, and `models` as the important fields for OpenAI-compatible providers. Use `api: "openai-chat"` for Plexus, because Plexus exposes `/v1/chat/completions`. Set `fetchModels: false` so ECA uses the Plexus model list from this config rather than attempting dynamic discovery from models.dev.

skills/using-jujutsu/SKILL.md đź”—

@@ -5,7 +5,7 @@ description: >-
   pitfalls. Use when the project uses jj or jujutsu for version control,
   when committing changes, creating new changes, or inspecting history
   with jj. Not for use with git repos.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/working-with-zmx/SKILL.md đź”—

@@ -5,7 +5,7 @@ description: >-
   and long-running tasks. Use when the user mentions running something in the
   background, starting a dev server, running commands over SSH in a persistent
   session, or needs an alternative to tmux/screen for session multiplexing.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/writing-git-tags/SKILL.md đź”—

@@ -2,7 +2,7 @@
 name: writing-git-tags
 description: Generates git tag annotations from commit history following Semantic Versioning and Conventional Commits. Use when creating git tags, writing release notes, tagging versions, or generating changelog entries.
 compatibility: Requires `git` and `git-format` CLI tools (invoked as `git formatted-tag`)
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/writing-roc-lang/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: writing-roc-lang
 description: Writes Roc code with strong static types, helpful compiler errors, and functional programming. Use when the user wants Roc code, mentions Roc, functional programming with types, or needs .roc files. Covers both full applications and one-off Roc scripts with shebangs.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---

skills/writing-rust/SKILL.md đź”—

@@ -1,7 +1,7 @@
 ---
 name: writing-rust
 description: Writes idiomatic, well-structured Rust code following community conventions and best practices. Use when working on Rust projects, writing Rust code, debugging Rust errors, or when the user mentions Rust, Cargo, or crates.
-license: GPL-3.0-or-later
+license: LicenseRef-MutuaL-1.2
 metadata:
   author: Amolith <amolith@secluded.site>
 ---