@amg555/frameforge-mcp 2.7.6 → 2.7.7
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/plugins/video-pipeline/.claude-plugin/plugin.json +1 -1
- package/plugins/video-pipeline/skills/.upstream-skills.json +1 -1
- package/plugins/video-pipeline/skills/video-pipeline/references/mcp-tools.md +1 -1
- package/scripts/deep-validate.js +2 -2
- package/src/mcp-server/server.js +5 -5
- package/src/skills/sync-upstream.js +3 -3
- package/.agent/skills/ai-video-editor/README.md +0 -32
- package/.agent/skills/ai-video-editor/SKILL.md +0 -152
- package/.agent/skills/ai-video-editor/assets/fonts/fonts.css +0 -2409
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/anton-400.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/archivo-800.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/cabin-sketch-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/dm-sans-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/fraunces-600.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/fraunces-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/fredoka-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/inter-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/inter-800.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/inter-tight-800.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/kalam-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/ttf/noto-sans-devanagari-700.ttf +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/web/noto-sans-devanagari-devanagari-400-normal.woff2 +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/web/noto-sans-devanagari-devanagari-500-normal.woff2 +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/web/noto-sans-devanagari-devanagari-600-normal.woff2 +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/web/noto-sans-devanagari-devanagari-700-normal.woff2 +0 -0
- package/.agent/skills/ai-video-editor/assets/fonts/web/noto-sans-devanagari-devanagari-800-normal.woff2 +0 -0
- package/.agent/skills/ai-video-editor/engine/hidpi.js +0 -117
- package/.agent/skills/ai-video-editor/engine/page.html +0 -43
- package/.agent/skills/ai-video-editor/engine/player.js +0 -145
- package/.agent/skills/ai-video-editor/references/example-story-warm-canvas.js +0 -95
- package/.agent/skills/ai-video-editor/references/story-guide.md +0 -112
- package/.agent/skills/ai-video-editor/requirements.txt +0 -4
- package/.agent/skills/ai-video-editor/styles/chalk-talk/base.js +0 -490
- package/.agent/skills/ai-video-editor/styles/chalk-talk/style.json +0 -14
- package/.agent/skills/ai-video-editor/styles/chalk-talk/style.md +0 -41
- package/.agent/skills/ai-video-editor/styles/clean-tech/base.js +0 -447
- package/.agent/skills/ai-video-editor/styles/clean-tech/style.json +0 -15
- package/.agent/skills/ai-video-editor/styles/clean-tech/style.md +0 -38
- package/.agent/skills/ai-video-editor/styles/creator-motion-graphics/base.js +0 -698
- package/.agent/skills/ai-video-editor/styles/creator-motion-graphics/style.json +0 -16
- package/.agent/skills/ai-video-editor/styles/creator-motion-graphics/style.md +0 -39
- package/.agent/skills/ai-video-editor/styles/data-story/base.js +0 -432
- package/.agent/skills/ai-video-editor/styles/data-story/style.json +0 -14
- package/.agent/skills/ai-video-editor/styles/data-story/style.md +0 -38
- package/.agent/skills/ai-video-editor/styles/index.json +0 -103
- package/.agent/skills/ai-video-editor/styles/pop-info/base.js +0 -570
- package/.agent/skills/ai-video-editor/styles/pop-info/style.json +0 -13
- package/.agent/skills/ai-video-editor/styles/pop-info/style.md +0 -37
- package/.agent/skills/ai-video-editor/styles/software-walkthrough/base.js +0 -544
- package/.agent/skills/ai-video-editor/styles/software-walkthrough/style.json +0 -15
- package/.agent/skills/ai-video-editor/styles/software-walkthrough/style.md +0 -38
- package/.agent/skills/ai-video-editor/styles/warm-canvas/base.js +0 -610
- package/.agent/skills/ai-video-editor/styles/warm-canvas/style.json +0 -14
- package/.agent/skills/ai-video-editor/styles/warm-canvas/style.md +0 -37
- package/.agent/skills/faceless-shorts/README.md +0 -34
- package/.agent/skills/faceless-shorts/SKILL.md +0 -124
- package/.agent/skills/faceless-shorts/styles/deep-dive/STYLE.md +0 -58
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/data/cues.json +0 -140
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/data/lines.json +0 -67
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/data/words.json +0 -614
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/data/words.txt +0 -102
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/fonts/Inter-Black.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/fonts/Inter-ExtraBold.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/index.html +0 -16
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/script.json +0 -27
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/sheet.html +0 -10
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/board.js +0 -62
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/captions.js +0 -68
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/engine.js +0 -65
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/human.js +0 -128
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/lib.js +0 -44
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/look2d.js +0 -33
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/sdf.js +0 -79
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/sets.js +0 -107
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/core/timing.js +0 -23
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/main.js +0 -56
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/sheet.js +0 -79
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/src/shots.js +0 -136
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/tools/capture.mjs +0 -122
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/tools/mix.py +0 -172
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/LICENSE-three.txt +0 -21
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/environments/RoomEnvironment.js +0 -144
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/BokehPass.js +0 -141
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/EffectComposer.js +0 -231
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/MaskPass.js +0 -104
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/OutputPass.js +0 -97
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/Pass.js +0 -95
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/RenderPass.js +0 -99
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/ShaderPass.js +0 -77
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/postprocessing/UnrealBloomPass.js +0 -415
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/shaders/BokehShader.js +0 -145
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/shaders/CopyShader.js +0 -45
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/shaders/LuminosityHighPassShader.js +0 -64
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/addons/shaders/OutputShader.js +0 -85
- package/.agent/skills/faceless-shorts/styles/deep-dive/example/vendor/three.module.js +0 -6
- package/.agent/skills/faceless-shorts/styles/deep-dive/style-sheet.png +0 -0
- package/.agent/skills/faceless-shorts/styles/inside-out/STYLE.md +0 -97
- package/.agent/skills/faceless-shorts/styles/inside-out/example/data/cues.json +0 -178
- package/.agent/skills/faceless-shorts/styles/inside-out/example/data/lines.json +0 -73
- package/.agent/skills/faceless-shorts/styles/inside-out/example/data/words.json +0 -662
- package/.agent/skills/faceless-shorts/styles/inside-out/example/fonts/Inter-Black.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/inside-out/example/index.html +0 -16
- package/.agent/skills/faceless-shorts/styles/inside-out/example/script.json +0 -26
- package/.agent/skills/faceless-shorts/styles/inside-out/example/src/core/captions.js +0 -68
- package/.agent/skills/faceless-shorts/styles/inside-out/example/src/core/kit.js +0 -345
- package/.agent/skills/faceless-shorts/styles/inside-out/example/src/core/lib.js +0 -44
- package/.agent/skills/faceless-shorts/styles/inside-out/example/src/core/timing.js +0 -23
- package/.agent/skills/faceless-shorts/styles/inside-out/example/src/main.js +0 -62
- package/.agent/skills/faceless-shorts/styles/inside-out/example/src/shots.js +0 -195
- package/.agent/skills/faceless-shorts/styles/inside-out/example/tools/capture.mjs +0 -122
- package/.agent/skills/faceless-shorts/styles/inside-out/example/tools/mix.py +0 -172
- package/.agent/skills/faceless-shorts/styles/inside-out/style-sheet.png +0 -0
- package/.agent/skills/faceless-shorts/styles/night-file/STYLE.md +0 -36
- package/.agent/skills/faceless-shorts/styles/night-file/example/data/cues.json +0 -146
- package/.agent/skills/faceless-shorts/styles/night-file/example/data/lines.json +0 -73
- package/.agent/skills/faceless-shorts/styles/night-file/example/data/words.json +0 -572
- package/.agent/skills/faceless-shorts/styles/night-file/example/data/words.txt +0 -95
- package/.agent/skills/faceless-shorts/styles/night-file/example/fonts/FreeMonoBold.ttf +0 -0
- package/.agent/skills/faceless-shorts/styles/night-file/example/fonts/Inter-Black.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/night-file/example/index.html +0 -16
- package/.agent/skills/faceless-shorts/styles/night-file/example/script.json +0 -26
- package/.agent/skills/faceless-shorts/styles/night-file/example/sheet.html +0 -11
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/board.js +0 -62
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/captions.js +0 -49
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/engine.js +0 -65
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/human.js +0 -128
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/kit.js +0 -151
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/lib.js +0 -44
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/sdf.js +0 -79
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/sets3d.js +0 -106
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/core/timing.js +0 -23
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/main.js +0 -56
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/sheet.js +0 -86
- package/.agent/skills/faceless-shorts/styles/night-file/example/src/shots.js +0 -130
- package/.agent/skills/faceless-shorts/styles/night-file/example/tools/capture.mjs +0 -122
- package/.agent/skills/faceless-shorts/styles/night-file/example/tools/mix.py +0 -172
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/LICENSE-three.txt +0 -21
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/environments/RoomEnvironment.js +0 -144
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/BokehPass.js +0 -141
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/EffectComposer.js +0 -231
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/MaskPass.js +0 -104
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/OutputPass.js +0 -97
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/Pass.js +0 -95
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/RenderPass.js +0 -99
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/ShaderPass.js +0 -77
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/postprocessing/UnrealBloomPass.js +0 -415
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/shaders/BokehShader.js +0 -145
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/shaders/CopyShader.js +0 -45
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/shaders/LuminosityHighPassShader.js +0 -64
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/addons/shaders/OutputShader.js +0 -85
- package/.agent/skills/faceless-shorts/styles/night-file/example/vendor/three.module.js +0 -6
- package/.agent/skills/faceless-shorts/styles/night-file/style-sheet.png +0 -0
- package/.agent/skills/faceless-shorts/styles/paper-atlas/STYLE.md +0 -30
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/data/cues.json +0 -167
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/data/lines.json +0 -67
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/data/words.json +0 -614
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/data/words.txt +0 -102
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/fonts/Caladea-Bold.ttf +0 -0
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/fonts/Inter-Black.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/index.html +0 -13
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/script.json +0 -26
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/sheet.html +0 -10
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/core/board.js +0 -62
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/core/captions.js +0 -47
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/core/kit.js +0 -152
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/core/lib.js +0 -44
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/core/timing.js +0 -23
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/main.js +0 -62
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/sheet.js +0 -61
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/src/shots.js +0 -139
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/tools/capture.mjs +0 -122
- package/.agent/skills/faceless-shorts/styles/paper-atlas/example/tools/mix.py +0 -172
- package/.agent/skills/faceless-shorts/styles/paper-atlas/style-sheet.png +0 -0
- package/.agent/skills/faceless-shorts/styles/stick-story/STYLE.md +0 -32
- package/.agent/skills/faceless-shorts/styles/stick-story/example/data/cues.json +0 -182
- package/.agent/skills/faceless-shorts/styles/stick-story/example/data/lines.json +0 -79
- package/.agent/skills/faceless-shorts/styles/stick-story/example/data/words.json +0 -662
- package/.agent/skills/faceless-shorts/styles/stick-story/example/data/words.txt +0 -110
- package/.agent/skills/faceless-shorts/styles/stick-story/example/fonts/Inter-Black.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/stick-story/example/fonts/Inter-ExtraBold.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/stick-story/example/index.html +0 -12
- package/.agent/skills/faceless-shorts/styles/stick-story/example/script.json +0 -27
- package/.agent/skills/faceless-shorts/styles/stick-story/example/sheet.html +0 -9
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/core/board.js +0 -62
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/core/captions.js +0 -47
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/core/kit.js +0 -166
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/core/lib.js +0 -44
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/core/timing.js +0 -23
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/main.js +0 -62
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/sheet.js +0 -64
- package/.agent/skills/faceless-shorts/styles/stick-story/example/src/shots.js +0 -148
- package/.agent/skills/faceless-shorts/styles/stick-story/example/tools/capture.mjs +0 -122
- package/.agent/skills/faceless-shorts/styles/stick-story/example/tools/mix.py +0 -172
- package/.agent/skills/faceless-shorts/styles/stick-story/style-sheet.png +0 -0
- package/.agent/skills/faceless-shorts/styles/tall-tale/STYLE.md +0 -51
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/data/cues.json +0 -271
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/data/lines.json +0 -127
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/data/words.json +0 -908
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/data/words.txt +0 -151
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/fonts/Caladea-Bold.ttf +0 -0
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/fonts/Inter-Black.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/fonts/Inter-ExtraBold.otf +0 -0
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/index.html +0 -17
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/script.json +0 -37
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/sheet.html +0 -11
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/board.js +0 -62
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/captions.js +0 -56
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/engine.js +0 -65
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/lib.js +0 -44
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/props.js +0 -166
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/timing.js +0 -23
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/toon.js +0 -352
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/core/world.js +0 -340
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/main.js +0 -56
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/sheet.js +0 -99
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/src/shots.js +0 -377
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/tools/capture.mjs +0 -122
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/tools/mix.py +0 -204
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/LICENSE-three.txt +0 -21
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/environments/RoomEnvironment.js +0 -144
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/BokehPass.js +0 -141
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/EffectComposer.js +0 -231
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/MaskPass.js +0 -104
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/OutputPass.js +0 -97
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/Pass.js +0 -95
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/RenderPass.js +0 -99
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/ShaderPass.js +0 -77
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/postprocessing/UnrealBloomPass.js +0 -415
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/shaders/BokehShader.js +0 -145
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/shaders/CopyShader.js +0 -45
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/shaders/LuminosityHighPassShader.js +0 -64
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/addons/shaders/OutputShader.js +0 -85
- package/.agent/skills/faceless-shorts/styles/tall-tale/example/vendor/three.module.js +0 -6
- package/.agent/skills/faceless-shorts/styles/tall-tale/style-sheet.png +0 -0
- package/.agent/skills/gstack-autoplan/SKILL.md +0 -972
- package/.agent/skills/gstack-autoplan/SKILL.md.tmpl +0 -468
- package/.agent/skills/gstack-autoplan/bin/guard-journal.ts +0 -115
- package/.agent/skills/gstack-autoplan/bin/guard-log.ts +0 -40
- package/.agent/skills/gstack-autoplan/bin/guard-reasons.ts +0 -92
- package/.agent/skills/gstack-autoplan/bin/owned-read.ts +0 -72
- package/.agent/skills/gstack-autoplan/bin/phase-publication-hook +0 -15
- package/.agent/skills/gstack-autoplan/bin/phase-publication-hook.ts +0 -769
- package/.agent/skills/gstack-autoplan/sections/ceo-phase.md +0 -195
- package/.agent/skills/gstack-autoplan/sections/ceo-phase.md.tmpl +0 -147
- package/.agent/skills/gstack-autoplan/sections/design-phase.md +0 -128
- package/.agent/skills/gstack-autoplan/sections/design-phase.md.tmpl +0 -82
- package/.agent/skills/gstack-autoplan/sections/dx-phase.md +0 -155
- package/.agent/skills/gstack-autoplan/sections/dx-phase.md.tmpl +0 -109
- package/.agent/skills/gstack-autoplan/sections/eng-phase.md +0 -164
- package/.agent/skills/gstack-autoplan/sections/eng-phase.md.tmpl +0 -116
- package/.agent/skills/gstack-autoplan/sections/manifest.json +0 -50
- package/.agent/skills/gstack-autoplan/sections/phase-close.md +0 -70
- package/.agent/skills/gstack-autoplan/sections/phase-close.md.tmpl +0 -68
- package/.agent/skills/gstack-autoplan/sections/tasks-aggregator.md +0 -71
- package/.agent/skills/gstack-autoplan/sections/tasks-aggregator.md.tmpl +0 -1
- package/.agent/skills/gstack-autoplan/sections/unattended.md +0 -11
- package/.agent/skills/gstack-autoplan/sections/unattended.md.tmpl +0 -9
- package/.agent/skills/gstack-benchmark/SKILL.md +0 -456
- package/.agent/skills/gstack-benchmark/SKILL.md.tmpl +0 -249
- package/.agent/skills/gstack-benchmark-models/SKILL.md +0 -285
- package/.agent/skills/gstack-benchmark-models/SKILL.md.tmpl +0 -155
- package/.agent/skills/gstack-browse/PLAN-snapshot-dropdown-interactive.md +0 -102
- package/.agent/skills/gstack-browse/SKILL.md +0 -470
- package/.agent/skills/gstack-browse/SKILL.md.tmpl +0 -129
- package/.agent/skills/gstack-browse/bin/find-browse +0 -21
- package/.agent/skills/gstack-browse/bin/remote-slug +0 -18
- package/.agent/skills/gstack-browse/sections/command-list.md +0 -176
- package/.agent/skills/gstack-browse/sections/command-list.md.tmpl +0 -7
- package/.agent/skills/gstack-browse/sections/manifest.json +0 -14
- package/.agent/skills/gstack-browse/src/activity.ts +0 -209
- package/.agent/skills/gstack-browse/src/audit.ts +0 -69
- package/.agent/skills/gstack-browse/src/browse-client.ts +0 -264
- package/.agent/skills/gstack-browse/src/browser-manager.ts +0 -2334
- package/.agent/skills/gstack-browse/src/browser-skill-commands.ts +0 -466
- package/.agent/skills/gstack-browse/src/browser-skill-write.ts +0 -216
- package/.agent/skills/gstack-browse/src/browser-skills.ts +0 -420
- package/.agent/skills/gstack-browse/src/buffers.ts +0 -137
- package/.agent/skills/gstack-browse/src/bun-child-config.ts +0 -35
- package/.agent/skills/gstack-browse/src/bun-polyfill.cjs +0 -276
- package/.agent/skills/gstack-browse/src/cdp-allowlist.ts +0 -235
- package/.agent/skills/gstack-browse/src/cdp-bridge.ts +0 -180
- package/.agent/skills/gstack-browse/src/cdp-commands.ts +0 -64
- package/.agent/skills/gstack-browse/src/cdp-inspector.ts +0 -824
- package/.agent/skills/gstack-browse/src/chromium-profiles.ts +0 -212
- package/.agent/skills/gstack-browse/src/claude-bin.ts +0 -2
- package/.agent/skills/gstack-browse/src/cli.ts +0 -2254
- package/.agent/skills/gstack-browse/src/commands.ts +0 -296
- package/.agent/skills/gstack-browse/src/config.ts +0 -307
- package/.agent/skills/gstack-browse/src/content-security.ts +0 -373
- package/.agent/skills/gstack-browse/src/cookie-auth-verification.ts +0 -225
- package/.agent/skills/gstack-browse/src/cookie-database.ts +0 -73
- package/.agent/skills/gstack-browse/src/cookie-import-browser.ts +0 -929
- package/.agent/skills/gstack-browse/src/cookie-import-native-integrity.ts +0 -95
- package/.agent/skills/gstack-browse/src/cookie-import-native-job.ts +0 -161
- package/.agent/skills/gstack-browse/src/cookie-import-native-qualification.json +0 -1
- package/.agent/skills/gstack-browse/src/cookie-import-native-worker.ts +0 -268
- package/.agent/skills/gstack-browse/src/cookie-import-native.ts +0 -166
- package/.agent/skills/gstack-browse/src/cookie-import-operation.ts +0 -232
- package/.agent/skills/gstack-browse/src/cookie-picker-routes.ts +0 -343
- package/.agent/skills/gstack-browse/src/cookie-picker-ui.ts +0 -717
- package/.agent/skills/gstack-browse/src/domain-skill-commands.ts +0 -301
- package/.agent/skills/gstack-browse/src/domain-skills.ts +0 -438
- package/.agent/skills/gstack-browse/src/error-handling.ts +0 -2
- package/.agent/skills/gstack-browse/src/extension-id.ts +0 -25
- package/.agent/skills/gstack-browse/src/file-permissions.ts +0 -370
- package/.agent/skills/gstack-browse/src/find-browse.ts +0 -118
- package/.agent/skills/gstack-browse/src/find-security-sidecar.ts +0 -78
- package/.agent/skills/gstack-browse/src/media-extract.ts +0 -177
- package/.agent/skills/gstack-browse/src/memory-command.ts +0 -115
- package/.agent/skills/gstack-browse/src/memory-snapshot.ts +0 -73
- package/.agent/skills/gstack-browse/src/meta-commands.ts +0 -1150
- package/.agent/skills/gstack-browse/src/network-capture.ts +0 -179
- package/.agent/skills/gstack-browse/src/path-security.ts +0 -132
- package/.agent/skills/gstack-browse/src/platform.ts +0 -38
- package/.agent/skills/gstack-browse/src/port-allocator.ts +0 -140
- package/.agent/skills/gstack-browse/src/project-slug.ts +0 -36
- package/.agent/skills/gstack-browse/src/proxy-config.ts +0 -283
- package/.agent/skills/gstack-browse/src/proxy-redact.ts +0 -46
- package/.agent/skills/gstack-browse/src/pty-session-cookie.ts +0 -64
- package/.agent/skills/gstack-browse/src/pty-session-lease.ts +0 -137
- package/.agent/skills/gstack-browse/src/read-commands.ts +0 -756
- package/.agent/skills/gstack-browse/src/routes/activity.ts +0 -63
- package/.agent/skills/gstack-browse/src/routes/commands.ts +0 -154
- package/.agent/skills/gstack-browse/src/routes/core.ts +0 -123
- package/.agent/skills/gstack-browse/src/routes/files.ts +0 -47
- package/.agent/skills/gstack-browse/src/routes/index.ts +0 -27
- package/.agent/skills/gstack-browse/src/routes/inspector.ts +0 -132
- package/.agent/skills/gstack-browse/src/routes/pairing.ts +0 -158
- package/.agent/skills/gstack-browse/src/routes/pty.ts +0 -254
- package/.agent/skills/gstack-browse/src/routes/table.ts +0 -182
- package/.agent/skills/gstack-browse/src/routes/tokens.ts +0 -86
- package/.agent/skills/gstack-browse/src/routes/tunnel.ts +0 -62
- package/.agent/skills/gstack-browse/src/sanitize.ts +0 -49
- package/.agent/skills/gstack-browse/src/screenshot-size-guard.ts +0 -106
- package/.agent/skills/gstack-browse/src/security-classifier.ts +0 -258
- package/.agent/skills/gstack-browse/src/security-sidecar-client.ts +0 -234
- package/.agent/skills/gstack-browse/src/security-sidecar-entry.ts +0 -120
- package/.agent/skills/gstack-browse/src/security.ts +0 -328
- package/.agent/skills/gstack-browse/src/server.ts +0 -2220
- package/.agent/skills/gstack-browse/src/session-cookie-store.ts +0 -124
- package/.agent/skills/gstack-browse/src/session-persist.ts +0 -178
- package/.agent/skills/gstack-browse/src/skill-token.ts +0 -91
- package/.agent/skills/gstack-browse/src/snapshot-flags.ts +0 -30
- package/.agent/skills/gstack-browse/src/snapshot.ts +0 -656
- package/.agent/skills/gstack-browse/src/socks-bridge.ts +0 -314
- package/.agent/skills/gstack-browse/src/sse-helpers.ts +0 -147
- package/.agent/skills/gstack-browse/src/sse-session-cookie.ts +0 -65
- package/.agent/skills/gstack-browse/src/stealth.ts +0 -574
- package/.agent/skills/gstack-browse/src/tab-session.ts +0 -210
- package/.agent/skills/gstack-browse/src/telemetry.ts +0 -115
- package/.agent/skills/gstack-browse/src/terminal-agent-control.ts +0 -379
- package/.agent/skills/gstack-browse/src/terminal-agent.ts +0 -1124
- package/.agent/skills/gstack-browse/src/terminal-pty-lifecycle.ts +0 -144
- package/.agent/skills/gstack-browse/src/token-registry.ts +0 -721
- package/.agent/skills/gstack-browse/src/tunnel-denial-log.ts +0 -97
- package/.agent/skills/gstack-browse/src/url-validation.ts +0 -299
- package/.agent/skills/gstack-browse/src/welcome.html +0 -237
- package/.agent/skills/gstack-browse/src/write-commands.ts +0 -1438
- package/.agent/skills/gstack-browse/src/xprotect-heal.ts +0 -439
- package/.agent/skills/gstack-browse/src/xvfb.ts +0 -313
- package/.agent/skills/gstack-browse/test/activity.test.ts +0 -120
- package/.agent/skills/gstack-browse/test/adversarial-security.test.ts +0 -32
- package/.agent/skills/gstack-browse/test/batch.test.ts +0 -267
- package/.agent/skills/gstack-browse/test/bridge-chromium-e2e.test.ts +0 -205
- package/.agent/skills/gstack-browse/test/browse-client.test.ts +0 -300
- package/.agent/skills/gstack-browse/test/browse-eval-wrapping.test.ts +0 -86
- package/.agent/skills/gstack-browse/test/browser-manager-custom-chromium.test.ts +0 -67
- package/.agent/skills/gstack-browse/test/browser-manager-unit.test.ts +0 -335
- package/.agent/skills/gstack-browse/test/browser-skill-commands.test.ts +0 -433
- package/.agent/skills/gstack-browse/test/browser-skill-write.test.ts +0 -350
- package/.agent/skills/gstack-browse/test/browser-skills-e2e.test.ts +0 -101
- package/.agent/skills/gstack-browse/test/browser-skills-storage.test.ts +0 -283
- package/.agent/skills/gstack-browse/test/build-command-response.test.ts +0 -68
- package/.agent/skills/gstack-browse/test/build.test.ts +0 -52
- package/.agent/skills/gstack-browse/test/bun-child-config.test.ts +0 -83
- package/.agent/skills/gstack-browse/test/bun-polyfill.test.ts +0 -402
- package/.agent/skills/gstack-browse/test/busy-daemon-iron-rule.test.ts +0 -270
- package/.agent/skills/gstack-browse/test/busy-daemon-recovery.test.ts +0 -134
- package/.agent/skills/gstack-browse/test/cdp-allowlist.test.ts +0 -109
- package/.agent/skills/gstack-browse/test/cdp-e2e.test.ts +0 -117
- package/.agent/skills/gstack-browse/test/cdp-inspector-history-cap.test.ts +0 -95
- package/.agent/skills/gstack-browse/test/cdp-mutex.test.ts +0 -113
- package/.agent/skills/gstack-browse/test/cdp-session-cleanup.test.ts +0 -171
- package/.agent/skills/gstack-browse/test/chromium-profile-isolation.test.ts +0 -418
- package/.agent/skills/gstack-browse/test/claude-bin.test.ts +0 -95
- package/.agent/skills/gstack-browse/test/cli-chain-stdin.test.ts +0 -122
- package/.agent/skills/gstack-browse/test/cli-config-mismatch-message.test.ts +0 -72
- package/.agent/skills/gstack-browse/test/cli-lock.test.ts +0 -120
- package/.agent/skills/gstack-browse/test/cli-loopback-no-proxy.test.ts +0 -77
- package/.agent/skills/gstack-browse/test/cli-setsid-daemonize.test.ts +0 -75
- package/.agent/skills/gstack-browse/test/cli-start-final-healthcheck.test.ts +0 -77
- package/.agent/skills/gstack-browse/test/cli-supervisor.test.ts +0 -194
- package/.agent/skills/gstack-browse/test/commands.test.ts +0 -2779
- package/.agent/skills/gstack-browse/test/compare-board.test.ts +0 -382
- package/.agent/skills/gstack-browse/test/config.test.ts +0 -519
- package/.agent/skills/gstack-browse/test/content-security.test.ts +0 -681
- package/.agent/skills/gstack-browse/test/cookie-auth-verification.test.ts +0 -760
- package/.agent/skills/gstack-browse/test/cookie-credential-deadline.test.ts +0 -225
- package/.agent/skills/gstack-browse/test/cookie-database.test.ts +0 -277
- package/.agent/skills/gstack-browse/test/cookie-fixture-delete-lease.test.ts +0 -256
- package/.agent/skills/gstack-browse/test/cookie-import-browser.test.ts +0 -523
- package/.agent/skills/gstack-browse/test/cookie-import-native-job.test.ts +0 -1645
- package/.agent/skills/gstack-browse/test/cookie-import-native-qualification.ts +0 -128
- package/.agent/skills/gstack-browse/test/cookie-import-native.test.ts +0 -436
- package/.agent/skills/gstack-browse/test/cookie-import-node.test.ts +0 -166
- package/.agent/skills/gstack-browse/test/cookie-import-operation.test.ts +0 -452
- package/.agent/skills/gstack-browse/test/cookie-import-reliability.test.ts +0 -659
- package/.agent/skills/gstack-browse/test/cookie-import-transport.test.ts +0 -38
- package/.agent/skills/gstack-browse/test/cookie-picker-binding-browser.test.ts +0 -96
- package/.agent/skills/gstack-browse/test/cookie-picker-binding.test.ts +0 -155
- package/.agent/skills/gstack-browse/test/cookie-picker-csrf-browser.test.ts +0 -50
- package/.agent/skills/gstack-browse/test/cookie-picker-routes.test.ts +0 -460
- package/.agent/skills/gstack-browse/test/cookie-picker-ui.test.ts +0 -535
- package/.agent/skills/gstack-browse/test/daemon-log-hygiene.test.ts +0 -135
- package/.agent/skills/gstack-browse/test/daemon-mismatch-refuse.test.ts +0 -178
- package/.agent/skills/gstack-browse/test/data-platform.test.ts +0 -176
- package/.agent/skills/gstack-browse/test/dia-gui-readiness.test.ts +0 -174
- package/.agent/skills/gstack-browse/test/dia-launch-comparison.test.ts +0 -180
- package/.agent/skills/gstack-browse/test/dia-macos-qualification.test.ts +0 -1695
- package/.agent/skills/gstack-browse/test/domain-skills-e2e.test.ts +0 -142
- package/.agent/skills/gstack-browse/test/domain-skills-storage.test.ts +0 -263
- package/.agent/skills/gstack-browse/test/dotenv-isolation.test.ts +0 -121
- package/.agent/skills/gstack-browse/test/dual-listener.test.ts +0 -411
- package/.agent/skills/gstack-browse/test/dx-polish.test.ts +0 -101
- package/.agent/skills/gstack-browse/test/error-handling.test.ts +0 -47
- package/.agent/skills/gstack-browse/test/extension-sender-auth.test.ts +0 -285
- package/.agent/skills/gstack-browse/test/extension-token.test.ts +0 -232
- package/.agent/skills/gstack-browse/test/file-drop.test.ts +0 -271
- package/.agent/skills/gstack-browse/test/file-permissions.test.ts +0 -346
- package/.agent/skills/gstack-browse/test/fill-change-event.test.ts +0 -78
- package/.agent/skills/gstack-browse/test/find-browse.test.ts +0 -61
- package/.agent/skills/gstack-browse/test/findport.test.ts +0 -232
- package/.agent/skills/gstack-browse/test/fixtures/basic.html +0 -33
- package/.agent/skills/gstack-browse/test/fixtures/change-only-validator.html +0 -31
- package/.agent/skills/gstack-browse/test/fixtures/cursor-interactive.html +0 -22
- package/.agent/skills/gstack-browse/test/fixtures/dialog.html +0 -15
- package/.agent/skills/gstack-browse/test/fixtures/dropdown.html +0 -61
- package/.agent/skills/gstack-browse/test/fixtures/empty.html +0 -2
- package/.agent/skills/gstack-browse/test/fixtures/forms.html +0 -55
- package/.agent/skills/gstack-browse/test/fixtures/iframe.html +0 -30
- package/.agent/skills/gstack-browse/test/fixtures/injection-combined.html +0 -58
- package/.agent/skills/gstack-browse/test/fixtures/injection-hidden.html +0 -62
- package/.agent/skills/gstack-browse/test/fixtures/injection-social.html +0 -25
- package/.agent/skills/gstack-browse/test/fixtures/injection-visible.html +0 -26
- package/.agent/skills/gstack-browse/test/fixtures/media-page.html +0 -67
- package/.agent/skills/gstack-browse/test/fixtures/mock-claude/claude +0 -185
- package/.agent/skills/gstack-browse/test/fixtures/native-cookie-delete-lease.ts +0 -125
- package/.agent/skills/gstack-browse/test/fixtures/native-cookie-file-owners.ts +0 -132
- package/.agent/skills/gstack-browse/test/fixtures/native-cookie-launch.cjs +0 -139
- package/.agent/skills/gstack-browse/test/fixtures/native-cookie-process-observer.ts +0 -150
- package/.agent/skills/gstack-browse/test/fixtures/native-cookie-process.cjs +0 -13
- package/.agent/skills/gstack-browse/test/fixtures/native-cookie-remove-fixture.cjs +0 -42
- package/.agent/skills/gstack-browse/test/fixtures/network-idle.html +0 -30
- package/.agent/skills/gstack-browse/test/fixtures/qa-eval-checkout.html +0 -108
- package/.agent/skills/gstack-browse/test/fixtures/qa-eval-spa.html +0 -98
- package/.agent/skills/gstack-browse/test/fixtures/qa-eval.html +0 -51
- package/.agent/skills/gstack-browse/test/fixtures/qa-only.html +0 -13
- package/.agent/skills/gstack-browse/test/fixtures/responsive.html +0 -49
- package/.agent/skills/gstack-browse/test/fixtures/route-dispatch-allowlist.json +0 -22
- package/.agent/skills/gstack-browse/test/fixtures/snapshot-ambiguous.html +0 -24
- package/.agent/skills/gstack-browse/test/fixtures/snapshot.html +0 -55
- package/.agent/skills/gstack-browse/test/fixtures/spa.html +0 -24
- package/.agent/skills/gstack-browse/test/fixtures/states.html +0 -17
- package/.agent/skills/gstack-browse/test/fixtures/upload-path-validation.ts +0 -91
- package/.agent/skills/gstack-browse/test/fixtures/upload.html +0 -25
- package/.agent/skills/gstack-browse/test/from-file-path-validation.test.ts +0 -68
- package/.agent/skills/gstack-browse/test/gstack-config.test.ts +0 -252
- package/.agent/skills/gstack-browse/test/gstack-update-check.test.ts +0 -614
- package/.agent/skills/gstack-browse/test/handoff.test.ts +0 -508
- package/.agent/skills/gstack-browse/test/headless-gpu-and-reap.test.ts +0 -286
- package/.agent/skills/gstack-browse/test/headless-launch-options.test.ts +0 -93
- package/.agent/skills/gstack-browse/test/launch-signal-flags.test.ts +0 -75
- package/.agent/skills/gstack-browse/test/learnings-injection.test.ts +0 -33
- package/.agent/skills/gstack-browse/test/media-extract-unit.test.ts +0 -294
- package/.agent/skills/gstack-browse/test/memory-command.test.ts +0 -219
- package/.agent/skills/gstack-browse/test/memory-leak-reproducer.test.ts +0 -133
- package/.agent/skills/gstack-browse/test/navigation-guard.test.ts +0 -106
- package/.agent/skills/gstack-browse/test/output-path-symlinks.test.ts +0 -76
- package/.agent/skills/gstack-browse/test/pair-agent-e2e.test.ts +0 -793
- package/.agent/skills/gstack-browse/test/pair-agent-optin-gate.test.ts +0 -171
- package/.agent/skills/gstack-browse/test/pair-agent-tunnel-eval.test.ts +0 -501
- package/.agent/skills/gstack-browse/test/path-security-realpath.test.ts +0 -89
- package/.agent/skills/gstack-browse/test/path-validation.test.ts +0 -268
- package/.agent/skills/gstack-browse/test/pdf-flags.test.ts +0 -86
- package/.agent/skills/gstack-browse/test/platform.test.ts +0 -37
- package/.agent/skills/gstack-browse/test/playwright-core-patch.test.ts +0 -62
- package/.agent/skills/gstack-browse/test/poisoned-bundle-probe.test.ts +0 -148
- package/.agent/skills/gstack-browse/test/process-liveness-windows.test.ts +0 -176
- package/.agent/skills/gstack-browse/test/proxy-config.test.ts +0 -189
- package/.agent/skills/gstack-browse/test/proxy-env-daemon.test.ts +0 -137
- package/.agent/skills/gstack-browse/test/proxy-env.test.ts +0 -189
- package/.agent/skills/gstack-browse/test/proxy-redact.test.ts +0 -64
- package/.agent/skills/gstack-browse/test/pty-inject-scan.test.ts +0 -153
- package/.agent/skills/gstack-browse/test/pty-session-lease.test.ts +0 -98
- package/.agent/skills/gstack-browse/test/rebrand-signed-bundle.test.ts +0 -53
- package/.agent/skills/gstack-browse/test/regression-pr1169-pdf-from-file-invalid-json.test.ts +0 -84
- package/.agent/skills/gstack-browse/test/restart-env.test.ts +0 -39
- package/.agent/skills/gstack-browse/test/route-test-harness.ts +0 -121
- package/.agent/skills/gstack-browse/test/runtime-root-server-bundle.test.ts +0 -100
- package/.agent/skills/gstack-browse/test/sanitize.test.ts +0 -112
- package/.agent/skills/gstack-browse/test/screenshot-size-guard.test.ts +0 -118
- package/.agent/skills/gstack-browse/test/security-adversarial-fixes.test.ts +0 -101
- package/.agent/skills/gstack-browse/test/security-adversarial.test.ts +0 -342
- package/.agent/skills/gstack-browse/test/security-audit-r2.test.ts +0 -432
- package/.agent/skills/gstack-browse/test/security-bench.test.ts +0 -159
- package/.agent/skills/gstack-browse/test/security-classifier-download-cleanup.test.ts +0 -138
- package/.agent/skills/gstack-browse/test/security-classifier.test.ts +0 -29
- package/.agent/skills/gstack-browse/test/security-integration.test.ts +0 -184
- package/.agent/skills/gstack-browse/test/security-live-playwright.test.ts +0 -195
- package/.agent/skills/gstack-browse/test/security-sidecar-client.test.ts +0 -66
- package/.agent/skills/gstack-browse/test/security.test.ts +0 -268
- package/.agent/skills/gstack-browse/test/server-auth.test.ts +0 -600
- package/.agent/skills/gstack-browse/test/server-embedder-terminal-port.test.ts +0 -301
- package/.agent/skills/gstack-browse/test/server-factory.test.ts +0 -640
- package/.agent/skills/gstack-browse/test/server-flush-trackers.test.ts +0 -73
- package/.agent/skills/gstack-browse/test/server-launch-resolution.test.ts +0 -49
- package/.agent/skills/gstack-browse/test/server-lock-errors.test.ts +0 -124
- package/.agent/skills/gstack-browse/test/server-no-import-side-effects.test.ts +0 -110
- package/.agent/skills/gstack-browse/test/server-proxy-fail-fast.test.ts +0 -98
- package/.agent/skills/gstack-browse/test/server-pty-lease-routes.test.ts +0 -156
- package/.agent/skills/gstack-browse/test/server-route-auth-blackbox.test.ts +0 -270
- package/.agent/skills/gstack-browse/test/server-route-dispatch-ratchet.test.ts +0 -129
- package/.agent/skills/gstack-browse/test/server-route-table.test.ts +0 -238
- package/.agent/skills/gstack-browse/test/server-sanitize-surrogates.test.ts +0 -182
- package/.agent/skills/gstack-browse/test/server-tmp-state-path.test.ts +0 -110
- package/.agent/skills/gstack-browse/test/session-cookie-store.test.ts +0 -159
- package/.agent/skills/gstack-browse/test/session-persist.test.ts +0 -287
- package/.agent/skills/gstack-browse/test/sidebar-tabs.test.ts +0 -268
- package/.agent/skills/gstack-browse/test/sidebar-ux.test.ts +0 -1006
- package/.agent/skills/gstack-browse/test/sidepanel-font-size.test.ts +0 -147
- package/.agent/skills/gstack-browse/test/sidepanel-patient-autoconnect.test.ts +0 -70
- package/.agent/skills/gstack-browse/test/sidepanel-reattach.test.ts +0 -93
- package/.agent/skills/gstack-browse/test/sidepanel-restart-dispose.test.ts +0 -106
- package/.agent/skills/gstack-browse/test/skill-token.test.ts +0 -167
- package/.agent/skills/gstack-browse/test/snapshot.test.ts +0 -593
- package/.agent/skills/gstack-browse/test/socks-bridge.test.ts +0 -461
- package/.agent/skills/gstack-browse/test/sse-helpers.test.ts +0 -194
- package/.agent/skills/gstack-browse/test/sse-session-cookie.test.ts +0 -155
- package/.agent/skills/gstack-browse/test/state-ttl.test.ts +0 -35
- package/.agent/skills/gstack-browse/test/stealth-extended.test.ts +0 -127
- package/.agent/skills/gstack-browse/test/stealth-layer-c.test.ts +0 -284
- package/.agent/skills/gstack-browse/test/stealth-webdriver.test.ts +0 -394
- package/.agent/skills/gstack-browse/test/stop-ack-before-shutdown.test.ts +0 -23
- package/.agent/skills/gstack-browse/test/stop-dead-daemon.test.ts +0 -153
- package/.agent/skills/gstack-browse/test/tab-each.test.ts +0 -196
- package/.agent/skills/gstack-browse/test/tab-guardrail.test.ts +0 -118
- package/.agent/skills/gstack-browse/test/tab-isolation.test.ts +0 -309
- package/.agent/skills/gstack-browse/test/tab-session-frame-detach.test.ts +0 -154
- package/.agent/skills/gstack-browse/test/telemetry-optout.test.ts +0 -171
- package/.agent/skills/gstack-browse/test/telemetry.test.ts +0 -77
- package/.agent/skills/gstack-browse/test/temp-dirs.test.ts +0 -129
- package/.agent/skills/gstack-browse/test/terminal-agent-detach-reattach.test.ts +0 -84
- package/.agent/skills/gstack-browse/test/terminal-agent-import.test.ts +0 -42
- package/.agent/skills/gstack-browse/test/terminal-agent-integration.test.ts +0 -565
- package/.agent/skills/gstack-browse/test/terminal-agent-keepalive.test.ts +0 -88
- package/.agent/skills/gstack-browse/test/terminal-agent-lifecycle.test.ts +0 -371
- package/.agent/skills/gstack-browse/test/terminal-agent-native-observation.test.ts +0 -66
- package/.agent/skills/gstack-browse/test/terminal-agent-owner-watchdog.test.ts +0 -81
- package/.agent/skills/gstack-browse/test/terminal-agent-pid-identity.test.ts +0 -161
- package/.agent/skills/gstack-browse/test/terminal-agent-port-range.test.ts +0 -80
- package/.agent/skills/gstack-browse/test/terminal-agent-publication-lock.test.ts +0 -289
- package/.agent/skills/gstack-browse/test/terminal-agent-ring-buffer-runtime.test.ts +0 -157
- package/.agent/skills/gstack-browse/test/terminal-agent-session-routing.test.ts +0 -96
- package/.agent/skills/gstack-browse/test/terminal-agent-watchdog.test.ts +0 -101
- package/.agent/skills/gstack-browse/test/terminal-agent.test.ts +0 -259
- package/.agent/skills/gstack-browse/test/terminal-pty-lifecycle.test.ts +0 -212
- package/.agent/skills/gstack-browse/test/test-server.ts +0 -57
- package/.agent/skills/gstack-browse/test/token-registry.test.ts +0 -615
- package/.agent/skills/gstack-browse/test/tunnel-gate-unit.test.ts +0 -129
- package/.agent/skills/gstack-browse/test/tunnel-revoke-cli.test.ts +0 -455
- package/.agent/skills/gstack-browse/test/url-validation.test.ts +0 -384
- package/.agent/skills/gstack-browse/test/watch.test.ts +0 -129
- package/.agent/skills/gstack-browse/test/watchdog.test.ts +0 -352
- package/.agent/skills/gstack-browse/test/welcome-page.test.ts +0 -143
- package/.agent/skills/gstack-browse/test/windows-spawn-hide.test.ts +0 -167
- package/.agent/skills/gstack-browse/test/xprotect-heal.test.ts +0 -457
- package/.agent/skills/gstack-browse/test/xvfb.test.ts +0 -603
- package/.agent/skills/gstack-canary/SKILL.md +0 -699
- package/.agent/skills/gstack-canary/SKILL.md.tmpl +0 -254
- package/.agent/skills/gstack-careful/SKILL.md +0 -96
- package/.agent/skills/gstack-careful/SKILL.md.tmpl +0 -107
- package/.agent/skills/gstack-careful/bin/check-careful.sh +0 -407
- package/.agent/skills/gstack-careful/bin/hook-extract.sh +0 -198
- package/.agent/skills/gstack-codex/SKILL.md +0 -889
- package/.agent/skills/gstack-codex/SKILL.md.tmpl +0 -358
- package/.agent/skills/gstack-codex/sections/challenge-mode.md +0 -150
- package/.agent/skills/gstack-codex/sections/challenge-mode.md.tmpl +0 -136
- package/.agent/skills/gstack-codex/sections/consult-mode.md +0 -221
- package/.agent/skills/gstack-codex/sections/consult-mode.md.tmpl +0 -207
- package/.agent/skills/gstack-codex/sections/manifest.json +0 -26
- package/.agent/skills/gstack-codex/sections/review-mode.md +0 -265
- package/.agent/skills/gstack-codex/sections/review-mode.md.tmpl +0 -246
- package/.agent/skills/gstack-context-restore/SKILL.md +0 -612
- package/.agent/skills/gstack-context-restore/SKILL.md.tmpl +0 -289
- package/.agent/skills/gstack-context-save/SKILL.md +0 -631
- package/.agent/skills/gstack-context-save/SKILL.md.tmpl +0 -307
- package/.agent/skills/gstack-cso/ACKNOWLEDGEMENTS.md +0 -17
- package/.agent/skills/gstack-cso/SKILL.md +0 -166
- package/.agent/skills/gstack-cso/SKILL.md.tmpl +0 -162
- package/.agent/skills/gstack-cso/sections/audit-phases.md +0 -116
- package/.agent/skills/gstack-cso/sections/audit-phases.md.tmpl +0 -114
- package/.agent/skills/gstack-cso/sections/manifest.json +0 -14
- package/.agent/skills/gstack-design-consultation/SKILL.md +0 -795
- package/.agent/skills/gstack-design-consultation/SKILL.md.tmpl +0 -234
- package/.agent/skills/gstack-design-consultation/sections/manifest.json +0 -14
- package/.agent/skills/gstack-design-consultation/sections/proposal-and-preview.md +0 -595
- package/.agent/skills/gstack-design-consultation/sections/proposal-and-preview.md.tmpl +0 -350
- package/.agent/skills/gstack-design-html/SKILL.md +0 -866
- package/.agent/skills/gstack-design-html/SKILL.md.tmpl +0 -476
- package/.agent/skills/gstack-design-html/sections/detector-install-offer.md +0 -40
- package/.agent/skills/gstack-design-html/sections/detector-install-offer.md.tmpl +0 -6
- package/.agent/skills/gstack-design-html/sections/doctrine.md +0 -86
- package/.agent/skills/gstack-design-html/sections/doctrine.md.tmpl +0 -1
- package/.agent/skills/gstack-design-html/sections/manifest.json +0 -26
- package/.agent/skills/gstack-design-html/sections/pretext-patterns.md +0 -145
- package/.agent/skills/gstack-design-html/sections/pretext-patterns.md.tmpl +0 -143
- package/.agent/skills/gstack-design-html/vendor/pretext.js +0 -5
- package/.agent/skills/gstack-design-review/SKILL.md +0 -1957
- package/.agent/skills/gstack-design-review/SKILL.md.tmpl +0 -344
- package/.agent/skills/gstack-design-shotgun/SKILL.md +0 -885
- package/.agent/skills/gstack-design-shotgun/SKILL.md.tmpl +0 -310
- package/.agent/skills/gstack-design-shotgun/sections/doctrine.md +0 -86
- package/.agent/skills/gstack-design-shotgun/sections/doctrine.md.tmpl +0 -1
- package/.agent/skills/gstack-design-shotgun/sections/manifest.json +0 -14
- package/.agent/skills/gstack-deslop-shared-libs/SKILL.md +0 -209
- package/.agent/skills/gstack-deslop-shared-libs/SKILL.md.tmpl +0 -181
- package/.agent/skills/gstack-devex-review/SKILL.md +0 -1107
- package/.agent/skills/gstack-devex-review/SKILL.md.tmpl +0 -241
- package/.agent/skills/gstack-diagram/SKILL.md +0 -295
- package/.agent/skills/gstack-diagram/SKILL.md.tmpl +0 -175
- package/.agent/skills/gstack-document-generate/SKILL.md +0 -814
- package/.agent/skills/gstack-document-generate/SKILL.md.tmpl +0 -460
- package/.agent/skills/gstack-document-release/SKILL.md +0 -557
- package/.agent/skills/gstack-document-release/SKILL.md.tmpl +0 -188
- package/.agent/skills/gstack-document-release/sections/audit-scope.md +0 -51
- package/.agent/skills/gstack-document-release/sections/audit-scope.md.tmpl +0 -49
- package/.agent/skills/gstack-document-release/sections/manifest.json +0 -20
- package/.agent/skills/gstack-document-release/sections/release-body.md +0 -640
- package/.agent/skills/gstack-document-release/sections/release-body.md.tmpl +0 -428
- package/.agent/skills/gstack-eval-plan/SKILL.md +0 -472
- package/.agent/skills/gstack-eval-plan/SKILL.md.tmpl +0 -157
- package/.agent/skills/gstack-freeze/SKILL.md +0 -79
- package/.agent/skills/gstack-freeze/SKILL.md.tmpl +0 -96
- package/.agent/skills/gstack-freeze/bin/check-freeze.sh +0 -210
- package/.agent/skills/gstack-freeze/bin/freeze-state.sh +0 -68
- package/.agent/skills/gstack-gstack-upgrade/SKILL.md +0 -410
- package/.agent/skills/gstack-gstack-upgrade/SKILL.md.tmpl +0 -413
- package/.agent/skills/gstack-gstack-upgrade/migrations/v0.15.2.0.sh +0 -20
- package/.agent/skills/gstack-gstack-upgrade/migrations/v0.16.2.0.sh +0 -56
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.0.0.0.sh +0 -40
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.1.3.0.sh +0 -137
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.17.0.0.sh +0 -59
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.27.0.0.sh +0 -432
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.37.0.0.sh +0 -104
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.38.1.0.sh +0 -104
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.40.0.0.sh +0 -144
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.58.0.0.sh +0 -65
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.65.0.0.sh +0 -152
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.67.0.0.sh +0 -73
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.78.0.0.sh +0 -30
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.86.0.0.sh +0 -12
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.91.19.0.sh +0 -53
- package/.agent/skills/gstack-gstack-upgrade/migrations/v1.91.65.0.sh +0 -31
- package/.agent/skills/gstack-guard/SKILL.md +0 -60
- package/.agent/skills/gstack-guard/SKILL.md.tmpl +0 -88
- package/.agent/skills/gstack-health/SKILL.md +0 -710
- package/.agent/skills/gstack-health/SKILL.md.tmpl +0 -386
- package/.agent/skills/gstack-investigate/SKILL.md +0 -706
- package/.agent/skills/gstack-investigate/SKILL.md.tmpl +0 -305
- package/.agent/skills/gstack-investigate/sections/backlog.md +0 -31
- package/.agent/skills/gstack-investigate/sections/backlog.md.tmpl +0 -29
- package/.agent/skills/gstack-investigate/sections/eval-bisect.md +0 -25
- package/.agent/skills/gstack-investigate/sections/eval-bisect.md.tmpl +0 -23
- package/.agent/skills/gstack-investigate/sections/flake.md +0 -50
- package/.agent/skills/gstack-investigate/sections/flake.md.tmpl +0 -43
- package/.agent/skills/gstack-investigate/sections/manifest.json +0 -38
- package/.agent/skills/gstack-investigate/sections/polluter.md +0 -33
- package/.agent/skills/gstack-investigate/sections/polluter.md.tmpl +0 -31
- package/.agent/skills/gstack-investigate/sections/race.md +0 -27
- package/.agent/skills/gstack-investigate/sections/race.md.tmpl +0 -25
- package/.agent/skills/gstack-ios-clean/SKILL.md +0 -427
- package/.agent/skills/gstack-ios-clean/SKILL.md.tmpl +0 -107
- package/.agent/skills/gstack-ios-design-review/SKILL.md +0 -434
- package/.agent/skills/gstack-ios-design-review/SKILL.md.tmpl +0 -111
- package/.agent/skills/gstack-ios-fix/SKILL.md +0 -423
- package/.agent/skills/gstack-ios-fix/SKILL.md.tmpl +0 -103
- package/.agent/skills/gstack-ios-qa/SKILL.md +0 -643
- package/.agent/skills/gstack-ios-qa/SKILL.md.tmpl +0 -297
- package/.agent/skills/gstack-ios-qa/daemon/src/allowlist.ts +0 -114
- package/.agent/skills/gstack-ios-qa/daemon/src/audit.ts +0 -97
- package/.agent/skills/gstack-ios-qa/daemon/src/auth-mint.ts +0 -89
- package/.agent/skills/gstack-ios-qa/daemon/src/cli-mint.ts +0 -149
- package/.agent/skills/gstack-ios-qa/daemon/src/devicectl.ts +0 -335
- package/.agent/skills/gstack-ios-qa/daemon/src/index.ts +0 -697
- package/.agent/skills/gstack-ios-qa/daemon/src/proxy.ts +0 -160
- package/.agent/skills/gstack-ios-qa/daemon/src/session-tokens.ts +0 -126
- package/.agent/skills/gstack-ios-qa/daemon/src/single-instance.ts +0 -171
- package/.agent/skills/gstack-ios-qa/daemon/src/tailscale-localapi.ts +0 -120
- package/.agent/skills/gstack-ios-qa/daemon/src/tunnel-bootstrap.ts +0 -459
- package/.agent/skills/gstack-ios-qa/daemon/src/types.ts +0 -91
- package/.agent/skills/gstack-ios-qa/daemon/test/allowlist.test.ts +0 -146
- package/.agent/skills/gstack-ios-qa/daemon/test/audit.test.ts +0 -111
- package/.agent/skills/gstack-ios-qa/daemon/test/auth-mint.test.ts +0 -106
- package/.agent/skills/gstack-ios-qa/daemon/test/cli-mint.test.ts +0 -120
- package/.agent/skills/gstack-ios-qa/daemon/test/daemon-integration.test.ts +0 -855
- package/.agent/skills/gstack-ios-qa/daemon/test/fake-device.ts +0 -238
- package/.agent/skills/gstack-ios-qa/daemon/test/proxy-classify.test.ts +0 -47
- package/.agent/skills/gstack-ios-qa/daemon/test/proxy-transport.test.ts +0 -499
- package/.agent/skills/gstack-ios-qa/daemon/test/session-tokens.test.ts +0 -156
- package/.agent/skills/gstack-ios-qa/daemon/test/single-instance.test.ts +0 -96
- package/.agent/skills/gstack-ios-qa/daemon/test/tailscale-localapi.test.ts +0 -55
- package/.agent/skills/gstack-ios-qa/daemon/test/tunnel-bootstrap.test.ts +0 -1030
- package/.agent/skills/gstack-ios-qa/templates/Bridges.swift.template +0 -474
- package/.agent/skills/gstack-ios-qa/templates/DebugBridgeManager.swift.template +0 -38
- package/.agent/skills/gstack-ios-qa/templates/DebugBridgeTouch.h.template +0 -38
- package/.agent/skills/gstack-ios-qa/templates/DebugBridgeTouch.m.template +0 -365
- package/.agent/skills/gstack-ios-qa/templates/DebugBridgeWiring.swift.template +0 -59
- package/.agent/skills/gstack-ios-qa/templates/DebugOverlay.swift.template +0 -137
- package/.agent/skills/gstack-ios-qa/templates/Package.swift.template +0 -82
- package/.agent/skills/gstack-ios-qa/templates/StateAccessor.swift.template +0 -41
- package/.agent/skills/gstack-ios-qa/templates/StateServer.swift.template +0 -625
- package/.agent/skills/gstack-ios-sync/SKILL.md +0 -418
- package/.agent/skills/gstack-ios-sync/SKILL.md.tmpl +0 -99
- package/.agent/skills/gstack-land-and-deploy/SKILL.md +0 -1028
- package/.agent/skills/gstack-land-and-deploy/SKILL.md.tmpl +0 -509
- package/.agent/skills/gstack-land-and-deploy/sections/first-run-validation.md +0 -188
- package/.agent/skills/gstack-land-and-deploy/sections/first-run-validation.md.tmpl +0 -150
- package/.agent/skills/gstack-land-and-deploy/sections/manifest.json +0 -26
- package/.agent/skills/gstack-land-and-deploy/sections/merge-and-deploy.md +0 -250
- package/.agent/skills/gstack-land-and-deploy/sections/merge-and-deploy.md.tmpl +0 -248
- package/.agent/skills/gstack-land-and-deploy/sections/readiness-gate.md +0 -308
- package/.agent/skills/gstack-land-and-deploy/sections/readiness-gate.md.tmpl +0 -306
- package/.agent/skills/gstack-landing-report/SKILL.md +0 -488
- package/.agent/skills/gstack-landing-report/SKILL.md.tmpl +0 -164
- package/.agent/skills/gstack-learn/SKILL.md +0 -519
- package/.agent/skills/gstack-learn/SKILL.md.tmpl +0 -197
- package/.agent/skills/gstack-make-pdf/SKILL.md +0 -409
- package/.agent/skills/gstack-make-pdf/SKILL.md.tmpl +0 -253
- package/.agent/skills/gstack-make-pdf/src/asideClient.ts +0 -114
- package/.agent/skills/gstack-make-pdf/src/cli.ts +0 -294
- package/.agent/skills/gstack-make-pdf/src/commands.ts +0 -62
- package/.agent/skills/gstack-make-pdf/src/diagram-prepass.ts +0 -834
- package/.agent/skills/gstack-make-pdf/src/html-to-docx.d.ts +0 -7
- package/.agent/skills/gstack-make-pdf/src/image-policy.ts +0 -236
- package/.agent/skills/gstack-make-pdf/src/image-size.ts +0 -117
- package/.agent/skills/gstack-make-pdf/src/orchestrator.ts +0 -339
- package/.agent/skills/gstack-make-pdf/src/pdftotext.ts +0 -318
- package/.agent/skills/gstack-make-pdf/src/print-css.ts +0 -452
- package/.agent/skills/gstack-make-pdf/src/render.ts +0 -636
- package/.agent/skills/gstack-make-pdf/src/setup.ts +0 -113
- package/.agent/skills/gstack-make-pdf/src/smartypants.ts +0 -105
- package/.agent/skills/gstack-make-pdf/src/toc-pages.ts +0 -197
- package/.agent/skills/gstack-make-pdf/src/types.ts +0 -109
- package/.agent/skills/gstack-make-pdf/test/asideClient.test.ts +0 -153
- package/.agent/skills/gstack-make-pdf/test/cli-args.test.ts +0 -94
- package/.agent/skills/gstack-make-pdf/test/cli-exit-codes.test.ts +0 -329
- package/.agent/skills/gstack-make-pdf/test/diagram-prepass.test.ts +0 -743
- package/.agent/skills/gstack-make-pdf/test/e2e/ci-prereqs.test.ts +0 -48
- package/.agent/skills/gstack-make-pdf/test/e2e/combined-gate.test.ts +0 -74
- package/.agent/skills/gstack-make-pdf/test/e2e/diagram-gate.test.ts +0 -173
- package/.agent/skills/gstack-make-pdf/test/e2e/emoji-gate.test.ts +0 -191
- package/.agent/skills/gstack-make-pdf/test/e2e/format-gate.test.ts +0 -130
- package/.agent/skills/gstack-make-pdf/test/e2e/landscape-gate.test.ts +0 -150
- package/.agent/skills/gstack-make-pdf/test/e2e/toc-gate.test.ts +0 -143
- package/.agent/skills/gstack-make-pdf/test/fixtures/combined-gate.expected.txt +0 -20
- package/.agent/skills/gstack-make-pdf/test/fixtures/combined-gate.md +0 -30
- package/.agent/skills/gstack-make-pdf/test/fixtures/diagram-assets/huge-noise.png +0 -0
- package/.agent/skills/gstack-make-pdf/test/fixtures/diagram-assets/red-box.png +0 -0
- package/.agent/skills/gstack-make-pdf/test/fixtures/diagram-assets/wide-arch.png +0 -0
- package/.agent/skills/gstack-make-pdf/test/fixtures/diagram-assets/wide-screenshot.png +0 -0
- package/.agent/skills/gstack-make-pdf/test/fixtures/diagram-gate.md +0 -48
- package/.agent/skills/gstack-make-pdf/test/fixtures/emoji-gate.md +0 -12
- package/.agent/skills/gstack-make-pdf/test/fixtures/landscape-gate.md +0 -52
- package/.agent/skills/gstack-make-pdf/test/image-policy.test.ts +0 -215
- package/.agent/skills/gstack-make-pdf/test/pdftotext.test.ts +0 -327
- package/.agent/skills/gstack-make-pdf/test/render-offline-sanitize.test.ts +0 -268
- package/.agent/skills/gstack-make-pdf/test/render.test.ts +0 -603
- package/.agent/skills/gstack-make-pdf/test/setup-smoke.test.ts +0 -259
- package/.agent/skills/gstack-make-pdf/test/toc-anchors.test.ts +0 -95
- package/.agent/skills/gstack-make-pdf/test/toc-pages.test.ts +0 -148
- package/.agent/skills/gstack-office-hours/SKILL.md +0 -1324
- package/.agent/skills/gstack-office-hours/SKILL.md.tmpl +0 -372
- package/.agent/skills/gstack-office-hours/sections/design-and-handoff.md +0 -706
- package/.agent/skills/gstack-office-hours/sections/design-and-handoff.md.tmpl +0 -547
- package/.agent/skills/gstack-office-hours/sections/manifest.json +0 -26
- package/.agent/skills/gstack-office-hours/sections/phase-2a-startup-diagnostic.md +0 -163
- package/.agent/skills/gstack-office-hours/sections/phase-2a-startup-diagnostic.md.tmpl +0 -161
- package/.agent/skills/gstack-office-hours/sections/phase-2b-builder-brainstorm.md +0 -43
- package/.agent/skills/gstack-office-hours/sections/phase-2b-builder-brainstorm.md.tmpl +0 -41
- package/.agent/skills/gstack-open-gstack-browser/SKILL.md +0 -414
- package/.agent/skills/gstack-open-gstack-browser/SKILL.md.tmpl +0 -248
- package/.agent/skills/gstack-pair-agent/SKILL.md +0 -730
- package/.agent/skills/gstack-pair-agent/SKILL.md.tmpl +0 -366
- package/.agent/skills/gstack-plan-ceo-review/SKILL.md +0 -1245
- package/.agent/skills/gstack-plan-ceo-review/SKILL.md.tmpl +0 -596
- package/.agent/skills/gstack-plan-ceo-review/bin/mode-handoff-hook +0 -5
- package/.agent/skills/gstack-plan-ceo-review/bin/mode-handoff-hook.ts +0 -34
- package/.agent/skills/gstack-plan-ceo-review/sections/checklist.md +0 -37
- package/.agent/skills/gstack-plan-ceo-review/sections/checklist.md.tmpl +0 -35
- package/.agent/skills/gstack-plan-ceo-review/sections/manifest.json +0 -23
- package/.agent/skills/gstack-plan-ceo-review/sections/review-sections.md +0 -1207
- package/.agent/skills/gstack-plan-ceo-review/sections/review-sections.md.tmpl +0 -605
- package/.agent/skills/gstack-plan-design-review/SKILL.md +0 -1230
- package/.agent/skills/gstack-plan-design-review/SKILL.md.tmpl +0 -344
- package/.agent/skills/gstack-plan-design-review/sections/checklist.md +0 -27
- package/.agent/skills/gstack-plan-design-review/sections/checklist.md.tmpl +0 -25
- package/.agent/skills/gstack-plan-design-review/sections/manifest.json +0 -23
- package/.agent/skills/gstack-plan-design-review/sections/review-sections.md +0 -727
- package/.agent/skills/gstack-plan-design-review/sections/review-sections.md.tmpl +0 -281
- package/.agent/skills/gstack-plan-devex-review/SKILL.md +0 -1072
- package/.agent/skills/gstack-plan-devex-review/SKILL.md.tmpl +0 -459
- package/.agent/skills/gstack-plan-devex-review/dx-hall-of-fame.md +0 -127
- package/.agent/skills/gstack-plan-devex-review/sections/checklist.md +0 -33
- package/.agent/skills/gstack-plan-devex-review/sections/checklist.md.tmpl +0 -31
- package/.agent/skills/gstack-plan-devex-review/sections/manifest.json +0 -23
- package/.agent/skills/gstack-plan-devex-review/sections/review-sections.md +0 -1037
- package/.agent/skills/gstack-plan-devex-review/sections/review-sections.md.tmpl +0 -446
- package/.agent/skills/gstack-plan-eng-review/SKILL.md +0 -702
- package/.agent/skills/gstack-plan-eng-review/SKILL.md.tmpl +0 -191
- package/.agent/skills/gstack-plan-eng-review/sections/checklist.md +0 -34
- package/.agent/skills/gstack-plan-eng-review/sections/checklist.md.tmpl +0 -32
- package/.agent/skills/gstack-plan-eng-review/sections/manifest.json +0 -23
- package/.agent/skills/gstack-plan-eng-review/sections/review-sections.md +0 -1545
- package/.agent/skills/gstack-plan-eng-review/sections/review-sections.md.tmpl +0 -614
- package/.agent/skills/gstack-plan-tune/SKILL.md +0 -986
- package/.agent/skills/gstack-plan-tune/SKILL.md.tmpl +0 -669
- package/.agent/skills/gstack-qa/SKILL.md +0 -781
- package/.agent/skills/gstack-qa/SKILL.md.tmpl +0 -305
- package/.agent/skills/gstack-qa/references/issue-taxonomy.md +0 -85
- package/.agent/skills/gstack-qa/sections/browser-setup.md +0 -114
- package/.agent/skills/gstack-qa/sections/browser-setup.md.tmpl +0 -28
- package/.agent/skills/gstack-qa/sections/browser-verify.md +0 -19
- package/.agent/skills/gstack-qa/sections/browser-verify.md.tmpl +0 -17
- package/.agent/skills/gstack-qa/sections/exploratory.md +0 -92
- package/.agent/skills/gstack-qa/sections/exploratory.md.tmpl +0 -1
- package/.agent/skills/gstack-qa/sections/manifest.json +0 -50
- package/.agent/skills/gstack-qa/sections/qa-patterns.md +0 -226
- package/.agent/skills/gstack-qa/sections/qa-patterns.md.tmpl +0 -1
- package/.agent/skills/gstack-qa/sections/scope.md +0 -23
- package/.agent/skills/gstack-qa/sections/scope.md.tmpl +0 -1
- package/.agent/skills/gstack-qa/sections/system-functional.md +0 -61
- package/.agent/skills/gstack-qa/sections/system-functional.md.tmpl +0 -1
- package/.agent/skills/gstack-qa/sections/test-bootstrap.md +0 -86
- package/.agent/skills/gstack-qa/sections/test-bootstrap.md.tmpl +0 -74
- package/.agent/skills/gstack-qa/templates/functional-report-template.md +0 -55
- package/.agent/skills/gstack-qa/templates/qa-report-template.md +0 -124
- package/.agent/skills/gstack-qa-only/SKILL.md +0 -595
- package/.agent/skills/gstack-qa-only/SKILL.md.tmpl +0 -214
- package/.agent/skills/gstack-qa-only/sections/exploratory.md +0 -107
- package/.agent/skills/gstack-qa-only/sections/exploratory.md.tmpl +0 -1
- package/.agent/skills/gstack-qa-only/sections/manifest.json +0 -19
- package/.agent/skills/gstack-qa-only/sections/reporting.md +0 -78
- package/.agent/skills/gstack-qa-only/sections/reporting.md.tmpl +0 -76
- package/.agent/skills/gstack-retro/SKILL.md +0 -1178
- package/.agent/skills/gstack-retro/SKILL.md.tmpl +0 -769
- package/.agent/skills/gstack-retro/sections/manifest.json +0 -14
- package/.agent/skills/gstack-retro/sections/report-format.md +0 -127
- package/.agent/skills/gstack-retro/sections/report-format.md.tmpl +0 -125
- package/.agent/skills/gstack-review/SKILL.md +0 -1199
- package/.agent/skills/gstack-review/SKILL.md.tmpl +0 -482
- package/.agent/skills/gstack-review/TODOS-format.md +0 -61
- package/.agent/skills/gstack-review/checklist.md +0 -222
- package/.agent/skills/gstack-review/design-checklist.md +0 -193
- package/.agent/skills/gstack-review/gate-integrity.md +0 -171
- package/.agent/skills/gstack-review/greptile-triage.md +0 -261
- package/.agent/skills/gstack-review/sections/adversarial.md +0 -296
- package/.agent/skills/gstack-review/sections/adversarial.md.tmpl +0 -1
- package/.agent/skills/gstack-review/sections/manifest.json +0 -32
- package/.agent/skills/gstack-review/sections/plan-completion.md +0 -232
- package/.agent/skills/gstack-review/sections/plan-completion.md.tmpl +0 -3
- package/.agent/skills/gstack-review/sections/review-army.md +0 -263
- package/.agent/skills/gstack-review/sections/review-army.md.tmpl +0 -1
- package/.agent/skills/gstack-review/sections/shared-code-reuse.md +0 -34
- package/.agent/skills/gstack-review/sections/shared-code-reuse.md.tmpl +0 -1
- package/.agent/skills/gstack-review/specialists/api-contract.md +0 -49
- package/.agent/skills/gstack-review/specialists/data-migration.md +0 -48
- package/.agent/skills/gstack-review/specialists/maintainability.md +0 -46
- package/.agent/skills/gstack-review/specialists/performance.md +0 -52
- package/.agent/skills/gstack-review/specialists/red-team.md +0 -45
- package/.agent/skills/gstack-review/specialists/security.md +0 -65
- package/.agent/skills/gstack-review/specialists/simplification.md +0 -49
- package/.agent/skills/gstack-review/specialists/testing.md +0 -160
- package/.agent/skills/gstack-scrape/SKILL.md +0 -431
- package/.agent/skills/gstack-scrape/SKILL.md.tmpl +0 -187
- package/.agent/skills/gstack-setup-browser-cookies/SKILL.md +0 -231
- package/.agent/skills/gstack-setup-browser-cookies/SKILL.md.tmpl +0 -64
- package/.agent/skills/gstack-setup-deploy/SKILL.md +0 -605
- package/.agent/skills/gstack-setup-deploy/SKILL.md.tmpl +0 -250
- package/.agent/skills/gstack-setup-gbrain/SKILL.md +0 -1074
- package/.agent/skills/gstack-setup-gbrain/SKILL.md.tmpl +0 -742
- package/.agent/skills/gstack-setup-gbrain/memory.md +0 -426
- package/.agent/skills/gstack-setup-gbrain/sections/brain-init.md +0 -269
- package/.agent/skills/gstack-setup-gbrain/sections/brain-init.md.tmpl +0 -267
- package/.agent/skills/gstack-setup-gbrain/sections/claude-md-persist.md +0 -40
- package/.agent/skills/gstack-setup-gbrain/sections/claude-md-persist.md.tmpl +0 -38
- package/.agent/skills/gstack-setup-gbrain/sections/engine-remediation.md +0 -71
- package/.agent/skills/gstack-setup-gbrain/sections/engine-remediation.md.tmpl +0 -69
- package/.agent/skills/gstack-setup-gbrain/sections/manifest.json +0 -32
- package/.agent/skills/gstack-setup-gbrain/sections/transcript-gate.md +0 -105
- package/.agent/skills/gstack-setup-gbrain/sections/transcript-gate.md.tmpl +0 -103
- package/.agent/skills/gstack-ship/SKILL.md +0 -1220
- package/.agent/skills/gstack-ship/SKILL.md.tmpl +0 -694
- package/.agent/skills/gstack-ship/sections/adversarial.md +0 -362
- package/.agent/skills/gstack-ship/sections/adversarial.md.tmpl +0 -22
- package/.agent/skills/gstack-ship/sections/apple-release.md +0 -98
- package/.agent/skills/gstack-ship/sections/apple-release.md.tmpl +0 -96
- package/.agent/skills/gstack-ship/sections/changelog.md +0 -47
- package/.agent/skills/gstack-ship/sections/changelog.md.tmpl +0 -5
- package/.agent/skills/gstack-ship/sections/documentation.md +0 -118
- package/.agent/skills/gstack-ship/sections/documentation.md.tmpl +0 -116
- package/.agent/skills/gstack-ship/sections/greptile-early.md +0 -57
- package/.agent/skills/gstack-ship/sections/greptile-early.md.tmpl +0 -48
- package/.agent/skills/gstack-ship/sections/greptile.md +0 -95
- package/.agent/skills/gstack-ship/sections/greptile.md.tmpl +0 -93
- package/.agent/skills/gstack-ship/sections/handoff.md +0 -22
- package/.agent/skills/gstack-ship/sections/handoff.md.tmpl +0 -20
- package/.agent/skills/gstack-ship/sections/manifest.json +0 -92
- package/.agent/skills/gstack-ship/sections/measure.md +0 -66
- package/.agent/skills/gstack-ship/sections/measure.md.tmpl +0 -64
- package/.agent/skills/gstack-ship/sections/plan-completion.md +0 -387
- package/.agent/skills/gstack-ship/sections/plan-completion.md.tmpl +0 -67
- package/.agent/skills/gstack-ship/sections/pr-body.md +0 -258
- package/.agent/skills/gstack-ship/sections/pr-body.md.tmpl +0 -241
- package/.agent/skills/gstack-ship/sections/review-army.md +0 -728
- package/.agent/skills/gstack-ship/sections/review-army.md.tmpl +0 -171
- package/.agent/skills/gstack-ship/sections/shared-code-reuse.md +0 -34
- package/.agent/skills/gstack-ship/sections/shared-code-reuse.md.tmpl +0 -1
- package/.agent/skills/gstack-ship/sections/test-coverage.md +0 -478
- package/.agent/skills/gstack-ship/sections/test-coverage.md.tmpl +0 -118
- package/.agent/skills/gstack-ship/sections/tests.md +0 -453
- package/.agent/skills/gstack-ship/sections/tests.md.tmpl +0 -144
- package/.agent/skills/gstack-skillify/SKILL.md +0 -790
- package/.agent/skills/gstack-skillify/SKILL.md.tmpl +0 -437
- package/.agent/skills/gstack-spec/SKILL.md +0 -893
- package/.agent/skills/gstack-spec/SKILL.md.tmpl +0 -498
- package/.agent/skills/gstack-spec/sections/gate-and-file.md +0 -470
- package/.agent/skills/gstack-spec/sections/gate-and-file.md.tmpl +0 -319
- package/.agent/skills/gstack-spec/sections/manifest.json +0 -14
- package/.agent/skills/gstack-sync-gbrain/SKILL.md +0 -935
- package/.agent/skills/gstack-sync-gbrain/SKILL.md.tmpl +0 -615
- package/.agent/skills/gstack-test-audit/SKILL.md +0 -500
- package/.agent/skills/gstack-test-audit/SKILL.md.tmpl +0 -149
- package/.agent/skills/gstack-unfreeze/SKILL.md +0 -39
- package/.agent/skills/gstack-unfreeze/SKILL.md.tmpl +0 -39
- package/.agent/skills/gstack-upgrade/SKILL.md +0 -410
- package/.agent/skills/gstack-upgrade/SKILL.md.tmpl +0 -413
- package/.agent/skills/gstack-upgrade/migrations/v0.15.2.0.sh +0 -20
- package/.agent/skills/gstack-upgrade/migrations/v0.16.2.0.sh +0 -56
- package/.agent/skills/gstack-upgrade/migrations/v1.0.0.0.sh +0 -40
- package/.agent/skills/gstack-upgrade/migrations/v1.1.3.0.sh +0 -137
- package/.agent/skills/gstack-upgrade/migrations/v1.17.0.0.sh +0 -59
- package/.agent/skills/gstack-upgrade/migrations/v1.27.0.0.sh +0 -432
- package/.agent/skills/gstack-upgrade/migrations/v1.37.0.0.sh +0 -104
- package/.agent/skills/gstack-upgrade/migrations/v1.38.1.0.sh +0 -104
- package/.agent/skills/gstack-upgrade/migrations/v1.40.0.0.sh +0 -144
- package/.agent/skills/gstack-upgrade/migrations/v1.58.0.0.sh +0 -65
- package/.agent/skills/gstack-upgrade/migrations/v1.65.0.0.sh +0 -152
- package/.agent/skills/gstack-upgrade/migrations/v1.67.0.0.sh +0 -73
- package/.agent/skills/gstack-upgrade/migrations/v1.78.0.0.sh +0 -30
- package/.agent/skills/gstack-upgrade/migrations/v1.86.0.0.sh +0 -12
- package/.agent/skills/gstack-upgrade/migrations/v1.91.19.0.sh +0 -53
- package/.agent/skills/gstack-upgrade/migrations/v1.91.65.0.sh +0 -31
- package/.agent/skills/html-renderer/SKILL.md +0 -336
- package/.agent/skills/html-renderer/references/animation-patterns.md +0 -609
- package/.agent/skills/html-renderer/references/character-animation.md +0 -388
- package/.agent/skills/html-renderer/references/collage-broll.md +0 -41
- package/.agent/skills/html-renderer/references/design.md +0 -217
- package/.agent/skills/html-renderer/references/directing.md +0 -165
- package/.agent/skills/html-renderer/references/earshot-audio.md +0 -201
- package/.agent/skills/html-renderer/references/engine-api.md +0 -480
- package/.agent/skills/html-renderer/references/film-styles.md +0 -95
- package/.agent/skills/html-renderer/references/hyperframes-motion.md +0 -208
- package/.agent/skills/html-renderer/references/motion-craft.md +0 -92
- package/.agent/skills/html-renderer/references/onetake-camera.md +0 -59
- package/.agent/skills/html-renderer/references/procedural-sfx.md +0 -147
- package/.agent/skills/html-renderer/references/remotion-patterns.md +0 -159
- package/.agent/skills/html-renderer/references/render-contract.md +0 -66
- package/.agent/skills/motion-styles/LIBRARY.md +0 -896
- package/.agent/skills/motion-styles/README.md +0 -29
- package/.agent/skills/motion-styles/SKILL.md +0 -70
- package/.agent/skills/motion-styles/catalog.json +0 -2253
- package/.agent/skills/motion-styles/prompts/bio-glow.md +0 -149
- package/.agent/skills/motion-styles/prompts/blueprint.md +0 -145
- package/.agent/skills/motion-styles/prompts/breaking-desk.md +0 -147
- package/.agent/skills/motion-styles/prompts/callout-kit.md +0 -147
- package/.agent/skills/motion-styles/prompts/chalk-talk.md +0 -153
- package/.agent/skills/motion-styles/prompts/chat-story.md +0 -143
- package/.agent/skills/motion-styles/prompts/clay-diorama.md +0 -149
- package/.agent/skills/motion-styles/prompts/clean-tech.md +0 -147
- package/.agent/skills/motion-styles/prompts/comic-panels.md +0 -145
- package/.agent/skills/motion-styles/prompts/cosmic-scale.md +0 -147
- package/.agent/skills/motion-styles/prompts/creator-motion.md +0 -149
- package/.agent/skills/motion-styles/prompts/data-city.md +0 -149
- package/.agent/skills/motion-styles/prompts/data-story.md +0 -147
- package/.agent/skills/motion-styles/prompts/deep-layers.md +0 -147
- package/.agent/skills/motion-styles/prompts/doc-cinema.md +0 -145
- package/.agent/skills/motion-styles/prompts/evidence-board.md +0 -145
- package/.agent/skills/motion-styles/prompts/exploded-view.md +0 -149
- package/.agent/skills/motion-styles/prompts/glass-icons.md +0 -147
- package/.agent/skills/motion-styles/prompts/glitch-pack.md +0 -145
- package/.agent/skills/motion-styles/prompts/globe-arcs.md +0 -147
- package/.agent/skills/motion-styles/prompts/headline-backdrop.md +0 -145
- package/.agent/skills/motion-styles/prompts/iso-cutaway.md +0 -147
- package/.agent/skills/motion-styles/prompts/isotype.md +0 -145
- package/.agent/skills/motion-styles/prompts/karaoke-subs.md +0 -145
- package/.agent/skills/motion-styles/prompts/low-poly-atlas.md +0 -149
- package/.agent/skills/motion-styles/prompts/lower-thirds.md +0 -147
- package/.agent/skills/motion-styles/prompts/marker-board.md +0 -145
- package/.agent/skills/motion-styles/prompts/market-tape.md +0 -145
- package/.agent/skills/motion-styles/prompts/math-canvas.md +0 -145
- package/.agent/skills/motion-styles/prompts/myth-or-fact.md +0 -145
- package/.agent/skills/motion-styles/prompts/neon-line.md +0 -145
- package/.agent/skills/motion-styles/prompts/paper-craft.md +0 -145
- package/.agent/skills/motion-styles/prompts/parchment-map.md +0 -147
- package/.agent/skills/motion-styles/prompts/physics-toybox.md +0 -147
- package/.agent/skills/motion-styles/prompts/pixel-quest.md +0 -145
- package/.agent/skills/motion-styles/prompts/podcast-clip.md +0 -147
- package/.agent/skills/motion-styles/prompts/pop-info.md +0 -145
- package/.agent/skills/motion-styles/prompts/product-turntable.md +0 -149
- package/.agent/skills/motion-styles/prompts/punch-captions.md +0 -145
- package/.agent/skills/motion-styles/prompts/quiz-countdown.md +0 -145
- package/.agent/skills/motion-styles/prompts/quote-cinema.md +0 -145
- package/.agent/skills/motion-styles/prompts/recipe-steps.md +0 -145
- package/.agent/skills/motion-styles/prompts/rubber-hose-reel.md +0 -145
- package/.agent/skills/motion-styles/prompts/shadow-puppets.md +0 -145
- package/.agent/skills/motion-styles/prompts/size-lineup.md +0 -149
- package/.agent/skills/motion-styles/prompts/software-walkthrough.md +0 -147
- package/.agent/skills/motion-styles/prompts/stack-split.md +0 -145
- package/.agent/skills/motion-styles/prompts/sticker-pop.md +0 -145
- package/.agent/skills/motion-styles/prompts/storybook.md +0 -145
- package/.agent/skills/motion-styles/prompts/swiss-grid.md +0 -145
- package/.agent/skills/motion-styles/prompts/synth-grid.md +0 -147
- package/.agent/skills/motion-styles/prompts/tactics-board.md +0 -145
- package/.agent/skills/motion-styles/prompts/terminal.md +0 -145
- package/.agent/skills/motion-styles/prompts/tier-list.md +0 -143
- package/.agent/skills/motion-styles/prompts/timeline-rail.md +0 -145
- package/.agent/skills/motion-styles/prompts/top-5-countdown.md +0 -145
- package/.agent/skills/motion-styles/prompts/versus-split.md +0 -145
- package/.agent/skills/motion-styles/prompts/vhs-camcorder.md +0 -145
- package/.agent/skills/motion-styles/prompts/visual-novel.md +0 -145
- package/.agent/skills/motion-styles/prompts/warm-canvas.md +0 -145
- package/.agent/skills/motion-styles/prompts/woodcut-tale.md +0 -145
- package/.agent/skills/motion-styles/prompts/zine-collage.md +0 -145
- package/.agent/skills/motion-styles/sources/bio-glow.html +0 -639
- package/.agent/skills/motion-styles/sources/blueprint.html +0 -617
- package/.agent/skills/motion-styles/sources/breaking-desk.html +0 -585
- package/.agent/skills/motion-styles/sources/callout-kit.html +0 -586
- package/.agent/skills/motion-styles/sources/chalk-talk.html +0 -597
- package/.agent/skills/motion-styles/sources/chat-story.html +0 -597
- package/.agent/skills/motion-styles/sources/clay-diorama.html +0 -681
- package/.agent/skills/motion-styles/sources/clean-tech.html +0 -554
- package/.agent/skills/motion-styles/sources/comic-panels.html +0 -608
- package/.agent/skills/motion-styles/sources/cosmic-scale.html +0 -628
- package/.agent/skills/motion-styles/sources/creator-motion.html +0 -805
- package/.agent/skills/motion-styles/sources/data-city.html +0 -613
- package/.agent/skills/motion-styles/sources/data-story.html +0 -539
- package/.agent/skills/motion-styles/sources/deep-layers.html +0 -624
- package/.agent/skills/motion-styles/sources/doc-cinema.html +0 -590
- package/.agent/skills/motion-styles/sources/evidence-board.html +0 -610
- package/.agent/skills/motion-styles/sources/exploded-view.html +0 -618
- package/.agent/skills/motion-styles/sources/glass-icons.html +0 -612
- package/.agent/skills/motion-styles/sources/glitch-pack.html +0 -583
- package/.agent/skills/motion-styles/sources/globe-arcs.html +0 -621
- package/.agent/skills/motion-styles/sources/headline-backdrop.html +0 -584
- package/.agent/skills/motion-styles/sources/iso-cutaway.html +0 -621
- package/.agent/skills/motion-styles/sources/isotype.html +0 -588
- package/.agent/skills/motion-styles/sources/karaoke-subs.html +0 -577
- package/.agent/skills/motion-styles/sources/low-poly-atlas.html +0 -621
- package/.agent/skills/motion-styles/sources/lower-thirds.html +0 -582
- package/.agent/skills/motion-styles/sources/marker-board.html +0 -598
- package/.agent/skills/motion-styles/sources/market-tape.html +0 -598
- package/.agent/skills/motion-styles/sources/math-canvas.html +0 -592
- package/.agent/skills/motion-styles/sources/myth-or-fact.html +0 -587
- package/.agent/skills/motion-styles/sources/neon-line.html +0 -597
- package/.agent/skills/motion-styles/sources/paper-craft.html +0 -612
- package/.agent/skills/motion-styles/sources/parchment-map.html +0 -624
- package/.agent/skills/motion-styles/sources/physics-toybox.html +0 -617
- package/.agent/skills/motion-styles/sources/pixel-quest.html +0 -609
- package/.agent/skills/motion-styles/sources/podcast-clip.html +0 -585
- package/.agent/skills/motion-styles/sources/pop-info.html +0 -677
- package/.agent/skills/motion-styles/sources/product-turntable.html +0 -611
- package/.agent/skills/motion-styles/sources/punch-captions.html +0 -583
- package/.agent/skills/motion-styles/sources/quiz-countdown.html +0 -593
- package/.agent/skills/motion-styles/sources/quote-cinema.html +0 -581
- package/.agent/skills/motion-styles/sources/recipe-steps.html +0 -599
- package/.agent/skills/motion-styles/sources/rubber-hose-reel.html +0 -627
- package/.agent/skills/motion-styles/sources/shadow-puppets.html +0 -609
- package/.agent/skills/motion-styles/sources/size-lineup.html +0 -620
- package/.agent/skills/motion-styles/sources/software-walkthrough.html +0 -651
- package/.agent/skills/motion-styles/sources/stack-split.html +0 -588
- package/.agent/skills/motion-styles/sources/sticker-pop.html +0 -587
- package/.agent/skills/motion-styles/sources/storybook.html +0 -600
- package/.agent/skills/motion-styles/sources/swiss-grid.html +0 -590
- package/.agent/skills/motion-styles/sources/synth-grid.html +0 -614
- package/.agent/skills/motion-styles/sources/tactics-board.html +0 -608
- package/.agent/skills/motion-styles/sources/terminal.html +0 -593
- package/.agent/skills/motion-styles/sources/tier-list.html +0 -600
- package/.agent/skills/motion-styles/sources/timeline-rail.html +0 -598
- package/.agent/skills/motion-styles/sources/top-5-countdown.html +0 -589
- package/.agent/skills/motion-styles/sources/versus-split.html +0 -592
- package/.agent/skills/motion-styles/sources/vhs-camcorder.html +0 -587
- package/.agent/skills/motion-styles/sources/visual-novel.html +0 -623
- package/.agent/skills/motion-styles/sources/warm-canvas.html +0 -742
- package/.agent/skills/motion-styles/sources/woodcut-tale.html +0 -598
- package/.agent/skills/motion-styles/sources/zine-collage.html +0 -594
- package/.agent/skills/reverse-engineer-anything/SKILL.md +0 -356
- package/.agent/skills/reverse-engineer-anything/references/android-applications.md +0 -36
- package/.agent/skills/reverse-engineer-anything/references/connection-and-recovery.md +0 -127
- package/.agent/skills/reverse-engineer-anything/references/evidence-workflows.md +0 -71
- package/.agent/skills/reverse-engineer-anything/references/javascript-applications.md +0 -218
- package/.agent/skills/reverse-engineer-anything/references/native-and-artifacts.md +0 -297
- package/.agent/skills/reverse-engineer-anything/references/runtime-observation.md +0 -78
- package/.agent/skills/video-pipeline/SKILL.md +0 -384
- package/.agent/skills/video-pipeline/assets/project/ANIMATION_GUIDE.md +0 -258
- package/.agent/skills/video-pipeline/assets/project/STORYBOARD.md +0 -77
- package/.agent/skills/video-pipeline/assets/project/index.html +0 -80
- package/.agent/skills/video-pipeline/assets/project/pipeline/briefings/diagram-author.md +0 -43
- package/.agent/skills/video-pipeline/assets/project/pipeline/briefings/orchestrator.md +0 -75
- package/.agent/skills/video-pipeline/assets/project/pipeline/briefings/scene-author.md +0 -63
- package/.agent/skills/video-pipeline/assets/project/reel/engine.css +0 -140
- package/.agent/skills/video-pipeline/assets/project/reel/engine.js +0 -2143
- package/.agent/skills/video-pipeline/assets/project/reel/virtual-clock.js +0 -168
- package/.agent/skills/video-pipeline/references/mcp-tools.md +0 -441
- package/.agent/skills/video-pipeline/references/motion-craft.md +0 -91
- package/.agent/skills/video-pipeline/references/providers.md +0 -174
- package/.agent/skills/video-pipeline/references/render-contract.md +0 -65
|
@@ -1,468 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: autoplan
|
|
3
|
-
preamble-tier: 3
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
description: |
|
|
6
|
-
Auto-review pipeline — reads the full CEO, design, eng, and DX review skills from disk
|
|
7
|
-
and runs them sequentially with auto-decisions using 6 decision principles. Surfaces
|
|
8
|
-
taste decisions (close approaches, borderline scope, outside-review disagreements) at a final
|
|
9
|
-
approval gate. One command, fully reviewed plan out.
|
|
10
|
-
Use when asked to "auto review", "autoplan", "run all reviews", "review this plan
|
|
11
|
-
automatically", or "make the decisions for me".
|
|
12
|
-
Proactively suggest when the user has a plan file and wants to run the full review
|
|
13
|
-
gauntlet without answering 15-30 intermediate questions. (gstack)
|
|
14
|
-
voice-triggers:
|
|
15
|
-
- "auto plan"
|
|
16
|
-
- "automatic review"
|
|
17
|
-
benefits-from: [office-hours]
|
|
18
|
-
triggers:
|
|
19
|
-
- run all reviews
|
|
20
|
-
- automatic review pipeline
|
|
21
|
-
- auto plan review
|
|
22
|
-
allowed-tools:
|
|
23
|
-
- Bash
|
|
24
|
-
- Read
|
|
25
|
-
- Write
|
|
26
|
-
- Edit
|
|
27
|
-
- Glob
|
|
28
|
-
- Grep
|
|
29
|
-
- WebSearch
|
|
30
|
-
- AskUserQuestion
|
|
31
|
-
{{AUTOPLAN_PUBLICATION_HOOK}}
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
{{PREAMBLE}}
|
|
35
|
-
|
|
36
|
-
{{BASE_BRANCH_DETECT}}
|
|
37
|
-
|
|
38
|
-
## Design Doc Check
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
setopt +o nomatch 2>/dev/null || true # zsh compat
|
|
42
|
-
SLUG=$(~/.claude/skills/gstack/browse/bin/remote-slug 2>/dev/null || basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)")
|
|
43
|
-
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null | tr '/' '-' || echo 'no-branch')
|
|
44
|
-
{{DESIGN_DOC_DISCOVERY}}
|
|
45
|
-
```
|
|
46
|
-
If a design doc exists, read it; its problem statement, constraints and chosen
|
|
47
|
-
approach feed the pipeline.
|
|
48
|
-
|
|
49
|
-
{{BENEFITS_FROM}}
|
|
50
|
-
|
|
51
|
-
# /autoplan — Auto-Review Pipeline
|
|
52
|
-
|
|
53
|
-
Read every CEO, design, DX and eng section from disk at full interactive depth.
|
|
54
|
-
The 6 principles answer intermediate questions; taste goes to one final gate.
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
{{SECTION_INDEX:autoplan}}
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## The 6 Decision Principles
|
|
63
|
-
|
|
64
|
-
1. **Choose completeness** — Ship the whole thing; pick the approach covering more edge cases.
|
|
65
|
-
2. **Boil lakes** — Fix everything in the blast radius (files this plan modifies + direct importers). Auto-approve expansions in blast radius AND < 1 day CC effort (< 5 files, no new infra).
|
|
66
|
-
3. **Pragmatic** — Two options fix the same thing? Pick the cleaner one, in seconds.
|
|
67
|
-
4. **DRY** — Duplicates existing functionality? Reject; reuse what exists.
|
|
68
|
-
5. **Explicit over clever** — 10-line obvious fix > 200-line abstraction; pick what a new contributor reads at a glance.
|
|
69
|
-
6. **Bias toward action** — Merge > review cycles > stale deliberation. Flag concerns, don't block.
|
|
70
|
-
|
|
71
|
-
**Conflict resolution (context-dependent tiebreakers):**
|
|
72
|
-
- **CEO phase:** P1 (completeness) + P2 (boil lakes) dominate.
|
|
73
|
-
- **Eng phase:** P5 (explicit) + P3 (pragmatic) dominate.
|
|
74
|
-
- **Design phase:** P5 (explicit) + P1 (completeness) dominate.
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Decision Classification
|
|
79
|
-
|
|
80
|
-
Every auto-decision is classified:
|
|
81
|
-
|
|
82
|
-
**Mechanical** — one clearly right answer. Auto-decide silently (run the enabled
|
|
83
|
-
outside reviewer: yes; run evals: yes; reduce scope on a complete plan: no).
|
|
84
|
-
|
|
85
|
-
**Taste** — reasonable people could disagree. Auto-decide with a recommendation; surface at the final gate. Sources:
|
|
86
|
-
1. **Close approaches** — top two are both viable with different tradeoffs.
|
|
87
|
-
2. **Borderline scope** — in blast radius but 3-5 files, or ambiguous radius.
|
|
88
|
-
3. **{{OUTSIDE_LABEL}} disagreements** — the outside reviewer recommends differently and has a valid point.
|
|
89
|
-
|
|
90
|
-
**User Challenge** — {{NATIVE_LABEL}} and {{OUTSIDE_LABEL}} both recommend changing the
|
|
91
|
-
user's stated direction: merge, split, add or remove features/skills/workflows.
|
|
92
|
-
NEVER auto-decide these. At the final approval gate give the original direction,
|
|
93
|
-
proposed change, reasoning, blind spots and cost of being wrong (Phase 4 gate item);
|
|
94
|
-
flag agreed security/feasibility risks. The user's direction stands until they approve the change.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Sequential Execution — MANDATORY
|
|
99
|
-
|
|
100
|
-
Phases MUST run in strict order: CEO → Design (if UI scope) → DX (if developer-facing
|
|
101
|
-
scope) → Eng. Eng runs LAST, always, reviewing all prior amendments.
|
|
102
|
-
Keep ONE phase active, completing these gates in order:
|
|
103
|
-
1. Load its phase instructions and full skill/sections, recording complete Read ranges.
|
|
104
|
-
On Claude Code, enter through a native `Read` of the installed phase driver,
|
|
105
|
-
then use native `Read` for its methodology ranges. The driver Read is the
|
|
106
|
-
guarded entrypoint. If denied, finish or repair the preceding phase and retry
|
|
107
|
-
the same Read; changing file-loading tools does not satisfy the boundary.
|
|
108
|
-
2. Complete the phase's required preliminary work (CEO: all Step 0, including its
|
|
109
|
-
Spec Review Loop and its amendment checkpoint), then create the fresh snapshot
|
|
110
|
-
and dispatch its nativeDispatchPrompt unchanged.
|
|
111
|
-
3. Consume the native terminal result and apply the phase's failure policy, then
|
|
112
|
-
consume enabled outside results. Complete the phase's remaining primary review
|
|
113
|
-
sections after these results.
|
|
114
|
-
4. At the phase's exit, load its `phase-close` section afresh. Execute its numbered
|
|
115
|
-
operations: prepare the current packet, Read it completely, reconcile it
|
|
116
|
-
semantically, then SEND the parent completion message. Publication is its own
|
|
117
|
-
operation; an earlier Read is not this close.
|
|
118
|
-
5. Only after the message has been sent may the driver load/create/dispatch the
|
|
119
|
-
next phase. Then continue to the next phase's tool calls in the same turn;
|
|
120
|
-
after Eng, proceed to final synthesis/approval. Use the declared skip rule for
|
|
121
|
-
an inapplicable phase; do not load its review or close steps.
|
|
122
|
-
Phase notifications, skips included, are progress updates: never end the turn
|
|
123
|
-
or wait for a "continue" reply there.
|
|
124
|
-
A missing gate keeps the current phase open, even if a reviewer finished.
|
|
125
|
-
Read requests/self-reports and INPUT hashes do not prove uptake or review quality.
|
|
126
|
-
Never draft future-phase reviews or outputs. Headings/promises are not completion.
|
|
127
|
-
After compaction, reload current phase instructions/skill/sections, then
|
|
128
|
-
reconcile saved artifacts and sent conversation messages separately. If closing,
|
|
129
|
-
reload `phase-close` and resume its first incomplete numbered operation;
|
|
130
|
-
regenerate and reread the full packet when the implementation or accepted decisions changed:
|
|
131
|
-
- If a verified phase lacks its announcement, resume the close procedure at step 6 (Publish) before advancing.
|
|
132
|
-
- If its reviewer is pending, wait for that same reviewer.
|
|
133
|
-
- If native dispatch has not happened, finish any incomplete preliminary work before recovering a voice input.
|
|
134
|
-
If the final voice input does not exist, create it after the preliminary gates.
|
|
135
|
-
Read `snapshot.json` beside that final `<PHASE_INPUT>` and use its `nativeDispatchPrompt` unchanged.
|
|
136
|
-
Never dispatch `<CEO_STEP0_CHECKPOINT>`: it is the stable amendment baseline, not current review input.
|
|
137
|
-
`nativePrompt` is the file's review body, not the Agent prompt. Resume at the first incomplete gate.
|
|
138
|
-
|
|
139
|
-
Pending is not unavailable. Never skip native passes/required sections for time,
|
|
140
|
-
context pressure or your own review. Missing outside coverage never blocks native
|
|
141
|
-
completion; report accurately. Never read raw agent transcripts.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## What "Auto-Decide" Means
|
|
146
|
-
|
|
147
|
-
Auto-decide replaces the USER'S answer, not ANALYSIS. Run each loaded section at
|
|
148
|
-
full interactive depth; answer each question using the 6 principles.
|
|
149
|
-
|
|
150
|
-
**Default resolution: the recommended option.** Take `(recommended)` or the mode's
|
|
151
|
-
context default. Use the 6 principles for missing recommendations/ties. On principle
|
|
152
|
-
disagreement, take the recommendation and surface it as Taste at the final gate.
|
|
153
|
-
|
|
154
|
-
**Never auto-decide User Challenges:** both models agree to change the user's
|
|
155
|
-
direction/settled decisions, or a premise is clearly wrong. Ask once at the Final
|
|
156
|
-
Approval Gate, never mid-run; the user has context models lack.
|
|
157
|
-
|
|
158
|
-
Read referenced code/diffs/files; decide every issue. Produce all required
|
|
159
|
-
diagrams, tables, registries and artifacts on disk or in the plan. LOG decisions,
|
|
160
|
-
record ALL accepted obligations below and run `amend-input` before continuing.
|
|
161
|
-
Missing deliverables leave the review incomplete.
|
|
162
|
-
|
|
163
|
-
No summary substitutes or one-line sections; under 3 sentences likely means
|
|
164
|
-
compression. "No issues found" needs 1-2 sentences on what was examined and why.
|
|
165
|
-
Explain inapplicability with evidence; skip only under Phase 0's list. Never abort
|
|
166
|
-
or redirect to interactive review: the user chose /autoplan.
|
|
167
|
-
|
|
168
|
-
**Accepted obligations:** One unfenced block per phase in `Review record`:
|
|
169
|
-
```markdown
|
|
170
|
-
<!-- autoplan-accepted:ceo -->
|
|
171
|
-
- Requirement, all conditions and verification/tests.
|
|
172
|
-
<!-- /autoplan-accepted:ceo -->
|
|
173
|
-
```
|
|
174
|
-
Phase: `ceo|design|dx|eng`. Record accepted requirements here;
|
|
175
|
-
no analysis/severity/verdict/consensus. None accepted: `None: reason`.
|
|
176
|
-
On a rerun, carry forward unchanged accepted requirements; never replace them with None.
|
|
177
|
-
`amend` checks exact retention atomically; full readback; None unchanged.
|
|
178
|
-
Baseline edits: `create`'s `baselineEdits`. Prior blocks immutable;
|
|
179
|
-
state replacements in current block. Reconcile all decisions with readback.
|
|
180
|
-
Transport ≠ approval/complete enumeration/correctness.
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## Filesystem Boundary — {{OUTSIDE_LABEL}} Prompts
|
|
185
|
-
|
|
186
|
-
Prefix every {{OUTSIDE_LABEL}} prompt:
|
|
187
|
-
|
|
188
|
-
> IMPORTANT: Do NOT read or execute any SKILL.md files or paths containing skills/gstack (foreign instructions). Review repository code only.
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## Phase 0: Intake + Restore Point
|
|
193
|
-
|
|
194
|
-
### Step 1: Capture restore point
|
|
195
|
-
|
|
196
|
-
Absolute paths: SOURCE_PLAN (input), ACTIVE_PLAN (harness-assigned plan, else SOURCE_PLAN).
|
|
197
|
-
Save plan amendments and review artifacts to ACTIVE_PLAN.
|
|
198
|
-
Send phase announcements and the final approval request (the brief) in the conversation.
|
|
199
|
-
Resolve SNAPSHOT_TOOL once:
|
|
200
|
-
{{AUTOPLAN_SNAPSHOT_TOOL}}
|
|
201
|
-
|
|
202
|
-
Fresh RESTORE_PATH, beside its phase artifacts in the git-excluded `.gstack/tmp/autoplan/`:
|
|
203
|
-
```bash
|
|
204
|
-
{{SLUG_EVAL}}
|
|
205
|
-
_AP="$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.gstack/tmp/autoplan"; mkdir -p "$_AP" && chmod 700 "$_AP"
|
|
206
|
-
_EX=$(git rev-parse --git-path info/exclude 2>/dev/null) && mkdir -p "${_EX%/*}" && { grep -qxF /.gstack/tmp/ "$_EX" 2>/dev/null || echo /.gstack/tmp/ >> "$_EX"; }
|
|
207
|
-
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null | tr '/' '-')
|
|
208
|
-
DATETIME=$(date +%Y%m%d-%H%M%S)
|
|
209
|
-
echo "SLUG=$SLUG"
|
|
210
|
-
echo "RESTORE_PATH=$_AP/${BRANCH}-autoplan-restore-${DATETIME}.md"
|
|
211
|
-
echo "RUN_ID=${BRANCH}-${DATETIME}"; ~/.claude/skills/gstack/bin/gstack-autoplan-timing estimate --run "${BRANCH}-${DATETIME}" --out "$_AP"
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
Before scope/review:
|
|
215
|
-
```bash
|
|
216
|
-
bun "<SNAPSHOT_TOOL>" init "<SOURCE_PLAN>" "<ACTIVE_PLAN>" "<RESTORE_PATH>"
|
|
217
|
-
```
|
|
218
|
-
Run init as its own Bash call with literal absolute paths: no variables,
|
|
219
|
-
substitutions, chaining, pipes or redirects, which the guard cannot bind.
|
|
220
|
-
Use returned paths/`scope`; never hand-wrap. init backs up SOURCE_PLAN exactly,
|
|
221
|
-
then initializes ACTIVE_PLAN atomically, keeping every requirement.
|
|
222
|
-
Reviewers get only `## Implementation plan`; analysis, structured inputs included,
|
|
223
|
-
stays in `## Review record`. On helper errors, stop; no stderr hiding/grep fallback.
|
|
224
|
-
Re-run: copy RESTORE_PATH's bytes to SOURCE_PLAN, then /autoplan.
|
|
225
|
-
|
|
226
|
-
### Step 2: Read context
|
|
227
|
-
|
|
228
|
-
- Read CLAUDE.md, TODOS.md, git log -30, git diff against the base branch --stat
|
|
229
|
-
- Discover design docs: `~/.claude/skills/gstack/bin/gstack-design-doc-find "$SLUG" "$BRANCH"` (prints the doc path, or nothing)
|
|
230
|
-
- Detect UI scope: grep the plan for view/rendering terms (component, screen, form,
|
|
231
|
-
button, modal, layout, dashboard, sidebar, nav, dialog). Require 2+ matches, excluding
|
|
232
|
-
false positives ("page" alone, "UI" in acronyms).
|
|
233
|
-
- Use init's full-input `scope`. For changed input or semantic enabling flags, rerun:
|
|
234
|
-
```bash
|
|
235
|
-
bun "<SNAPSHOT_TOOL>" scope "<ACTIVE_PLAN>"
|
|
236
|
-
```
|
|
237
|
-
Use returned `dxRequired` (initially `scope.dxRequired`); record its input hash and matched
|
|
238
|
-
terms. The threshold is 2+ term matches (occurrences, not distinct terms). Also enable DX when the
|
|
239
|
-
product is a developer tool (developers install, integrate or build on it) or an AI agent is
|
|
240
|
-
the primary user: add `--developer-tool` or `--agent-primary`. These flags only enable DX; no
|
|
241
|
-
context label negates a positive result. Skip DX only when both are false.
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
### Step 3: Locate review skills; load each at phase entry
|
|
245
|
-
|
|
246
|
-
Resolve this phase's source to absolute `<REVIEW_SKILL>`; load via its checkpoint:
|
|
247
|
-
- Phase 1: {{AUTOPLAN_REVIEW_FILE:plan-ceo-review}}
|
|
248
|
-
- Phase 2: {{AUTOPLAN_REVIEW_FILE:plan-design-review}} (only if UI scope detected)
|
|
249
|
-
- Phase 2.5: {{AUTOPLAN_REVIEW_FILE:plan-devex-review}} (only if DX scope detected)
|
|
250
|
-
- Phase 3: {{AUTOPLAN_REVIEW_FILE:plan-eng-review}}
|
|
251
|
-
|
|
252
|
-
Use /autoplan's installed registry; resolve siblings from its discovered SKILL.md
|
|
253
|
-
directory, never cwd/runtime assets. Missing skill: report the phase and setup
|
|
254
|
-
repair; never substitute a harness or claim completion.
|
|
255
|
-
|
|
256
|
-
Read skills/sections only at their triggers, never prefetch future phases. Load
|
|
257
|
-
the tasks aggregator at Phase 4. Run every applicable skill and lazy section fully.
|
|
258
|
-
|
|
259
|
-
**Section skip list — when following a loaded skill file, SKIP these sections
|
|
260
|
-
(they are already handled by /autoplan):**
|
|
261
|
-
- Preamble (run first)
|
|
262
|
-
- Scope gate (the plan under review is already the target)
|
|
263
|
-
- AskUserQuestion Format
|
|
264
|
-
- Completeness Principle — Boil the Ocean
|
|
265
|
-
- Search Before Building
|
|
266
|
-
- Completion Status Protocol
|
|
267
|
-
- Telemetry (run last)
|
|
268
|
-
- Step 0: Detect platform and base branch
|
|
269
|
-
- Review Readiness Dashboard
|
|
270
|
-
- Plan File Review Report
|
|
271
|
-
- Prerequisite Skill Offer (BENEFITS_FROM)
|
|
272
|
-
- Outside Voice — Independent Plan Challenge
|
|
273
|
-
- Design Outside Voices (independent)
|
|
274
|
-
|
|
275
|
-
Follow ONLY the review-specific methodology, sections and required outputs.
|
|
276
|
-
|
|
277
|
-
Output: "Here's what I'm working with: [plan summary]. UI scope: [yes/no]. DX scope: [yes/no].
|
|
278
|
-
Review skills load at each phase entry; starting the full pipeline with auto-decisions."
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## Phase 0.5: Outside reviewer preflight
|
|
283
|
-
|
|
284
|
-
{{OUTSIDE_PREFLIGHT:autoplan}}
|
|
285
|
-
|
|
286
|
-
Disabled/unavailable retains applicable native passes. Recheck each outside dispatch.
|
|
287
|
-
Record provider and completed/unavailable/disabled/skipped per phase (CEO covers
|
|
288
|
-
only CEO). Missing voices: N/A, never CONFIRMED. Skipped scope stays skipped.
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
## Phase 1: CEO Review (Strategy & Scope)
|
|
292
|
-
|
|
293
|
-
{{SECTION:ceo-phase}}
|
|
294
|
-
|
|
295
|
-
---
|
|
296
|
-
|
|
297
|
-
## Phase 2: Design Review (conditional — skip if no UI scope)
|
|
298
|
-
|
|
299
|
-
**Skip condition:** No UI scope detected in Phase 0: skip this phase
|
|
300
|
-
entirely — do NOT read its section. Send: "Phase 2 skipped — no UI scope detected."
|
|
301
|
-
Record the skip in ACTIVE_PLAN; it is not a completed review.
|
|
302
|
-
|
|
303
|
-
{{SECTION:design-phase}}
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
## Phase 2.5: DX Review (conditional — skip if no developer-facing scope)
|
|
308
|
-
|
|
309
|
-
**Skip condition:** No DX scope detected in Phase 0: skip this phase
|
|
310
|
-
entirely — do NOT read its section. Send: "Phase 2.5 skipped — no developer-facing scope detected."
|
|
311
|
-
Record the skip in ACTIVE_PLAN; it is not a completed review.
|
|
312
|
-
|
|
313
|
-
{{SECTION:dx-phase}}
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
## Phase 3: Eng Review + Dual Voices (always runs, always LAST — the required gate reviews the final amended plan)
|
|
318
|
-
|
|
319
|
-
{{SECTION:eng-phase}}
|
|
320
|
-
|
|
321
|
-
---
|
|
322
|
-
|
|
323
|
-
## Decision Audit Trail
|
|
324
|
-
|
|
325
|
-
Right after each auto-decision, append one row to the plan file using Edit:
|
|
326
|
-
|
|
327
|
-
```markdown
|
|
328
|
-
<!-- AUTONOMOUS DECISION LOG -->
|
|
329
|
-
## Decision Audit Trail
|
|
330
|
-
|
|
331
|
-
| # | Phase | Decision | Classification | Principle | Rationale | Rejected |
|
|
332
|
-
|---|-------|----------|----------------|-----------|-----------|----------|
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
|
|
337
|
-
## Pre-Gate Verification
|
|
338
|
-
|
|
339
|
-
Check the plan and conversation for each applicable deliverable:
|
|
340
|
-
|
|
341
|
-
| Phase | Required outputs |
|
|
342
|
-
|---|---|
|
|
343
|
-
| CEO | Named premise challenges (the premise table's `REALITY:` lines); findings or explicit examination/no-findings per applicable section; Error & Rescue and Failure Modes registries (or N/A with reason); NOT in scope; What already exists; dream state delta; Completion Summary; consensus table. |
|
|
344
|
-
| Design, if UI | Scores for all 7 dimensions; identified and decided issues; litmus scorecard. |
|
|
345
|
-
| DX, if developer-facing | Scores for all 8 dimensions; developer journey map; empathy narrative; TTHW assessment and target; DX Implementation Checklist; consensus table. |
|
|
346
|
-
| Eng, always last | Scope challenge grounded in code with its `REALITY:` lines; architecture ASCII diagram; codepath-to-test diagram; test plan on disk at ~/.gstack/projects/$SLUG/; NOT in scope; What already exists; failure modes registry with critical gaps; Completion Summary; consensus table. |
|
|
347
|
-
|
|
348
|
-
Per phase, verify native and outside voice results or explicit unavailable/skipped
|
|
349
|
-
status, cross-phase themes and one Decision Audit Trail row per auto-decision.
|
|
350
|
-
Produce missing outputs before the gate; after at most 2 repair attempts, warn
|
|
351
|
-
there with each incomplete item.
|
|
352
|
-
|
|
353
|
-
{{PLAN_REALITY_ROWS:pregate}}
|
|
354
|
-
|
|
355
|
-
---
|
|
356
|
-
|
|
357
|
-
## Phase 4: Final Approval Gate
|
|
358
|
-
|
|
359
|
-
{{SECTION:tasks-aggregator}}
|
|
360
|
-
|
|
361
|
-
**STOP here and present the one-page brief to the user.**
|
|
362
|
-
|
|
363
|
-
Write `$_AP/gate.json` (shape: `gstack-gate --help`): one item per User Challenge
|
|
364
|
-
(`uc<n>`, approval; `why` = you said / both recommend / why / blind spots / cost if
|
|
365
|
-
wrong), per taste decision (`d<n>`, auto; `why` = principle and the alternative's
|
|
366
|
-
impact) and `plan` (approval: a) approve as-is (recommended) b) with overrides
|
|
367
|
-
c) interrogate d) revise e) reject). Run `~/.claude/skills/gstack/bin/gstack-gate render $_AP/gate.json`
|
|
368
|
-
and append its `decisions` output to `$_AP/decisions.jsonl`. Write the full review
|
|
369
|
-
to `$_AP/review-record.md` and its Plan Summary alone to `$_AP/summary.md`:
|
|
370
|
-
|
|
371
|
-
```
|
|
372
|
-
## /autoplan Review Complete
|
|
373
|
-
|
|
374
|
-
## URGENT, outside this plan
|
|
375
|
-
[`~/.claude/skills/gstack/bin/gstack-artifact urgent $_AP/findings.jsonl` output (security or data-loss
|
|
376
|
-
findings outside this plan, or `None.`); also written above `## Implementation plan` in ACTIVE_PLAN]
|
|
377
|
-
|
|
378
|
-
### Plan Summary
|
|
379
|
-
[1-3 sentence summary]
|
|
380
|
-
|
|
381
|
-
### Decisions Made: [N] total ([M] auto-decided, [K] taste choices, [J] user challenges)
|
|
382
|
-
Auto-decided: see the plan file's Decision Audit Trail; the rest are the brief's decisions.
|
|
383
|
-
|
|
384
|
-
### Review Scores
|
|
385
|
-
CEO, Design, DX and Eng: phase summary plus {{OUTSIDE_LABEL}}, {{NATIVE_LABEL}}
|
|
386
|
-
and consensus status; say skipped where a phase did not run. Then the CYCLE line
|
|
387
|
-
from `~/.claude/skills/gstack/bin/gstack-autoplan-timing summary --run <RUN_ID> --out "$_AP"`.
|
|
388
|
-
|
|
389
|
-
### Cross-Phase Themes
|
|
390
|
-
Concerns independently raised in 2+ phases, or "No cross-phase themes — each phase's concerns were distinct."
|
|
391
|
-
|
|
392
|
-
### Deferred to TODOS.md
|
|
393
|
-
[Items auto-deferred with reasons]
|
|
394
|
-
|
|
395
|
-
### Implementation Tasks (aggregated across phases)
|
|
396
|
-
[Substitute $AGGREGATED_TASKS. If empty: "_No per-phase task lists found in $TASKS_DIR for branch $BRANCH._"]
|
|
397
|
-
```
|
|
398
|
-
|
|
399
|
-
Present `~/.claude/skills/gstack/bin/gstack-owner-brief render --out "$_AP" --write`
|
|
400
|
-
verbatim (URGENT block, plain summary, numbered decisions seven per page with each
|
|
401
|
-
auto default, review-record path; `--page N` for later pages), never the full review.
|
|
402
|
-
|
|
403
|
-
Parse the reply: `~/.claude/skills/gstack/bin/gstack-gate parse $_AP/gate.json --reply "<text>" --gate-rev <rev>`;
|
|
404
|
-
unparsed or stale replies are re-presented (`gate_rev`+1), never guessed. `all` or `plana`
|
|
405
|
-
without overrides = A; `d<n>` overrides = B; `uc<n>` overrides = B2; `planc`/`pland`/`plane`
|
|
406
|
-
= C/D/E. Under `SESSION_KIND: unattended` Read `sections/unattended.md`, end here
|
|
407
|
-
with its `GSTACK_RESULT` line and never approve.
|
|
408
|
-
|
|
409
|
-
**Option handling:**
|
|
410
|
-
- A: mark APPROVED, run `~/.claude/skills/gstack/bin/gstack-owner-brief close --out "$_AP" --plan <ACTIVE_PLAN>` (draft-direction lines become the decided option and date), write review logs, suggest /ship
|
|
411
|
-
- B: ask which overrides, apply, then follow D's affected-phase rerun rule (Eng last) before re-presenting the gate; same 3-cycle cap as D.
|
|
412
|
-
- B2: accept/reject User Challenges one at a time; rejected ones preserve the user's direction. Re-run Eng, then re-present the gate.
|
|
413
|
-
- C: answer freeform, re-present the gate
|
|
414
|
-
- D: make changes, re-run affected phases (scope→1, design→2, dx→2.5, test plan→3, arch→3; a re-run of any earlier phase re-runs Eng after it — the gate always reviews the final plan). Max 3 cycles.
|
|
415
|
-
- E: start over
|
|
416
|
-
|
|
417
|
-
**Starting an affected-phase rerun:** Keep the current Implementation plan and all
|
|
418
|
-
prior accepted obligations intact. Move that phase's applied `autoplan-baseline-edits`
|
|
419
|
-
record verbatim into fenced history in Review record, keeping its original source SHA.
|
|
420
|
-
Create a fresh amendment checkpoint. New baseline edits use `create`'s
|
|
421
|
-
`baselineEdits.record` and `sourceSha256`; the review projection hash is not baseline
|
|
422
|
-
identity. Carry forward unchanged accepted requirements. Never replay old replacements
|
|
423
|
-
or rewrite a historical source SHA. This is a new phase invocation; compaction
|
|
424
|
-
resumes the existing one and its checkpoint. Eng still runs last.
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
## Completion: Write Review Logs
|
|
429
|
-
|
|
430
|
-
On approval, log each completed review for /ship's dashboard, substituting
|
|
431
|
-
TIMESTAMP, STATUS ("clean" or "issues_open") and N.
|
|
432
|
-
|
|
433
|
-
```bash
|
|
434
|
-
COMMIT=$(git rev-parse --short HEAD 2>/dev/null)
|
|
435
|
-
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
436
|
-
~/.claude/skills/gstack/bin/gstack-review-log '{"skill":"plan-ceo-review","timestamp":"'"$TIMESTAMP"'","status":"STATUS","unresolved":N,"critical_gaps":N,"mode":"SELECTIVE_EXPANSION","via":"autoplan","commit":"'"$COMMIT"'"}'
|
|
437
|
-
~/.claude/skills/gstack/bin/gstack-review-log '{"skill":"plan-eng-review","timestamp":"'"$TIMESTAMP"'","status":"STATUS","unresolved":N,"critical_gaps":N,"issues_found":N,"mode":"FULL_REVIEW","via":"autoplan","commit":"'"$COMMIT"'"}'
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
If Phase 2 ran (UI scope):
|
|
441
|
-
```bash
|
|
442
|
-
~/.claude/skills/gstack/bin/gstack-review-log '{"skill":"plan-design-review","timestamp":"'"$TIMESTAMP"'","status":"STATUS","unresolved":N,"via":"autoplan","commit":"'"$COMMIT"'"}'
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
If Phase 2.5 ran (DX scope):
|
|
446
|
-
```bash
|
|
447
|
-
~/.claude/skills/gstack/bin/gstack-review-log '{"skill":"plan-devex-review","timestamp":"'"$TIMESTAMP"'","status":"STATUS","initial_score":N,"overall_score":N,"product_type":"TYPE","tthw_current":"TTHW","tthw_target":"TARGET","unresolved":N,"via":"autoplan","commit":"'"$COMMIT"'"}'
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
Dual voice logs: one record per PHASE (`ceo`, `design`, `dx`, `eng`) with that
|
|
451
|
-
phase's status/counts, sharing one AUTOPLAN_RUN_ID and TIMESTAMP.
|
|
452
|
-
```bash
|
|
453
|
-
~/.claude/skills/gstack/bin/gstack-review-log '{"skill":"autoplan-voices","run_id":"AUTOPLAN_RUN_ID","timestamp":"'"$TIMESTAMP"'","status":"STATUS","source":"SOURCE","host":"{{HOST_ID}}","outside_provider":"{{OUTSIDE_PROVIDER}}","outside_status":"OUTSIDE_STATUS","phase":"PHASE","via":"autoplan","consensus_confirmed":N,"consensus_disagree":N,"commit":"'"$COMMIT"'"}'
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
Always log skipped Design/DX: status/outside_status "skipped", source "none", zero
|
|
457
|
-
consensus counts. SOURCE = "{{OUTSIDE_PROVIDER}}" only for completed external output;
|
|
458
|
-
native results use "in-host". OUTSIDE_STATUS: completed, unavailable, disabled or
|
|
459
|
-
skipped. Never carry success across phases/runs; preserve modelUsage.
|
|
460
|
-
|
|
461
|
-
{{OUTSIDE_PROVENANCE:autoplan}}
|
|
462
|
-
|
|
463
|
-
Present a phase coverage table (CEO, design, DX, eng): host, outside provider/status,
|
|
464
|
-
native completion, findings, partial coverage, with actual counts.
|
|
465
|
-
|
|
466
|
-
{{IMPLEMENTATION_MODEL_HANDOFF}}
|
|
467
|
-
|
|
468
|
-
Suggest `/ship` when ready to create the PR.
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What the publication guard reads of its parent journal (CEO-2, ENG-4, ENG-5).
|
|
3
|
-
* The bounded reader's index keeps every owned record's events without content.
|
|
4
|
-
* This policy reloads in full only what the evaluation reads: every literal
|
|
5
|
-
* init and its result, the current call, and inside the invocation window
|
|
6
|
-
* (from the latest human turn at or before the bound invocation chain's first
|
|
7
|
-
* init) the results of guarded and close-packet Reads, structured Bash results,
|
|
8
|
-
* error results, assistant text after the first close-packet Read and
|
|
9
|
-
* mutations of the active plan; plus the earlier Read a dedup reply cites,
|
|
10
|
-
* even before the window.
|
|
11
|
-
*/
|
|
12
|
-
import { readOwnedClaudePublicTranscript, type IndexedRecord, type JournalPrefix, type OwnedRead,
|
|
13
|
-
type OwnedReadMeasure } from '../../lib/claude-owned-journal';
|
|
14
|
-
import { object, sameNativePath, type ClaudeParentPublicEvent, type NativePublicToolEvent } from '../../lib/claude-journal-records';
|
|
15
|
-
|
|
16
|
-
type Event = ClaudeParentPublicEvent;
|
|
17
|
-
type Use = NativePublicToolEvent & { order: number };
|
|
18
|
-
/** Claude Code's reply to a Read of an unchanged file it already returned in full. */
|
|
19
|
-
export const DEDUP_REPLY = 'Wasted call — file unchanged since your last Read. Refer to that earlier tool_result instead.';
|
|
20
|
-
/** The longest Read input or Bash command the index keeps; a literal init is far shorter. */
|
|
21
|
-
const INDEX_INPUT_MAX = 4096;
|
|
22
|
-
|
|
23
|
-
export function textResult(event: Event): string | undefined {
|
|
24
|
-
if (event.kind !== 'result' || event.isError !== false) return;
|
|
25
|
-
if (typeof event.content === 'string') return event.content;
|
|
26
|
-
if (Array.isArray(event.content) && event.content.length === 1 && event.content[0]?.type === 'text' &&
|
|
27
|
-
typeof event.content[0].text === 'string') return event.content[0].text;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** The hook's own classifiers, passed in so this policy and the evaluation cannot disagree. */
|
|
31
|
-
export interface GuardJournalTests {
|
|
32
|
-
/** A literal snapshot init's [source, active, restore], or undefined. */
|
|
33
|
-
init(command: unknown): string[] | undefined;
|
|
34
|
-
/** A phase driver or artifact Read ('phase'), a close-packet Read ('close'), or neither. */
|
|
35
|
-
read(file: unknown): 'phase' | 'close' | undefined;
|
|
36
|
-
reviewer(input: Record<string, unknown>): boolean;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function indexInput(tests: GuardJournalTests) {
|
|
40
|
-
return (name: string, input: Record<string, unknown>): Record<string, unknown> | undefined => {
|
|
41
|
-
if (name === 'Read') return JSON.stringify(input).length <= INDEX_INPUT_MAX ? input : undefined;
|
|
42
|
-
if (name === 'Bash') return typeof input.command === 'string' && input.command.length <= INDEX_INPUT_MAX ? { command: input.command } : undefined;
|
|
43
|
-
if (name === 'Agent') return tests.reviewer(input) ? input : undefined;
|
|
44
|
-
if (name === 'Write' || name === 'Edit')
|
|
45
|
-
return typeof input.file_path === 'string' && input.file_path.length <= INDEX_INPUT_MAX ? { file_path: input.file_path } : undefined;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function select(tests: GuardJournalTests, currentToolUseId: string) {
|
|
50
|
-
return (records: readonly IndexedRecord[], load: (records: readonly IndexedRecord[]) => void) => {
|
|
51
|
-
const useOf = new Map<string, { use: Use; record: IndexedRecord }>(), resultsOf = new Map<string, IndexedRecord[]>();
|
|
52
|
-
const reads: Array<{ use: Use; record: IndexedRecord }> = [], inits: Array<{ use: Use; record: number; args: string[] }> = [];
|
|
53
|
-
records.forEach((record, at) => {
|
|
54
|
-
for (const e of record.events) {
|
|
55
|
-
if (e.kind === 'use') {
|
|
56
|
-
const use = e as Use;
|
|
57
|
-
if (!useOf.has(use.toolUseId)) useOf.set(use.toolUseId, { use, record });
|
|
58
|
-
if (use.name === 'Read') reads.push({ use, record });
|
|
59
|
-
const args = use.name === 'Bash' ? tests.init(use.input?.command) : undefined;
|
|
60
|
-
if (args) inits.push({ use, record: at, args });
|
|
61
|
-
} else if (e.kind === 'result') { const list = resultsOf.get(e.toolUseId) ?? []; list.push(record); resultsOf.set(e.toolUseId, list); }
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
const withResults = (id: string) => [...(useOf.has(id) ? [useOf.get(id)!.record] : []), ...resultsOf.get(id) ?? []];
|
|
65
|
-
// invocation() binds and checks every literal init, so all of them load, window or not.
|
|
66
|
-
load(inits.flatMap(init => resultsOf.get(init.use.toolUseId) ?? []));
|
|
67
|
-
let bound: Record<string, any> | undefined, chainStart: number | undefined;
|
|
68
|
-
for (const init of inits) {
|
|
69
|
-
const replies = (resultsOf.get(init.use.toolUseId) ?? []).flatMap(r => r.events)
|
|
70
|
-
.filter(e => e.kind === 'result' && e.toolUseId === init.use.toolUseId && e.order > init.use.order);
|
|
71
|
-
let reply: unknown;
|
|
72
|
-
try { reply = replies.length === 1 ? JSON.parse(textResult(replies[0]!) ?? 'null') : undefined; } catch { reply = undefined; }
|
|
73
|
-
// A reused:true init keeps the earlier binding, as invocation() does.
|
|
74
|
-
if (object(reply) && reply.reused === true && bound && bound.activePlan === reply.activePlan &&
|
|
75
|
-
bound.restorePath === reply.restorePath) continue;
|
|
76
|
-
chainStart = init.record; bound = object(reply) ? reply : undefined;
|
|
77
|
-
}
|
|
78
|
-
let start = 0;
|
|
79
|
-
for (let i = chainStart ?? records.length - 1; i >= 0; i--)
|
|
80
|
-
if (records[i]!.events.some(e => e.kind === 'user_turn')) { start = i; break; }
|
|
81
|
-
const activePlans = inits.filter(init => init.record >= start).map(init => init.args[1]);
|
|
82
|
-
const wanted = new Set<IndexedRecord>(withResults(currentToolUseId));
|
|
83
|
-
let afterClose = false;
|
|
84
|
-
for (const record of records.slice(start)) for (const e of record.events) {
|
|
85
|
-
if (e.kind === 'use' && e.name === 'Read' && tests.read(e.input?.file_path) === 'close') afterClose = true;
|
|
86
|
-
if (e.kind === 'message' && afterClose) wanted.add(record);
|
|
87
|
-
if (e.kind === 'use' && (e.name === 'Write' || e.name === 'Edit') && activePlans.some(plan => sameNativePath(plan, e.input?.file_path)))
|
|
88
|
-
wanted.add(record);
|
|
89
|
-
if (e.kind !== 'result') continue;
|
|
90
|
-
const use = useOf.get(e.toolUseId)?.use;
|
|
91
|
-
if (e.isError || (use?.name === 'Read' && tests.read(use.input?.file_path)) ||
|
|
92
|
-
(use?.name === 'Bash' && record.jsonResults?.includes(e.toolUseId))) wanted.add(record);
|
|
93
|
-
}
|
|
94
|
-
load([...wanted]);
|
|
95
|
-
// ENG-4: a dedup reply's cited earlier Read (and its own reply) loads even before the window.
|
|
96
|
-
for (let pending = [...wanted]; pending.length;) {
|
|
97
|
-
const next: IndexedRecord[] = [];
|
|
98
|
-
for (const record of pending) for (const e of record.events) {
|
|
99
|
-
const use = e.kind === 'result' ? useOf.get(e.toolUseId)?.use : undefined;
|
|
100
|
-
if (!use || use.name !== 'Read' || textResult(e) !== DEDUP_REPLY) continue;
|
|
101
|
-
const prior = reads.findLast(r => r.use.order < use.order && sameNativePath(r.use.input?.file_path, use.input?.file_path));
|
|
102
|
-
if (prior) next.push(...withResults(prior.use.toolUseId).filter(r => !r.full));
|
|
103
|
-
}
|
|
104
|
-
load(next);
|
|
105
|
-
pending = next;
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** The guard's owned read: the bounded reader under this policy, keeping the prefix witness across reads. */
|
|
111
|
-
export function readGuardJournal(file: string, owners: readonly string[], sessionId: string, currentToolUseId: string,
|
|
112
|
-
tests: GuardJournalTests, prior?: JournalPrefix, measure?: OwnedReadMeasure): OwnedRead {
|
|
113
|
-
return readOwnedClaudePublicTranscript(file, owners, sessionId,
|
|
114
|
-
{ prior, measure, policy: { indexInput: indexInput(tests), select: select(tests, currentToolUseId) } });
|
|
115
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/** One content-free line per guarded /autoplan decision, so denials have a denominator. */
|
|
2
|
-
import * as fs from 'node:fs';
|
|
3
|
-
import * as path from 'node:path';
|
|
4
|
-
import { resolveStateRoot } from '../../lib/state-root';
|
|
5
|
-
|
|
6
|
-
export const GUARD_LOG_SCHEMA = 1;
|
|
7
|
-
export const GUARD_LOG_KEEP_LINES = 1_000;
|
|
8
|
-
export const GUARD_LOG_TRIM_BYTES = 256 * 1024;
|
|
9
|
-
|
|
10
|
-
export interface GuardLogEntry {
|
|
11
|
-
decision: 'allow' | 'deny';
|
|
12
|
-
/** allow, unverified, or the denial's fallback/corrective/transient class. */
|
|
13
|
-
disposition: 'allow' | 'unverified' | 'fallback' | 'corrective' | 'transient';
|
|
14
|
-
code?: string;
|
|
15
|
-
path: 'journal' | 'payload' | 'none';
|
|
16
|
-
claudeVersion?: string;
|
|
17
|
-
/** Names only (never values) of Agent keys outside the allowlist. */
|
|
18
|
-
unknownKeys?: string[];
|
|
19
|
-
recordTypes?: string[];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const guardLogPath = () => path.join(resolveStateRoot(), 'analytics', 'autoplan-guard.jsonl');
|
|
23
|
-
|
|
24
|
-
/** Append-only; past the byte bound keep the newest lines via temp file + rename. A logging failure never changes a decision. */
|
|
25
|
-
export function logGuardDecision(entry: GuardLogEntry, now = new Date()): void {
|
|
26
|
-
try {
|
|
27
|
-
const file = guardLogPath();
|
|
28
|
-
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
29
|
-
fs.appendFileSync(file, JSON.stringify({ schema: GUARD_LOG_SCHEMA, ts: now.toISOString(), decision: entry.decision,
|
|
30
|
-
disposition: entry.disposition, code: entry.code ?? null, path: entry.path, claude_code_version: entry.claudeVersion ?? null,
|
|
31
|
-
...(entry.unknownKeys?.length ? { unknown_keys: entry.unknownKeys } : {}),
|
|
32
|
-
...(entry.recordTypes?.length ? { record_types: entry.recordTypes } : {}) }) + '\n');
|
|
33
|
-
if (fs.statSync(file).size <= GUARD_LOG_TRIM_BYTES) return;
|
|
34
|
-
const kept = fs.readFileSync(file, 'utf8').split('\n').filter(Boolean).slice(-GUARD_LOG_KEEP_LINES);
|
|
35
|
-
const temp = `${file}.${process.pid}.${Date.now()}.tmp`;
|
|
36
|
-
fs.writeFileSync(temp, kept.join('\n') + '\n');
|
|
37
|
-
// A concurrent trim may win; losing that race only keeps a few more lines.
|
|
38
|
-
try { fs.renameSync(temp, file); } catch { fs.rmSync(temp, { force: true }); }
|
|
39
|
-
} catch { /* A logging failure never changes the verdict. */ }
|
|
40
|
-
}
|