@amsterdamdatalabs/enact-extensions 0.1.37 → 0.1.47
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/README.md +67 -108
- package/bundled-extensions.json +6 -0
- package/dist/create/enact.d.ts.map +1 -1
- package/dist/create/enact.js +2 -0
- package/dist/create/enact.js.map +1 -1
- package/dist/create/index.d.ts +3 -0
- package/dist/create/index.d.ts.map +1 -1
- package/dist/create/index.js +6 -0
- package/dist/create/index.js.map +1 -1
- package/dist/create/kimi.d.ts +16 -0
- package/dist/create/kimi.d.ts.map +1 -0
- package/dist/create/kimi.js +87 -0
- package/dist/create/kimi.js.map +1 -0
- package/dist/create/opencode.d.ts +129 -0
- package/dist/create/opencode.d.ts.map +1 -0
- package/dist/create/opencode.js +696 -0
- package/dist/create/opencode.js.map +1 -0
- package/dist/index.d.ts +12 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/internal/agents.d.ts +12 -2
- package/dist/internal/agents.d.ts.map +1 -1
- package/dist/internal/agents.js +119 -3
- package/dist/internal/agents.js.map +1 -1
- package/dist/internal/extensions-table.d.ts +58 -0
- package/dist/internal/extensions-table.d.ts.map +1 -0
- package/dist/internal/extensions-table.js +134 -0
- package/dist/internal/extensions-table.js.map +1 -0
- package/dist/internal/file-ops.d.ts +36 -0
- package/dist/internal/file-ops.d.ts.map +1 -0
- package/dist/internal/file-ops.js +89 -0
- package/dist/internal/file-ops.js.map +1 -0
- package/dist/internal/hooks.d.ts +56 -0
- package/dist/internal/hooks.d.ts.map +1 -0
- package/dist/internal/hooks.js +128 -0
- package/dist/internal/hooks.js.map +1 -0
- package/dist/internal/json-merge.d.ts +63 -0
- package/dist/internal/json-merge.d.ts.map +1 -0
- package/dist/internal/json-merge.js +122 -0
- package/dist/internal/json-merge.js.map +1 -0
- package/dist/internal/lock-ownership.d.ts +41 -0
- package/dist/internal/lock-ownership.d.ts.map +1 -0
- package/dist/internal/lock-ownership.js +24 -0
- package/dist/internal/lock-ownership.js.map +1 -0
- package/dist/internal/platform.d.ts.map +1 -1
- package/dist/internal/platform.js +90 -4
- package/dist/internal/platform.js.map +1 -1
- package/dist/internal/schema.js.map +1 -1
- package/dist/internal/toml-block.d.ts +59 -0
- package/dist/internal/toml-block.d.ts.map +1 -0
- package/dist/internal/toml-block.js +113 -0
- package/dist/internal/toml-block.js.map +1 -0
- package/dist/internal/types.d.ts +2 -1
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/projection.d.ts +47 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/projection.js +180 -0
- package/dist/projection.js.map +1 -0
- package/dist/validate/index.d.ts +9 -4
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +56 -7
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/kimi.d.ts +3 -0
- package/dist/validate/kimi.d.ts.map +1 -0
- package/dist/validate/kimi.js +11 -0
- package/dist/validate/kimi.js.map +1 -0
- package/dist/validate/opencode.d.ts +3 -0
- package/dist/validate/opencode.d.ts.map +1 -0
- package/dist/validate/opencode.js +11 -0
- package/dist/validate/opencode.js.map +1 -0
- package/dist/validate/run.d.ts +39 -0
- package/dist/validate/run.d.ts.map +1 -0
- package/dist/validate/run.js +63 -0
- package/dist/validate/run.js.map +1 -0
- package/extensions/enact-loop/.agents/plugin.json +12 -8
- package/extensions/enact-loop/scripts/validate.mjs +113 -2
- package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
- package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
- package/extensions/enact-loop/skills/loop-budget/SKILL.md +57 -0
- package/extensions/enact-loop/skills/loop-intake/SKILL.md +59 -0
- package/extensions/enact-repo/.agents/plugin.json +55 -0
- package/extensions/enact-repo/.mcp.json +20 -0
- package/extensions/enact-repo/README.md +90 -0
- package/extensions/enact-repo/hooks/hooks.json +98 -0
- package/extensions/enact-repo/lean-ctx/config.toml +35 -0
- package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
- package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
- package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
- package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
- package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
- package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
- package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
- package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
- package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
- package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
- package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
- package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
- package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
- package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
- package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
- package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
- package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
- package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
- package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
- package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
- package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
- package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
- package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
- package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
- package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +220 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +178 -0
- package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +209 -0
- package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
- package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
- package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
- package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
- package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
- package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
- package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
- package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
- package/extensions/enact-repo/skills/research/SKILL.md +27 -0
- package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
- package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
- package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
- package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
- package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
- package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
- package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
- package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
- package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
- package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
- package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
- package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
- package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
- package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
- package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
- package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
- package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
- package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
- package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
- package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
- package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
- package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
- package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
- package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
- package/package.json +18 -14
- package/scripts/enact-extensions.mjs +255 -873
- package/scripts/lib/allowed-plugins.mjs +52 -0
- package/scripts/lib/run-repo-doctor.mjs +571 -0
- package/scripts/lib/run-repo-install.mjs +1579 -0
- package/scripts/lib/run-sync.mjs +1 -1
- package/scripts/lib/run-validate.mjs +23 -37
- package/scripts/lib/skill-validator.mjs +872 -0
- package/spec/enact.json +21 -3
- package/spec/enact.md +13 -12
- package/spec/kimi.json +100 -0
- package/spec/opencode.json +64 -0
- package/dist/install.d.ts +0 -235
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -697
- package/dist/install.js.map +0 -1
- package/dist/internal/claude.d.ts +0 -65
- package/dist/internal/claude.d.ts.map +0 -1
- package/dist/internal/claude.js +0 -200
- package/dist/internal/claude.js.map +0 -1
- package/dist/internal/codex.d.ts +0 -43
- package/dist/internal/codex.d.ts.map +0 -1
- package/dist/internal/codex.js +0 -211
- package/dist/internal/codex.js.map +0 -1
- package/dist/internal/cursor.d.ts +0 -2
- package/dist/internal/cursor.d.ts.map +0 -1
- package/dist/internal/cursor.js +0 -6
- package/dist/internal/cursor.js.map +0 -1
- package/dist/principles.d.ts +0 -28
- package/dist/principles.d.ts.map +0 -1
- package/dist/principles.js +0 -159
- package/dist/principles.js.map +0 -1
- package/dist/provision.d.ts +0 -30
- package/dist/provision.d.ts.map +0 -1
- package/dist/provision.js +0 -202
- package/dist/provision.js.map +0 -1
- package/extensions/dev-state/.agents/plugin.json +0 -36
- package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
- package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
- package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
- package/extensions/enact-context/.agents/plugin.json +0 -41
- package/extensions/enact-context/.mcp.json +0 -8
- package/extensions/enact-context/README.md +0 -25
- package/extensions/enact-context/assets/icon.png +0 -0
- package/extensions/enact-context/assets/logo.png +0 -0
- package/extensions/enact-context/hooks/hooks.json +0 -115
- package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
- package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
- package/extensions/enact-core/.agents/plugin.json +0 -40
- package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
- package/extensions/enact-core/hooks/hooks.json +0 -26
- package/extensions/enact-evolve/.agents/plugin.json +0 -47
- package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
- package/extensions/enact-evolve/assets/icon.png +0 -0
- package/extensions/enact-evolve/assets/logo.png +0 -0
- package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
- package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
- package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
- package/extensions/enact-factory/.agents/plugin.json +0 -49
- package/extensions/enact-factory/.mcp.json +0 -8
- package/extensions/enact-factory/agents/architect.toml +0 -34
- package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
- package/extensions/enact-factory/agents/critic.toml +0 -39
- package/extensions/enact-factory/agents/executor.toml +0 -26
- package/extensions/enact-factory/agents/explore.toml +0 -25
- package/extensions/enact-factory/agents/planner.toml +0 -26
- package/extensions/enact-factory/agents/verifier.toml +0 -33
- package/extensions/enact-factory/assets/icon.png +0 -0
- package/extensions/enact-factory/assets/logo.png +0 -0
- package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
- package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
- package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
- package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
- package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
- package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
- package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
- package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
- package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
- package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
- package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
- package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
- package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
- package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
- package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
- package/extensions/enact-factory/skills/research/SKILL.md +0 -83
- package/extensions/enact-factory/skills/review/SKILL.md +0 -67
- package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
- package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
- package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
- package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
- package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
- package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
- package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
- package/extensions/enact-wiki/.agents/plugin.json +0 -43
- package/extensions/enact-wiki/.mcp.json +0 -15
- package/extensions/enact-wiki/README.md +0 -44
- package/extensions/enact-wiki/assets/icon.png +0 -0
- package/extensions/enact-wiki/assets/logo.png +0 -0
- package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
- package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
- package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
- package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
- package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
- package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
- package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
- package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
- package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
- package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
- package/extensions/net-revenue-management/.agents/plugin.json +0 -40
- package/extensions/net-revenue-management/.mcp.json +0 -9
- package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
- package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
- package/extensions/plugin-dev/.agents/plugin.json +0 -41
- package/extensions/plugin-dev/agents/agent-creator.md +0 -199
- package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
- package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
- package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
- package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
- package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
- package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
- package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
- package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
- package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
- package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
- package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
- package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
- package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
- package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
- package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
- package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
- package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
- package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
- package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
- package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
- package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
- package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
- package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
- package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
- package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
- package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
- package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
- package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
- package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
- package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
- package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
- package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
- package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
- package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
- package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
- package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
- package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
- package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
- package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
- package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
- package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
- package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
- package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
- package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
- package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
- package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
- package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
- package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
- package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
- package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
- package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
- package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
- package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
- package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
- package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
- package/scripts/check-hooks.mjs +0 -174
- package/scripts/check-principles.mjs +0 -116
- package/scripts/hooks/session-start-drift-check.mjs +0 -48
- package/scripts/install.sh +0 -70
- package/scripts/lib/auto-update.mjs +0 -75
- package/scripts/lib/bundle-hash.mjs +0 -137
- package/scripts/lib/hooks.mjs +0 -585
- package/scripts/lib/ledger.mjs +0 -163
- package/scripts/lib/migrate-artifacts.mjs +0 -144
- package/scripts/lib/outdated.mjs +0 -144
- package/scripts/lib/postinstall-offer.mjs +0 -83
- package/scripts/lib/principles.mjs +0 -109
- package/scripts/lib/provision-mcp.mjs +0 -16
- package/scripts/lib/resolve-plugin-root.mjs +0 -9
- package/scripts/lib/run-install.mjs +0 -500
- package/scripts/lib/run-prune.mjs +0 -94
- package/scripts/lib/run-uninstall.mjs +0 -244
- package/scripts/lib/run-update.mjs +0 -152
- package/scripts/lib/serve.mjs +0 -472
- package/scripts/lib/ups-router.mjs +0 -392
- package/scripts/postinstall.mjs +0 -101
- package/scripts/setup-enact-context.sh +0 -28
- package/scripts/version-bump.sh +0 -484
- package/web/assets/README.md +0 -111
- package/web/assets/logo-full.png +0 -0
- package/web/assets/logo-slim.png +0 -0
- package/web/assets/tokens/base.css +0 -45
- package/web/assets/tokens/colors.css +0 -248
- package/web/assets/tokens/effects.css +0 -24
- package/web/assets/tokens/fonts.css +0 -8
- package/web/assets/tokens/index.css +0 -18
- package/web/assets/tokens/spacing.css +0 -50
- package/web/index.html +0 -1188
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: advisor
|
|
3
|
-
description: >-
|
|
4
|
-
Single independent cross-vendor advisory pass on a WorkItem or decision —
|
|
5
|
-
GO / CONCERNS / NO-GO with rationale. Use when asked to "get advice on",
|
|
6
|
-
"sanity-check", "second opinion", "advisor", or when the driver hits an
|
|
7
|
-
uncertain judgment call (visual/UX, risk, approach) mid-drive. Read-only:
|
|
8
|
-
no code changes, no board mutation, no loop drive.
|
|
9
|
-
metadata:
|
|
10
|
-
author: Amsterdam Data Labs
|
|
11
|
-
version: 1.0.0
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# advisor
|
|
15
|
-
|
|
16
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
17
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
18
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
19
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state and closure summaries go under `~/.enact/loop/projects/<key>/…`.
|
|
20
|
-
|
|
21
|
-
A **single** independent opinion from one strong cross-vendor agent. This is the
|
|
22
|
-
lightest **escalation** path: the default cheap graders (minimax M3 / kimi K2.7) handle routine
|
|
23
|
-
judgment; advisor is invoked when the driver hits a high-risk judgment call that cheap graders
|
|
24
|
-
are unlikely to catch — visual/UX fidelity, a11y subtlety, public-API surface, or any decision
|
|
25
|
-
where a false-GO from a cheap model would be costly. Not a full review, not a debate.
|
|
26
|
-
|
|
27
|
-
## When to escalate to advisor
|
|
28
|
-
|
|
29
|
-
- **Frontend / UI:** a11y (contrast, focus, ARIA) · visual / UX judgment · consumer-API surface
|
|
30
|
-
- **Any tier:** a judgment call where the executor is uncertain and cheap grader false-GO would be harmful
|
|
31
|
-
|
|
32
|
-
The validated 3-wave run evidence: strong graders caught five real defects (faked-AA contrast,
|
|
33
|
-
missing focus, `{...rest}` a11y override, untested variant, theme flash) that every mechanical gate
|
|
34
|
-
passed AND that cheap graders would likely have false-GO'd.
|
|
35
|
-
|
|
36
|
-
## Model selection
|
|
37
|
-
|
|
38
|
-
Advisor runs on a **strong cross-vendor** model:
|
|
39
|
-
- **gpt-5.5** — preferred for Frontend / UI a11y / visual judgment (distinct from sonnet executor)
|
|
40
|
-
- **opus 4.8** — preferred when executor is codex / gpt lineage (cross-vendor from OpenAI)
|
|
41
|
-
|
|
42
|
-
If the strong escalation model is unavailable, say so and STOP — do not substitute a cheap or
|
|
43
|
-
same-lineage model and call it independent.
|
|
44
|
-
|
|
45
|
-
## Boundaries (hard)
|
|
46
|
-
|
|
47
|
-
- **Read-only.** No edits, no commits, no worktree, no board mutation, no
|
|
48
|
-
`loop_*` calls. Advice only.
|
|
49
|
-
- **Cross-vendor.** The advisor runs on a **different model/vendor** from
|
|
50
|
-
whoever is driving (independence). If a distinct model is unavailable, say so
|
|
51
|
-
and STOP — do not give a same-model "opinion" and call it independent.
|
|
52
|
-
- **One agent, one pass.** For a debate or root-cause use [`committee`](../committee/SKILL.md).
|
|
53
|
-
|
|
54
|
-
## Sequence
|
|
55
|
-
|
|
56
|
-
1. Load context: `factory_workitem_get` for the WorkItem (goal, acceptance
|
|
57
|
-
criteria, current state), plus the specific question/artifact in doubt.
|
|
58
|
-
2. Spawn ONE `audit`-tier grader subagent on a strong cross-vendor model:
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
Agent({
|
|
62
|
-
subagent_type: "critic" | "architect" | "verifier", // fit the question
|
|
63
|
-
model: "gpt-5.5" | "claude-opus-4-8", // strong cross-vendor; ≠ executor model
|
|
64
|
-
prompt: "<WorkItem context + the exact decision/artifact +
|
|
65
|
-
acceptance criteria + 'Return GO / CONCERNS / NO-GO with
|
|
66
|
-
rationale and the single most important risk.'>"
|
|
67
|
-
})
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
3. Return the verdict verbatim to the driver: **GO** (proceed), **CONCERNS**
|
|
71
|
-
(proceed with the listed mitigations), or **NO-GO** (do not proceed; reason).
|
|
72
|
-
|
|
73
|
-
## Output
|
|
74
|
-
|
|
75
|
-
`{ verdict: GO | CONCERNS | NO-GO, rationale, topRisk, advisorModel }` — and the
|
|
76
|
-
`advisorModel` must visibly differ from the driver's model.
|
|
77
|
-
|
|
78
|
-
## Related
|
|
79
|
-
|
|
80
|
-
- [`committee`](../committee/SKILL.md) — two contrasting agents debate a stuck item.
|
|
81
|
-
- [`drive-loop`](../drive-loop/SKILL.md) — for a binding judgment gate, use a
|
|
82
|
-
contract grader (`loop_grader_verdict`), not advisor. Advisor is non-binding.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-slop-cleaner
|
|
3
|
-
description: "Walk the diff for TODO/placeholder/silent-catch noise and replace each with a concrete implementation or remove it entirely."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AI Slop Cleaner
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Loop artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Removes low-quality AI-generated residue from code produced in a loop session: `// TODO`,
|
|
16
|
-
"for now", "later", silent empty catch blocks, unreachable fallback layers, and placeholder strings.
|
|
17
|
-
Each removal is replaced with a real implementation or an explicit compile-time error — never just
|
|
18
|
-
deleted.
|
|
19
|
-
|
|
20
|
-
## Use When
|
|
21
|
-
|
|
22
|
-
- after an implementation pass before the loop reaches closure
|
|
23
|
-
- before verification stages run
|
|
24
|
-
- when a diff review reveals TODO comments, "for now" strings, or swallowed exceptions
|
|
25
|
-
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
1. Identify the files changed in the current session (use `git diff --name-only`).
|
|
29
|
-
2. For each changed file, scan for these patterns:
|
|
30
|
-
- `// TODO`, `// FIXME`, `// HACK`, `// XXX`
|
|
31
|
-
- String literals containing "for now", "placeholder", "stub", "later", "not yet implemented"
|
|
32
|
-
- Empty catch blocks or catch blocks that only log without re-throwing or handling
|
|
33
|
-
- Fallback return values that hide real errors (e.g., `return null`, `return []` with no explanation)
|
|
34
|
-
- Dead code gated on `if (false)` or `if (process.env.NEVER)`
|
|
35
|
-
3. For each hit, choose one action:
|
|
36
|
-
- Replace with a real implementation if the intent is clear
|
|
37
|
-
- Replace with an explicit thrown error if the path should never be reached
|
|
38
|
-
- Remove the dead code entirely if it adds no value
|
|
39
|
-
4. After cleanup, re-run the project's doctor/lint check to confirm nothing broken.
|
|
40
|
-
5. Re-run the project's test suite to confirm no regressions.
|
|
41
|
-
6. Run a second grep pass to confirm zero hits remain:
|
|
42
|
-
```
|
|
43
|
-
grep -rE "TODO|FIXME|HACK|for now|placeholder|stub" <changed-files>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## State Contract
|
|
47
|
-
|
|
48
|
-
- Reads: changed files in the working tree
|
|
49
|
-
- Writes: same files (in-place edits only); no new files, no new state in `~/.enact/factory/projects/<key>/`
|
|
50
|
-
|
|
51
|
-
## Final Check
|
|
52
|
-
|
|
53
|
-
- Zero `TODO`, `FIXME`, `HACK`, or placeholder strings in changed files
|
|
54
|
-
- No empty or swallowed catch blocks remain
|
|
55
|
-
- Doctor/lint still passes after cleanup
|
|
56
|
-
- Test suite still passes after cleanup
|
|
57
|
-
- No code was deleted without a replacement or explicit error
|
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: autonomous-runner
|
|
3
|
-
description: >-
|
|
4
|
-
Makes Claude the factory DRIVER. Use when asked to "drive factory workitems",
|
|
5
|
-
"run the factory", "drive the board", "work the queue", "drain the queue", or
|
|
6
|
-
"be the factory driver". Picks ready, in-scope, dependency-ordered WorkItems
|
|
7
|
-
and drives each to closure through the enact-loop contract (work-with-workitem
|
|
8
|
-
+ drive-loop), lands them via the Azure DevOps CI strategy, and repeats until
|
|
9
|
-
the in-scope queue is drained or a stop condition is hit. This is the MANUAL
|
|
10
|
-
driver path (Claude as driver, no daemon).
|
|
11
|
-
metadata:
|
|
12
|
-
author: Amsterdam Data Labs
|
|
13
|
-
version: 1.0.0
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# autonomous-runner
|
|
17
|
-
|
|
18
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
19
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
20
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
21
|
-
> 3. Factory artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state and closure summaries go under `~/.enact/loop/projects/<key>/…`.
|
|
22
|
-
|
|
23
|
-
You are the factory **DRIVER**. The factory picks work and owns the board;
|
|
24
|
-
Paseo supervises the agents; **enact-loop** runs each WorkItem's contract and
|
|
25
|
-
enforces the gates. This skill is the OUTER loop that drains the queue. Each
|
|
26
|
-
item is delivered with [`work-with-workitem`](../work-with-workitem/SKILL.md) +
|
|
27
|
-
[`drive-loop`](../drive-loop/SKILL.md), landed with
|
|
28
|
-
[`azdo-ci-strategy`](../azdo-ci-strategy/SKILL.md).
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
in-scope queue ──▶ pick next ready (dep-ordered) ──▶ classify + route ──▶
|
|
32
|
-
build contract ──▶ drive-loop (dispatch → grade → close) ──▶ PR to integration
|
|
33
|
-
──▶ CI green ──▶ auto-merge ──▶ next item ──▶ … ──▶ queue empty → STOP
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## The operating contract — STATE THIS AT START, THEN OBEY IT
|
|
39
|
-
|
|
40
|
-
Before driving anything, print this contract so the human sees the boundaries
|
|
41
|
-
you will hold. These are **hard gates and hard stops**, not guidelines. The
|
|
42
|
-
governing principle: **when reality does not match the contract, fail loud and
|
|
43
|
-
stop — never degrade to fake progress.** A weakened gate is worse than a
|
|
44
|
-
stopped gate.
|
|
45
|
-
|
|
46
|
-
### Scope (hard boundary)
|
|
47
|
-
- **DO** drain only the **already in-scope** queue — the items returned by
|
|
48
|
-
`GET /api/factory/queue` (the repos the human toggled ON).
|
|
49
|
-
- **DON'T** ever toggle a repo, change `enabledProjects`, or otherwise pull
|
|
50
|
-
more items from the pool. **The human owns scope.** There is no condition —
|
|
51
|
-
empty queue, "almost done", "one more would help" — under which you flip a
|
|
52
|
-
toggle. Empty in-scope queue → STOP, report, done.
|
|
53
|
-
- **DON'T** scope-creep an item. Discovered follow-up / out-of-scope / tech-debt
|
|
54
|
-
→ **create a NEW Azure DevOps WorkItem** so it re-enters the queue and ships
|
|
55
|
-
properly. Keep each diff to the item's stated scope.
|
|
56
|
-
|
|
57
|
-
### Dependencies (hard ordering)
|
|
58
|
-
- **DO** pick only items whose predecessors are done; drive in dependency
|
|
59
|
-
(topo) order. The queue endpoint already resolves this — trust its order and
|
|
60
|
-
its `blocked` set.
|
|
61
|
-
- **DON'T** start a `blocked` item or invent an order. Blocked → skip, it waits.
|
|
62
|
-
|
|
63
|
-
### Loop / graders / closure (hard gate)
|
|
64
|
-
- **DO** drive every item through a loop **contract** via `drive-loop`:
|
|
65
|
-
mechanical stages = commands (exit-0), judgment stages = independent graders.
|
|
66
|
-
- **DO** enforce **grader model ≠ executor model** (cross-vendor independence).
|
|
67
|
-
If a distinct, available grader model cannot be obtained, **STOP the item
|
|
68
|
-
with `E_NO_DIVERSITY`** — do NOT grade with the executor's own model to keep
|
|
69
|
-
moving.
|
|
70
|
-
- **DON'T** self-approve a judgment stage, skip a grader, or proceed to closure
|
|
71
|
-
without a recorded `loop_grader_verdict`. A judgment stage with no verdict is
|
|
72
|
-
a **block**, never an auto-pass. No "grader timed out → assume GO."
|
|
73
|
-
- **DON'T** mark a WorkItem **Closed**. Factory owns lifecycle: advance booleans
|
|
74
|
-
via `factory_workitem_lifecycle_advance`; the factory closes.
|
|
75
|
-
- **DON'T** use `git stash` during an active loop — invalidates worktree fingerprints.
|
|
76
|
-
|
|
77
|
-
### Branch / PR / CI (follow azdo-ci-strategy exactly)
|
|
78
|
-
- **DO** branch from `integration` (kebab-case). A **pass** may bundle several
|
|
79
|
-
related WorkItems into one branch/PR — combining is allowed.
|
|
80
|
-
- **DO** land via **PR to `integration`** with `--work-items <id...> --squash
|
|
81
|
-
--auto-complete --delete-source-branch`. **Squash is policy-required** — if
|
|
82
|
-
`pr create` rejects the strategy, set it on the PR: `az repos pr update --id
|
|
83
|
-
<pr> --squash true --auto-complete true --delete-source-branch true`. Let PR CI
|
|
84
|
-
gate the merge.
|
|
85
|
-
- **DON'T** branch from `main`, commit directly to `integration`/`main`, or
|
|
86
|
-
promote to `main` (that's the automation's integration→main PR + manual approval).
|
|
87
|
-
|
|
88
|
-
### Serialize on GREEN integration (HARD GATE)
|
|
89
|
-
- **DO NOT start the next pass until `integration` is GREEN.** A pass counts as
|
|
90
|
-
done only when its PR is **merged AND `integration`'s latest build is
|
|
91
|
-
succeeded**. Verify integration's build status is green before picking the next
|
|
92
|
-
WorkItem(s).
|
|
93
|
-
- **One pass in flight at a time** — never a second open `integration` PR, and
|
|
94
|
-
never new work stacked on an unmerged or red integration.
|
|
95
|
-
- If `integration` goes **red** after a merge: STOP. Drive integration back to
|
|
96
|
-
green (fix-forward or revert) before any new pass. Never pile new work onto a
|
|
97
|
-
red integration.
|
|
98
|
-
|
|
99
|
-
### Failures (fail loud)
|
|
100
|
-
- **DON'T** swallow failures. CI red, stalled agent, missing dependency, tool
|
|
101
|
-
error → surface it and STOP the item. No `|| true`, no silent retry-then-
|
|
102
|
-
pretend-pass. Retries are allowed only when explicit in the loop's policy and
|
|
103
|
-
visible in the log.
|
|
104
|
-
|
|
105
|
-
### Dispatch discipline (Paseo)
|
|
106
|
-
- **DO** use `notifyOnFinish` and move on; respect `loopWatch` stalled/watchdog
|
|
107
|
-
signals.
|
|
108
|
-
- **DON'T** poll running agents, and **DON'T restart the Paseo daemon** (it
|
|
109
|
-
kills every running agent).
|
|
110
|
-
|
|
111
|
-
### Stop conditions (never open-ended)
|
|
112
|
-
Stop and report when ANY of these is true:
|
|
113
|
-
1. In-scope queue is empty (`total === 0` or no eligible items remain).
|
|
114
|
-
2. `--max-items` or `--max-time` budget reached (if the human set one).
|
|
115
|
-
3. A hard blocker that needs a human (CI cannot be made green, `E_NO_DIVERSITY`,
|
|
116
|
-
ambiguous scope, repeated stall).
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## The drive loop
|
|
121
|
-
|
|
122
|
-
### Step 0 — Read the queue (single source of truth for scope + order)
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
GET http://<dashboard-host>:<port>/api/factory/queue
|
|
126
|
-
→ { ok: true, queue: QueueEntry[], blocked: QueueEntry[], total: number }
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
The dashboard the human is running serves this (port shown when the dashboard
|
|
130
|
-
starts; default factory config). It returns the **dependency-resolved,
|
|
131
|
-
project-scoped** queue — the same model the board renders. Each `QueueEntry`
|
|
132
|
-
has `{ id, title, kind, status, priority, area, projectSlug, topoRank,
|
|
133
|
-
eligible, blockedBy, reason, nextStage, updatedAt }`, already ordered
|
|
134
|
-
`topoRank → priority → updatedAt → id`.
|
|
135
|
-
|
|
136
|
-
- **This endpoint is the ONLY authority for what is in scope and in what order.**
|
|
137
|
-
- If the endpoint is unreachable → **STOP**. Do NOT fall back to
|
|
138
|
-
`factory_workitem_list` to guess scope — guessing scope risks working an
|
|
139
|
-
out-of-scope repo, which violates the hard boundary. Tell the human to start
|
|
140
|
-
the dashboard.
|
|
141
|
-
- Use `factory_workitem_get` only to enrich a chosen item's detail
|
|
142
|
-
(acceptance criteria, closure requirements) — never to bypass scope/order.
|
|
143
|
-
|
|
144
|
-
Pick the **first `eligible` item**. If none are eligible (all blocked or queue
|
|
145
|
-
empty) → go to STOP.
|
|
146
|
-
|
|
147
|
-
### Step 1 — Classify + route the item
|
|
148
|
-
|
|
149
|
-
Classify by signals in priority order: explicit label/tag → `area` → relevant
|
|
150
|
-
file paths → `kind` → title keywords. When ambiguous, default to **Backend /
|
|
151
|
-
logic** and add a judgment grader. (Full tree:
|
|
152
|
-
`FACTORY_DRIVE_DECISION_TREE.md` in the enact-factory repo.)
|
|
153
|
-
|
|
154
|
-
| Type | Executor (surface) | Grader — default cheap | Escalate to strong grader when |
|
|
155
|
-
|---|---|---|---|
|
|
156
|
-
| Frontend / UI | `claude` / sonnet — UX, visual, copy | **minimax M3** / **kimi K2.7** | `advisor` (gpt-5.5) for a11y / visual / UX judgment |
|
|
157
|
-
| Backend / logic | `codex` / **gpt-5.4** — mechanical workhorse | **minimax M3** / **kimi K2.7** | `committee` (opus + gpt-5.5) if architecture unclear |
|
|
158
|
-
| Data-heavy | `codex` / **gpt-5.4** high-effort + data-safety stages | **minimax M3** / **kimi K2.7** | `committee` for risky or irreversible migrations |
|
|
159
|
-
| Infra / CI | `codex` / **gpt-5.4** + pipeline validation | **minimax M3** / **kimi K2.7** | `committee` before branch policy; `opus 4.8` for security/public-API changes |
|
|
160
|
-
| Docs | `claude` / sonnet (writing) | **minimax M3** / **kimi K2.7** | rarely |
|
|
161
|
-
|
|
162
|
-
The **executor ≠ grader** rule is a hard gate everywhere (see contract above).
|
|
163
|
-
|
|
164
|
-
#### Function × cost tiers
|
|
165
|
-
|
|
166
|
-
Two orthogonal axes route work: **TYPE** (frontend / backend / data / infra / docs) sets the
|
|
167
|
-
contract shape (gates + number of judgment stages); **FUNCTION × COST** decides which model runs
|
|
168
|
-
each role:
|
|
169
|
-
|
|
170
|
-
| Function tier | Models | Used for |
|
|
171
|
-
|---|---|---|
|
|
172
|
-
| Workers (execute) | **sonnet** (in-window) · **codex/gpt-5.4** | implementation, diffs, refactors, bugfixes |
|
|
173
|
-
| Planning / architecture | **opus 4.8** · **gpt-5.5** (reasoning: xhigh) | plans, interface/architecture design, hard root-cause, committee |
|
|
174
|
-
| Verify / review / grade (DEFAULT cheap) | **minimax M3** (opencode) · **kimi K2.7** | first-pass judgment on routine code-review / verify / docs (~80% of grading) |
|
|
175
|
-
| Explorers (map, read-only) | **haiku** · **cursor composer 2.5** | codebase sweeps, naming maps, brownfield discovery — never grade |
|
|
176
|
-
|
|
177
|
-
**Grading = cheap default + risk-based escalation.** minimax M3 / kimi K2.7 grade the routine
|
|
178
|
-
~80%. Escalate to a strong cross-vendor grader for:
|
|
179
|
-
- Frontend / UI a11y or visual / UX judgment → **advisor** = **gpt-5.5** (or opus if executor was codex)
|
|
180
|
-
- Security, public API / barrel / contract changes → **opus 4.8**
|
|
181
|
-
- Architecture decisions / risky or irreversible migrations → **committee** (opus + gpt-5.5)
|
|
182
|
-
|
|
183
|
-
#### Contract shape per tier
|
|
184
|
-
|
|
185
|
-
The number and kind of judgment stages should match the deliverable's risk profile.
|
|
186
|
-
This matters: in a validated 3-wave run, independent graders caught FIVE real defects
|
|
187
|
-
(faked-AA contrast, missing focus indicator, consumer-prop a11y override, untested
|
|
188
|
-
variant, theme flash) that every mechanical gate passed — the two-judgment Frontend/UI
|
|
189
|
-
shape and cross-vendor model-distinct grading are what surfaced them.
|
|
190
|
-
|
|
191
|
-
| Tier | Judgment stages | Rationale |
|
|
192
|
-
|---|---|---|
|
|
193
|
-
| Frontend / UI | TWO — `code-review` + `verify` | Visual, a11y, and consumer-API surface require both implementation review and evidence the deliverable actually meets acceptance criteria |
|
|
194
|
-
| Backend / logic | ONE or TWO — `code-review` (+ `verify` for risky changes) | Logic gates benefit from impl review; add `verify` when the blast radius is large |
|
|
195
|
-
| Docs | ONE lighter `review` (e.g. `critic` for scope fidelity) | Correctness is mainly structural; a single lighter judgment is sufficient |
|
|
196
|
-
| Infra / CI | ONE or TWO — architecture fit + pipeline validation | |
|
|
197
|
-
|
|
198
|
-
#### Sonnet-executor grader caveat
|
|
199
|
-
|
|
200
|
-
When the executor is **`claude-sonnet-4-6`** (or any sonnet-tier model), the
|
|
201
|
-
`cursor` grader (`cursor/claude-sonnet-4-6`) is **NOT model-distinct** — it runs
|
|
202
|
-
the same underlying model and the independence rule is violated.
|
|
203
|
-
|
|
204
|
-
**Default cheap graders for sonnet work:** use **minimax M3** (opencode) or **kimi K2.7** — both
|
|
205
|
-
are vendor-distinct from sonnet and satisfy the independence rule cleanly. Use:
|
|
206
|
-
|
|
207
|
-
- **minimax M3** / **kimi K2.7** — default graders for sonnet-executor work (cheap, independent)
|
|
208
|
-
- **opus 4.8** / **gpt-5.5** — escalation graders for high-risk judgment (see escalation table above)
|
|
209
|
-
- `cursor` grader ONLY when the executor is opus-tier (cursor runs claude-sonnet, so it is distinct from opus)
|
|
210
|
-
|
|
211
|
-
#### Paseo permission-mode table
|
|
212
|
-
|
|
213
|
-
Non-default permission modes are REQUIRED — omitting them causes the grader to stall
|
|
214
|
-
or return an empty session:
|
|
215
|
-
|
|
216
|
-
| Grader provider | Paseo flag | Notes |
|
|
217
|
-
|---|---|---|
|
|
218
|
-
| `codex` | `--mode auto-review` | Routes the grader's eligible `on-request` approvals through codex's auto-reviewer subagent instead of BLOCKING — without it a grader can stall on an approval (e.g. a cargo/network fetch during build verification). `--mode bypass` is rejected by codex |
|
|
219
|
-
| `cursor` | default / agent | `--mode bypass` is a claude mode, NOT cursor's — previously documented wrong; cursor uses default or agent mode |
|
|
220
|
-
| `kimi` | `--mode auto` | Same as codex |
|
|
221
|
-
| `opencode` (minimax M3) | default | No special mode flag needed |
|
|
222
|
-
|
|
223
|
-
Codex mode enum (authoritative): `read-only` · `auto` · `auto-review` · `full-access`. The grader
|
|
224
|
-
stays read-only BY PROMPT; `auto-review` only governs approval handling and composes with
|
|
225
|
-
`--output-schema` verdict capture. Flip a running grader with `paseo agent mode <id> auto-review`.
|
|
226
|
-
|
|
227
|
-
**Verdict capture is STRUCTURED, not log-scraped.** Dispatch the grader with:
|
|
228
|
-
`paseo run --provider <graderModel> --mode auto-review --output-schema <verdict.json> --json --label continuation=<cid>`
|
|
229
|
-
— stdout is the validated `{verdict, evidence}` object. On the codex provider, `--mode auto-review`
|
|
230
|
-
keeps on-request approvals from blocking the grader (read-only stays enforced by prompt). Recover the actual grader model and cost
|
|
231
|
-
via `paseo ls -a --label continuation=<cid> --json` then `paseo inspect <id> --json`. Watch live
|
|
232
|
-
with `paseo attach <id>` (recover the id by label first).
|
|
233
|
-
See design doc: `enact-loop/docs/design/2026-06-22-paseo-verdict-capture.md`.
|
|
234
|
-
|
|
235
|
-
### Step 2 — Prepare the item
|
|
236
|
-
|
|
237
|
-
Invoke [`work-with-workitem`](../work-with-workitem/SKILL.md): `factory_workitem_get`
|
|
238
|
-
→ confirm readiness → `EnterWorktree` to isolate. Branch off `integration` per
|
|
239
|
-
`azdo-ci-strategy`. Confirm there is **no other open integration PR** first; if
|
|
240
|
-
there is, wait for it (or STOP if `--max-time` would be exceeded).
|
|
241
|
-
|
|
242
|
-
### Step 3 — Build the contract + drive it
|
|
243
|
-
|
|
244
|
-
Build the loop contract with stages tailored to the type (see per-type stage
|
|
245
|
-
lists in `FACTORY_DRIVE_DECISION_TREE.md` §4), then hand to
|
|
246
|
-
[`drive-loop`](../drive-loop/SKILL.md):
|
|
247
|
-
|
|
248
|
-
- `loop_start({ contract })` — the boulder activates; you cannot stop until
|
|
249
|
-
every required stage passes and every judgment stage has an independent GO.
|
|
250
|
-
- Mechanical stages → `loop_grade({ stageId })` — engine runs stage command in loop root.
|
|
251
|
-
- Judgment stages → `loop_grader_dispatch` → spawn grader on a **different model**
|
|
252
|
-
(Paseo codex provider: `--mode auto-review` so on-request approvals don't block) →
|
|
253
|
-
driver relays `loop_grader_verdict` (`captureSource: "relayed"`) or grader calls directly.
|
|
254
|
-
- **No `git stash` during an active loop** — invalidates worktree fingerprints.
|
|
255
|
-
- On stall: escalate via `committee` (root-cause) or `advisor` (judgment call);
|
|
256
|
-
if still stuck, STOP the item and report. Never fake a verdict to escape.
|
|
257
|
-
|
|
258
|
-
### Step 4 — Close + land
|
|
259
|
-
|
|
260
|
-
When the loop signals closure: first run `enact-loop summary write` so the
|
|
261
|
-
runtime stamps a new append-only
|
|
262
|
-
`~/.enact/loop/projects/<key>/state/<YYMMDDHH>-loop-summary.md` and updates
|
|
263
|
-
`summary-current.json`. Then `factory_workitem_lifecycle_advance({ workItemId,
|
|
264
|
-
fields: { <closure booleans> } })` advances lifecycle booleans (this also writes
|
|
265
|
-
the assignment record as a side-effect) — you do NOT set Closed. Then per
|
|
266
|
-
`azdo-ci-strategy`: open the PR to
|
|
267
|
-
`integration` with `--work-items <id> --auto-complete --delete-source-branch`,
|
|
268
|
-
let PR CI gate the merge.
|
|
269
|
-
|
|
270
|
-
- CI red → fix on the same branch; if it cannot be made green → STOP, report.
|
|
271
|
-
- CI green → auto-merge advances the board.
|
|
272
|
-
|
|
273
|
-
### Step 5 — Next item
|
|
274
|
-
|
|
275
|
-
`ExitWorktree`. Re-read the queue (Step 0) — it reflects the just-merged item
|
|
276
|
-
and any newly-unblocked dependents. Repeat until a stop condition.
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
## Per-item output (report each)
|
|
281
|
-
|
|
282
|
-
For every item, report: chosen item (id + title) and why it was first; type +
|
|
283
|
-
route (executor/grader models, proving cross-vendor); contract stages and their
|
|
284
|
-
results; grader verdicts; closure summary; PR URL; CI outcome; lifecycle delta.
|
|
285
|
-
Then the next item. At STOP: a one-line summary of the run (items drained, items
|
|
286
|
-
blocked + why, follow-up WorkItems created, stop reason).
|
|
287
|
-
|
|
288
|
-
---
|
|
289
|
-
|
|
290
|
-
## Skill selection — what to use when, and what NEVER to use
|
|
291
|
-
|
|
292
|
-
The runner does **not** guess skills from keywords. It selects deterministically.
|
|
293
|
-
The hard rule: **a skill is runner-safe only if it runs to completion with NO
|
|
294
|
-
human input.** Anything that waits on a person is out — there is no human in an
|
|
295
|
-
autonomous drain.
|
|
296
|
-
|
|
297
|
-
**Spine (every item, in order):**
|
|
298
|
-
- `workitem-triage` (read-only) — confirm the item is ready before driving.
|
|
299
|
-
- `work-with-workitem` — isolate + deliver the item.
|
|
300
|
-
- `drive-loop` — run the contract (mechanical stages + judgment graders).
|
|
301
|
-
- `azdo-ci-strategy` — branch / PR / CI / merge.
|
|
302
|
-
|
|
303
|
-
**Invoke as loop stages or sub-steps when the item/type calls for it (all
|
|
304
|
-
autonomous-safe):**
|
|
305
|
-
- `plan` / `looplan` / `hyperplan` — when the item needs a reviewable plan first.
|
|
306
|
-
- `tdd`, `testing-strategy` — implementing behavior / writing tests (mechanical).
|
|
307
|
-
- `trace` — read-only blast-radius mapping before risky changes.
|
|
308
|
-
- `review` — pre-landing review (can back a judgment stage).
|
|
309
|
-
- `ultraqa` — QA cycling with hard-stop gates (a lane).
|
|
310
|
-
- `ai-slop-cleaner` — sweep the diff for TODO/placeholder/silent-catch before closure.
|
|
311
|
-
- `remove-deadcode` — LSP-verified deletion (only for cleanup items; gate carefully).
|
|
312
|
-
- `research` — evidence-first research when the approach is unknown.
|
|
313
|
-
- `security-research` — only for security items. **Side-effectful: it can
|
|
314
|
-
auto-create AzDO bugs** — use deliberately.
|
|
315
|
-
|
|
316
|
-
**Escalation (when stuck/uncertain — autonomous-safe):**
|
|
317
|
-
- `advisor` — one cross-vendor GO/CONCERNS judgment call.
|
|
318
|
-
- `committee` — two contrasting agents root-cause a stalled/looping item.
|
|
319
|
-
- `handoff` — delegate an independent item to a detached, board-tracked agent.
|
|
320
|
-
|
|
321
|
-
**NEVER invoke during an autonomous drain (human-in-the-loop):**
|
|
322
|
-
- `deep-interview` — an interactive clarification loop that REQUIRES a human to
|
|
323
|
-
answer. If an item is too vague/ambiguous to drive, do NOT deep-interview.
|
|
324
|
-
Instead: **file the open questions as a NEW AzDO WorkItem** (or mark the item
|
|
325
|
-
blocked-needs-human) and move on. Ambiguity is a STOP/escalate signal, never a
|
|
326
|
-
prompt-the-user signal.
|
|
327
|
-
|
|
328
|
-
---
|
|
329
|
-
|
|
330
|
-
## Anti-patterns (these are the failure modes this skill exists to prevent)
|
|
331
|
-
|
|
332
|
-
- **Toggling a repo to get more work.** Never. The human owns scope.
|
|
333
|
-
- **Grading with the executor's model** because a grader model was unavailable.
|
|
334
|
-
STOP with `E_NO_DIVERSITY` instead.
|
|
335
|
-
- **Auto-passing a judgment stage** because the grader was slow/failed. Block.
|
|
336
|
-
- **Quietly fixing out-of-scope things.** File a new WorkItem.
|
|
337
|
-
- **`|| true` / silent retries** to make a red step look green. Fail loud.
|
|
338
|
-
- **Restarting the Paseo daemon** to "unstick" an agent. It kills everything.
|
|
339
|
-
- **Marking a WorkItem Closed.** Factory owns lifecycle via `factory_workitem_lifecycle_advance`.
|
|
340
|
-
- **Branching from `main` or running two integration PRs at once.**
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
## Related
|
|
345
|
-
|
|
346
|
-
- [`work-with-workitem`](../work-with-workitem/SKILL.md) — per-item prep + handoff.
|
|
347
|
-
- [`drive-loop`](../drive-loop/SKILL.md) — the contract runner + grader dispatch.
|
|
348
|
-
- [`azdo-ci-strategy`](../azdo-ci-strategy/SKILL.md) — branch/PR/CI/release rules.
|
|
349
|
-
- [`advisor`](../advisor/SKILL.md) — single cross-vendor GO/CONCERNS judgment.
|
|
350
|
-
- [`committee`](../committee/SKILL.md) — root-cause a stuck/blocked item.
|
|
351
|
-
- [`handoff`](../handoff/SKILL.md) — delegate an item to a detached, board-tracked agent.
|
|
352
|
-
- `FACTORY_DRIVE_DECISION_TREE.md` (enact-factory repo) — full type→route tree
|
|
353
|
-
and per-type contract stages.
|