@goondocks/myco 0.14.4 → 0.15.1
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/dist/{agent-run-GZ5UVLDV.js → agent-run-T433ENJS.js} +6 -6
- package/dist/{agent-tasks-KKQ2GBBB.js → agent-tasks-TAIU3V5I.js} +6 -6
- package/dist/{chunk-X34OFKYU.js → chunk-23FJUKCN.js} +2 -2
- package/dist/{chunk-LD6U3L6O.js → chunk-2QMDRZPJ.js} +21 -17
- package/dist/chunk-2QMDRZPJ.js.map +1 -0
- package/dist/{chunk-KNTJOMWY.js → chunk-3MEOYXOW.js} +2 -2
- package/dist/{chunk-PSYLKCWQ.js → chunk-4BQ5QE76.js} +24 -5
- package/dist/chunk-4BQ5QE76.js.map +1 -0
- package/dist/{chunk-UZ5Y6XMP.js → chunk-4O3QNM5I.js} +2 -2
- package/dist/{chunk-JTYZRPX5.js → chunk-5ZT2Q6P5.js} +1 -1
- package/dist/{chunk-BCKYVLUZ.js → chunk-6GG2IVNV.js} +3 -3
- package/dist/{chunk-JJXVDCEX.js → chunk-75J2BR4P.js} +486 -488
- package/dist/chunk-75J2BR4P.js.map +1 -0
- package/dist/{chunk-TFBAV3PV.js → chunk-BFM6AM6R.js} +2 -2
- package/dist/{chunk-S6I62FAH.js → chunk-CUADDHHU.js} +4 -2
- package/dist/{chunk-S6I62FAH.js.map → chunk-CUADDHHU.js.map} +1 -1
- package/dist/{chunk-4VF6KQ2Z.js → chunk-DJQOYEK3.js} +87 -84
- package/dist/chunk-DJQOYEK3.js.map +1 -0
- package/dist/{chunk-OQVKLTQY.js → chunk-EYMKBNRP.js} +2 -2
- package/dist/{chunk-STBNNKL5.js → chunk-GCCBXCHF.js} +6 -6
- package/dist/{chunk-KH64DHOY.js → chunk-GDY63YAW.js} +279 -277
- package/dist/chunk-GDY63YAW.js.map +1 -0
- package/dist/{chunk-ZESTWGJT.js → chunk-GYIA6XLB.js} +2 -2
- package/dist/{chunk-S66YG6QK.js → chunk-LF5Z62X6.js} +46 -7
- package/dist/chunk-LF5Z62X6.js.map +1 -0
- package/dist/{chunk-PX5KIOKY.js → chunk-SPJGJEFV.js} +10 -2
- package/dist/{chunk-PX5KIOKY.js.map → chunk-SPJGJEFV.js.map} +1 -1
- package/dist/{chunk-QFMBZ72S.js → chunk-SV6UCB2Z.js} +2 -2
- package/dist/{chunk-GMTWRMLP.js → chunk-TQO4PF5K.js} +3 -3
- package/dist/{chunk-NVCGF2DS.js → chunk-X4XFJG6I.js} +10 -6
- package/dist/chunk-X4XFJG6I.js.map +1 -0
- package/dist/{chunk-TNCBMGWB.js → chunk-X5IXK5KO.js} +262 -226
- package/dist/chunk-X5IXK5KO.js.map +1 -0
- package/dist/{chunk-TVV6PZOC.js → chunk-Z7TZJ2SP.js} +2 -2
- package/dist/{cli-JLDCZ77U.js → cli-W37MRZHD.js} +45 -44
- package/dist/cli-W37MRZHD.js.map +1 -0
- package/dist/{client-LRQMMKLP.js → client-YNTTC75R.js} +4 -4
- package/dist/{config-H657SF6B.js → config-MOWCOJJ4.js} +4 -4
- package/dist/{detect-27DN6UTL.js → detect-GFYKKHLJ.js} +3 -3
- package/dist/{detect-providers-PAVE2X6O.js → detect-providers-EU35RUL3.js} +2 -2
- package/dist/{doctor-IG3CXMI7.js → doctor-PAAQU5AS.js} +38 -19
- package/dist/doctor-PAAQU5AS.js.map +1 -0
- package/dist/{executor-HKNINUWO.js → executor-4OXDK4ZA.js} +790 -312
- package/dist/executor-4OXDK4ZA.js.map +1 -0
- package/dist/{init-RHQUINC2.js → init-PHQAQANR.js} +41 -23
- package/dist/init-PHQAQANR.js.map +1 -0
- package/dist/{init-wizard-ZB3JRDLE.js → init-wizard-RFD46XAJ.js} +7 -7
- package/dist/{installer-25TSX4SR.js → installer-BTUNKWOU.js} +2 -2
- package/dist/{llm-T3QVHC3Y.js → llm-D4VWYUK7.js} +4 -4
- package/dist/{loader-WQKVWL5D.js → loader-WC4U5NM5.js} +4 -4
- package/dist/{loader-JQLO6K44.js → loader-WGDVRGLM.js} +6 -4
- package/dist/{logs-LXHPDKUA.js → logs-WFBX2I7C.js} +3 -3
- package/dist/{main-MVXPBP5Z.js → main-ADLCOYKM.js} +2351 -1914
- package/dist/main-ADLCOYKM.js.map +1 -0
- package/dist/{open-CVEMRH3Z.js → open-3VPUP3HD.js} +6 -6
- package/dist/{openai-embeddings-5T5ZP7LO.js → openai-embeddings-SEIV7AM3.js} +2 -2
- package/dist/{openrouter-RD2COFC7.js → openrouter-ELODIZRP.js} +2 -2
- package/dist/{post-compact-ALQ2UGZ7.js → post-compact-5NYLOC46.js} +9 -9
- package/dist/{post-tool-use-SPL7HIYU.js → post-tool-use-SNNXSZ5Y.js} +10 -10
- package/dist/{post-tool-use-failure-B3CUYBTR.js → post-tool-use-failure-POKVXQHY.js} +9 -9
- package/dist/{pre-compact-KPWC4V64.js → pre-compact-ZUICBJEX.js} +9 -9
- package/dist/{provider-check-QN7OGXZA.js → provider-check-B66E5PWS.js} +2 -2
- package/dist/{registry-2XQMCPA6.js → registry-DHWVHXWY.js} +5 -5
- package/dist/{remove-O2WCN6RC.js → remove-SVU2V4Q7.js} +52 -20
- package/dist/remove-SVU2V4Q7.js.map +1 -0
- package/dist/{resolution-events-5EVUEWHS.js → resolution-events-DBCRVZGU.js} +4 -4
- package/dist/{restart-S52VV3SP.js → restart-NBB5CXJ4.js} +7 -7
- package/dist/{search-IOJ5O37S.js → search-YUQZFRZX.js} +6 -6
- package/dist/{server-T4VPK6FU.js → server-NBRX56VL.js} +8 -8
- package/dist/{session-ID6BX72K.js → session-2QP4HMZ5.js} +8 -8
- package/dist/{session-end-I7ZABXRI.js → session-end-NNFBW7CQ.js} +10 -10
- package/dist/{session-start-VPOUY42U.js → session-start-NPNP4IXX.js} +15 -15
- package/dist/{setup-llm-G5UG5N3T.js → setup-llm-C3IGFLRN.js} +8 -8
- package/dist/src/agent/definitions/tasks/full-intelligence.yaml +8 -7
- package/dist/src/agent/definitions/tasks/skill-evolve.yaml +71 -144
- package/dist/src/agent/definitions/tasks/skill-generate.yaml +10 -62
- package/dist/src/agent/definitions/tasks/skill-survey.yaml +87 -53
- package/dist/src/agent/prompts/agent.md +1 -0
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/src/worker/src/schema.ts +14 -0
- package/dist/{stats-GRI4MTS2.js → stats-FEEXIRMS.js} +9 -9
- package/dist/{stop-UTZ2CXI2.js → stop-FGDGWXTK.js} +10 -10
- package/dist/{stop-failure-CECM5NB7.js → stop-failure-5YAGH2TQ.js} +9 -9
- package/dist/{subagent-start-SYZGJYUN.js → subagent-start-UCKVJDR4.js} +9 -9
- package/dist/{subagent-stop-7WWW7TGQ.js → subagent-stop-H25B3QEC.js} +9 -9
- package/dist/{task-completed-N7SIY6T6.js → task-completed-2JGZN2CF.js} +9 -9
- package/dist/{team-SJPDXELY.js → team-TG5WZXWO.js} +34 -26
- package/dist/team-TG5WZXWO.js.map +1 -0
- package/dist/ui/assets/index-7Vimyg7g.js +837 -0
- package/dist/ui/assets/{index-BmsHIwjl.css → index-DlEQ8A8Y.css} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/{update-DZZYQ4NJ.js → update-EG3N2EXI.js} +30 -14
- package/dist/update-EG3N2EXI.js.map +1 -0
- package/dist/{user-prompt-submit-UUNRRS5P.js → user-prompt-submit-7FFQ3ORA.js} +10 -10
- package/dist/{verify-JHIMXTY5.js → verify-2M3DYHEY.js} +6 -6
- package/dist/{version-VKNCAPZW.js → version-JUQU5W22.js} +2 -2
- package/package.json +3 -3
- package/dist/chunk-4VF6KQ2Z.js.map +0 -1
- package/dist/chunk-JJXVDCEX.js.map +0 -1
- package/dist/chunk-KH64DHOY.js.map +0 -1
- package/dist/chunk-LD6U3L6O.js.map +0 -1
- package/dist/chunk-NVCGF2DS.js.map +0 -1
- package/dist/chunk-PSYLKCWQ.js.map +0 -1
- package/dist/chunk-S66YG6QK.js.map +0 -1
- package/dist/chunk-TNCBMGWB.js.map +0 -1
- package/dist/cli-JLDCZ77U.js.map +0 -1
- package/dist/doctor-IG3CXMI7.js.map +0 -1
- package/dist/executor-HKNINUWO.js.map +0 -1
- package/dist/init-RHQUINC2.js.map +0 -1
- package/dist/main-MVXPBP5Z.js.map +0 -1
- package/dist/remove-O2WCN6RC.js.map +0 -1
- package/dist/resolve-3FEUV462.js +0 -9
- package/dist/team-SJPDXELY.js.map +0 -1
- package/dist/ui/assets/index-Cn6cQwJy.js +0 -842
- package/dist/update-DZZYQ4NJ.js.map +0 -1
- package/dist/version-VKNCAPZW.js.map +0 -1
- /package/dist/{agent-run-GZ5UVLDV.js.map → agent-run-T433ENJS.js.map} +0 -0
- /package/dist/{agent-tasks-KKQ2GBBB.js.map → agent-tasks-TAIU3V5I.js.map} +0 -0
- /package/dist/{chunk-X34OFKYU.js.map → chunk-23FJUKCN.js.map} +0 -0
- /package/dist/{chunk-KNTJOMWY.js.map → chunk-3MEOYXOW.js.map} +0 -0
- /package/dist/{chunk-UZ5Y6XMP.js.map → chunk-4O3QNM5I.js.map} +0 -0
- /package/dist/{chunk-JTYZRPX5.js.map → chunk-5ZT2Q6P5.js.map} +0 -0
- /package/dist/{chunk-BCKYVLUZ.js.map → chunk-6GG2IVNV.js.map} +0 -0
- /package/dist/{chunk-TFBAV3PV.js.map → chunk-BFM6AM6R.js.map} +0 -0
- /package/dist/{chunk-OQVKLTQY.js.map → chunk-EYMKBNRP.js.map} +0 -0
- /package/dist/{chunk-STBNNKL5.js.map → chunk-GCCBXCHF.js.map} +0 -0
- /package/dist/{chunk-ZESTWGJT.js.map → chunk-GYIA6XLB.js.map} +0 -0
- /package/dist/{chunk-QFMBZ72S.js.map → chunk-SV6UCB2Z.js.map} +0 -0
- /package/dist/{chunk-GMTWRMLP.js.map → chunk-TQO4PF5K.js.map} +0 -0
- /package/dist/{chunk-TVV6PZOC.js.map → chunk-Z7TZJ2SP.js.map} +0 -0
- /package/dist/{client-LRQMMKLP.js.map → client-YNTTC75R.js.map} +0 -0
- /package/dist/{config-H657SF6B.js.map → config-MOWCOJJ4.js.map} +0 -0
- /package/dist/{detect-27DN6UTL.js.map → detect-GFYKKHLJ.js.map} +0 -0
- /package/dist/{detect-providers-PAVE2X6O.js.map → detect-providers-EU35RUL3.js.map} +0 -0
- /package/dist/{init-wizard-ZB3JRDLE.js.map → init-wizard-RFD46XAJ.js.map} +0 -0
- /package/dist/{installer-25TSX4SR.js.map → installer-BTUNKWOU.js.map} +0 -0
- /package/dist/{llm-T3QVHC3Y.js.map → llm-D4VWYUK7.js.map} +0 -0
- /package/dist/{loader-JQLO6K44.js.map → loader-WC4U5NM5.js.map} +0 -0
- /package/dist/{loader-WQKVWL5D.js.map → loader-WGDVRGLM.js.map} +0 -0
- /package/dist/{logs-LXHPDKUA.js.map → logs-WFBX2I7C.js.map} +0 -0
- /package/dist/{open-CVEMRH3Z.js.map → open-3VPUP3HD.js.map} +0 -0
- /package/dist/{openai-embeddings-5T5ZP7LO.js.map → openai-embeddings-SEIV7AM3.js.map} +0 -0
- /package/dist/{openrouter-RD2COFC7.js.map → openrouter-ELODIZRP.js.map} +0 -0
- /package/dist/{post-compact-ALQ2UGZ7.js.map → post-compact-5NYLOC46.js.map} +0 -0
- /package/dist/{post-tool-use-SPL7HIYU.js.map → post-tool-use-SNNXSZ5Y.js.map} +0 -0
- /package/dist/{post-tool-use-failure-B3CUYBTR.js.map → post-tool-use-failure-POKVXQHY.js.map} +0 -0
- /package/dist/{pre-compact-KPWC4V64.js.map → pre-compact-ZUICBJEX.js.map} +0 -0
- /package/dist/{provider-check-QN7OGXZA.js.map → provider-check-B66E5PWS.js.map} +0 -0
- /package/dist/{registry-2XQMCPA6.js.map → registry-DHWVHXWY.js.map} +0 -0
- /package/dist/{resolution-events-5EVUEWHS.js.map → resolution-events-DBCRVZGU.js.map} +0 -0
- /package/dist/{restart-S52VV3SP.js.map → restart-NBB5CXJ4.js.map} +0 -0
- /package/dist/{search-IOJ5O37S.js.map → search-YUQZFRZX.js.map} +0 -0
- /package/dist/{server-T4VPK6FU.js.map → server-NBRX56VL.js.map} +0 -0
- /package/dist/{session-ID6BX72K.js.map → session-2QP4HMZ5.js.map} +0 -0
- /package/dist/{session-end-I7ZABXRI.js.map → session-end-NNFBW7CQ.js.map} +0 -0
- /package/dist/{session-start-VPOUY42U.js.map → session-start-NPNP4IXX.js.map} +0 -0
- /package/dist/{setup-llm-G5UG5N3T.js.map → setup-llm-C3IGFLRN.js.map} +0 -0
- /package/dist/{stats-GRI4MTS2.js.map → stats-FEEXIRMS.js.map} +0 -0
- /package/dist/{stop-UTZ2CXI2.js.map → stop-FGDGWXTK.js.map} +0 -0
- /package/dist/{stop-failure-CECM5NB7.js.map → stop-failure-5YAGH2TQ.js.map} +0 -0
- /package/dist/{subagent-start-SYZGJYUN.js.map → subagent-start-UCKVJDR4.js.map} +0 -0
- /package/dist/{subagent-stop-7WWW7TGQ.js.map → subagent-stop-H25B3QEC.js.map} +0 -0
- /package/dist/{task-completed-N7SIY6T6.js.map → task-completed-2JGZN2CF.js.map} +0 -0
- /package/dist/{user-prompt-submit-UUNRRS5P.js.map → user-prompt-submit-7FFQ3ORA.js.map} +0 -0
- /package/dist/{verify-JHIMXTY5.js.map → verify-2M3DYHEY.js.map} +0 -0
- /package/dist/{resolve-3FEUV462.js.map → version-JUQU5W22.js.map} +0 -0
|
@@ -2,25 +2,25 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
withEmbedding
|
|
4
4
|
} from "./chunk-SODRR3HE.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-6GG2IVNV.js";
|
|
6
6
|
import {
|
|
7
7
|
parseStringFlag
|
|
8
8
|
} from "./chunk-SAKJMNSR.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-X5IXK5KO.js";
|
|
10
10
|
import "./chunk-HHZ3RTEI.js";
|
|
11
11
|
import {
|
|
12
12
|
loadConfig,
|
|
13
13
|
updateConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4BQ5QE76.js";
|
|
15
15
|
import "./chunk-MYX5NCRH.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-4O3QNM5I.js";
|
|
17
|
+
import "./chunk-BFM6AM6R.js";
|
|
18
18
|
import "./chunk-LPUQPDC2.js";
|
|
19
19
|
import "./chunk-TRA3R4EC.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-CUADDHHU.js";
|
|
21
21
|
import "./chunk-D7TYRPRM.js";
|
|
22
22
|
import "./chunk-E4VLWIJC.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-GDY63YAW.js";
|
|
24
24
|
import "./chunk-PZUWP5VK.js";
|
|
25
25
|
|
|
26
26
|
// src/cli/setup-llm.ts
|
|
@@ -79,4 +79,4 @@ async function run(args, vaultDir) {
|
|
|
79
79
|
export {
|
|
80
80
|
run
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=setup-llm-
|
|
82
|
+
//# sourceMappingURL=setup-llm-C3IGFLRN.js.map
|
|
@@ -17,7 +17,7 @@ description: >
|
|
|
17
17
|
regenerates digest extracts.
|
|
18
18
|
agent: myco-agent
|
|
19
19
|
isDefault: true
|
|
20
|
-
maxTurns:
|
|
20
|
+
maxTurns: 150
|
|
21
21
|
timeoutSeconds: 1800
|
|
22
22
|
model: claude-sonnet-4-6
|
|
23
23
|
|
|
@@ -77,6 +77,7 @@ phases:
|
|
|
77
77
|
- vault_report
|
|
78
78
|
maxTurns: 6
|
|
79
79
|
required: true
|
|
80
|
+
readOnly: true
|
|
80
81
|
|
|
81
82
|
- name: extract
|
|
82
83
|
dependsOn: [read-state]
|
|
@@ -235,7 +236,7 @@ phases:
|
|
|
235
236
|
- vault_create_spore
|
|
236
237
|
- vault_resolve_spore
|
|
237
238
|
- vault_report
|
|
238
|
-
maxTurns:
|
|
239
|
+
maxTurns: 25
|
|
239
240
|
required: false
|
|
240
241
|
|
|
241
242
|
- name: graph
|
|
@@ -293,7 +294,7 @@ phases:
|
|
|
293
294
|
- vault_create_entity
|
|
294
295
|
- vault_create_edge
|
|
295
296
|
- vault_report
|
|
296
|
-
maxTurns:
|
|
297
|
+
maxTurns: 35
|
|
297
298
|
required: false
|
|
298
299
|
|
|
299
300
|
# ---- Digest: assess + 3 parallel tier writes ----
|
|
@@ -362,7 +363,7 @@ phases:
|
|
|
362
363
|
- vault_search_semantic
|
|
363
364
|
- vault_read_digest
|
|
364
365
|
- vault_report
|
|
365
|
-
maxTurns:
|
|
366
|
+
maxTurns: 10
|
|
366
367
|
required: true
|
|
367
368
|
|
|
368
369
|
- name: digest-10000
|
|
@@ -394,7 +395,7 @@ phases:
|
|
|
394
395
|
- vault_read_digest
|
|
395
396
|
- vault_write_digest
|
|
396
397
|
- vault_report
|
|
397
|
-
maxTurns:
|
|
398
|
+
maxTurns: 9
|
|
398
399
|
required: false
|
|
399
400
|
|
|
400
401
|
- name: digest-5000
|
|
@@ -425,7 +426,7 @@ phases:
|
|
|
425
426
|
- vault_read_digest
|
|
426
427
|
- vault_write_digest
|
|
427
428
|
- vault_report
|
|
428
|
-
maxTurns:
|
|
429
|
+
maxTurns: 7
|
|
429
430
|
required: false
|
|
430
431
|
|
|
431
432
|
- name: digest-1500
|
|
@@ -456,7 +457,7 @@ phases:
|
|
|
456
457
|
- vault_read_digest
|
|
457
458
|
- vault_write_digest
|
|
458
459
|
- vault_report
|
|
459
|
-
maxTurns:
|
|
460
|
+
maxTurns: 5
|
|
460
461
|
required: false
|
|
461
462
|
|
|
462
463
|
- name: report
|
|
@@ -2,106 +2,66 @@ name: skill-evolve
|
|
|
2
2
|
displayName: Skill Evolution
|
|
3
3
|
description: >-
|
|
4
4
|
Evaluate and evolve existing Myco-managed skills based on new
|
|
5
|
-
vault knowledge
|
|
5
|
+
vault knowledge. Only assesses skills with new knowledge since
|
|
6
|
+
their last assessment, throttled to once per assess_interval_hours.
|
|
6
7
|
agent: myco-agent
|
|
7
8
|
prompt: >-
|
|
8
|
-
Assess
|
|
9
|
-
|
|
9
|
+
Assess and update skills that have new knowledge since their last
|
|
10
|
+
assessment. The instruction contains pre-filtered skills with their
|
|
11
|
+
current content and new spore IDs.
|
|
10
12
|
isDefault: false
|
|
11
13
|
model: claude-sonnet-4-6
|
|
12
|
-
maxTurns:
|
|
13
|
-
timeoutSeconds:
|
|
14
|
+
maxTurns: 40
|
|
15
|
+
timeoutSeconds: 1200
|
|
14
16
|
schedule:
|
|
15
17
|
enabled: false
|
|
16
18
|
intervalSeconds: 900
|
|
17
19
|
runIn:
|
|
18
20
|
- idle
|
|
19
21
|
preCondition: has-active-skills
|
|
22
|
+
params:
|
|
23
|
+
assess_interval_hours: 24
|
|
24
|
+
max_skills_per_run: 5
|
|
20
25
|
phases:
|
|
21
26
|
- name: assess
|
|
22
27
|
prompt: |
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Classify each skill — bias toward CURRENT. A rewrite has
|
|
56
|
-
real cost (can lose valuable detail, regress triggering quality).
|
|
57
|
-
Only classify as STALE/CONFLICTED when the delta is substantive:
|
|
58
|
-
|
|
59
|
-
- **CURRENT**: Content is still accurate. Minor phrasing
|
|
60
|
-
differences between the skill and new knowledge do NOT make
|
|
61
|
-
it stale. If the skill already covers the topic correctly
|
|
62
|
-
— even if newer spores phrase it differently — it is CURRENT.
|
|
63
|
-
- **STALE**: New *factual* knowledge exists that the skill
|
|
64
|
-
genuinely misses — a new concrete step, a changed file path,
|
|
65
|
-
a new gotcha that would cause real failure, a new pattern
|
|
66
|
-
that replaces one the skill teaches. The new knowledge must
|
|
67
|
-
be specific and actionable, not a rephrasing of existing
|
|
68
|
-
content. Note specifically WHAT is new/changed.
|
|
69
|
-
- **CONFLICTED**: New knowledge directly contradicts the skill's
|
|
70
|
-
current content (a decision was reversed, a pattern was
|
|
71
|
-
abandoned, a file was deleted). Note the contradiction.
|
|
72
|
-
- **OVERSIZED**: Covers too many distinct procedures. Note
|
|
73
|
-
how it should be split.
|
|
74
|
-
|
|
75
|
-
When in doubt, classify as CURRENT. A skill that is 90%
|
|
76
|
-
accurate and well-structured is better left alone than
|
|
77
|
-
rewritten with the risk of losing detail.
|
|
78
|
-
|
|
79
|
-
NOTE: Skip usage-based retirement for now — usage tracking is
|
|
80
|
-
not yet active. Do not classify skills as UNUSED.
|
|
81
|
-
|
|
82
|
-
Store classifications using vault_set_state with key
|
|
83
|
-
'skill-evolve-classifications' and value as a JSON object:
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"skill-name": {
|
|
87
|
-
"classification": "CURRENT|STALE|CONFLICTED|OVERSIZED",
|
|
88
|
-
"rationale": "what changed and why",
|
|
89
|
-
"new_knowledge": ["list of specific new findings"]
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Report classifications via vault_report.
|
|
28
|
+
The instruction contains skills that have new knowledge since
|
|
29
|
+
their last assessment. For each skill listed:
|
|
30
|
+
|
|
31
|
+
1. Read the new spores: fetch each ID from new_spore_ids via
|
|
32
|
+
vault_spores. Understand what changed.
|
|
33
|
+
|
|
34
|
+
2. Verify code references: use vault_search_fts to check 3-5
|
|
35
|
+
key file paths and function names from the skill content.
|
|
36
|
+
Are they still valid? This is bounded — check specific
|
|
37
|
+
claims, do not search broadly.
|
|
38
|
+
|
|
39
|
+
3. Classify:
|
|
40
|
+
- CURRENT — new knowledge doesn't affect this skill's procedures
|
|
41
|
+
- STALE — new knowledge changes a specific step, path, or gotcha.
|
|
42
|
+
Note exactly WHAT is new.
|
|
43
|
+
- DEPRECATED — key code references are gone or the procedure
|
|
44
|
+
is no longer relevant. Note what's missing.
|
|
45
|
+
|
|
46
|
+
Bias toward CURRENT. A skill that is 90% accurate is better
|
|
47
|
+
left alone than rewritten with the risk of losing detail.
|
|
48
|
+
|
|
49
|
+
4. Update the skill's properties with the new watermark:
|
|
50
|
+
vault_skill_records (action: update, id: <skill_id>,
|
|
51
|
+
properties: '{"last_assessed_at": <now>, "knowledge_watermark": <now>, "last_classification": "<classification>"}')
|
|
52
|
+
|
|
53
|
+
5. Store classifications via vault_set_state
|
|
54
|
+
(key: skill-evolve-classifications) as JSON.
|
|
55
|
+
|
|
56
|
+
Report via vault_report.
|
|
57
|
+
|
|
58
|
+
If the instruction says "No skills need assessment", report
|
|
59
|
+
skip via vault_report and finish immediately.
|
|
95
60
|
tools:
|
|
96
|
-
- vault_skill_records
|
|
97
61
|
- vault_spores
|
|
98
|
-
- vault_sessions
|
|
99
62
|
- vault_search_fts
|
|
100
|
-
-
|
|
101
|
-
- vault_read_digest
|
|
102
|
-
- vault_state
|
|
63
|
+
- vault_skill_records
|
|
103
64
|
- vault_set_state
|
|
104
|
-
- vault_edges
|
|
105
65
|
- vault_report
|
|
106
66
|
maxTurns: 20
|
|
107
67
|
required: true
|
|
@@ -111,77 +71,44 @@ phases:
|
|
|
111
71
|
Read classifications from vault_state
|
|
112
72
|
(key: skill-evolve-classifications). Parse the JSON.
|
|
113
73
|
|
|
114
|
-
For each skill classified as STALE
|
|
74
|
+
For each skill classified as STALE or DEPRECATED:
|
|
115
75
|
|
|
116
|
-
## STALE
|
|
76
|
+
## STALE — Targeted update
|
|
117
77
|
|
|
118
78
|
1. Read the current skill content from vault_skill_records
|
|
119
|
-
(action: get)
|
|
120
|
-
|
|
121
|
-
2.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
Most procedural skills need: Read, Edit, Write, Bash, Grep, Glob
|
|
145
|
-
Read-only informational skills need: Read, Bash, Grep, Glob
|
|
146
|
-
|
|
147
|
-
- Preserve all content that is still accurate — do NOT
|
|
148
|
-
restructure or rephrase sections that are correct. Only
|
|
149
|
-
modify the specific sections affected by the new knowledge.
|
|
150
|
-
- Incorporate the new knowledge identified in assessment
|
|
151
|
-
- Follow the same SKILL.md format:
|
|
152
|
-
- Prerequisites, Steps, Common Pitfalls structure
|
|
153
|
-
- Stay under 500 lines
|
|
154
|
-
- Include a rationale parameter explaining WHAT changed:
|
|
155
|
-
e.g., "Updated: added hookFields normalization step from
|
|
156
|
-
session dd5bc83a, corrected Windsurf MCP path"
|
|
157
|
-
|
|
158
|
-
vault_write_skill automatically bumps the generation and
|
|
159
|
-
creates a lineage entry with the rationale.
|
|
160
|
-
|
|
161
|
-
## OVERSIZED — Split into focused sub-skills
|
|
162
|
-
|
|
163
|
-
1. Identify distinct procedures within the skill.
|
|
164
|
-
2. Write each as a new skill via vault_write_skill.
|
|
165
|
-
Each sub-skill gets its own name, description, and content.
|
|
166
|
-
3. Retire the parent via vault_skill_records
|
|
167
|
-
(action: update, status: retired).
|
|
168
|
-
|
|
169
|
-
## CURRENT — No action needed. Skip.
|
|
170
|
-
|
|
171
|
-
Report a summary of all actions taken via vault_report:
|
|
172
|
-
- Which skills were updated (with rationale)
|
|
173
|
-
- Which skills were split (into what)
|
|
174
|
-
- Which skills were left as CURRENT
|
|
79
|
+
(action: get).
|
|
80
|
+
|
|
81
|
+
2. START from the existing content as-is. Copy it verbatim.
|
|
82
|
+
Then make ONLY the specific changes needed — insert new
|
|
83
|
+
sections, update incorrect facts, add missing steps.
|
|
84
|
+
|
|
85
|
+
The diff between old and new should be MINIMAL.
|
|
86
|
+
|
|
87
|
+
Protected frontmatter rules (vault_write_skill enforces
|
|
88
|
+
these and will REJECT writes that violate them):
|
|
89
|
+
- user-invocable: copy EXACT value from existing skill
|
|
90
|
+
- allowed-tools: copy EXACT value from existing skill
|
|
91
|
+
- description: do not shorten (>10% reduction is rejected)
|
|
92
|
+
|
|
93
|
+
3. Write via vault_write_skill with a rationale explaining
|
|
94
|
+
what specifically changed.
|
|
95
|
+
|
|
96
|
+
## DEPRECATED — Retire the skill
|
|
97
|
+
|
|
98
|
+
1. vault_skill_records (action: update, status: retired)
|
|
99
|
+
2. vault_skill_records (action: delete)
|
|
100
|
+
|
|
101
|
+
## CURRENT — No action. Skip.
|
|
102
|
+
|
|
103
|
+
Report all actions via vault_report.
|
|
175
104
|
tools:
|
|
176
105
|
- vault_write_skill
|
|
177
106
|
- vault_skill_records
|
|
178
107
|
- vault_skill_candidates
|
|
179
108
|
- vault_state
|
|
180
|
-
- vault_spores
|
|
181
109
|
- vault_search_fts
|
|
182
|
-
- vault_search_semantic
|
|
183
110
|
- vault_report
|
|
184
|
-
maxTurns:
|
|
111
|
+
maxTurns: 20
|
|
185
112
|
required: true
|
|
186
113
|
dependsOn:
|
|
187
114
|
- assess
|
|
@@ -6,11 +6,11 @@ description: >-
|
|
|
6
6
|
agent: myco-agent
|
|
7
7
|
prompt: >-
|
|
8
8
|
Generate ONE project-specific skill from the next approved candidate.
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
The instruction contains the candidate metadata and pre-assembled
|
|
10
|
+
source material. Write the skill, then validate it.
|
|
11
11
|
isDefault: false
|
|
12
12
|
model: claude-sonnet-4-6
|
|
13
|
-
maxTurns:
|
|
13
|
+
maxTurns: 30
|
|
14
14
|
timeoutSeconds: 900
|
|
15
15
|
schedule:
|
|
16
16
|
enabled: false
|
|
@@ -19,62 +19,12 @@ schedule:
|
|
|
19
19
|
- idle
|
|
20
20
|
preCondition: has-approved-candidates
|
|
21
21
|
phases:
|
|
22
|
-
- name: gather
|
|
23
|
-
prompt: |
|
|
24
|
-
You are generating ONE skill. Find the first approved candidate
|
|
25
|
-
that doesn't have a skill yet.
|
|
26
|
-
|
|
27
|
-
If an instruction provides a candidate ID, use that specific one.
|
|
28
|
-
Otherwise, use vault_skill_candidates (action: list, status: approved)
|
|
29
|
-
and pick the FIRST result. Process ONLY that one candidate —
|
|
30
|
-
do not attempt to generate multiple skills in this run.
|
|
31
|
-
|
|
32
|
-
Read the candidate. If its skill_id is set or status is 'generated',
|
|
33
|
-
it already has a skill — report "already generated" and STOP.
|
|
34
|
-
Do NOT skip based on similar topics. The user approved it.
|
|
35
|
-
|
|
36
|
-
If no skill exists, gather ALL source material for this candidate:
|
|
37
|
-
|
|
38
|
-
1. Read each source item referenced in the candidate's source_ids.
|
|
39
|
-
Use vault_spores to fetch spore IDs, vault_sessions to fetch
|
|
40
|
-
session IDs. These contain the detailed knowledge.
|
|
41
|
-
|
|
42
|
-
2. Search for additional context using vault_search_semantic with
|
|
43
|
-
the candidate's topic as the query. This may surface plans,
|
|
44
|
-
artifacts, and sessions not in the source_ids.
|
|
45
|
-
|
|
46
|
-
3. Search vault_search_fts for specific file paths, function names,
|
|
47
|
-
or config keys mentioned in the source material.
|
|
48
|
-
|
|
49
|
-
4. Check vault_entities for related entities — these often link
|
|
50
|
-
to additional spores via edges.
|
|
51
|
-
|
|
52
|
-
For each source, extract:
|
|
53
|
-
- Concrete steps (what to do, in what order)
|
|
54
|
-
- File paths and code patterns (specific to this project)
|
|
55
|
-
- Gotchas and pitfalls (things that went wrong)
|
|
56
|
-
- Decisions and rationale (why this approach, not another)
|
|
57
|
-
- Prerequisites (what must be true before starting)
|
|
58
|
-
|
|
59
|
-
Be thorough — the skill quality depends entirely on how much
|
|
60
|
-
concrete detail you gather here.
|
|
61
|
-
tools:
|
|
62
|
-
- vault_skill_candidates
|
|
63
|
-
- vault_spores
|
|
64
|
-
- vault_sessions
|
|
65
|
-
- vault_search_fts
|
|
66
|
-
- vault_search_semantic
|
|
67
|
-
- vault_read_digest
|
|
68
|
-
- vault_entities
|
|
69
|
-
- vault_edges
|
|
70
|
-
maxTurns: 10
|
|
71
|
-
required: true
|
|
72
|
-
|
|
73
22
|
- name: draft
|
|
74
23
|
prompt: |
|
|
75
|
-
Write a SKILL.md from the
|
|
76
|
-
|
|
77
|
-
|
|
24
|
+
Write a SKILL.md from the source material in the instruction.
|
|
25
|
+
The instruction contains the candidate ID, topic, rationale,
|
|
26
|
+
and the full text of each source spore and session. Do NOT
|
|
27
|
+
call any search or read tools — the material is already here.
|
|
78
28
|
|
|
79
29
|
## SKILL.md Format
|
|
80
30
|
|
|
@@ -151,16 +101,14 @@ phases:
|
|
|
151
101
|
- display_name: human-readable title
|
|
152
102
|
- description: the frontmatter description text
|
|
153
103
|
- content: the full SKILL.md including frontmatter
|
|
154
|
-
- candidate_id: the candidate ID from the
|
|
155
|
-
- source_ids: JSON array of source item IDs
|
|
104
|
+
- candidate_id: the candidate ID from the instruction
|
|
105
|
+
- source_ids: JSON array of source item IDs from the instruction
|
|
156
106
|
- rationale: "Initial generation from candidate survey"
|
|
157
107
|
tools:
|
|
158
108
|
- vault_write_skill
|
|
159
109
|
- vault_skill_records
|
|
160
110
|
maxTurns: 10
|
|
161
111
|
required: true
|
|
162
|
-
dependsOn:
|
|
163
|
-
- gather
|
|
164
112
|
|
|
165
113
|
- name: validate
|
|
166
114
|
prompt: |
|
|
@@ -209,7 +157,7 @@ phases:
|
|
|
209
157
|
- vault_spores
|
|
210
158
|
- vault_search_fts
|
|
211
159
|
- vault_report
|
|
212
|
-
maxTurns:
|
|
160
|
+
maxTurns: 15
|
|
213
161
|
required: true
|
|
214
162
|
dependsOn:
|
|
215
163
|
- draft
|