loki-mode 11.19.0 → 11.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +2 -2
- package/VERSION +1 -1
- package/dashboard/__init__.py +1 -1
- package/docs/CLI-REFERENCE.md +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/loki-ts/dist/loki.js +2 -2
- package/mcp/__init__.py +1 -1
- package/package.json +2 -2
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/skills/00-index.md +28 -0
- package/skills/agents.md +14 -0
- package/skills/artifacts.md +12 -0
- package/skills/compound-learning.md +20 -0
- package/skills/documentation.md +18 -0
- package/skills/extending.md +13 -0
- package/skills/factory-operations.md +23 -0
- package/skills/github-integration.md +27 -0
- package/skills/healing.md +28 -0
- package/skills/magic-modules.md +24 -0
- package/skills/memory.md +20 -0
- package/skills/model-selection.md +34 -0
- package/skills/openspec-integration.md +16 -0
- package/skills/parallel-workflows.md +44 -0
- package/skills/patterns-advanced.md +11 -0
- package/skills/production.md +19 -0
- package/skills/providers.md +18 -0
- package/skills/quality-gates.md +54 -0
- package/skills/release-cadence.md +16 -0
- package/skills/sdlc-fleet.md +17 -0
- package/skills/testing.md +12 -0
- package/skills/troubleshooting.md +41 -1
- package/web-app/dist/assets/{AdminPage-BijKqOwy.js → AdminPage-B-bEZytb.js} +1 -1
- package/web-app/dist/assets/{Avatar-gclN5fUa.js → Avatar-AVq-BBUz.js} +1 -1
- package/web-app/dist/assets/{Badge-DfYZLzgm.js → Badge-BGp6pTWA.js} +1 -1
- package/web-app/dist/assets/{Button-DrxxmaFD.js → Button-BOg2qFMK.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-_beUvvja.js → CockpitPage-XIwAzBEn.js} +1 -1
- package/web-app/dist/assets/{ComparePage-Ehec22lt.js → ComparePage-1xndNmeA.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-CNTYOxtp.js → ErrorBoundary-Be-tq62u.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-DDzoztQh.js → EvidenceReceiptPanel-CLzGyfv0.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-DEiQgzLA.js → GitHubIssuesPanel-Dbmz-k3i.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-Bv3gJQsS.js → GitHubPRsPanel-D7XMEJcR.js} +1 -1
- package/web-app/dist/assets/{HomePage-CLooQzzQ.js → HomePage-DGVhPfDg.js} +2 -2
- package/web-app/dist/assets/{LoginPage-BOa-YAVz.js → LoginPage-DZiBc6jd.js} +1 -1
- package/web-app/dist/assets/{MagicPage-BkdEgp-j.js → MagicPage-DqL0_Lc6.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-Cs25aUqM.js → MetricsPage-ChVqKn71.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-CP04N7Rc.js → NotFoundPage-DappfBO6.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-DW1kYF59.js → ProjectPage-CHbZsIUs.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-BzYx9PDA.js → ProjectsPage-B6HTzGg0.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-BLW4FkXW.js → SettingsPage-C4fA0CFo.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-BXjmdxaE.js → ShowcasePage-BL_6Nsvm.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-CmMWTeWw.js → SystemSettingsPage-D70hAp-u.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-p4VxWBEI.js → TeamsPage-Dag5RT5f.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-CSB47UZi.js → TemplatesPage-cp7d1hN7.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-DQ5Bh57P.js → TerminalOutput-BHcgTkgY.js} +1 -1
- package/web-app/dist/assets/{activity-D1k3yB7i.js → activity-DoYq1Z4M.js} +1 -1
- package/web-app/dist/assets/{bell-DXEeU_lO.js → bell-Dc4idmgk.js} +1 -1
- package/web-app/dist/assets/{bot-D072i9g3.js → bot-WhQrzVl8.js} +1 -1
- package/web-app/dist/assets/{check-BJw_h-99.js → check-S_mzCWxV.js} +1 -1
- package/web-app/dist/assets/{chevron-left-C1L4nJet.js → chevron-left-DHQHGUiI.js} +1 -1
- package/web-app/dist/assets/{circle-alert-DVvzp7cN.js → circle-alert-Bc0XFZyt.js} +1 -1
- package/web-app/dist/assets/{clock-CJ3bKo2v.js → clock-BdFy2s87.js} +1 -1
- package/web-app/dist/assets/{cloud-DEvUgnai.js → cloud-B23nmmiG.js} +1 -1
- package/web-app/dist/assets/{code-xml-8llOkQ7z.js → code-xml-BGDz8B3H.js} +1 -1
- package/web-app/dist/assets/{database-BIZBZUC3.js → database-DFhZ-uHK.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-BIqi4xip.js → dollar-sign-JcYLq2s0.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-Btl4UrZS.js → file-code-corner-CfbFrxzM.js} +1 -1
- package/web-app/dist/assets/{file-plus-zUZCvi3q.js → file-plus-CNGwBTPi.js} +1 -1
- package/web-app/dist/assets/{globe-Cb8rchM_.js → globe-Dx80kAI0.js} +1 -1
- package/web-app/dist/assets/{hammer-CwKhZqJ_.js → hammer-BSXFz8qY.js} +1 -1
- package/web-app/dist/assets/{index-CgVKsLAT.js → index-CGIhXeB0.js} +3 -3
- package/web-app/dist/assets/{layers-BTa0tCgN.js → layers-CzZgAtpQ.js} +1 -1
- package/web-app/dist/assets/{loader-circle-B1pum43p.js → loader-circle-D5gsWJnZ.js} +1 -1
- package/web-app/dist/assets/{lock-Dq5Hva2f.js → lock-B1CRcUxR.js} +1 -1
- package/web-app/dist/assets/{package-BGQI7OrG.js → package-B9YObxi2.js} +1 -1
- package/web-app/dist/assets/{plus-CLOYBior.js → plus-CiKIplJ-.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-V3YXQnVv.js → refresh-cw-DFE5RmgT.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-Be46wzEp.js → rotate-ccw-DVaCDpoi.js} +1 -1
- package/web-app/dist/assets/{scroll-text-DK6UiIpn.js → scroll-text-B189mONr.js} +1 -1
- package/web-app/dist/assets/{server-Cgtnj27_.js → server-BtEO_lvf.js} +1 -1
- package/web-app/dist/assets/{shield-alert-CUkQcUSo.js → shield-alert-BQQIizhH.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-BP7GJ_89.js → thumbs-up-CMkSaDGZ.js} +1 -1
- package/web-app/dist/assets/{trash-2-DBggK-Yi.js → trash-2-CaevwAvU.js} +1 -1
- package/web-app/dist/assets/{trending-down-B9xn9r4C.js → trending-down-ZAVX1hIK.js} +1 -1
- package/web-app/dist/assets/{trending-up-DKdx4HEs.js → trending-up-Cu0vmuAX.js} +1 -1
- package/web-app/dist/assets/{upload-NsLVz2-6.js → upload-l80dpaxu.js} +1 -1
- package/web-app/dist/assets/{usePolling-BnTw45zD.js → usePolling-CqxddWrH.js} +1 -1
- package/web-app/dist/assets/{user-Cpc7dJqe.js → user-CPG0fF2X.js} +1 -1
- package/web-app/dist/index.html +1 -1
package/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: loki-mode
|
|
|
3
3
|
description: An autonomous software factory that knows what it is supposed to deliver, and proves it did. Use when the user says Loki Mode or asks to build, fix or verify software autonomously.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Loki Mode v11.
|
|
6
|
+
# Loki Mode v11.20.0
|
|
7
7
|
|
|
8
8
|
**Current entry points (Loki 10 engine):** `loki "<task>"`, `loki owner/repo#N` and `loki quick "<task>"` run the Loki 10 engine and end with a signed receipt (`loki verify`). `loki backlog owner/repo --all` runs many issues in parallel. Guide: `docs/v10/GUIDE.md`. The skill instructions below, and `loki start`, describe the previous bash loop. PRD-file starts (`loki start ./prd.md`) and the opencode provider still run on it until FC38-SWEEP ports them; the legacy-engine command and the LOKI_ENGINE switch remain removed. Prefer `loki owner/repo#N` for issues.
|
|
9
9
|
|
|
@@ -483,4 +483,4 @@ See `CHANGELOG.md` entries [7.5.7], [7.5.8], [7.5.13] for the per-fix list and r
|
|
|
483
483
|
|
|
484
484
|
---
|
|
485
485
|
|
|
486
|
-
**v11.
|
|
486
|
+
**v11.20.0 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.
|
|
1
|
+
11.20.0
|
package/dashboard/__init__.py
CHANGED
package/docs/CLI-REFERENCE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CLI reference
|
|
2
2
|
|
|
3
|
-
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.
|
|
3
|
+
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.20.0. Do not edit by hand.
|
|
4
4
|
Hidden and legacy-only commands are omitted; see `docs/v10/CLI-MODERN.md` for the full inventory.
|
|
5
5
|
|
|
6
6
|
| Command | Description |
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Loki Mode, by [Autonomi](https://www.autonomi.dev/), turns a spec or an issue into a verified pull request with a receipt you can check. This page covers installing it, a first run, and the options around it.
|
|
4
4
|
|
|
5
|
-
**Version:** v11.
|
|
5
|
+
**Version:** v11.20.0
|
|
6
6
|
|
|
7
7
|
**Engine note:** `loki start` is the primary command. `loki start`, `loki "<task>"`, `loki owner/repo#N` and `loki quick` all run the Loki 10 engine, whatever the flag order or input form (PRD file, issue ref, task or one-word brief). The previous loop runs only on `--engine legacy`, `LOKI_ENGINE=legacy`, or for one call when a flag Loki 10 cannot honor is present. See the [user guide](v10/GUIDE.md) and the [5-minute quickstart](QUICKSTART.md).
|
|
8
8
|
|
package/loki-ts/dist/loki.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var ky0=Object.create;var{getPrototypeOf:xy0,defineProperty:UK,getOwnPropertyNames:wi,getOwnPropertyDescriptor:Sy0}=Object,_i=Object.prototype.hasOwnProperty;function ki(Z){return this[Z]}var yy0,by0,vy0=(Z,$,J)=>{var X=Z!=null&&typeof Z==="object";if(X){var Y=$?yy0??=new WeakMap:by0??=new WeakMap,Q=Y.get(Z);if(Q)return Q}J=Z!=null?ky0(xy0(Z)):{};let z=$||!Z||!Z.__esModule?UK(J,"default",{value:Z,enumerable:!0}):J;for(let W of wi(Z))if(!_i.call(z,W))UK(z,W,{get:ki.bind(Z,W),enumerable:!0});if(X)Y.set(Z,z);return z},hy0=(Z)=>{var $=(Di??=new WeakMap).get(Z),J;if($)return $;if($=UK({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var X of wi(Z))if(!_i.call($,X))UK($,X,{get:ki.bind(Z,X),enumerable:!(J=Sy0(Z,X))||J.enumerable})}return Di.set(Z,$),$},Di,vN=(Z,$)=>()=>($||Z(($={exports:{}}).exports,$),$.exports);var fy0=(Z)=>Z;function gy0(Z,$){this[Z]=fy0.bind(null,$)}var A0=(Z,$)=>{for(var J in $)UK(Z,J,{get:$[J],enumerable:!0,configurable:!0,set:gy0.bind($,J)})};var S=(Z,$)=>()=>(Z&&($=Z(Z=0)),$);var s9=import.meta.require;var Si={};A0(Si,{lokiDir:()=>P0,homeLokiDir:()=>B2,findRepoRootForVersion:()=>BK,REPO_ROOT:()=>F0});import{resolve as AZ,dirname as mR}from"path";import{fileURLToPath as my0}from"url";import{existsSync as hN}from"fs";import{homedir as uy0}from"os";function py0(){let Z=xi;for(let $=0;$<6;$++){if(hN(AZ(Z,"VERSION"))&&hN(AZ(Z,"autonomy/run.sh")))return Z;let J=mR(Z);if(J===Z)break;Z=J}return AZ(xi,"..","..","..")}function BK(Z){let $=Z;for(let J=0;J<6;J++){if(hN(AZ($,"VERSION"))&&hN(AZ($,"autonomy/run.sh")))return $;let X=mR($);if(X===$)break;$=X}return AZ(Z,"..","..","..")}function P0(){return process.env.LOKI_DIR??AZ(process.cwd(),".loki")}function B2(){return AZ(uy0(),".loki")}var xi,F0;var n0=S(()=>{xi=mR(my0(import.meta.url));F0=py0()});import{readFileSync as dy0}from"fs";import{resolve as cy0,dirname as ly0}from"path";import{fileURLToPath as ay0}from"url";function q6(){if(D1!==null)return D1;let Z="11.
|
|
2
|
+
var ky0=Object.create;var{getPrototypeOf:xy0,defineProperty:UK,getOwnPropertyNames:wi,getOwnPropertyDescriptor:Sy0}=Object,_i=Object.prototype.hasOwnProperty;function ki(Z){return this[Z]}var yy0,by0,vy0=(Z,$,J)=>{var X=Z!=null&&typeof Z==="object";if(X){var Y=$?yy0??=new WeakMap:by0??=new WeakMap,Q=Y.get(Z);if(Q)return Q}J=Z!=null?ky0(xy0(Z)):{};let z=$||!Z||!Z.__esModule?UK(J,"default",{value:Z,enumerable:!0}):J;for(let W of wi(Z))if(!_i.call(z,W))UK(z,W,{get:ki.bind(Z,W),enumerable:!0});if(X)Y.set(Z,z);return z},hy0=(Z)=>{var $=(Di??=new WeakMap).get(Z),J;if($)return $;if($=UK({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var X of wi(Z))if(!_i.call($,X))UK($,X,{get:ki.bind(Z,X),enumerable:!(J=Sy0(Z,X))||J.enumerable})}return Di.set(Z,$),$},Di,vN=(Z,$)=>()=>($||Z(($={exports:{}}).exports,$),$.exports);var fy0=(Z)=>Z;function gy0(Z,$){this[Z]=fy0.bind(null,$)}var A0=(Z,$)=>{for(var J in $)UK(Z,J,{get:$[J],enumerable:!0,configurable:!0,set:gy0.bind($,J)})};var S=(Z,$)=>()=>(Z&&($=Z(Z=0)),$);var s9=import.meta.require;var Si={};A0(Si,{lokiDir:()=>P0,homeLokiDir:()=>B2,findRepoRootForVersion:()=>BK,REPO_ROOT:()=>F0});import{resolve as AZ,dirname as mR}from"path";import{fileURLToPath as my0}from"url";import{existsSync as hN}from"fs";import{homedir as uy0}from"os";function py0(){let Z=xi;for(let $=0;$<6;$++){if(hN(AZ(Z,"VERSION"))&&hN(AZ(Z,"autonomy/run.sh")))return Z;let J=mR(Z);if(J===Z)break;Z=J}return AZ(xi,"..","..","..")}function BK(Z){let $=Z;for(let J=0;J<6;J++){if(hN(AZ($,"VERSION"))&&hN(AZ($,"autonomy/run.sh")))return $;let X=mR($);if(X===$)break;$=X}return AZ(Z,"..","..","..")}function P0(){return process.env.LOKI_DIR??AZ(process.cwd(),".loki")}function B2(){return AZ(uy0(),".loki")}var xi,F0;var n0=S(()=>{xi=mR(my0(import.meta.url));F0=py0()});import{readFileSync as dy0}from"fs";import{resolve as cy0,dirname as ly0}from"path";import{fileURLToPath as ay0}from"url";function q6(){if(D1!==null)return D1;let Z="11.20.0";if(typeof Z==="string"&&Z.length>0)return D1=Z,D1;try{let $=ly0(ay0(import.meta.url)),J=BK($);D1=dy0(cy0(J,"VERSION"),"utf-8").trim()}catch{D1="unknown"}return D1}var D1=null;var LZ=S(()=>{n0()});import{mkdirSync as pR,readFileSync as fN,realpathSync as iy0,statSync as oy0,writeFileSync as dR}from"fs";import{dirname as XY,join as uR,resolve as yi}from"path";function ey0(){return yi(B2(),"cache","update-check.json")}function jZ(Z){let $=/^(\d+)\.(\d+)\.(\d+)$/.exec(Z.trim());if(!$)return null;return[Number($[1]),Number($[2]),Number($[3])]}function NK(Z,$){let J=jZ(Z),X=jZ($);if(!J||!X)return!1;let[Y,Q,z]=J,[W,K,V]=X;if(Y!==W)return Y>W;if(Q!==K)return Q>K;return z>V}function bi(){let Z=(process.env.LOKI_NO_UPDATE_CHECK??"").trim().toLowerCase();if(Z==="1"||Z==="true"||Z==="yes")return!0;if(process.env.CI)return!0;if(!process.stdout.isTTY)return!0;return!1}function vi(Z){try{let $=fN(Z,"utf-8"),J=JSON.parse($);if(typeof J.checkedAt==="number"&&typeof J.latest==="string"&&jZ(J.latest)!==null)return{checkedAt:J.checkedAt,latest:J.latest}}catch{}return null}function Zb0(Z){try{let $=JSON.parse(fN(Z,"utf-8")).failedAt;if(typeof $==="number")return $}catch{}return null}function $b0(Z,$){let J=vi(Z);try{pR(XY(Z),{recursive:!0}),dR(Z,JSON.stringify({...J??{},failedAt:$}),"utf-8")}catch{}}function Jb0(Z,$){try{pR(XY(Z),{recursive:!0}),dR(Z,JSON.stringify($),"utf-8")}catch{}}async function Xb0(){try{let Z=await fetch(ny0,{signal:AbortSignal.timeout(ry0),headers:{accept:"application/json"}});if(!Z.ok)return null;let $=await Z.json();if(typeof $.version==="string"&&jZ($.version)!==null)return $.version}catch{}return null}async function Yb0(Z=Date.now(),$=Xb0,J=ey0()){let X=vi(J);if(X&&Z-X.checkedAt<sy0)return X.latest;let Y=Zb0(J);if(Y!==null&&Z-Y>=0&&Z-Y<ty0)return null;let Q=await $();if(Q===null)return $b0(J,Z),null;return Jb0(J,{checkedAt:Z,latest:Q}),Q}function Qb0(Z,$=process.env){if(jZ(Z)===null)return null;let X=$.PATH;if(!X)return null;let Y=new Set;for(let Q of X.split(":")){if(!Q)continue;let z=uR(Q,"loki"),W;try{oy0(z),W=iy0(z)}catch{continue}if(Y.has(W))continue;Y.add(W);try{let K=uR(XY(XY(W)),"package.json"),V=JSON.parse(fN(K,"utf8")).version;if(typeof V!=="string")continue;if(NK(V,Z))return{path:z,version:V}}catch{continue}}return null}function zb0(){return yi(B2(),"cache","last-seen-version.json")}function Wb0(Z,$={}){try{if(bi())return!1;if(jZ(Z)===null)return!1;let J=$.seenFile??zb0(),X=null;try{let Q=JSON.parse(fN(J,"utf-8")).version;if(typeof Q==="string"&&jZ(Q)!==null)X=Q}catch{}if(X!==null&&!NK(Z,X))return!1;try{pR(XY(J),{recursive:!0}),dR(J,JSON.stringify({version:Z}),"utf-8")}catch{return!1}if(X===null)return!1;return($.write??((Q)=>process.stderr.write(Q)))(`Loki Mode upgraded ${X} -> ${Z}. What is new: https://github.com/asklokesh/loki-mode/releases/tag/v${Z}
|
|
3
3
|
`),!0}catch{return!1}}function Kb0(Z){let $=Z.replace(/\\/g,"/");if($.includes("/Cellar/"))return"brew upgrade loki-mode";if(/\/pnpm\//.test($)||$.includes("/.pnpm/"))return"pnpm add -g loki-mode (or npm i -g loki-mode)";if($.includes("/yarn/global/")||$.includes("/.yarn/"))return"yarn global add loki-mode (or npm i -g loki-mode)";if($.includes("/.bun/"))return"bun install -g loki-mode (or npm i -g loki-mode)";if($.includes("/lib/node_modules/"))return"npm i -g loki-mode (or bun install -g loki-mode)";if($.includes("/homebrew/"))return"brew upgrade loki-mode";return"bun install -g loki-mode (or npm i -g loki-mode)"}async function hi(Z,$={}){try{if(bi())return;if(jZ(Z)===null)return;let J=$.write??((Q)=>process.stderr.write(Q));Wb0(Z,{write:J,...$.cacheFile?{seenFile:uR(XY($.cacheFile),"last-seen-version.json")}:{}});let X=Qb0(Z,$.env??process.env);if(X!==null){J(`Loki Mode ${X.version} is installed but not the one running (you are running ${Z}).
|
|
4
4
|
Another loki earlier on PATH is winning. Newer copy: ${X.path}
|
|
5
5
|
Run \`which -a loki\` to see the order, then remove or re-point the earlier entry.
|
|
@@ -3236,4 +3236,4 @@ Unknown commands exit 2 with a suggestion; run 'loki help' for the full list.
|
|
|
3236
3236
|
`);{let{suggestCommand:X}=await Promise.resolve().then(() => (t7(),No)),Y=$===void 0?void 0:X($);if(Y)process.stderr.write(`Did you mean 'loki ${Y}'?
|
|
3237
3237
|
`)}return process.stderr.write(Ty0),2}}DF0();var Py0=()=>globalThis[Symbol.for("loki.ownsStopSignals")]===!0;process.on("SIGINT",()=>{if(!Py0())process.exit(130)});process.on("SIGTERM",()=>{if(!Py0())process.exit(143)});var aH9=await lH9(Bun.argv.slice(2));process.exit(aH9);
|
|
3238
3238
|
|
|
3239
|
-
//# debugId=
|
|
3239
|
+
//# debugId=1C6B0BF2D739E7FB0A438A0B127FC984
|
package/mcp/__init__.py
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "loki-mode",
|
|
3
3
|
"mcpName": "io.github.asklokesh/loki-mode",
|
|
4
|
-
"version": "11.
|
|
4
|
+
"version": "11.20.0",
|
|
5
5
|
"description": "An autonomous software factory that knows what it is supposed to deliver, and proves it did.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"agent",
|
|
@@ -160,5 +160,5 @@
|
|
|
160
160
|
"dependencies": {
|
|
161
161
|
"@resvg/resvg-wasm": "^2.6.2"
|
|
162
162
|
},
|
|
163
|
-
"gitHead": "
|
|
163
|
+
"gitHead": "f75f7870ffb623de7e2ec4c5c130d2fb136a910f"
|
|
164
164
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
3
|
"name": "loki-mode",
|
|
4
4
|
"displayName": "Loki Mode",
|
|
5
|
-
"version": "11.
|
|
5
|
+
"version": "11.20.0",
|
|
6
6
|
"description": "Autonomous spec-to-product build system with a built-in trust layer (RARV-C closure loop, 8 quality gates, completion council). Ships Loki's spec-hardening, drift-detection, and deterministic PR verification commands plus the Loki MCP server.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Autonomi",
|
package/skills/00-index.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Skill Modules Index
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Module Selection Rules](#module-selection-rules)
|
|
7
|
+
- [Module Descriptions](#module-descriptions)
|
|
8
|
+
- [model-selection.md](#model-selectionmd)
|
|
9
|
+
- [quality-gates.md](#quality-gatesmd)
|
|
10
|
+
- [patterns-advanced.md](#patterns-advancedmd)
|
|
11
|
+
- [testing.md](#testingmd)
|
|
12
|
+
- [production.md](#productionmd)
|
|
13
|
+
- [troubleshooting.md](#troubleshootingmd)
|
|
14
|
+
- [agents.md](#agentsmd)
|
|
15
|
+
- [artifacts.md](#artifactsmd)
|
|
16
|
+
- [parallel-workflows.md](#parallel-workflowsmd)
|
|
17
|
+
- [github-integration.md](#github-integrationmd)
|
|
18
|
+
- [openspec-integration.md](#openspec-integrationmd)
|
|
19
|
+
- [mirofish-integration.md](#mirofish-integrationmd)
|
|
20
|
+
- [documentation.md](#documentationmd)
|
|
21
|
+
- [compound-learning.md (v5.30.0)](#compound-learningmd-v5300)
|
|
22
|
+
- [healing.md (v6.67.0)](#healingmd-v6670)
|
|
23
|
+
- [sdlc-fleet.md](#sdlc-fleetmd)
|
|
24
|
+
- [factory-operations.md](#factory-operationsmd)
|
|
25
|
+
- [release-cadence.md](#release-cadencemd)
|
|
26
|
+
- [extending.md](#extendingmd)
|
|
27
|
+
- [providers.md (v5.0.0)](#providersmd-v500)
|
|
28
|
+
- [How to Load](#how-to-load)
|
|
29
|
+
<!-- TOC:END -->
|
|
30
|
+
|
|
3
31
|
**Load 1-3 modules based on your current task. Do not load all modules.**
|
|
4
32
|
|
|
5
33
|
> **Full documentation:** For comprehensive details, see `references/` directory:
|
package/skills/agents.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Agent Dispatch & Structured Prompting
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [How Agents Actually Work](#how-agents-actually-work)
|
|
7
|
+
- [Structured Prompting Template](#structured-prompting-template)
|
|
8
|
+
- [Specialist Review Pattern (v5.30.0)](#specialist-review-pattern-v5300)
|
|
9
|
+
- [Confidence-Based Routing](#confidence-based-routing)
|
|
10
|
+
- [Agent Handoffs](#agent-handoffs)
|
|
11
|
+
- [Project AGENTS.md](#project-agentsmd)
|
|
12
|
+
- [A2A-Inspired Communication (Google Protocol)](#a2a-inspired-communication-google-protocol)
|
|
13
|
+
- [Agentic Patterns Reference (awesome-agentic-patterns)](#agentic-patterns-reference-awesome-agentic-patterns)
|
|
14
|
+
- [The 41 Agent Roles (37 Domain + 4 Orchestration)](#the-41-agent-roles-37-domain--4-orchestration)
|
|
15
|
+
<!-- TOC:END -->
|
|
16
|
+
|
|
3
17
|
> **Full agent type definitions:** See `references/agent-types.md` for complete 41 agent role specifications across 8 domains (Engineering, Operations, Business, Data, Product, Growth, Review, Orchestration). These are prompt-defined specifications the orchestrator adopts per phase; parallelism on Claude Code comes from the blind review council, the adversarial reviewer, and optional git-worktree streams, sequential on other providers.
|
|
4
18
|
|
|
5
19
|
---
|
package/skills/artifacts.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Artifact Generation & Code Transformation
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Artifact Generation (Antigravity Pattern)](#artifact-generation-antigravity-pattern)
|
|
7
|
+
- [Artifact Types](#artifact-types)
|
|
8
|
+
- [Verification Report](#verification-report)
|
|
9
|
+
- [Architecture Diff](#architecture-diff)
|
|
10
|
+
- [Screenshot Gallery](#screenshot-gallery)
|
|
11
|
+
- [Code Transformation Agent (Amazon Q Pattern)](#code-transformation-agent-amazon-q-pattern)
|
|
12
|
+
- [Release Notes Generation](#release-notes-generation)
|
|
13
|
+
<!-- TOC:END -->
|
|
14
|
+
|
|
3
15
|
## Artifact Generation (Antigravity Pattern)
|
|
4
16
|
|
|
5
17
|
**Auto-generate verifiable deliverables for audit trail without human intervention.**
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Compound Learning & Deep Planning
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Knowledge Compounding (Post-VERIFY)](#knowledge-compounding-post-verify)
|
|
7
|
+
- [When to Compound](#when-to-compound)
|
|
8
|
+
- [When NOT to Compound](#when-not-to-compound)
|
|
9
|
+
- [Solution File Format](#solution-file-format)
|
|
10
|
+
- [Categories](#categories)
|
|
11
|
+
- [YAML Frontmatter Fields](#yaml-frontmatter-fields)
|
|
12
|
+
- [Loading Solutions (REASON Phase)](#loading-solutions-reason-phase)
|
|
13
|
+
- [Matching Logic](#matching-logic)
|
|
14
|
+
- [Context Injection Format](#context-injection-format)
|
|
15
|
+
- [Deepen-Plan Phase](#deepen-plan-phase)
|
|
16
|
+
- [When to Run](#when-to-run)
|
|
17
|
+
- [Research Agents (4 parallel -- launch in ONE message)](#research-agents-4-parallel----launch-in-one-message)
|
|
18
|
+
- [After All 4 Complete](#after-all-4-complete)
|
|
19
|
+
- [Example Output Integration](#example-output-integration)
|
|
20
|
+
- [Composable Phases](#composable-phases)
|
|
21
|
+
<!-- TOC:END -->
|
|
22
|
+
|
|
3
23
|
**Inspired by:** Compound Engineering Plugin (Every/Kieran Klaassen) -- knowledge compounding philosophy where each unit of work makes subsequent work easier.
|
|
4
24
|
|
|
5
25
|
---
|
package/skills/documentation.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Documentation Skill Module
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Research Foundation](#research-foundation)
|
|
7
|
+
- [When to Load This Module](#when-to-load-this-module)
|
|
8
|
+
- [Documentation Types](#documentation-types)
|
|
9
|
+
- [Model Selection](#model-selection)
|
|
10
|
+
- [Repowise Integration](#repowise-integration)
|
|
11
|
+
- [Detection](#detection)
|
|
12
|
+
- [Documentation Quality Criteria](#documentation-quality-criteria)
|
|
13
|
+
- [Prompts](#prompts)
|
|
14
|
+
- [For README generation](#for-readme-generation)
|
|
15
|
+
- [For ARCHITECTURE generation](#for-architecture-generation)
|
|
16
|
+
- [For API documentation](#for-api-documentation)
|
|
17
|
+
- [For DECISIONS documentation](#for-decisions-documentation)
|
|
18
|
+
- [Integration with Other Skills](#integration-with-other-skills)
|
|
19
|
+
<!-- TOC:END -->
|
|
20
|
+
|
|
3
21
|
## Research Foundation
|
|
4
22
|
|
|
5
23
|
| Source | Key Contribution | Citation |
|
package/skills/extending.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Extending the Loop
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [What is actually extensible today](#what-is-actually-extensible-today)
|
|
7
|
+
- [The reviewer seam (R10)](#the-reviewer-seam-r10)
|
|
8
|
+
- [Install](#install)
|
|
9
|
+
- [When it fires](#when-it-fires)
|
|
10
|
+
- [Three invariants you cannot override](#three-invariants-you-cannot-override)
|
|
11
|
+
- [Manifests are data, never code](#manifests-are-data-never-code)
|
|
12
|
+
- [`src/plugins/` is NOT a seam (status: unwired)](#srcplugins-is-not-a-seam-status-unwired)
|
|
13
|
+
- [Adding a real gate](#adding-a-real-gate)
|
|
14
|
+
<!-- TOC:END -->
|
|
15
|
+
|
|
3
16
|
**When to load:** you want to add your own reviewer, agent, or gate to the RARV
|
|
4
17
|
loop without editing engine files.
|
|
5
18
|
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Factory Operations (skill module)
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [1. Roles: what each one DECIDES vs what it ADVISES](#1-roles-what-each-one-decides-vs-what-it-advises)
|
|
7
|
+
- [2. Partition: how two teams never edit the same file](#2-partition-how-two-teams-never-edit-the-same-file)
|
|
8
|
+
- [2.1 Per-file ownership is the primary mechanism](#21-per-file-ownership-is-the-primary-mechanism)
|
|
9
|
+
- [2.2 Worktree isolation is the EXCEPTION, not the default](#22-worktree-isolation-is-the-exception-not-the-default)
|
|
10
|
+
- [2.3 A red test during a review window may be someone else's mutation](#23-a-red-test-during-a-review-window-may-be-someone-elses-mutation)
|
|
11
|
+
- [3. WIP limit](#3-wip-limit)
|
|
12
|
+
- [3.1 Why one gate, not more](#31-why-one-gate-not-more)
|
|
13
|
+
- [3.2 Why 3 implementation streams](#32-why-3-implementation-streams)
|
|
14
|
+
- [3.3 The admission rule](#33-the-admission-rule)
|
|
15
|
+
- [4. Escalation: what a blocked team does instead of waiting](#4-escalation-what-a-blocked-team-does-instead-of-waiting)
|
|
16
|
+
- [4.1 A stall is a measurement problem, not a patience problem](#41-a-stall-is-a-measurement-problem-not-a-patience-problem)
|
|
17
|
+
- [4.2 An exit code reports a PROCESS, never the WORLD](#42-an-exit-code-reports-a-process-never-the-world)
|
|
18
|
+
- [5. Release windows: main is WIP=1](#5-release-windows-main-is-wip1)
|
|
19
|
+
- [6. Contended main: verify ancestry, never force](#6-contended-main-verify-ancestry-never-force)
|
|
20
|
+
- [7. The void measurement: the failure shape that costs the most](#7-the-void-measurement-the-failure-shape-that-costs-the-most)
|
|
21
|
+
- [7.1 The three rules that follow](#71-the-three-rules-that-follow)
|
|
22
|
+
- [7.2 Why this is a COORDINATION rule, not a testing tip](#72-why-this-is-a-coordination-rule-not-a-testing-tip)
|
|
23
|
+
- [7.3 If this module is ever trimmed](#73-if-this-module-is-ever-trimmed)
|
|
24
|
+
<!-- TOC:END -->
|
|
25
|
+
|
|
3
26
|
**Purpose:** the operating system for running multiple agent teams against this
|
|
4
27
|
repo at once without losing work, without false greens, and without the teams
|
|
5
28
|
blocking each other.
|
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# GitHub Integration (v5.41.0)
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Quick Reference](#quick-reference)
|
|
7
|
+
- [Environment Variables](#environment-variables)
|
|
8
|
+
- [Issue Import Workflow](#issue-import-workflow)
|
|
9
|
+
- [1. Check gh CLI Authentication](#1-check-gh-cli-authentication)
|
|
10
|
+
- [2. Import Open Issues](#2-import-open-issues)
|
|
11
|
+
- [3. Priority Mapping](#3-priority-mapping)
|
|
12
|
+
- [PR Creation Workflow](#pr-creation-workflow)
|
|
13
|
+
- [PR Body Template](#pr-body-template)
|
|
14
|
+
- [Status Sync Workflow](#status-sync-workflow)
|
|
15
|
+
- [Usage Examples](#usage-examples)
|
|
16
|
+
- [Import Issues and Create PR](#import-issues-and-create-pr)
|
|
17
|
+
- [Sync with Specific Repo](#sync-with-specific-repo)
|
|
18
|
+
- [Filter by Milestone](#filter-by-milestone)
|
|
19
|
+
- [Multiple issues at once (parallel, reliably)](#multiple-issues-at-once-parallel-reliably)
|
|
20
|
+
- [Sequential (simplest, one process, one checkout)](#sequential-simplest-one-process-one-checkout)
|
|
21
|
+
- [Concurrent (one isolated run PER issue)](#concurrent-one-isolated-run-per-issue)
|
|
22
|
+
- [Inside a Claude Code session (the Loki Mode skill)](#inside-a-claude-code-session-the-loki-mode-skill)
|
|
23
|
+
- [CLI Commands](#cli-commands)
|
|
24
|
+
- [Dashboard API](#dashboard-api)
|
|
25
|
+
- [Sync Behavior](#sync-behavior)
|
|
26
|
+
- [Error Handling](#error-handling)
|
|
27
|
+
- [gh CLI Quick Reference](#gh-cli-quick-reference)
|
|
28
|
+
<!-- TOC:END -->
|
|
29
|
+
|
|
3
30
|
**When:** Importing issues from GitHub, creating PRs, syncing task status back
|
|
4
31
|
|
|
5
32
|
> **Requires:** `gh` CLI authenticated (`gh auth status`)
|
package/skills/healing.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Legacy System Healing
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Research Foundation](#research-foundation)
|
|
7
|
+
- [When to Load This Module](#when-to-load-this-module)
|
|
8
|
+
- [Core Principles](#core-principles)
|
|
9
|
+
- [1. Friction is Semantics (Amazon AGI Lab)](#1-friction-is-semantics-amazon-agi-lab)
|
|
10
|
+
- [2. Characterize Before Modifying (Feathers)](#2-characterize-before-modifying-feathers)
|
|
11
|
+
- [3. Strangler Fig Pattern (Fowler)](#3-strangler-fig-pattern-fowler)
|
|
12
|
+
- [4. Anti-Corruption Layer (Evans, DDD)](#4-anti-corruption-layer-evans-ddd)
|
|
13
|
+
- [5. System-Boundary Verification (RepoMod-Bench)](#5-system-boundary-verification-repomod-bench)
|
|
14
|
+
- [Healing Pipeline](#healing-pipeline)
|
|
15
|
+
- [Phase Gates](#phase-gates)
|
|
16
|
+
- [Healing RARV Cycle](#healing-rarv-cycle)
|
|
17
|
+
- [RARV-C Closure Flags (v7.5.0+)](#rarv-c-closure-flags-v750)
|
|
18
|
+
- [Structured Fault Injection (Honest Alternative to RL Gyms)](#structured-fault-injection-honest-alternative-to-rl-gyms)
|
|
19
|
+
- [Multi-Agent Decomposition (AWS Transform Pattern)](#multi-agent-decomposition-aws-transform-pattern)
|
|
20
|
+
- [Health Score Formula](#health-score-formula)
|
|
21
|
+
- [Healing-Specific Code Review](#healing-specific-code-review)
|
|
22
|
+
- [Healing Metrics](#healing-metrics)
|
|
23
|
+
- [Golden-master boundary equivalence (modernize -> validate gate)](#golden-master-boundary-equivalence-modernize---validate-gate)
|
|
24
|
+
- [Healing Signals](#healing-signals)
|
|
25
|
+
- [Environment Variables](#environment-variables)
|
|
26
|
+
- [Known Limitations](#known-limitations)
|
|
27
|
+
- [Quick Reference](#quick-reference)
|
|
28
|
+
- [Checkpoint metadata hardening (v7.5.8)](#checkpoint-metadata-hardening-v758)
|
|
29
|
+
<!-- TOC:END -->
|
|
30
|
+
|
|
3
31
|
## Research Foundation
|
|
4
32
|
|
|
5
33
|
This module synthesizes ideas from multiple validated sources. Each technique is cited.
|
package/skills/magic-modules.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Magic Modules Skill
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Research Foundation](#research-foundation)
|
|
7
|
+
- [When to Load This Module](#when-to-load-this-module)
|
|
8
|
+
- [Core Concept](#core-concept)
|
|
9
|
+
- [1. Spec-First Generation (MagicModules -- Roman Nurik)](#1-spec-first-generation-magicmodules----roman-nurik)
|
|
10
|
+
- [2. Multi-Persona Debate (MoMoA -- Reto Meier)](#2-multi-persona-debate-momoa----reto-meier)
|
|
11
|
+
- [Commands](#commands)
|
|
12
|
+
- [Workflow Integration](#workflow-integration)
|
|
13
|
+
- [With RARV Cycle](#with-rarv-cycle)
|
|
14
|
+
- [With Documentation System (`loki docs`)](#with-documentation-system-loki-docs)
|
|
15
|
+
- [With Git Intelligence](#with-git-intelligence)
|
|
16
|
+
- [With Quality Gates](#with-quality-gates)
|
|
17
|
+
- [File Layout](#file-layout)
|
|
18
|
+
- [Design Tokens](#design-tokens)
|
|
19
|
+
- [Generation Targets](#generation-targets)
|
|
20
|
+
- [Debate Personas](#debate-personas)
|
|
21
|
+
- [Anti-Patterns](#anti-patterns)
|
|
22
|
+
- [Quick Reference](#quick-reference)
|
|
23
|
+
- [Integration with Other Skills](#integration-with-other-skills)
|
|
24
|
+
- [See Also](#see-also)
|
|
25
|
+
<!-- TOC:END -->
|
|
26
|
+
|
|
3
27
|
## Research Foundation
|
|
4
28
|
|
|
5
29
|
| Source | Key Contribution | Citation |
|
package/skills/memory.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Memory Integration (v7.2.0+)
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Flag hierarchy](#flag-hierarchy)
|
|
7
|
+
- [Schema mapping](#schema-mapping)
|
|
8
|
+
- [How RARV-C uses managed memory](#how-rarv-c-uses-managed-memory)
|
|
9
|
+
- [REASON phase (read augment)](#reason-phase-read-augment)
|
|
10
|
+
- [REFLECT/VERIFY phase (shadow-write)](#reflectverify-phase-shadow-write)
|
|
11
|
+
- [Completion council (augment + verdict)](#completion-council-augment--verdict)
|
|
12
|
+
- [Session-boot hydrate](#session-boot-hydrate)
|
|
13
|
+
- [Multiagent council (research preview)](#multiagent-council-research-preview)
|
|
14
|
+
- [Cross-session learning](#cross-session-learning)
|
|
15
|
+
- [PII redaction](#pii-redaction)
|
|
16
|
+
- [Observability](#observability)
|
|
17
|
+
- [Honest disclosure: what is NOT tested](#honest-disclosure-what-is-not-tested)
|
|
18
|
+
- [Rollback](#rollback)
|
|
19
|
+
- [Troubleshooting](#troubleshooting)
|
|
20
|
+
- [References](#references)
|
|
21
|
+
<!-- TOC:END -->
|
|
22
|
+
|
|
3
23
|
Loki Mode ships two memory layers:
|
|
4
24
|
|
|
5
25
|
1. **Local memory** (`.loki/memory/`) -- project-scoped, authoritative, versioned
|
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Model Selection & Task Tool
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Session-Pinned Model (default)](#session-pinned-model-default)
|
|
7
|
+
- [Fable 5 (top-tier advisory model)](#fable-5-top-tier-advisory-model)
|
|
8
|
+
- [Mid-flight model switching](#mid-flight-model-switching)
|
|
9
|
+
- [Architecture-tier opt-in: `LOKI_FABLE_ARCHITECT`](#architecture-tier-opt-in-loki_fable_architect)
|
|
10
|
+
- [Financial / physical-stakes work (manual override, by design)](#financial--physical-stakes-work-manual-override-by-design)
|
|
11
|
+
- [Cost estimate honesty](#cost-estimate-honesty)
|
|
12
|
+
- [Multi-Provider Support (v5.0.0)](#multi-provider-support-v500)
|
|
13
|
+
- [Abstract Model Tiers](#abstract-model-tiers)
|
|
14
|
+
- [Enabling Haiku](#enabling-haiku)
|
|
15
|
+
- [Model Selection by SDLC Phase](#model-selection-by-sdlc-phase)
|
|
16
|
+
- [Task Tool Examples (Claude Only)](#task-tool-examples-claude-only)
|
|
17
|
+
- [Provider Detection in Code](#provider-detection-in-code)
|
|
18
|
+
- [Task Categories](#task-categories)
|
|
19
|
+
- [Parallelization Strategy (Claude Only)](#parallelization-strategy-claude-only)
|
|
20
|
+
- [Extended Thinking Mode](#extended-thinking-mode)
|
|
21
|
+
- [Claude Adaptive Thinking (Effort Parameter)](#claude-adaptive-thinking-effort-parameter)
|
|
22
|
+
- [Codex --sandbox workspace-write Flag](#codex---sandbox-workspace-write-flag)
|
|
23
|
+
- [Prompt Repetition for Haiku](#prompt-repetition-for-haiku)
|
|
24
|
+
- [Advanced Parameters](#advanced-parameters)
|
|
25
|
+
- [Confidence-Based Routing](#confidence-based-routing)
|
|
26
|
+
- [Tiered Agent Escalation Triggers](#tiered-agent-escalation-triggers)
|
|
27
|
+
- [Tier Definitions](#tier-definitions)
|
|
28
|
+
- [Automatic Escalation Triggers](#automatic-escalation-triggers)
|
|
29
|
+
- [Threshold Rationale](#threshold-rationale)
|
|
30
|
+
- [Always-HIGH Triggers (No Escalation Path)](#always-high-triggers-no-escalation-path)
|
|
31
|
+
- [De-escalation Triggers (Cost Optimization)](#de-escalation-triggers-cost-optimization)
|
|
32
|
+
- [Escalation Flow Diagram](#escalation-flow-diagram)
|
|
33
|
+
- [Implementation in Provider Context](#implementation-in-provider-context)
|
|
34
|
+
- [Metrics for Tier Optimization](#metrics-for-tier-optimization)
|
|
35
|
+
<!-- TOC:END -->
|
|
36
|
+
|
|
3
37
|
## Session-Pinned Model (default)
|
|
4
38
|
|
|
5
39
|
Since v6.81.0, the main RARV loop uses **one pinned model per session** instead of rotating models per RARV phase. This eliminates per-iteration tier churn and keeps the main loop behavior predictable.
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# OpenSpec Integration
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [When This Module Applies](#when-this-module-applies)
|
|
7
|
+
- [Delta-Aware Development Rules](#delta-aware-development-rules)
|
|
8
|
+
- [ADDED Requirements](#added-requirements)
|
|
9
|
+
- [MODIFIED Requirements](#modified-requirements)
|
|
10
|
+
- [REMOVED Requirements](#removed-requirements)
|
|
11
|
+
- [Task Execution](#task-execution)
|
|
12
|
+
- [Scenario Verification](#scenario-verification)
|
|
13
|
+
- [Source Mapping](#source-mapping)
|
|
14
|
+
- [Complexity Levels](#complexity-levels)
|
|
15
|
+
- [Output Files Reference](#output-files-reference)
|
|
16
|
+
- [Common Mistakes](#common-mistakes)
|
|
17
|
+
<!-- TOC:END -->
|
|
18
|
+
|
|
3
19
|
> **Reference:** OpenSpec delta specs use ADDED/MODIFIED/REMOVED sections to describe changes to existing system behavior. See `.loki/openspec/delta-context.json` for the parsed delta context injected into your prompt.
|
|
4
20
|
|
|
5
21
|
---
|
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Parallel Workflows with Git Worktrees
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Why Worktree-Based Parallelism](#why-worktree-based-parallelism)
|
|
7
|
+
- [Parallel Work Streams](#parallel-work-streams)
|
|
8
|
+
- [Worktree Management Commands](#worktree-management-commands)
|
|
9
|
+
- [Create Feature Worktree](#create-feature-worktree)
|
|
10
|
+
- [Create Testing Worktree (based on main)](#create-testing-worktree-based-on-main)
|
|
11
|
+
- [Merge Completed Work](#merge-completed-work)
|
|
12
|
+
- [List and Clean Worktrees](#list-and-clean-worktrees)
|
|
13
|
+
- [Orchestrator Workflow](#orchestrator-workflow)
|
|
14
|
+
- [Supervisor / Judge Pattern](#supervisor--judge-pattern)
|
|
15
|
+
- [When the supervisor runs](#when-the-supervisor-runs)
|
|
16
|
+
- [Inputs and outputs](#inputs-and-outputs)
|
|
17
|
+
- [Resource state as input](#resource-state-as-input)
|
|
18
|
+
- [Dynamic Resource-Aware Session Concurrency](#dynamic-resource-aware-session-concurrency)
|
|
19
|
+
- [Env knobs (all read in `autonomy/run.sh`)](#env-knobs-all-read-in-autonomyrunsh)
|
|
20
|
+
- [Honest ceiling: dozens, not thousands](#honest-ceiling-dozens-not-thousands)
|
|
21
|
+
- [Claude Session Per Worktree](#claude-session-per-worktree)
|
|
22
|
+
- [Inter-Stream Communication](#inter-stream-communication)
|
|
23
|
+
- [Signal Files](#signal-files)
|
|
24
|
+
- [Workflow Triggers](#workflow-triggers)
|
|
25
|
+
- [Parallel Testing Strategy](#parallel-testing-strategy)
|
|
26
|
+
- [Continuous Testing Worktree](#continuous-testing-worktree)
|
|
27
|
+
- [Parallel Test Execution](#parallel-test-execution)
|
|
28
|
+
- [Documentation Stream](#documentation-stream)
|
|
29
|
+
- [Auto-Documentation Triggers](#auto-documentation-triggers)
|
|
30
|
+
- [Blog Stream (if site has blog)](#blog-stream-if-site-has-blog)
|
|
31
|
+
- [Worktree State Tracking](#worktree-state-tracking)
|
|
32
|
+
- [Orchestrator State Schema](#orchestrator-state-schema)
|
|
33
|
+
- [Dashboard Integration](#dashboard-integration)
|
|
34
|
+
- [Spawn Parallel Streams Script](#spawn-parallel-streams-script)
|
|
35
|
+
- [Optimistic Concurrency Control](#optimistic-concurrency-control)
|
|
36
|
+
- [The Problem with Locks](#the-problem-with-locks)
|
|
37
|
+
- [Optimistic Concurrency Pattern](#optimistic-concurrency-pattern)
|
|
38
|
+
- [Implementation](#implementation)
|
|
39
|
+
- [When to Use](#when-to-use)
|
|
40
|
+
- [Limitations and Considerations](#limitations-and-considerations)
|
|
41
|
+
- [When NOT to Use Worktrees](#when-not-to-use-worktrees)
|
|
42
|
+
- [Merge Conflict Resolution](#merge-conflict-resolution)
|
|
43
|
+
- [Resource Considerations](#resource-considerations)
|
|
44
|
+
- [Integration with Existing Patterns](#integration-with-existing-patterns)
|
|
45
|
+
<!-- TOC:END -->
|
|
46
|
+
|
|
3
47
|
> **Research basis:** Claude Code git worktrees pattern, Anthropic "One Feature at a Time" harness, HN production patterns on context isolation.
|
|
4
48
|
|
|
5
49
|
---
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Advanced Patterns
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Problem Classification with Expert Hints (OptiMind Pattern)](#problem-classification-with-expert-hints-optimind-pattern)
|
|
7
|
+
- [Ensemble Solution Generation (OptiMind Pattern)](#ensemble-solution-generation-optimind-pattern)
|
|
8
|
+
- [Formal State Machines (k8s-valkey-operator Pattern)](#formal-state-machines-k8s-valkey-operator-pattern)
|
|
9
|
+
- [Constitutional AI Self-Critique (Anthropic)](#constitutional-ai-self-critique-anthropic)
|
|
10
|
+
- [Debate-Based Verification (DeepMind)](#debate-based-verification-deepmind)
|
|
11
|
+
- [Code-Only Agent Pattern (rijnard.com)](#code-only-agent-pattern-rijnardcom)
|
|
12
|
+
<!-- TOC:END -->
|
|
13
|
+
|
|
3
14
|
## Problem Classification with Expert Hints (OptiMind Pattern)
|
|
4
15
|
|
|
5
16
|
**Classify problems before solving. Apply domain-specific expert hints.**
|
package/skills/production.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Production Patterns
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [HN 2025 Production Patterns](#hn-2025-production-patterns)
|
|
7
|
+
- [Proactive Context Management (OpenCode Pattern)](#proactive-context-management-opencode-pattern)
|
|
8
|
+
- [Sub-Agents for Context Isolation](#sub-agents-for-context-isolation)
|
|
9
|
+
- [Git Worktree Isolation (Cursor Pattern)](#git-worktree-isolation-cursor-pattern)
|
|
10
|
+
- [Atomic Checkpoint/Rollback (Cursor Pattern)](#atomic-checkpointrollback-cursor-pattern)
|
|
11
|
+
- [CI/CD Automation (Zencoder Patterns)](#cicd-automation-zencoder-patterns)
|
|
12
|
+
- [CI Failure Analysis and Auto-Resolution](#ci-failure-analysis-and-auto-resolution)
|
|
13
|
+
- [Automated Review Comment Resolution](#automated-review-comment-resolution)
|
|
14
|
+
- [Continuous Dependency Management](#continuous-dependency-management)
|
|
15
|
+
- [Batch Processing (Claude API)](#batch-processing-claude-api)
|
|
16
|
+
- [When to Use Batch API](#when-to-use-batch-api)
|
|
17
|
+
- [Batch API Limits](#batch-api-limits)
|
|
18
|
+
- [Implementation Pattern](#implementation-pattern)
|
|
19
|
+
- [Batch + Prompt Caching](#batch--prompt-caching)
|
|
20
|
+
<!-- TOC:END -->
|
|
21
|
+
|
|
3
22
|
## HN 2025 Production Patterns
|
|
4
23
|
|
|
5
24
|
Narrow scope, deterministic outer loops and context engineering live in `references/production-patterns.md` (single source). The sections below cover deployment-side patterns.
|
package/skills/providers.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Multi-Provider Support
|
|
2
2
|
|
|
3
|
+
<!-- TOC:START (generated by scripts/skill-toc.sh; do not edit) -->
|
|
4
|
+
## Contents
|
|
5
|
+
|
|
6
|
+
- [Provider Comparison](#provider-comparison)
|
|
7
|
+
- [Provider Selection](#provider-selection)
|
|
8
|
+
- [Any Model, Any Provider (ANTHROPIC_BASE_URL)](#any-model-any-provider-anthropic_base_url)
|
|
9
|
+
- [Keeping the model catalog current](#keeping-the-model-catalog-current)
|
|
10
|
+
- [Claude Code (Default, Full Features)](#claude-code-default-full-features)
|
|
11
|
+
- [OpenAI Codex CLI (Experimental, Degraded Mode)](#openai-codex-cli-experimental-degraded-mode)
|
|
12
|
+
- [Cline CLI (Tier 2 - Near-Full, 12+ Providers)](#cline-cli-tier-2---near-full-12-providers)
|
|
13
|
+
- [Aider (Tier 3 - Degraded, 18+ Providers)](#aider-tier-3---degraded-18-providers)
|
|
14
|
+
- [opencode (Model-Agnostic, 75+ Providers)](#opencode-model-agnostic-75-providers)
|
|
15
|
+
- [Degraded Mode Behavior](#degraded-mode-behavior)
|
|
16
|
+
- [Provider Configuration Files](#provider-configuration-files)
|
|
17
|
+
- [Choosing a Provider](#choosing-a-provider)
|
|
18
|
+
- [Guardrail Parity (engine10)](#guardrail-parity-engine10)
|
|
19
|
+
<!-- TOC:END -->
|
|
20
|
+
|
|
3
21
|
Loki Mode supports five AI providers for autonomous execution.
|
|
4
22
|
|
|
5
23
|
## Provider Comparison
|