constellai 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +54 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +36 -0
- package/.next/react-loadable-manifest.json +14 -0
- package/.next/required-server-files.js +346 -0
- package/.next/required-server-files.json +346 -0
- package/.next/routes-manifest.json +368 -0
- package/.next/server/app/(app)/activity/page.js +2 -0
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -0
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/agents/[handle]/page.js +18 -0
- package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/code/page.js +2 -0
- package/.next/server/app/(app)/code/page.js.nft.json +1 -0
- package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/config/page.js +2 -0
- package/.next/server/app/(app)/config/page.js.nft.json +1 -0
- package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/costs/page.js +2 -0
- package/.next/server/app/(app)/costs/page.js.nft.json +1 -0
- package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/cron/page.js +2 -0
- package/.next/server/app/(app)/cron/page.js.nft.json +1 -0
- package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/dashboard/page.js +2 -0
- package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -0
- package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/design/page.js +354 -0
- package/.next/server/app/(app)/design/page.js.nft.json +1 -0
- package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/docs/[id]/page.js +2 -0
- package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/docs/page.js +2 -0
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/github/page.js +2 -0
- package/.next/server/app/(app)/github/page.js.nft.json +1 -0
- package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/goals/page.js +2 -0
- package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
- package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/inbox/page.js +2 -0
- package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
- package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/knowledge/page.js +3 -0
- package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
- package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/models/page.js +2 -0
- package/.next/server/app/(app)/models/page.js.nft.json +1 -0
- package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/notifications/page.js +2 -0
- package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
- package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/org/page.js +22 -0
- package/.next/server/app/(app)/org/page.js.nft.json +1 -0
- package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/organizations/page.js +2 -0
- package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
- package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/page.js +3 -0
- package/.next/server/app/(app)/page.js.nft.json +1 -0
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/planner/page.js +12 -0
- package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
- package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/plugins/page.js +2 -0
- package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
- package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/pm/page.js +2 -0
- package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
- package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
- package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
- package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/profile/page.js +2 -0
- package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
- package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/pulse/page.js +2 -0
- package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
- package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reports/[id]/page.js +3 -0
- package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reports/page.js +5 -0
- package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
- package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/routines/page.js +2 -0
- package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
- package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/search/page.js +2 -0
- package/.next/server/app/(app)/search/page.js.nft.json +1 -0
- package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/security/page.js +2 -0
- package/.next/server/app/(app)/security/page.js.nft.json +1 -0
- package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/skills/page.js +18 -0
- package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
- package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/tasks/page.js +2 -0
- package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
- package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/test-dev/page.js +2 -0
- package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
- package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/update/page.js +13 -0
- package/.next/server/app/(app)/update/page.js.nft.json +1 -0
- package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(auth)/login/page.js +2 -0
- package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
- package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(auth)/onboarding/page.js +2 -0
- package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
- package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error/page.js +32 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +16 -0
- package/.next/server/app/_global-error.rsc +15 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/[...all]/route.js +1 -0
- package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cron/tick/route.js +53 -0
- package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
- package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/health/route.js +1 -0
- package/.next/server/app/api/health/route.js.nft.json +1 -0
- package/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/locks/acquire/route.js +1 -0
- package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
- package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/progress/route.js +1 -0
- package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
- package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/register/options/route.js +1 -0
- package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/register/verify/route.js +1 -0
- package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/stream/route.js +4 -0
- package/.next/server/app/api/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sync/file/route.js +2 -0
- package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
- package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/telegram/poll/route.js +133 -0
- package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
- package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/upload/route.js +1 -0
- package/.next/server/app/api/upload/route.js.nft.json +1 -0
- package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
- package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +54 -0
- package/.next/server/chunks/1249.js +910 -0
- package/.next/server/chunks/1388.js +1 -0
- package/.next/server/chunks/1572.js +1 -0
- package/.next/server/chunks/1591.js +24 -0
- package/.next/server/chunks/1619.js +188 -0
- package/.next/server/chunks/162.js +1 -0
- package/.next/server/chunks/1845.js +462 -0
- package/.next/server/chunks/2341.js +1 -0
- package/.next/server/chunks/2517.js +1 -0
- package/.next/server/chunks/259.js +119 -0
- package/.next/server/chunks/2599.js +1 -0
- package/.next/server/chunks/260.js +1 -0
- package/.next/server/chunks/2867.js +147 -0
- package/.next/server/chunks/288.js +1 -0
- package/.next/server/chunks/2939.js +12 -0
- package/.next/server/chunks/2960.js +14 -0
- package/.next/server/chunks/3050.js +18 -0
- package/.next/server/chunks/3056.js +1 -0
- package/.next/server/chunks/3131.js +1 -0
- package/.next/server/chunks/3234.js +869 -0
- package/.next/server/chunks/3243.js +67 -0
- package/.next/server/chunks/3266.js +15 -0
- package/.next/server/chunks/3440.js +1 -0
- package/.next/server/chunks/3550.js +1 -0
- package/.next/server/chunks/3609.js +2 -0
- package/.next/server/chunks/3882.js +417 -0
- package/.next/server/chunks/4302.js +26 -0
- package/.next/server/chunks/4616.js +479 -0
- package/.next/server/chunks/4619.js +1 -0
- package/.next/server/chunks/4679.js +1 -0
- package/.next/server/chunks/4804.js +1 -0
- package/.next/server/chunks/4832.js +2 -0
- package/.next/server/chunks/4979.js +67 -0
- package/.next/server/chunks/5060.js +1 -0
- package/.next/server/chunks/5181.js +1 -0
- package/.next/server/chunks/5278.js +1 -0
- package/.next/server/chunks/5614.js +1 -0
- package/.next/server/chunks/6431.js +1 -0
- package/.next/server/chunks/6479.js +1 -0
- package/.next/server/chunks/658.js +14 -0
- package/.next/server/chunks/6658.js +1 -0
- package/.next/server/chunks/6706.js +1 -0
- package/.next/server/chunks/6719.js +1 -0
- package/.next/server/chunks/683.js +1 -0
- package/.next/server/chunks/6873.js +1 -0
- package/.next/server/chunks/7037.js +1 -0
- package/.next/server/chunks/73.js +17 -0
- package/.next/server/chunks/7336.js +1 -0
- package/.next/server/chunks/7514.js +1 -0
- package/.next/server/chunks/7589.js +22 -0
- package/.next/server/chunks/7622.js +1 -0
- package/.next/server/chunks/7778.js +1 -0
- package/.next/server/chunks/7912.js +1 -0
- package/.next/server/chunks/7949.js +1 -0
- package/.next/server/chunks/7971.js +1 -0
- package/.next/server/chunks/7976.js +1 -0
- package/.next/server/chunks/7989.js +1 -0
- package/.next/server/chunks/834.js +4 -0
- package/.next/server/chunks/8497.js +1 -0
- package/.next/server/chunks/850.js +1 -0
- package/.next/server/chunks/8561.js +22 -0
- package/.next/server/chunks/8623.js +1 -0
- package/.next/server/chunks/8762.js +15 -0
- package/.next/server/chunks/8823.js +85 -0
- package/.next/server/chunks/9459.js +21 -0
- package/.next/server/chunks/9676.js +1 -0
- package/.next/server/chunks/9680.js +1 -0
- package/.next/server/chunks/9783.js +22 -0
- package/.next/server/chunks/9969.js +3 -0
- package/.next/server/functions-config-manifest.json +18 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +18 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +3 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/T0ETI55t9tc9pi5i_CGOe/_buildManifest.js +1 -0
- package/.next/static/T0ETI55t9tc9pi5i_CGOe/_ssgManifest.js +1 -0
- package/.next/static/chunks/2237-2a30470119df8616.js +1 -0
- package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
- package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
- package/.next/static/chunks/3219-9684aa1c634212de.js +1 -0
- package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
- package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
- package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
- package/.next/static/chunks/7268-ac23e9901bf535af.js +4 -0
- package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
- package/.next/static/chunks/7555-d2209e697b0a798e.js +1 -0
- package/.next/static/chunks/8370-db3280cb1ba67bcd.js +12 -0
- package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
- package/.next/static/chunks/9562-4b50b4e408bc0a42.js +1 -0
- package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
- package/.next/static/chunks/9846-c853e71d4d8fbb80.js +1 -0
- package/.next/static/chunks/9950-703805abe4653068.js +1 -0
- package/.next/static/chunks/app/(app)/activity/page-f06add40c3785686.js +1 -0
- package/.next/static/chunks/app/(app)/agents/[handle]/page-2ddf1f9908c73eb1.js +1 -0
- package/.next/static/chunks/app/(app)/code/page-ef9dceeae728b9d1.js +1 -0
- package/.next/static/chunks/app/(app)/config/page-496e569efd86e75c.js +1 -0
- package/.next/static/chunks/app/(app)/costs/page-675f542fdd517bee.js +1 -0
- package/.next/static/chunks/app/(app)/cron/page-80a87a05492c0ffe.js +1 -0
- package/.next/static/chunks/app/(app)/dashboard/page-4bddca6808a3be40.js +1 -0
- package/.next/static/chunks/app/(app)/design/page-e0fd071fb7144c46.js +558 -0
- package/.next/static/chunks/app/(app)/docs/[id]/page-f05e389793127500.js +1 -0
- package/.next/static/chunks/app/(app)/docs/page-f6bbf5c6b9104cbe.js +1 -0
- package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
- package/.next/static/chunks/app/(app)/github/page-5297c806ce6afa9b.js +1 -0
- package/.next/static/chunks/app/(app)/goals/page-3fa53e8541c8e9fc.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/page-a2a74b5f6a6c326e.js +12 -0
- package/.next/static/chunks/app/(app)/knowledge/page-fb11b2bfa9ecd9a4.js +1 -0
- package/.next/static/chunks/app/(app)/layout-b74cd565406964d5.js +1 -0
- package/.next/static/chunks/app/(app)/models/page-c8acfc3d353fd9d0.js +1 -0
- package/.next/static/chunks/app/(app)/notifications/page-05a094d02d23f455.js +12 -0
- package/.next/static/chunks/app/(app)/org/page-883d6aa98b593c6b.js +12 -0
- package/.next/static/chunks/app/(app)/organizations/page-4595e8fa86ca3c01.js +1 -0
- package/.next/static/chunks/app/(app)/page-21d47e76fe9a6c63.js +1 -0
- package/.next/static/chunks/app/(app)/planner/page-1fc32005d05bbe69.js +1 -0
- package/.next/static/chunks/app/(app)/plugins/page-454613b9f5cb1d3d.js +1 -0
- package/.next/static/chunks/app/(app)/pm/page-8473da305f4c2880.js +1 -0
- package/.next/static/chunks/app/(app)/prepare-deploy/page-3ba948f5557dea38.js +1 -0
- package/.next/static/chunks/app/(app)/profile/page-05f25516fea20762.js +1 -0
- package/.next/static/chunks/app/(app)/pulse/page-540a80dbaf61453d.js +1 -0
- package/.next/static/chunks/app/(app)/reports/[id]/page-80a87a05492c0ffe.js +1 -0
- package/.next/static/chunks/app/(app)/reports/page-de1e69ca09d7cabb.js +1 -0
- package/.next/static/chunks/app/(app)/routines/page-83085c9ba3584ec9.js +1 -0
- package/.next/static/chunks/app/(app)/search/page-8769fd9075e21e36.js +1 -0
- package/.next/static/chunks/app/(app)/security/page-1baa88dc61c3fab8.js +1 -0
- package/.next/static/chunks/app/(app)/skills/page-fa75c290b456c629.js +1 -0
- package/.next/static/chunks/app/(app)/tasks/page-1eb62689244c8a79.js +1 -0
- package/.next/static/chunks/app/(app)/test-dev/page-c496b31087389906.js +1 -0
- package/.next/static/chunks/app/(app)/update/page-5a217e6479bc5289.js +1 -0
- package/.next/static/chunks/app/(auth)/login/page-ad50e3112f35f41c.js +1 -0
- package/.next/static/chunks/app/(auth)/onboarding/page-ab05f02e868c9eec.js +1 -0
- package/.next/static/chunks/app/_global-error/page-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
- package/.next/static/chunks/app/api/auth/[...all]/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/cron/tick/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/health/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/locks/acquire/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/models/progress/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/options/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/verify/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/options/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/verify/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/stream/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/sync/file/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/telegram/poll/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/upload/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/api/v1/[[...path]]/route-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
- package/.next/static/chunks/app/global-error-c2ea8fef715f226d.js +1 -0
- package/.next/static/chunks/app/layout-e6008e66aea1a849.js +1 -0
- package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
- package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
- package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-eacef2b697bd0982.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
- package/.next/static/css/e7b568809d5d9c72.css +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/(app)/activity/page.ts +87 -0
- package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
- package/.next/types/app/(app)/code/page.ts +87 -0
- package/.next/types/app/(app)/config/page.ts +87 -0
- package/.next/types/app/(app)/costs/page.ts +87 -0
- package/.next/types/app/(app)/cron/page.ts +87 -0
- package/.next/types/app/(app)/dashboard/page.ts +87 -0
- package/.next/types/app/(app)/design/page.ts +87 -0
- package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
- package/.next/types/app/(app)/docs/page.ts +87 -0
- package/.next/types/app/(app)/github/page.ts +87 -0
- package/.next/types/app/(app)/goals/page.ts +87 -0
- package/.next/types/app/(app)/inbox/page.ts +87 -0
- package/.next/types/app/(app)/knowledge/page.ts +87 -0
- package/.next/types/app/(app)/models/page.ts +87 -0
- package/.next/types/app/(app)/notifications/page.ts +87 -0
- package/.next/types/app/(app)/org/page.ts +87 -0
- package/.next/types/app/(app)/organizations/page.ts +87 -0
- package/.next/types/app/(app)/page.ts +87 -0
- package/.next/types/app/(app)/planner/page.ts +87 -0
- package/.next/types/app/(app)/plugins/page.ts +87 -0
- package/.next/types/app/(app)/pm/page.ts +87 -0
- package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
- package/.next/types/app/(app)/profile/page.ts +87 -0
- package/.next/types/app/(app)/pulse/page.ts +87 -0
- package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
- package/.next/types/app/(app)/reports/page.ts +87 -0
- package/.next/types/app/(app)/routines/page.ts +87 -0
- package/.next/types/app/(app)/search/page.ts +87 -0
- package/.next/types/app/(app)/security/page.ts +87 -0
- package/.next/types/app/(app)/skills/page.ts +87 -0
- package/.next/types/app/(app)/tasks/page.ts +87 -0
- package/.next/types/app/(app)/test-dev/page.ts +87 -0
- package/.next/types/app/(app)/update/page.ts +87 -0
- package/.next/types/app/(auth)/login/page.ts +87 -0
- package/.next/types/app/(auth)/onboarding/page.ts +87 -0
- package/.next/types/app/api/auth/[...all]/route.ts +351 -0
- package/.next/types/app/api/cron/tick/route.ts +351 -0
- package/.next/types/app/api/health/route.ts +351 -0
- package/.next/types/app/api/locks/acquire/route.ts +351 -0
- package/.next/types/app/api/models/progress/route.ts +351 -0
- package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
- package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
- package/.next/types/app/api/passkey/register/options/route.ts +351 -0
- package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
- package/.next/types/app/api/stream/route.ts +351 -0
- package/.next/types/app/api/sync/file/route.ts +351 -0
- package/.next/types/app/api/telegram/poll/route.ts +351 -0
- package/.next/types/app/api/upload/route.ts +351 -0
- package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/link.d.ts +211 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +121 -0
- package/.next/types/validator.ts +520 -0
- package/CHANGELOG.md +1084 -0
- package/LICENSE +21 -0
- package/README.md +477 -0
- package/README.pt-BR.md +487 -0
- package/bin/constella-update.mjs +131 -0
- package/bin/constella.mjs +455 -0
- package/bin/guard-hook.mjs +44 -0
- package/bin/lock-hook.mjs +49 -0
- package/bin/worker.mjs +142 -0
- package/docs/UPDATE.md +150 -0
- package/docs/assets/arch-orbit.svg +56 -0
- package/docs/assets/blackhole.svg +37 -0
- package/docs/assets/divider-orbit.svg +23 -0
- package/docs/assets/hero-constella.svg +72 -0
- package/docs/assets/screens/ceo-planner-specs.png +0 -0
- package/docs/assets/screens/ceo-planner.png +0 -0
- package/docs/assets/screens/dashboard.png +0 -0
- package/docs/assets/screens/design.png +0 -0
- package/docs/assets/screens/home.png +0 -0
- package/docs/assets/screens/knowledge-blocks.png +0 -0
- package/docs/assets/screens/knowledge.png +0 -0
- package/docs/assets/screens/models.png +0 -0
- package/docs/assets/screens/skills.png +0 -0
- package/docs/assets/screens/telegram.png +0 -0
- package/docs/en/AGENTS.md +279 -0
- package/docs/en/AI_ARCHITECTURE.md +373 -0
- package/docs/en/ARCHITECTURE.md +334 -0
- package/docs/en/CHAT_COMMANDS.md +305 -0
- package/docs/en/CONFIGURATION.md +340 -0
- package/docs/en/DEPLOY.md +341 -0
- package/docs/en/DESIGN.md +214 -0
- package/docs/en/DM.md +297 -0
- package/docs/en/FAQ.md +259 -0
- package/docs/en/GITHUB.md +341 -0
- package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
- package/docs/en/INBOX.md +340 -0
- package/docs/en/INSTALLATION.md +374 -0
- package/docs/en/KB_AGENT.md +305 -0
- package/docs/en/KB_RAG.md +356 -0
- package/docs/en/MCP.md +313 -0
- package/docs/en/MEMORY_RAG.md +289 -0
- package/docs/en/MODELS.md +341 -0
- package/docs/en/ONBOARDING.md +327 -0
- package/docs/en/OPERATIONS.md +212 -0
- package/docs/en/PLUGINS.md +290 -0
- package/docs/en/PORTABLE_MODE.md +391 -0
- package/docs/en/PO_AGENT.md +379 -0
- package/docs/en/PREPARE_DEPLOY.md +308 -0
- package/docs/en/PROJECT_STACKS.md +258 -0
- package/docs/en/PUBLIC_API.md +315 -0
- package/docs/en/PUBLISHING.md +343 -0
- package/docs/en/README.md +98 -0
- package/docs/en/RELEASE_SMOKE.md +92 -0
- package/docs/en/SECURITY.md +280 -0
- package/docs/en/SKILLS.md +349 -0
- package/docs/en/START_MODE.md +285 -0
- package/docs/en/SYNCED_BLOCKS.md +320 -0
- package/docs/en/TEAM_ROOM.md +285 -0
- package/docs/en/TELEGRAM.md +294 -0
- package/docs/en/TEST_DEV.md +324 -0
- package/docs/en/TROUBLESHOOTING.md +294 -0
- package/docs/en/UPDATE.md +320 -0
- package/docs/en/VPS_MODE.md +405 -0
- package/docs/en/WORKFLOW.md +321 -0
- package/docs/pt/AGENTS.md +279 -0
- package/docs/pt/AI_ARCHITECTURE.md +373 -0
- package/docs/pt/ARCHITECTURE.md +334 -0
- package/docs/pt/CHAT_COMMANDS.md +307 -0
- package/docs/pt/CONFIGURATION.md +340 -0
- package/docs/pt/DEPLOY.md +341 -0
- package/docs/pt/DESIGN.md +215 -0
- package/docs/pt/DM.md +297 -0
- package/docs/pt/FAQ.md +259 -0
- package/docs/pt/GITHUB.md +341 -0
- package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
- package/docs/pt/INBOX.md +340 -0
- package/docs/pt/INSTALLATION.md +374 -0
- package/docs/pt/KB_AGENT.md +305 -0
- package/docs/pt/KB_RAG.md +356 -0
- package/docs/pt/MCP.md +313 -0
- package/docs/pt/MEMORY_RAG.md +289 -0
- package/docs/pt/MODELS.md +341 -0
- package/docs/pt/ONBOARDING.md +327 -0
- package/docs/pt/OPERATIONS.md +211 -0
- package/docs/pt/PLUGINS.md +290 -0
- package/docs/pt/PORTABLE_MODE.md +391 -0
- package/docs/pt/PO_AGENT.md +379 -0
- package/docs/pt/PREPARE_DEPLOY.md +308 -0
- package/docs/pt/PROJECT_STACKS.md +258 -0
- package/docs/pt/PUBLIC_API.md +315 -0
- package/docs/pt/PUBLISHING.md +343 -0
- package/docs/pt/README.md +98 -0
- package/docs/pt/RELEASE_SMOKE.md +94 -0
- package/docs/pt/SECURITY.md +280 -0
- package/docs/pt/SKILLS.md +349 -0
- package/docs/pt/START_MODE.md +284 -0
- package/docs/pt/SYNCED_BLOCKS.md +320 -0
- package/docs/pt/TEAM_ROOM.md +285 -0
- package/docs/pt/TELEGRAM.md +294 -0
- package/docs/pt/TEST_DEV.md +324 -0
- package/docs/pt/TROUBLESHOOTING.md +294 -0
- package/docs/pt/UPDATE.md +320 -0
- package/docs/pt/VPS_MODE.md +405 -0
- package/docs/pt/WORKFLOW.md +321 -0
- package/drizzle/0000_regular_nightshade.sql +644 -0
- package/drizzle/0001_mixed_zombie.sql +106 -0
- package/drizzle/0002_flimsy_kree.sql +48 -0
- package/drizzle/meta/0000_snapshot.json +4650 -0
- package/drizzle/meta/0001_snapshot.json +5418 -0
- package/drizzle/meta/0002_snapshot.json +5753 -0
- package/drizzle/meta/_journal.json +27 -0
- package/drizzle.config.mjs +16 -0
- package/next.config.mjs +21 -0
- package/package.json +139 -0
- package/scripts/clean-repo.mjs +20 -0
- package/scripts/dev-all.mjs +46 -0
- package/scripts/i18n-parity.mjs +57 -0
- package/scripts/install.sh +97 -0
- package/scripts/mcp-server.mjs +100 -0
- package/scripts/postbuild.mjs +11 -0
- package/scripts/postinstall.mjs +14 -0
- package/scripts/publish-public.mjs +116 -0
- package/scripts/smoke-login.mjs +138 -0
- package/scripts/start-all.mjs +45 -0
- package/scripts/trim-next.mjs +23 -0
- package/scripts/vps-clean.sh +66 -0
- package/scripts/vps-install.sh +84 -0
- package/scripts/vps-update.sh +28 -0
- package/skills/CONTRIBUTING.md +122 -0
- package/skills/COVERAGE.md +129 -0
- package/skills/INDEX.json +3443 -0
- package/skills/README.md +57 -0
- package/skills/design/agentic/DESIGN.md +55 -0
- package/skills/design/agentic/SKILL.md +89 -0
- package/skills/design/ai-audio-collection-playbook/SKILL.md +48 -0
- package/skills/design/algorithmic-art/LICENSE.txt +202 -0
- package/skills/design/algorithmic-art/SKILL.md +405 -0
- package/skills/design/algorithmic-art/templates/generator_template.js +223 -0
- package/skills/design/algorithmic-art/templates/viewer.html +599 -0
- package/skills/design/animation-motion/SKILL.md +60 -0
- package/skills/design/answers-surface-playbook/SKILL.md +102 -0
- package/skills/design/answers-surface-playbook/example.html +517 -0
- package/skills/design/ant/DESIGN.md +55 -0
- package/skills/design/ant/SKILL.md +89 -0
- package/skills/design/apple-interface-guidelines-playbook/SKILL.md +48 -0
- package/skills/design/application/DESIGN.md +55 -0
- package/skills/design/application/SKILL.md +84 -0
- package/skills/design/artistic/DESIGN.md +55 -0
- package/skills/design/artistic/SKILL.md +89 -0
- package/skills/design/bento/DESIGN.md +55 -0
- package/skills/design/bento/SKILL.md +83 -0
- package/skills/design/bold/DESIGN.md +55 -0
- package/skills/design/bold/SKILL.md +83 -0
- package/skills/design/brand-guidelines/LICENSE.txt +202 -0
- package/skills/design/brand-guidelines/SKILL.md +73 -0
- package/skills/design/brutalism/DESIGN.md +55 -0
- package/skills/design/brutalism/SKILL.md +97 -0
- package/skills/design/cafe/DESIGN.md +55 -0
- package/skills/design/cafe/SKILL.md +83 -0
- package/skills/design/campaign-concept-playbook/SKILL.md +48 -0
- package/skills/design/capture-playbook/SKILL.md +48 -0
- package/skills/design/captures-growth-playbook/SKILL.md +48 -0
- package/skills/design/claude/DESIGN.md +55 -0
- package/skills/design/claude/SKILL.md +81 -0
- package/skills/design/claymorphism/DESIGN.md +55 -0
- package/skills/design/claymorphism/SKILL.md +84 -0
- package/skills/design/clean/DESIGN.md +55 -0
- package/skills/design/clean/SKILL.md +84 -0
- package/skills/design/codex/DESIGN.md +55 -0
- package/skills/design/codex/SKILL.md +81 -0
- package/skills/design/color-and-typography/SKILL.md +60 -0
- package/skills/design/colorful/DESIGN.md +55 -0
- package/skills/design/colorful/SKILL.md +82 -0
- package/skills/design/commerce-visual-flow-playbook/SKILL.md +281 -0
- package/skills/design/commerce-visual-flow-playbook/example.html +504 -0
- package/skills/design/commerce-visual-flow-quality-gate/SKILL.md +78 -0
- package/skills/design/commerce-visual-flow-quality-gate/example.html +504 -0
- package/skills/design/composition-advisory-playbook/SKILL.md +48 -0
- package/skills/design/composition-audit-playbook/SKILL.md +48 -0
- package/skills/design/composition-markdown-playbook/SKILL.md +48 -0
- package/skills/design/composition-prompt-playbook/SKILL.md +234 -0
- package/skills/design/composition-taste-interface-playbook/LICENSE +21 -0
- package/skills/design/composition-taste-interface-playbook/SKILL.md +1222 -0
- package/skills/design/composition-taste-interface-v1-playbook/LICENSE +21 -0
- package/skills/design/composition-taste-interface-v1-playbook/SKILL.md +242 -0
- package/skills/design/concept-lead-playbook/SKILL.md +73 -0
- package/skills/design/constella-design/SKILL.md +97 -0
- package/skills/design/contemporary/DESIGN.md +55 -0
- package/skills/design/contemporary/SKILL.md +83 -0
- package/skills/design/corporate/DESIGN.md +55 -0
- package/skills/design/corporate/SKILL.md +89 -0
- package/skills/design/cosmic/DESIGN.md +55 -0
- package/skills/design/cosmic/SKILL.md +83 -0
- package/skills/design/creative/DESIGN.md +55 -0
- package/skills/design/creative/SKILL.md +83 -0
- package/skills/design/css-techniques/SKILL.md +58 -0
- package/skills/design/d3-visualization-playbook/SKILL.md +56 -0
- package/skills/design/dashboard/DESIGN.md +55 -0
- package/skills/design/dashboard/SKILL.md +89 -0
- package/skills/design/deliverables-assembler-playbook/SKILL.md +48 -0
- package/skills/design/delivery-save-diagnostics-playbook/SKILL.md +69 -0
- package/skills/design/design-systems/SKILL.md +60 -0
- package/skills/design/dithered/DESIGN.md +55 -0
- package/skills/design/dithered/SKILL.md +87 -0
- package/skills/design/document-paper-scroll-playbook/SKILL.md +54 -0
- package/skills/design/document-paper-scroll-playbook/example.html +84 -0
- package/skills/design/document-paper-scroll-sample-worked-sample/SKILL.md +45 -0
- package/skills/design/document-paper-scroll-sample-worked-sample/example.html +84 -0
- package/skills/design/document-playbook/SKILL.md +48 -0
- package/skills/design/doodle/DESIGN.md +55 -0
- package/skills/design/doodle/SKILL.md +97 -0
- package/skills/design/dramatic/DESIGN.md +55 -0
- package/skills/design/dramatic/SKILL.md +83 -0
- package/skills/design/editorial/DESIGN.md +55 -0
- package/skills/design/editorial/SKILL.md +86 -0
- package/skills/design/eight-bit-orbital-motion-blueprint/SKILL.md +58 -0
- package/skills/design/eight-bit-orbital-motion-blueprint/assets/template.html +506 -0
- package/skills/design/eight-bit-orbital-motion-blueprint/example.html +43 -0
- package/skills/design/eight-bit-orbital-motion-blueprint-quality-gate/SKILL.md +40 -0
- package/skills/design/eight-bit-orbital-motion-blueprint-quality-gate/assets/template.html +506 -0
- package/skills/design/eight-bit-orbital-motion-blueprint-quality-gate/example.html +43 -0
- package/skills/design/elegant/DESIGN.md +55 -0
- package/skills/design/elegant/SKILL.md +83 -0
- package/skills/design/energetic/DESIGN.md +51 -0
- package/skills/design/energetic/SKILL.md +86 -0
- package/skills/design/enterprise/DESIGN.md +55 -0
- package/skills/design/enterprise/SKILL.md +88 -0
- package/skills/design/expressive/DESIGN.md +55 -0
- package/skills/design/expressive/SKILL.md +83 -0
- package/skills/design/fal-3d-playbook/SKILL.md +48 -0
- package/skills/design/fal-compose-playbook/SKILL.md +48 -0
- package/skills/design/fal-enhance-playbook/SKILL.md +48 -0
- package/skills/design/fal-kling-o3-playbook/SKILL.md +48 -0
- package/skills/design/fal-lip-sync-playbook/SKILL.md +48 -0
- package/skills/design/fal-live-playbook/SKILL.md +48 -0
- package/skills/design/fal-motion-edit-playbook/SKILL.md +48 -0
- package/skills/design/fal-repair-playbook/SKILL.md +48 -0
- package/skills/design/fal-train-playbook/SKILL.md +48 -0
- package/skills/design/fal-tryon-playbook/SKILL.md +48 -0
- package/skills/design/fal-vision-playbook/SKILL.md +48 -0
- package/skills/design/fal-visual-edit-playbook/SKILL.md +48 -0
- package/skills/design/fantasy/DESIGN.md +55 -0
- package/skills/design/fantasy/SKILL.md +83 -0
- package/skills/design/fiction/DESIGN.md +55 -0
- package/skills/design/fiction/SKILL.md +81 -0
- package/skills/design/field-journal-magazine-blueprint/SKILL.md +61 -0
- package/skills/design/field-journal-magazine-blueprint/assets/template.html +287 -0
- package/skills/design/field-journal-magazine-blueprint/example.html +138 -0
- package/skills/design/field-journal-magazine-blueprint-quality-gate/SKILL.md +47 -0
- package/skills/design/field-journal-magazine-blueprint-quality-gate/assets/template.html +287 -0
- package/skills/design/field-journal-magazine-blueprint-quality-gate/example.html +138 -0
- package/skills/design/figma-author-composition-system-rules-playbook/SKILL.md +48 -0
- package/skills/design/figma-author-fresh-file-playbook/SKILL.md +48 -0
- package/skills/design/figma-build-composition-playbook/SKILL.md +48 -0
- package/skills/design/figma-code-bridge-parts-playbook/SKILL.md +48 -0
- package/skills/design/figma-compose-composition-playbook/SKILL.md +48 -0
- package/skills/design/figma-compose-library-playbook/SKILL.md +48 -0
- package/skills/design/figma-operator-playbook/SKILL.md +48 -0
- package/skills/design/flat/DESIGN.md +55 -0
- package/skills/design/flat/SKILL.md +101 -0
- package/skills/design/flutter-motion-apps-playbook/SKILL.md +48 -0
- package/skills/design/friendly/DESIGN.md +55 -0
- package/skills/design/friendly/SKILL.md +83 -0
- package/skills/design/full-delivery-enforcement-playbook/LICENSE +21 -0
- package/skills/design/full-delivery-enforcement-playbook/SKILL.md +65 -0
- package/skills/design/full-surface-capture-playbook/SKILL.md +48 -0
- package/skills/design/futuristic/DESIGN.md +55 -0
- package/skills/design/futuristic/SKILL.md +83 -0
- package/skills/design/generative-visuals-playbook/SKILL.md +48 -0
- package/skills/design/gif-sticker-maker-playbook/SKILL.md +48 -0
- package/skills/design/glassmorphism/DESIGN.md +55 -0
- package/skills/design/glassmorphism/SKILL.md +86 -0
- package/skills/design/gpt-taste-playbook/LICENSE +21 -0
- package/skills/design/gpt-taste-playbook/SKILL.md +91 -0
- package/skills/design/gradient/DESIGN.md +55 -0
- package/skills/design/gradient/SKILL.md +83 -0
- package/skills/design/gradients/SKILL.md +59 -0
- package/skills/design/graphic-design-basics/SKILL.md +55 -0
- package/skills/design/grid-concept-mode-blueprint/SKILL.md +62 -0
- package/skills/design/grid-concept-mode-blueprint/assets/template.html +375 -0
- package/skills/design/grid-concept-mode-blueprint/example.html +70 -0
- package/skills/design/grid-concept-mode-blueprint-quality-gate/SKILL.md +52 -0
- package/skills/design/grid-concept-mode-blueprint-quality-gate/assets/template.html +375 -0
- package/skills/design/grid-concept-mode-blueprint-quality-gate/example.html +70 -0
- package/skills/design/grid-user-research-motion-blueprint/SKILL.md +63 -0
- package/skills/design/grid-user-research-motion-blueprint/assets/template.html +265 -0
- package/skills/design/grid-user-research-motion-blueprint/example.html +265 -0
- package/skills/design/grid-user-research-motion-blueprint-quality-gate/SKILL.md +43 -0
- package/skills/design/grid-user-research-motion-blueprint-quality-gate/assets/template.html +265 -0
- package/skills/design/grid-user-research-motion-blueprint-quality-gate/example.html +265 -0
- package/skills/design/growth-psychology-playbook/SKILL.md +48 -0
- package/skills/design/gsap-core-playbook/SKILL.md +271 -0
- package/skills/design/gsap-frameworks-playbook/SKILL.md +254 -0
- package/skills/design/gsap-plugins-playbook/SKILL.md +450 -0
- package/skills/design/gsap-react-playbook/SKILL.md +153 -0
- package/skills/design/gsap-scrolltrigger-playbook/SKILL.md +314 -0
- package/skills/design/gsap-speed-playbook/SKILL.md +96 -0
- package/skills/design/gsap-timeline-playbook/SKILL.md +124 -0
- package/skills/design/gsap-utilities-playbook/SKILL.md +301 -0
- package/skills/design/hand-sketched-diagrams-playbook/SKILL.md +48 -0
- package/skills/design/high-end-visual-composition-playbook/LICENSE +21 -0
- package/skills/design/high-end-visual-composition-playbook/SKILL.md +114 -0
- package/skills/design/html-slides-retro-quarterly-audit-playbook/SKILL.md +65 -0
- package/skills/design/html-slides-retro-quarterly-audit-playbook/assets/template.html +164 -0
- package/skills/design/html-slides-retro-quarterly-audit-playbook/example.html +139 -0
- package/skills/design/html-slides-retro-quarterly-audit-quality-gate/SKILL.md +42 -0
- package/skills/design/html-slides-retro-quarterly-audit-quality-gate/assets/template.html +164 -0
- package/skills/design/html-slides-retro-quarterly-audit-quality-gate/example.html +139 -0
- package/skills/design/ideation-playbook/SKILL.md +48 -0
- package/skills/design/identity-capture-playbook/SKILL.md +222 -0
- package/skills/design/identity-capture-playbook/templates/brand-kit.html +757 -0
- package/skills/design/identity-kit-playbook/LICENSE +21 -0
- package/skills/design/identity-kit-playbook/SKILL.md +814 -0
- package/skills/design/identity-standards-playbook/SKILL.md +48 -0
- package/skills/design/imagecraft-interface-mobile-playbook/LICENSE +21 -0
- package/skills/design/imagecraft-interface-mobile-playbook/SKILL.md +1482 -0
- package/skills/design/imagecraft-interface-web-playbook/LICENSE +21 -0
- package/skills/design/imagecraft-interface-web-playbook/SKILL.md +1003 -0
- package/skills/design/imagecraft-playbook/SKILL.md +48 -0
- package/skills/design/imagen-playbook/SKILL.md +48 -0
- package/skills/design/immersive/DESIGN.md +55 -0
- package/skills/design/immersive/SKILL.md +81 -0
- package/skills/design/impeccable/DESIGN.md +55 -0
- package/skills/design/impeccable/SKILL.md +81 -0
- package/skills/design/improve-prompt-playbook/SKILL.md +48 -0
- package/skills/design/industrial-raw-ui-playbook/LICENSE +21 -0
- package/skills/design/industrial-raw-ui-playbook/SKILL.md +108 -0
- package/skills/design/interface-builder-playbook/SKILL.md +48 -0
- package/skills/design/interface-composition-playbook/LICENSE.txt +177 -0
- package/skills/design/interface-composition-playbook/SKILL.md +80 -0
- package/skills/design/interface-playbook/SKILL.md +48 -0
- package/skills/design/interface-slides-playbook/SKILL.md +48 -0
- package/skills/design/late-hours-magazine-blueprint/SKILL.md +62 -0
- package/skills/design/late-hours-magazine-blueprint/assets/template.html +173 -0
- package/skills/design/late-hours-magazine-blueprint/example.html +12 -0
- package/skills/design/late-hours-magazine-blueprint-quality-gate/SKILL.md +44 -0
- package/skills/design/late-hours-magazine-blueprint-quality-gate/assets/template.html +173 -0
- package/skills/design/late-hours-magazine-blueprint-quality-gate/example.html +12 -0
- package/skills/design/levels/DESIGN.md +55 -0
- package/skills/design/levels/SKILL.md +83 -0
- package/skills/design/lingo/DESIGN.md +55 -0
- package/skills/design/lingo/SKILL.md +87 -0
- package/skills/design/luxury/DESIGN.md +55 -0
- package/skills/design/luxury/SKILL.md +83 -0
- package/skills/design/magazine-wine-rules-blueprint/SKILL.md +59 -0
- package/skills/design/magazine-wine-rules-blueprint/assets/template.html +94 -0
- package/skills/design/magazine-wine-rules-blueprint/example.html +49 -0
- package/skills/design/magazine-wine-rules-blueprint-quality-gate/SKILL.md +41 -0
- package/skills/design/magazine-wine-rules-blueprint-quality-gate/assets/template.html +94 -0
- package/skills/design/magazine-wine-rules-blueprint-quality-gate/example.html +49 -0
- package/skills/design/market-campaigns-extractor-playbook/SKILL.md +48 -0
- package/skills/design/material/DESIGN.md +55 -0
- package/skills/design/material/SKILL.md +97 -0
- package/skills/design/matrix/DESIGN.md +55 -0
- package/skills/design/matrix/SKILL.md +82 -0
- package/skills/design/messagecraft-playbook/SKILL.md +48 -0
- package/skills/design/metrics-brief-playbook/SKILL.md +33 -0
- package/skills/design/metrics-brief-playbook/example.html +175 -0
- package/skills/design/metrics-brief-sample-worked-sample/SKILL.md +37 -0
- package/skills/design/metrics-brief-sample-worked-sample/example.html +175 -0
- package/skills/design/microinteractions/SKILL.md +58 -0
- package/skills/design/minimal/DESIGN.md +55 -0
- package/skills/design/minimal/SKILL.md +83 -0
- package/skills/design/minimal-ui-playbook/LICENSE +21 -0
- package/skills/design/minimal-ui-playbook/SKILL.md +101 -0
- package/skills/design/minimax-pdf-playbook/SKILL.md +48 -0
- package/skills/design/minimax-word-playbook/SKILL.md +48 -0
- package/skills/design/mockup-device-3d-playbook/SKILL.md +49 -0
- package/skills/design/mockup-device-3d-playbook/example.html +193 -0
- package/skills/design/mockup-device-3d-sample-worked-sample/SKILL.md +34 -0
- package/skills/design/mockup-device-3d-sample-worked-sample/example.html +193 -0
- package/skills/design/modern/DESIGN.md +55 -0
- package/skills/design/modern/SKILL.md +83 -0
- package/skills/design/mono/DESIGN.md +55 -0
- package/skills/design/mono/SKILL.md +88 -0
- package/skills/design/motion-craft-motion-playbook/SKILL.md +52 -0
- package/skills/design/motion-hyperframes-playbook/SKILL.md +32 -0
- package/skills/design/motion-hyperframes-playbook/example.html +140 -0
- package/skills/design/motion-hyperframes-sample-worked-sample/SKILL.md +44 -0
- package/skills/design/motion-hyperframes-sample-worked-sample/example.html +140 -0
- package/skills/design/motion-retriever-playbook/SKILL.md +48 -0
- package/skills/design/naming-name-brainstormer-playbook/SKILL.md +48 -0
- package/skills/design/nanobanana-slides-playbook/SKILL.md +48 -0
- package/skills/design/neobrutalism/DESIGN.md +55 -0
- package/skills/design/neobrutalism/SKILL.md +83 -0
- package/skills/design/neon-style/DESIGN.md +55 -0
- package/skills/design/neon-style/SKILL.md +83 -0
- package/skills/design/neumorphism/DESIGN.md +55 -0
- package/skills/design/neumorphism/SKILL.md +88 -0
- package/skills/design/numbers-finance-grid-blueprint/SKILL.md +56 -0
- package/skills/design/numbers-finance-grid-blueprint/assets/template.html +111 -0
- package/skills/design/numbers-finance-grid-blueprint/example.html +44 -0
- package/skills/design/numbers-finance-grid-blueprint-quality-gate/SKILL.md +42 -0
- package/skills/design/numbers-finance-grid-blueprint-quality-gate/assets/template.html +111 -0
- package/skills/design/numbers-finance-grid-blueprint-quality-gate/example.html +44 -0
- package/skills/design/operator-navigator-playbook/SKILL.md +227 -0
- package/skills/design/operators-operator-journal-playbook/SKILL.md +73 -0
- package/skills/design/orientation-guide/SKILL.md +44 -0
- package/skills/design/pacman/DESIGN.md +55 -0
- package/skills/design/pacman/SKILL.md +84 -0
- package/skills/design/palette-advisor-playbook/SKILL.md +48 -0
- package/skills/design/paper/DESIGN.md +55 -0
- package/skills/design/paper/SKILL.md +83 -0
- package/skills/design/paywall-upgrade-conversion-playbook/SKILL.md +48 -0
- package/skills/design/pdf-playbook/SKILL.md +48 -0
- package/skills/design/perspective/DESIGN.md +55 -0
- package/skills/design/perspective/SKILL.md +83 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/LICENSE.txt +201 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/SKILL.md +48 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/agents/openai.yaml +4 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/compose_atlas.py +150 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/derive_running_left_from_running_right.py +143 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/extract_strip_frames.py +323 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/finalize_pet_run.py +382 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/generate_pet_images.py +295 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/inspect_frames.py +246 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/make_contact_sheet.py +96 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/package_custom_pet.py +108 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/pet_job_status.py +117 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/prepare_pet_run.py +674 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/queue_pet_repairs.py +172 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/record_imagegen_result.py +250 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/render_animation_videos.py +134 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/render_animation_videos.sh +5 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/test_generate_pet_images.py +136 -0
- package/skills/design/pet-companion-animation-rows-reference-guide/scripts/validate_atlas.py +139 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/LICENSE.txt +201 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/SKILL.md +54 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/agents/openai.yaml +4 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/compose_atlas.py +150 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/derive_running_left_from_running_right.py +143 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/extract_strip_frames.py +323 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/finalize_pet_run.py +382 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/generate_pet_images.py +295 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/inspect_frames.py +246 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/make_contact_sheet.py +96 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/package_custom_pet.py +108 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/pet_job_status.py +117 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/prepare_pet_run.py +674 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/queue_pet_repairs.py +172 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/record_imagegen_result.py +250 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/render_animation_videos.py +134 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/render_animation_videos.sh +5 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/test_generate_pet_images.py +136 -0
- package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/validate_atlas.py +139 -0
- package/skills/design/pet-companion-orientation-guide/LICENSE.txt +201 -0
- package/skills/design/pet-companion-orientation-guide/SKILL.md +75 -0
- package/skills/design/pet-companion-orientation-guide/agents/openai.yaml +4 -0
- package/skills/design/pet-companion-orientation-guide/scripts/compose_atlas.py +150 -0
- package/skills/design/pet-companion-orientation-guide/scripts/derive_running_left_from_running_right.py +143 -0
- package/skills/design/pet-companion-orientation-guide/scripts/extract_strip_frames.py +323 -0
- package/skills/design/pet-companion-orientation-guide/scripts/finalize_pet_run.py +382 -0
- package/skills/design/pet-companion-orientation-guide/scripts/generate_pet_images.py +295 -0
- package/skills/design/pet-companion-orientation-guide/scripts/inspect_frames.py +246 -0
- package/skills/design/pet-companion-orientation-guide/scripts/make_contact_sheet.py +96 -0
- package/skills/design/pet-companion-orientation-guide/scripts/package_custom_pet.py +108 -0
- package/skills/design/pet-companion-orientation-guide/scripts/pet_job_status.py +117 -0
- package/skills/design/pet-companion-orientation-guide/scripts/prepare_pet_run.py +674 -0
- package/skills/design/pet-companion-orientation-guide/scripts/queue_pet_repairs.py +172 -0
- package/skills/design/pet-companion-orientation-guide/scripts/record_imagegen_result.py +250 -0
- package/skills/design/pet-companion-orientation-guide/scripts/render_animation_videos.py +134 -0
- package/skills/design/pet-companion-orientation-guide/scripts/render_animation_videos.sh +5 -0
- package/skills/design/pet-companion-orientation-guide/scripts/test_generate_pet_images.py +136 -0
- package/skills/design/pet-companion-orientation-guide/scripts/validate_atlas.py +139 -0
- package/skills/design/pet-companion-playbook/LICENSE.txt +201 -0
- package/skills/design/pet-companion-playbook/SKILL.md +344 -0
- package/skills/design/pet-companion-playbook/agents/openai.yaml +4 -0
- package/skills/design/pet-companion-playbook/scripts/compose_atlas.py +150 -0
- package/skills/design/pet-companion-playbook/scripts/derive_running_left_from_running_right.py +143 -0
- package/skills/design/pet-companion-playbook/scripts/extract_strip_frames.py +323 -0
- package/skills/design/pet-companion-playbook/scripts/finalize_pet_run.py +382 -0
- package/skills/design/pet-companion-playbook/scripts/generate_pet_images.py +295 -0
- package/skills/design/pet-companion-playbook/scripts/inspect_frames.py +246 -0
- package/skills/design/pet-companion-playbook/scripts/make_contact_sheet.py +96 -0
- package/skills/design/pet-companion-playbook/scripts/package_custom_pet.py +108 -0
- package/skills/design/pet-companion-playbook/scripts/pet_job_status.py +117 -0
- package/skills/design/pet-companion-playbook/scripts/prepare_pet_run.py +674 -0
- package/skills/design/pet-companion-playbook/scripts/queue_pet_repairs.py +172 -0
- package/skills/design/pet-companion-playbook/scripts/record_imagegen_result.py +250 -0
- package/skills/design/pet-companion-playbook/scripts/render_animation_videos.py +134 -0
- package/skills/design/pet-companion-playbook/scripts/render_animation_videos.sh +5 -0
- package/skills/design/pet-companion-playbook/scripts/test_generate_pet_images.py +136 -0
- package/skills/design/pet-companion-playbook/scripts/validate_atlas.py +139 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/LICENSE.txt +201 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/SKILL.md +79 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/agents/openai.yaml +4 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/compose_atlas.py +150 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/derive_running_left_from_running_right.py +143 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/extract_strip_frames.py +323 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/finalize_pet_run.py +382 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/generate_pet_images.py +295 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/inspect_frames.py +246 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/make_contact_sheet.py +96 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/package_custom_pet.py +108 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/pet_job_status.py +117 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/prepare_pet_run.py +674 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/queue_pet_repairs.py +172 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/record_imagegen_result.py +250 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/render_animation_videos.py +134 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/render_animation_videos.sh +5 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/test_generate_pet_images.py +136 -0
- package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/validate_atlas.py +139 -0
- package/skills/design/pixelbin-media-playbook/SKILL.md +48 -0
- package/skills/design/planning-composition-audit-playbook/SKILL.md +48 -0
- package/skills/design/platform-composition-playbook/SKILL.md +48 -0
- package/skills/design/polish-composition-finish-playbook/SKILL.md +54 -0
- package/skills/design/poster-hero-playbook/SKILL.md +31 -0
- package/skills/design/poster-hero-playbook/example.html +88 -0
- package/skills/design/poster-hero-sample-worked-sample/SKILL.md +32 -0
- package/skills/design/poster-hero-sample-worked-sample/example.html +88 -0
- package/skills/design/pr-feedback-quality-gate/SKILL.md +57 -0
- package/skills/design/premium/DESIGN.md +55 -0
- package/skills/design/premium/SKILL.md +83 -0
- package/skills/design/presentation-composer-playbook/SKILL.md +48 -0
- package/skills/design/presentation-html-fidelity-audit-font-discipline-aa2caa/SKILL.md +382 -0
- package/skills/design/presentation-html-fidelity-audit-font-discipline-aa2caa/scripts/extract_pptx.py +134 -0
- package/skills/design/presentation-html-fidelity-audit-font-discipline-aa2caa/scripts/verify_layout.py +144 -0
- package/skills/design/presentation-html-fidelity-audit-layout-discipline-d5a323/SKILL.md +390 -0
- package/skills/design/presentation-html-fidelity-audit-layout-discipline-d5a323/scripts/extract_pptx.py +134 -0
- package/skills/design/presentation-html-fidelity-audit-layout-discipline-d5a323/scripts/verify_layout.py +144 -0
- package/skills/design/presentation-html-fidelity-audit-playbook/SKILL.md +257 -0
- package/skills/design/presentation-html-fidelity-audit-playbook/scripts/extract_pptx.py +134 -0
- package/skills/design/presentation-html-fidelity-audit-playbook/scripts/verify_layout.py +144 -0
- package/skills/design/presentation-html-fidelity-audit-table-blueprint-1ad2ac/SKILL.md +77 -0
- package/skills/design/presentation-html-fidelity-audit-table-blueprint-1ad2ac/scripts/extract_pptx.py +134 -0
- package/skills/design/presentation-html-fidelity-audit-table-blueprint-1ad2ac/scripts/verify_layout.py +144 -0
- package/skills/design/presentation-playbook/SKILL.md +48 -0
- package/skills/design/professional/DESIGN.md +55 -0
- package/skills/design/professional/SKILL.md +83 -0
- package/skills/design/publication/DESIGN.md +55 -0
- package/skills/design/publication/SKILL.md +89 -0
- package/skills/design/reading-year-in-audit-motion-blueprint/SKILL.md +76 -0
- package/skills/design/reading-year-in-audit-motion-blueprint/assets/template.html +714 -0
- package/skills/design/reading-year-in-audit-motion-blueprint/example.html +63 -0
- package/skills/design/reading-year-in-audit-motion-blueprint-quality-gate/SKILL.md +45 -0
- package/skills/design/reading-year-in-audit-motion-blueprint-quality-gate/assets/template.html +714 -0
- package/skills/design/reading-year-in-audit-motion-blueprint-quality-gate/example.html +63 -0
- package/skills/design/reference-composition-contract-playbook/SKILL.md +97 -0
- package/skills/design/reference-composition-contract-playbook/example.html +236 -0
- package/skills/design/reference-composition-contract-quality-gate/SKILL.md +45 -0
- package/skills/design/reference-composition-contract-quality-gate/example.html +236 -0
- package/skills/design/refined/DESIGN.md +55 -0
- package/skills/design/refined/SKILL.md +83 -0
- package/skills/design/refresh-existing-projects-playbook/LICENSE +21 -0
- package/skills/design/refresh-existing-projects-playbook/SKILL.md +194 -0
- package/skills/design/release-journal-single-page-layouts-reference-guide/SKILL.md +318 -0
- package/skills/design/release-journal-single-page-layouts-reference-guide/assets/template.html +342 -0
- package/skills/design/release-journal-single-page-layouts-reference-guide/example.html +156 -0
- package/skills/design/release-journal-single-page-playbook/SKILL.md +100 -0
- package/skills/design/release-journal-single-page-playbook/assets/template.html +342 -0
- package/skills/design/release-journal-single-page-playbook/example.html +156 -0
- package/skills/design/release-journal-single-page-quality-gate/SKILL.md +60 -0
- package/skills/design/release-journal-single-page-quality-gate/assets/template.html +342 -0
- package/skills/design/release-journal-single-page-quality-gate/example.html +156 -0
- package/skills/design/remotion-playbook/SKILL.md +48 -0
- package/skills/design/replicate-playbook/SKILL.md +48 -0
- package/skills/design/research-decision-room-evidence-model-reference-guide/SKILL.md +96 -0
- package/skills/design/research-decision-room-evidence-model-reference-guide/example.html +890 -0
- package/skills/design/research-decision-room-playbook/SKILL.md +164 -0
- package/skills/design/research-decision-room-playbook/example.html +890 -0
- package/skills/design/research-decision-room-quality-gate/SKILL.md +66 -0
- package/skills/design/research-decision-room-quality-gate/example.html +890 -0
- package/skills/design/responsive-layout/SKILL.md +59 -0
- package/skills/design/resume-modern-playbook/SKILL.md +31 -0
- package/skills/design/resume-modern-playbook/example.html +122 -0
- package/skills/design/resume-modern-sample-worked-sample/SKILL.md +59 -0
- package/skills/design/resume-modern-sample-worked-sample/example.html +122 -0
- package/skills/design/retro/DESIGN.md +55 -0
- package/skills/design/retro/SKILL.md +83 -0
- package/skills/design/riso/DESIGN.md +55 -0
- package/skills/design/riso/SKILL.md +81 -0
- package/skills/design/scene-distortion-headline-playbook/SKILL.md +52 -0
- package/skills/design/scene-distortion-headline-playbook/example.html +99 -0
- package/skills/design/scene-distortion-headline-sample-worked-sample/SKILL.md +31 -0
- package/skills/design/scene-distortion-headline-sample-worked-sample/example.html +99 -0
- package/skills/design/scene-flow-notes/SKILL.md +51 -0
- package/skills/design/scene-flow-notes/example.html +137 -0
- package/skills/design/scene-flow-notes-sample-worked-sample/SKILL.md +32 -0
- package/skills/design/scene-flow-notes-sample-worked-sample/example.html +137 -0
- package/skills/design/scene-fluid-background-hero-playbook/SKILL.md +58 -0
- package/skills/design/scene-fluid-background-hero-playbook/example.html +64 -0
- package/skills/design/scene-fluid-background-hero-sample-worked-sample/SKILL.md +28 -0
- package/skills/design/scene-fluid-background-hero-sample-worked-sample/example.html +64 -0
- package/skills/design/scene-light-flare-cinema-playbook/SKILL.md +53 -0
- package/skills/design/scene-light-flare-cinema-playbook/example.html +81 -0
- package/skills/design/scene-light-flare-cinema-sample-worked-sample/SKILL.md +31 -0
- package/skills/design/scene-light-flare-cinema-sample-worked-sample/example.html +81 -0
- package/skills/design/scene-macos-alert-playbook/SKILL.md +57 -0
- package/skills/design/scene-macos-alert-playbook/example.html +60 -0
- package/skills/design/scene-macos-alert-sample-worked-sample/SKILL.md +29 -0
- package/skills/design/scene-macos-alert-sample-worked-sample/example.html +60 -0
- package/skills/design/scene-mark-ending-playbook/SKILL.md +49 -0
- package/skills/design/scene-mark-ending-playbook/example.html +80 -0
- package/skills/design/scene-mark-ending-sample-worked-sample/SKILL.md +31 -0
- package/skills/design/scene-mark-ending-sample-worked-sample/example.html +80 -0
- package/skills/design/scene-metrics-chart-nyt-playbook/SKILL.md +46 -0
- package/skills/design/scene-metrics-chart-nyt-playbook/example.html +101 -0
- package/skills/design/scene-metrics-chart-nyt-sample-worked-sample/SKILL.md +37 -0
- package/skills/design/scene-metrics-chart-nyt-sample-worked-sample/example.html +101 -0
- package/skills/design/sega/DESIGN.md +55 -0
- package/skills/design/sega/SKILL.md +81 -0
- package/skills/design/shadcn/DESIGN.md +55 -0
- package/skills/design/shadcn/SKILL.md +83 -0
- package/skills/design/shadcn-ui-playbook/SKILL.md +48 -0
- package/skills/design/shader-builder-playbook/SKILL.md +48 -0
- package/skills/design/signin-flow-playbook/SKILL.md +51 -0
- package/skills/design/signin-flow-playbook/example.html +362 -0
- package/skills/design/signin-flow-quality-gate/SKILL.md +38 -0
- package/skills/design/signin-flow-quality-gate/example.html +362 -0
- package/skills/design/simple/DESIGN.md +55 -0
- package/skills/design/simple/SKILL.md +83 -0
- package/skills/design/sketch/DESIGN.md +55 -0
- package/skills/design/sketch/SKILL.md +81 -0
- package/skills/design/skeumorphism/DESIGN.md +55 -0
- package/skills/design/skeumorphism/SKILL.md +97 -0
- package/skills/design/slack-gif-creator-playbook/SKILL.md +48 -0
- package/skills/design/sleek/DESIGN.md +55 -0
- package/skills/design/sleek/SKILL.md +83 -0
- package/skills/design/slides-grid-global-playbook/SKILL.md +65 -0
- package/skills/design/slides-grid-global-playbook/example.html +117 -0
- package/skills/design/slides-grid-global-sample-worked-sample/SKILL.md +34 -0
- package/skills/design/slides-grid-global-sample-worked-sample/example.html +117 -0
- package/skills/design/slides-guizang-magazine-playbook/SKILL.md +51 -0
- package/skills/design/slides-guizang-magazine-playbook/example.html +92 -0
- package/skills/design/slides-guizang-magazine-sample-worked-sample/SKILL.md +31 -0
- package/skills/design/slides-guizang-magazine-sample-worked-sample/example.html +92 -0
- package/skills/design/slides-keynote-playbook/SKILL.md +32 -0
- package/skills/design/slides-keynote-playbook/example.html +130 -0
- package/skills/design/slides-keynote-sample-worked-sample/SKILL.md +44 -0
- package/skills/design/slides-keynote-sample-worked-sample/example.html +130 -0
- package/skills/design/slides-live-canvas-workspace-playbook/SKILL.md +55 -0
- package/skills/design/slides-live-canvas-workspace-playbook/example.html +51 -0
- package/skills/design/slides-live-canvas-workspace-sample-worked-sample/SKILL.md +25 -0
- package/skills/design/slides-live-canvas-workspace-sample-worked-sample/example.html +51 -0
- package/skills/design/slides-playbook/SKILL.md +48 -0
- package/skills/design/social-reddit-tile-playbook/SKILL.md +54 -0
- package/skills/design/social-reddit-tile-playbook/example.html +56 -0
- package/skills/design/social-reddit-tile-sample-worked-sample/SKILL.md +27 -0
- package/skills/design/social-reddit-tile-sample-worked-sample/example.html +56 -0
- package/skills/design/social-spotify-tile-playbook/SKILL.md +53 -0
- package/skills/design/social-spotify-tile-playbook/example.html +70 -0
- package/skills/design/social-spotify-tile-sample-worked-sample/SKILL.md +29 -0
- package/skills/design/social-spotify-tile-sample-worked-sample/example.html +70 -0
- package/skills/design/social-x-post-tile-playbook/SKILL.md +51 -0
- package/skills/design/social-x-post-tile-playbook/example.html +53 -0
- package/skills/design/social-x-post-tile-sample-worked-sample/SKILL.md +30 -0
- package/skills/design/social-x-post-tile-sample-worked-sample/example.html +53 -0
- package/skills/design/sora-playbook/SKILL.md +48 -0
- package/skills/design/spacious/DESIGN.md +55 -0
- package/skills/design/spacious/SKILL.md +89 -0
- package/skills/design/speech-playbook/SKILL.md +48 -0
- package/skills/design/stitch-composition-taste-playbook/LICENSE +21 -0
- package/skills/design/stitch-composition-taste-playbook/SKILL.md +200 -0
- package/skills/design/stitch-loop-playbook/SKILL.md +48 -0
- package/skills/design/stitch-playbook-composition-journal/LICENSE +21 -0
- package/skills/design/stitch-playbook-composition-journal/SKILL.md +141 -0
- package/skills/design/story-publication-playbook/SKILL.md +32 -0
- package/skills/design/story-publication-playbook/example.html +81 -0
- package/skills/design/story-publication-sample-worked-sample/SKILL.md +57 -0
- package/skills/design/story-publication-sample-worked-sample/example.html +81 -0
- package/skills/design/storytelling/DESIGN.md +55 -0
- package/skills/design/storytelling/SKILL.md +83 -0
- package/skills/design/swiftui-composition-playbook/SKILL.md +48 -0
- package/skills/design/terracotta/DESIGN.md +55 -0
- package/skills/design/terracotta/SKILL.md +81 -0
- package/skills/design/tetris/DESIGN.md +55 -0
- package/skills/design/tetris/SKILL.md +83 -0
- package/skills/design/theme-factory/LICENSE.txt +202 -0
- package/skills/design/theme-factory/SKILL.md +59 -0
- package/skills/design/theme-factory/theme-showcase.pdf +0 -0
- package/skills/design/theme-factory/themes/arctic-frost.md +19 -0
- package/skills/design/theme-factory/themes/botanical-garden.md +19 -0
- package/skills/design/theme-factory/themes/desert-rose.md +19 -0
- package/skills/design/theme-factory/themes/forest-canopy.md +19 -0
- package/skills/design/theme-factory/themes/golden-hour.md +19 -0
- package/skills/design/theme-factory/themes/midnight-galaxy.md +19 -0
- package/skills/design/theme-factory/themes/modern-minimalist.md +19 -0
- package/skills/design/theme-factory/themes/ocean-depths.md +19 -0
- package/skills/design/theme-factory/themes/sunset-boulevard.md +19 -0
- package/skills/design/theme-factory/themes/tech-innovation.md +19 -0
- package/skills/design/theme-factory-playbook/SKILL.md +48 -0
- package/skills/design/threejs-playbook/SKILL.md +48 -0
- package/skills/design/tile-rednote-playbook/SKILL.md +31 -0
- package/skills/design/tile-rednote-playbook/example.html +98 -0
- package/skills/design/tile-rednote-sample-worked-sample/SKILL.md +46 -0
- package/skills/design/tile-rednote-sample-worked-sample/example.html +98 -0
- package/skills/design/tile-x-playbook/SKILL.md +31 -0
- package/skills/design/tile-x-playbook/example.html +58 -0
- package/skills/design/tile-x-sample-worked-sample/SKILL.md +24 -0
- package/skills/design/tile-x-sample-worked-sample/example.html +58 -0
- package/skills/design/ui-playbooks-playbook/SKILL.md +48 -0
- package/skills/design/ui-ux-principles/SKILL.md +58 -0
- package/skills/design/ui-ux-pro-max-playbook/SKILL.md +63 -0
- package/skills/design/uupm-banner-design/SKILL.md +196 -0
- package/skills/design/uupm-banner-design/references/banner-sizes-and-styles.md +118 -0
- package/skills/design/uupm-brand/SKILL.md +97 -0
- package/skills/design/uupm-brand/references/approval-checklist.md +169 -0
- package/skills/design/uupm-brand/references/asset-organization.md +157 -0
- package/skills/design/uupm-brand/references/brand-guideline-template.md +140 -0
- package/skills/design/uupm-brand/references/color-palette-management.md +186 -0
- package/skills/design/uupm-brand/references/consistency-checklist.md +94 -0
- package/skills/design/uupm-brand/references/logo-usage-rules.md +185 -0
- package/skills/design/uupm-brand/references/messaging-framework.md +85 -0
- package/skills/design/uupm-brand/references/typography-specifications.md +214 -0
- package/skills/design/uupm-brand/references/update.md +118 -0
- package/skills/design/uupm-brand/references/visual-identity.md +96 -0
- package/skills/design/uupm-brand/references/voice-framework.md +88 -0
- package/skills/design/uupm-brand/scripts/extract-colors.cjs +341 -0
- package/skills/design/uupm-brand/scripts/inject-brand-context.cjs +349 -0
- package/skills/design/uupm-brand/scripts/sync-brand-to-tokens.cjs +266 -0
- package/skills/design/uupm-brand/scripts/validate-asset.cjs +387 -0
- package/skills/design/uupm-brand/templates/brand-guidelines-starter.md +275 -0
- package/skills/design/uupm-design/SKILL.md +313 -0
- package/skills/design/uupm-design/data/cip/deliverables.csv +51 -0
- package/skills/design/uupm-design/data/cip/industries.csv +21 -0
- package/skills/design/uupm-design/data/cip/mockup-contexts.csv +21 -0
- package/skills/design/uupm-design/data/cip/styles.csv +21 -0
- package/skills/design/uupm-design/data/icon/styles.csv +16 -0
- package/skills/design/uupm-design/data/logo/colors.csv +56 -0
- package/skills/design/uupm-design/data/logo/industries.csv +56 -0
- package/skills/design/uupm-design/data/logo/styles.csv +56 -0
- package/skills/design/uupm-design/references/banner-sizes-and-styles.md +118 -0
- package/skills/design/uupm-design/references/cip-deliverable-guide.md +95 -0
- package/skills/design/uupm-design/references/cip-design.md +121 -0
- package/skills/design/uupm-design/references/cip-prompt-engineering.md +84 -0
- package/skills/design/uupm-design/references/cip-style-guide.md +68 -0
- package/skills/design/uupm-design/references/design-routing.md +207 -0
- package/skills/design/uupm-design/references/icon-design.md +122 -0
- package/skills/design/uupm-design/references/logo-color-psychology.md +101 -0
- package/skills/design/uupm-design/references/logo-design.md +92 -0
- package/skills/design/uupm-design/references/logo-prompt-engineering.md +158 -0
- package/skills/design/uupm-design/references/logo-style-guide.md +109 -0
- package/skills/design/uupm-design/references/slides-copywriting-formulas.md +84 -0
- package/skills/design/uupm-design/references/slides-create.md +4 -0
- package/skills/design/uupm-design/references/slides-html-template.md +295 -0
- package/skills/design/uupm-design/references/slides-layout-patterns.md +137 -0
- package/skills/design/uupm-design/references/slides-strategies.md +94 -0
- package/skills/design/uupm-design/references/slides.md +42 -0
- package/skills/design/uupm-design/references/social-photos-design.md +329 -0
- package/skills/design/uupm-design/scripts/cip/core.py +215 -0
- package/skills/design/uupm-design/scripts/cip/generate.py +484 -0
- package/skills/design/uupm-design/scripts/cip/render-html.py +424 -0
- package/skills/design/uupm-design/scripts/cip/search.py +127 -0
- package/skills/design/uupm-design/scripts/icon/generate.py +487 -0
- package/skills/design/uupm-design/scripts/logo/core.py +175 -0
- package/skills/design/uupm-design/scripts/logo/generate.py +362 -0
- package/skills/design/uupm-design/scripts/logo/search.py +114 -0
- package/skills/design/uupm-design-system/SKILL.md +244 -0
- package/skills/design/uupm-design-system/data/slide-backgrounds.csv +11 -0
- package/skills/design/uupm-design-system/data/slide-charts.csv +26 -0
- package/skills/design/uupm-design-system/data/slide-color-logic.csv +14 -0
- package/skills/design/uupm-design-system/data/slide-copy.csv +26 -0
- package/skills/design/uupm-design-system/data/slide-layout-logic.csv +16 -0
- package/skills/design/uupm-design-system/data/slide-layouts.csv +26 -0
- package/skills/design/uupm-design-system/data/slide-strategies.csv +16 -0
- package/skills/design/uupm-design-system/data/slide-typography.csv +15 -0
- package/skills/design/uupm-design-system/references/component-specs.md +236 -0
- package/skills/design/uupm-design-system/references/component-tokens.md +214 -0
- package/skills/design/uupm-design-system/references/primitive-tokens.md +203 -0
- package/skills/design/uupm-design-system/references/semantic-tokens.md +215 -0
- package/skills/design/uupm-design-system/references/states-and-variants.md +241 -0
- package/skills/design/uupm-design-system/references/tailwind-integration.md +251 -0
- package/skills/design/uupm-design-system/references/token-architecture.md +224 -0
- package/skills/design/uupm-design-system/scripts/embed-tokens.cjs +99 -0
- package/skills/design/uupm-design-system/scripts/fetch-background.py +317 -0
- package/skills/design/uupm-design-system/scripts/generate-slide.py +770 -0
- package/skills/design/uupm-design-system/scripts/generate-tokens.cjs +205 -0
- package/skills/design/uupm-design-system/scripts/html-token-validator.py +327 -0
- package/skills/design/uupm-design-system/scripts/search-slides.py +218 -0
- package/skills/design/uupm-design-system/scripts/slide-token-validator.py +35 -0
- package/skills/design/uupm-design-system/scripts/slide_search_core.py +453 -0
- package/skills/design/uupm-design-system/scripts/validate-tokens.cjs +251 -0
- package/skills/design/uupm-design-system/templates/design-tokens-starter.json +143 -0
- package/skills/design/uupm-slides/SKILL.md +40 -0
- package/skills/design/uupm-slides/references/copywriting-formulas.md +84 -0
- package/skills/design/uupm-slides/references/create.md +4 -0
- package/skills/design/uupm-slides/references/html-template.md +295 -0
- package/skills/design/uupm-slides/references/layout-patterns.md +137 -0
- package/skills/design/uupm-slides/references/slide-strategies.md +94 -0
- package/skills/design/uupm-ui-styling/LICENSE.txt +202 -0
- package/skills/design/uupm-ui-styling/SKILL.md +324 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/design/uupm-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/design/uupm-ui-styling/references/canvas-design-system.md +320 -0
- package/skills/design/uupm-ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/design/uupm-ui-styling/references/shadcn-components.md +424 -0
- package/skills/design/uupm-ui-styling/references/shadcn-theming.md +373 -0
- package/skills/design/uupm-ui-styling/references/tailwind-customization.md +483 -0
- package/skills/design/uupm-ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/design/uupm-ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/design/uupm-ui-styling/scripts/.coverage +0 -0
- package/skills/design/uupm-ui-styling/scripts/requirements.txt +17 -0
- package/skills/design/uupm-ui-styling/scripts/shadcn_add.py +308 -0
- package/skills/design/uupm-ui-styling/scripts/tailwind_config_gen.py +473 -0
- package/skills/design/uupm-ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/design/uupm-ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/design/uupm-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/design/uupm-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/design/uupm-ui-ux-pro-max/SKILL.md +661 -0
- package/skills/design/uupm-ui-ux-pro-max/data +1 -0
- package/skills/design/uupm-ui-ux-pro-max/scripts +1 -0
- package/skills/design/venice-audio-playbook/SKILL.md +48 -0
- package/skills/design/venice-audio-speech-playbook/SKILL.md +48 -0
- package/skills/design/venice-motion-playbook/SKILL.md +48 -0
- package/skills/design/venice-visual-compose-playbook/SKILL.md +48 -0
- package/skills/design/venice-visual-edit-playbook/SKILL.md +48 -0
- package/skills/design/vfx-text-cursor-playbook/SKILL.md +49 -0
- package/skills/design/vfx-text-cursor-playbook/example.html +65 -0
- package/skills/design/vfx-text-cursor-sample-worked-sample/SKILL.md +31 -0
- package/skills/design/vfx-text-cursor-sample-worked-sample/example.html +65 -0
- package/skills/design/vibrant/DESIGN.md +55 -0
- package/skills/design/vibrant/SKILL.md +83 -0
- package/skills/design/vintage/DESIGN.md +55 -0
- package/skills/design/vintage/SKILL.md +83 -0
- package/skills/design/visual-enhancer-playbook/SKILL.md +48 -0
- package/skills/design/visual-to-code-playbook/LICENSE +21 -0
- package/skills/design/visual-to-code-playbook/SKILL.md +1245 -0
- package/skills/design/web-composition-standards-playbook/SKILL.md +48 -0
- package/skills/design/web-deliverables-assembler-playbook/SKILL.md +48 -0
- package/skills/design/word-playbook/SKILL.md +48 -0
- package/skills/design/workspace-composition-playbook/SKILL.md +48 -0
- package/skills/design/wpds-playbook/SKILL.md +48 -0
- package/skills/design/youtube-clipper-playbook/SKILL.md +48 -0
- package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
- package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
- package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
- package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
- package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
- package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
- package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
- package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
- package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
- package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
- package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
- package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
- package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
- package/skills/engineering/frontend/state-management/SKILL.md +69 -0
- package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
- package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
- package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
- package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
- package/skills/engineering/practices/clean-code/SKILL.md +61 -0
- package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
- package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
- package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
- package/skills/engineering/practices/refactoring/SKILL.md +58 -0
- package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
- package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
- package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
- package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
- package/skills/engineering/security/secrets-management/SKILL.md +58 -0
- package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
- package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
- package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
- package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
- package/skills/front-end/canvas-design/LICENSE.txt +202 -0
- package/skills/front-end/canvas-design/SKILL.md +130 -0
- package/skills/front-end/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/front-end/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/front-end/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/front-end/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/front-end/claude-api/LICENSE.txt +202 -0
- package/skills/front-end/claude-api/SKILL.md +356 -0
- package/skills/front-end/claude-api/csharp/claude-api.md +447 -0
- package/skills/front-end/claude-api/curl/examples.md +216 -0
- package/skills/front-end/claude-api/curl/managed-agents.md +338 -0
- package/skills/front-end/claude-api/go/claude-api.md +440 -0
- package/skills/front-end/claude-api/go/managed-agents/README.md +561 -0
- package/skills/front-end/claude-api/java/claude-api.md +461 -0
- package/skills/front-end/claude-api/java/managed-agents/README.md +442 -0
- package/skills/front-end/claude-api/php/claude-api.md +402 -0
- package/skills/front-end/claude-api/php/managed-agents/README.md +435 -0
- package/skills/front-end/claude-api/python/claude-api/README.md +536 -0
- package/skills/front-end/claude-api/python/claude-api/batches.md +198 -0
- package/skills/front-end/claude-api/python/claude-api/files-api.md +170 -0
- package/skills/front-end/claude-api/python/claude-api/streaming.md +179 -0
- package/skills/front-end/claude-api/python/claude-api/tool-use.md +590 -0
- package/skills/front-end/claude-api/python/managed-agents/README.md +334 -0
- package/skills/front-end/claude-api/ruby/claude-api.md +140 -0
- package/skills/front-end/claude-api/ruby/managed-agents/README.md +389 -0
- package/skills/front-end/claude-api/shared/agent-design.md +101 -0
- package/skills/front-end/claude-api/shared/anthropic-cli.md +246 -0
- package/skills/front-end/claude-api/shared/claude-platform-on-aws.md +59 -0
- package/skills/front-end/claude-api/shared/error-codes.md +233 -0
- package/skills/front-end/claude-api/shared/live-sources.md +143 -0
- package/skills/front-end/claude-api/shared/managed-agents-api-reference.md +422 -0
- package/skills/front-end/claude-api/shared/managed-agents-client-patterns.md +211 -0
- package/skills/front-end/claude-api/shared/managed-agents-core.md +252 -0
- package/skills/front-end/claude-api/shared/managed-agents-environments.md +219 -0
- package/skills/front-end/claude-api/shared/managed-agents-events.md +220 -0
- package/skills/front-end/claude-api/shared/managed-agents-memory.md +197 -0
- package/skills/front-end/claude-api/shared/managed-agents-multiagent.md +99 -0
- package/skills/front-end/claude-api/shared/managed-agents-onboarding.md +144 -0
- package/skills/front-end/claude-api/shared/managed-agents-outcomes.md +106 -0
- package/skills/front-end/claude-api/shared/managed-agents-overview.md +71 -0
- package/skills/front-end/claude-api/shared/managed-agents-scheduled-deployments.md +144 -0
- package/skills/front-end/claude-api/shared/managed-agents-self-hosted-sandboxes.md +174 -0
- package/skills/front-end/claude-api/shared/managed-agents-tools.md +358 -0
- package/skills/front-end/claude-api/shared/managed-agents-webhooks.md +110 -0
- package/skills/front-end/claude-api/shared/model-migration.md +1135 -0
- package/skills/front-end/claude-api/shared/models.md +132 -0
- package/skills/front-end/claude-api/shared/prompt-caching.md +223 -0
- package/skills/front-end/claude-api/shared/token-counting.md +56 -0
- package/skills/front-end/claude-api/shared/tool-use-concepts.md +347 -0
- package/skills/front-end/claude-api/typescript/claude-api/README.md +372 -0
- package/skills/front-end/claude-api/typescript/claude-api/batches.md +106 -0
- package/skills/front-end/claude-api/typescript/claude-api/files-api.md +98 -0
- package/skills/front-end/claude-api/typescript/claude-api/streaming.md +178 -0
- package/skills/front-end/claude-api/typescript/claude-api/tool-use.md +527 -0
- package/skills/front-end/claude-api/typescript/managed-agents/README.md +357 -0
- package/skills/front-end/doc-coauthoring/SKILL.md +375 -0
- package/skills/front-end/docx/LICENSE.txt +30 -0
- package/skills/front-end/docx/SKILL.md +590 -0
- package/skills/front-end/docx/scripts/__init__.py +1 -0
- package/skills/front-end/docx/scripts/accept_changes.py +135 -0
- package/skills/front-end/docx/scripts/comment.py +318 -0
- package/skills/front-end/docx/scripts/office/helpers/__init__.py +0 -0
- package/skills/front-end/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/skills/front-end/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/skills/front-end/docx/scripts/office/pack.py +159 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/front-end/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/front-end/docx/scripts/office/soffice.py +183 -0
- package/skills/front-end/docx/scripts/office/unpack.py +132 -0
- package/skills/front-end/docx/scripts/office/validate.py +111 -0
- package/skills/front-end/docx/scripts/office/validators/__init__.py +15 -0
- package/skills/front-end/docx/scripts/office/validators/base.py +847 -0
- package/skills/front-end/docx/scripts/office/validators/docx.py +446 -0
- package/skills/front-end/docx/scripts/office/validators/pptx.py +275 -0
- package/skills/front-end/docx/scripts/office/validators/redlining.py +247 -0
- package/skills/front-end/docx/scripts/templates/comments.xml +3 -0
- package/skills/front-end/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/front-end/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/front-end/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/front-end/docx/scripts/templates/people.xml +3 -0
- package/skills/front-end/frontend-design/LICENSE.txt +177 -0
- package/skills/front-end/frontend-design/SKILL.md +55 -0
- package/skills/front-end/frontend-slides/SKILL.md +380 -0
- package/skills/front-end/frontend-slides/STYLE_PRESETS.md +346 -0
- package/skills/front-end/frontend-slides/animation-patterns.md +110 -0
- package/skills/front-end/frontend-slides/bold-template-pack/README.md +77 -0
- package/skills/front-end/frontend-slides/bold-template-pack/deck-stage.js +619 -0
- package/skills/front-end/frontend-slides/bold-template-pack/selection-index.json +858 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/8-bit-orbit/design.md +573 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/8-bit-orbit/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/biennale-yellow/design.md +579 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/biennale-yellow/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/block-frame/design.md +609 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/block-frame/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/blue-professional/design.md +712 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/blue-professional/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/bold-poster/design.md +713 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/bold-poster/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/broadside/design.md +504 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/broadside/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/capsule/design.md +569 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/capsule/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/cartesian/design.md +524 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/cartesian/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/cobalt-grid/design.md +564 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/cobalt-grid/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/coral/design.md +615 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/coral/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/creative-mode/design.md +566 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/creative-mode/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/daisy-days/design.md +510 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/daisy-days/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-forest/design.md +508 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-forest/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-tri-tone/design.md +601 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-tri-tone/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/emerald-editorial/design.md +613 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/emerald-editorial/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/grove/design.md +570 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/grove/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/long-table/design.md +594 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/long-table/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/mat/design.md +474 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/mat/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/monochrome/design.md +493 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/monochrome/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/neo-grid-bold/design.md +564 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/neo-grid-bold/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/peoples-platform/design.md +701 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/peoples-platform/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/pin-and-paper/design.md +641 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/pin-and-paper/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/pink-script/design.md +673 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/pink-script/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/playful/design.md +491 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/playful/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/raw-grid/design.md +487 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/raw-grid/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-windows/design.md +578 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-windows/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-zine/design.md +569 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-zine/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/sakura-chroma/design.md +627 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/sakura-chroma/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/scatterbrain/design.md +575 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/scatterbrain/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/signal/design.md +528 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/signal/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/soft-editorial/design.md +626 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/soft-editorial/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/stencil-tablet/design.md +678 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/stencil-tablet/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/studio/design.md +497 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/studio/preview.md +55 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/vellum/design.md +547 -0
- package/skills/front-end/frontend-slides/bold-template-pack/templates/vellum/preview.md +55 -0
- package/skills/front-end/frontend-slides/html-template.md +350 -0
- package/skills/front-end/frontend-slides/scripts/deploy.sh +218 -0
- package/skills/front-end/frontend-slides/scripts/export-pdf.sh +418 -0
- package/skills/front-end/frontend-slides/scripts/extract-pptx.py +96 -0
- package/skills/front-end/frontend-slides/viewport-base.css +133 -0
- package/skills/front-end/internal-comms/LICENSE.txt +202 -0
- package/skills/front-end/internal-comms/SKILL.md +32 -0
- package/skills/front-end/internal-comms/examples/3p-updates.md +47 -0
- package/skills/front-end/internal-comms/examples/company-newsletter.md +65 -0
- package/skills/front-end/internal-comms/examples/faq-answers.md +30 -0
- package/skills/front-end/internal-comms/examples/general-comms.md +16 -0
- package/skills/front-end/mcp-builder/LICENSE.txt +202 -0
- package/skills/front-end/mcp-builder/SKILL.md +236 -0
- package/skills/front-end/mcp-builder/reference/evaluation.md +602 -0
- package/skills/front-end/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/skills/front-end/mcp-builder/reference/node_mcp_server.md +970 -0
- package/skills/front-end/mcp-builder/reference/python_mcp_server.md +719 -0
- package/skills/front-end/mcp-builder/scripts/connections.py +151 -0
- package/skills/front-end/mcp-builder/scripts/evaluation.py +373 -0
- package/skills/front-end/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/front-end/mcp-builder/scripts/requirements.txt +2 -0
- package/skills/front-end/pdf/LICENSE.txt +30 -0
- package/skills/front-end/pdf/SKILL.md +314 -0
- package/skills/front-end/pdf/forms.md +294 -0
- package/skills/front-end/pdf/reference.md +612 -0
- package/skills/front-end/pdf/scripts/check_bounding_boxes.py +65 -0
- package/skills/front-end/pdf/scripts/check_fillable_fields.py +11 -0
- package/skills/front-end/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/skills/front-end/pdf/scripts/create_validation_image.py +37 -0
- package/skills/front-end/pdf/scripts/extract_form_field_info.py +122 -0
- package/skills/front-end/pdf/scripts/extract_form_structure.py +115 -0
- package/skills/front-end/pdf/scripts/fill_fillable_fields.py +98 -0
- package/skills/front-end/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/skills/front-end/pptx/LICENSE.txt +30 -0
- package/skills/front-end/pptx/SKILL.md +232 -0
- package/skills/front-end/pptx/editing.md +205 -0
- package/skills/front-end/pptx/pptxgenjs.md +420 -0
- package/skills/front-end/pptx/scripts/__init__.py +0 -0
- package/skills/front-end/pptx/scripts/add_slide.py +195 -0
- package/skills/front-end/pptx/scripts/clean.py +286 -0
- package/skills/front-end/pptx/scripts/office/helpers/__init__.py +0 -0
- package/skills/front-end/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/skills/front-end/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/skills/front-end/pptx/scripts/office/pack.py +159 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/front-end/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/front-end/pptx/scripts/office/soffice.py +183 -0
- package/skills/front-end/pptx/scripts/office/unpack.py +132 -0
- package/skills/front-end/pptx/scripts/office/validate.py +111 -0
- package/skills/front-end/pptx/scripts/office/validators/__init__.py +15 -0
- package/skills/front-end/pptx/scripts/office/validators/base.py +847 -0
- package/skills/front-end/pptx/scripts/office/validators/docx.py +446 -0
- package/skills/front-end/pptx/scripts/office/validators/pptx.py +275 -0
- package/skills/front-end/pptx/scripts/office/validators/redlining.py +247 -0
- package/skills/front-end/pptx/scripts/thumbnail.py +289 -0
- package/skills/front-end/skill-creator/LICENSE.txt +202 -0
- package/skills/front-end/skill-creator/SKILL.md +485 -0
- package/skills/front-end/skill-creator/agents/analyzer.md +274 -0
- package/skills/front-end/skill-creator/agents/comparator.md +202 -0
- package/skills/front-end/skill-creator/agents/grader.md +223 -0
- package/skills/front-end/skill-creator/assets/eval_review.html +146 -0
- package/skills/front-end/skill-creator/eval-viewer/generate_review.py +471 -0
- package/skills/front-end/skill-creator/eval-viewer/viewer.html +1325 -0
- package/skills/front-end/skill-creator/references/schemas.md +430 -0
- package/skills/front-end/skill-creator/scripts/__init__.py +0 -0
- package/skills/front-end/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/skills/front-end/skill-creator/scripts/generate_report.py +326 -0
- package/skills/front-end/skill-creator/scripts/improve_description.py +247 -0
- package/skills/front-end/skill-creator/scripts/package_skill.py +136 -0
- package/skills/front-end/skill-creator/scripts/quick_validate.py +103 -0
- package/skills/front-end/skill-creator/scripts/run_eval.py +310 -0
- package/skills/front-end/skill-creator/scripts/run_loop.py +328 -0
- package/skills/front-end/skill-creator/scripts/utils.py +47 -0
- package/skills/front-end/slack-gif-creator/LICENSE.txt +202 -0
- package/skills/front-end/slack-gif-creator/SKILL.md +254 -0
- package/skills/front-end/slack-gif-creator/core/easing.py +234 -0
- package/skills/front-end/slack-gif-creator/core/frame_composer.py +176 -0
- package/skills/front-end/slack-gif-creator/core/gif_builder.py +269 -0
- package/skills/front-end/slack-gif-creator/core/validators.py +136 -0
- package/skills/front-end/slack-gif-creator/requirements.txt +4 -0
- package/skills/front-end/web-artifacts-builder/LICENSE.txt +202 -0
- package/skills/front-end/web-artifacts-builder/SKILL.md +74 -0
- package/skills/front-end/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/skills/front-end/web-artifacts-builder/scripts/init-artifact.sh +322 -0
- package/skills/front-end/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/skills/front-end/webapp-testing/LICENSE.txt +202 -0
- package/skills/front-end/webapp-testing/SKILL.md +96 -0
- package/skills/front-end/webapp-testing/examples/console_logging.py +35 -0
- package/skills/front-end/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/front-end/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/front-end/webapp-testing/scripts/with_server.py +106 -0
- package/skills/front-end/xlsx/LICENSE.txt +30 -0
- package/skills/front-end/xlsx/SKILL.md +292 -0
- package/skills/front-end/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/skills/front-end/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/skills/front-end/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/skills/front-end/xlsx/scripts/office/pack.py +159 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/front-end/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/front-end/xlsx/scripts/office/soffice.py +183 -0
- package/skills/front-end/xlsx/scripts/office/unpack.py +132 -0
- package/skills/front-end/xlsx/scripts/office/validate.py +111 -0
- package/skills/front-end/xlsx/scripts/office/validators/__init__.py +15 -0
- package/skills/front-end/xlsx/scripts/office/validators/base.py +847 -0
- package/skills/front-end/xlsx/scripts/office/validators/docx.py +446 -0
- package/skills/front-end/xlsx/scripts/office/validators/pptx.py +275 -0
- package/skills/front-end/xlsx/scripts/office/validators/redlining.py +247 -0
- package/skills/front-end/xlsx/scripts/recalc.py +184 -0
- package/skills/languages/c/SKILL.md +74 -0
- package/skills/languages/clojure/SKILL.md +73 -0
- package/skills/languages/cpp/SKILL.md +75 -0
- package/skills/languages/csharp/SKILL.md +75 -0
- package/skills/languages/dart/SKILL.md +82 -0
- package/skills/languages/elixir/SKILL.md +74 -0
- package/skills/languages/erlang/SKILL.md +76 -0
- package/skills/languages/go/SKILL.md +83 -0
- package/skills/languages/haskell/SKILL.md +70 -0
- package/skills/languages/java/SKILL.md +71 -0
- package/skills/languages/javascript/SKILL.md +62 -0
- package/skills/languages/kotlin/SKILL.md +68 -0
- package/skills/languages/lua/SKILL.md +79 -0
- package/skills/languages/objectivec/SKILL.md +83 -0
- package/skills/languages/php/SKILL.md +74 -0
- package/skills/languages/python/SKILL.md +68 -0
- package/skills/languages/r/SKILL.md +70 -0
- package/skills/languages/ruby/SKILL.md +67 -0
- package/skills/languages/rust/SKILL.md +72 -0
- package/skills/languages/scala/SKILL.md +73 -0
- package/skills/languages/swift/SKILL.md +73 -0
- package/skills/languages/typescript/SKILL.md +69 -0
- package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
- package/skills/meta/progressive-disclosure/SKILL.md +65 -0
- package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
- package/skills/process/adr-technical-decisions/SKILL.md +59 -0
- package/skills/process/app-planning/SKILL.md +63 -0
- package/skills/process/architecture-before-code/SKILL.md +52 -0
- package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
- package/skills/process/idea-to-product/SKILL.md +50 -0
- package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
- package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
- package/skills/process/problem-framing/SKILL.md +51 -0
- package/skills/process/product-discovery/SKILL.md +53 -0
- package/skills/process/readme-generation/SKILL.md +90 -0
- package/skills/process/requirements-to-specs/SKILL.md +53 -0
- package/skills/process/research-official-docs/SKILL.md +58 -0
- package/skills/process/review-code-perf-security/SKILL.md +65 -0
- package/skills/process/security-by-design/SKILL.md +68 -0
- package/skills/process/specs-to-issues/SKILL.md +53 -0
- package/skills/process/testing-before-done/SKILL.md +61 -0
- package/skills/process/validating-ux-navigation/SKILL.md +63 -0
- package/skills/references/ai-attachments-ui/SKILL.md +66 -0
- package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
- package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
- package/skills/references/component-patterns-gallery/SKILL.md +62 -0
- package/skills/references/gradient-resources/SKILL.md +66 -0
- package/skills/references/react-component-libraries/SKILL.md +61 -0
- package/skills/references/saas-landing-patterns/SKILL.md +67 -0
- package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
- package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
- package/skills/references/web-animation-codrops/SKILL.md +68 -0
- package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
- package/skills/stacks/aiml/keras/SKILL.md +77 -0
- package/skills/stacks/aiml/numpy/SKILL.md +69 -0
- package/skills/stacks/aiml/pandas/SKILL.md +72 -0
- package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
- package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
- package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
- package/skills/stacks/auth/auth0/SKILL.md +63 -0
- package/skills/stacks/auth/authjs/SKILL.md +69 -0
- package/skills/stacks/auth/clerk/SKILL.md +72 -0
- package/skills/stacks/auth/keycloak/SKILL.md +63 -0
- package/skills/stacks/auth/lucia/SKILL.md +56 -0
- package/skills/stacks/auth/passport/SKILL.md +70 -0
- package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
- package/skills/stacks/baas/amplify/SKILL.md +71 -0
- package/skills/stacks/baas/appwrite/SKILL.md +79 -0
- package/skills/stacks/baas/firebase/SKILL.md +73 -0
- package/skills/stacks/baas/heroku/SKILL.md +71 -0
- package/skills/stacks/backend/actix/SKILL.md +77 -0
- package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
- package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
- package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
- package/skills/stacks/backend/django/SKILL.md +62 -0
- package/skills/stacks/backend/express/SKILL.md +65 -0
- package/skills/stacks/backend/fastapi/SKILL.md +64 -0
- package/skills/stacks/backend/fastify/SKILL.md +64 -0
- package/skills/stacks/backend/fiber/SKILL.md +68 -0
- package/skills/stacks/backend/flask/SKILL.md +71 -0
- package/skills/stacks/backend/gin/SKILL.md +68 -0
- package/skills/stacks/backend/graphql/SKILL.md +70 -0
- package/skills/stacks/backend/hono/SKILL.md +64 -0
- package/skills/stacks/backend/koa/SKILL.md +63 -0
- package/skills/stacks/backend/laravel/SKILL.md +73 -0
- package/skills/stacks/backend/nestjs/SKILL.md +70 -0
- package/skills/stacks/backend/nginx/SKILL.md +77 -0
- package/skills/stacks/backend/phoenix/SKILL.md +68 -0
- package/skills/stacks/backend/rails/SKILL.md +67 -0
- package/skills/stacks/backend/spring/SKILL.md +70 -0
- package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
- package/skills/stacks/backend/symfony/SKILL.md +77 -0
- package/skills/stacks/container/containerd/SKILL.md +75 -0
- package/skills/stacks/container/docker/SKILL.md +90 -0
- package/skills/stacks/container/podman/SKILL.md +93 -0
- package/skills/stacks/database/cassandra/SKILL.md +74 -0
- package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
- package/skills/stacks/database/dynamodb/SKILL.md +62 -0
- package/skills/stacks/database/mariadb/SKILL.md +71 -0
- package/skills/stacks/database/mongodb/SKILL.md +71 -0
- package/skills/stacks/database/mysql/SKILL.md +72 -0
- package/skills/stacks/database/neon/SKILL.md +68 -0
- package/skills/stacks/database/planetscale/SKILL.md +70 -0
- package/skills/stacks/database/postgresql/SKILL.md +81 -0
- package/skills/stacks/database/redis/SKILL.md +78 -0
- package/skills/stacks/database/sqlite/SKILL.md +70 -0
- package/skills/stacks/database/supabase/SKILL.md +79 -0
- package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
- package/skills/stacks/dataviz/d3/SKILL.md +77 -0
- package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
- package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
- package/skills/stacks/frontend/alpine/SKILL.md +75 -0
- package/skills/stacks/frontend/angular/SKILL.md +75 -0
- package/skills/stacks/frontend/backbone/SKILL.md +82 -0
- package/skills/stacks/frontend/ember/SKILL.md +85 -0
- package/skills/stacks/frontend/htmx/SKILL.md +73 -0
- package/skills/stacks/frontend/lit/SKILL.md +76 -0
- package/skills/stacks/frontend/preact/SKILL.md +74 -0
- package/skills/stacks/frontend/qwik/SKILL.md +65 -0
- package/skills/stacks/frontend/react/SKILL.md +77 -0
- package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
- package/skills/stacks/frontend/svelte/SKILL.md +70 -0
- package/skills/stacks/frontend/vue/SKILL.md +69 -0
- package/skills/stacks/infra/ansible/SKILL.md +76 -0
- package/skills/stacks/infra/aws/SKILL.md +66 -0
- package/skills/stacks/infra/azure/SKILL.md +72 -0
- package/skills/stacks/infra/circleci/SKILL.md +78 -0
- package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
- package/skills/stacks/infra/fly-io/SKILL.md +63 -0
- package/skills/stacks/infra/gcp/SKILL.md +66 -0
- package/skills/stacks/infra/jenkins/SKILL.md +73 -0
- package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
- package/skills/stacks/infra/netlify/SKILL.md +60 -0
- package/skills/stacks/infra/railway/SKILL.md +63 -0
- package/skills/stacks/infra/tailscale/SKILL.md +65 -0
- package/skills/stacks/infra/terraform/SKILL.md +75 -0
- package/skills/stacks/infra/vagrant/SKILL.md +70 -0
- package/skills/stacks/infra/vercel/SKILL.md +60 -0
- package/skills/stacks/meta/astro/SKILL.md +64 -0
- package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
- package/skills/stacks/meta/eleventy/SKILL.md +69 -0
- package/skills/stacks/meta/gatsby/SKILL.md +63 -0
- package/skills/stacks/meta/hugo/SKILL.md +73 -0
- package/skills/stacks/meta/jekyll/SKILL.md +70 -0
- package/skills/stacks/meta/nextjs/SKILL.md +62 -0
- package/skills/stacks/meta/nuxt/SKILL.md +66 -0
- package/skills/stacks/meta/remix/SKILL.md +67 -0
- package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
- package/skills/stacks/meta/vite/SKILL.md +63 -0
- package/skills/stacks/mobile/android/SKILL.md +77 -0
- package/skills/stacks/mobile/flutter/SKILL.md +77 -0
- package/skills/stacks/mobile/ionic/SKILL.md +72 -0
- package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
- package/skills/stacks/mobile/react-native/SKILL.md +75 -0
- package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
- package/skills/stacks/orm/diesel/SKILL.md +72 -0
- package/skills/stacks/orm/django-orm/SKILL.md +58 -0
- package/skills/stacks/orm/drizzle/SKILL.md +67 -0
- package/skills/stacks/orm/gorm/SKILL.md +73 -0
- package/skills/stacks/orm/knex/SKILL.md +64 -0
- package/skills/stacks/orm/mongoose/SKILL.md +64 -0
- package/skills/stacks/orm/prisma/SKILL.md +64 -0
- package/skills/stacks/orm/sequelize/SKILL.md +65 -0
- package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
- package/skills/stacks/orm/typeorm/SKILL.md +70 -0
- package/skills/stacks/queue/bullmq/SKILL.md +69 -0
- package/skills/stacks/queue/celery/SKILL.md +68 -0
- package/skills/stacks/queue/kafka/SKILL.md +66 -0
- package/skills/stacks/queue/nats/SKILL.md +66 -0
- package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
- package/skills/stacks/queue/redis/SKILL.md +66 -0
- package/skills/stacks/runtime/beam/SKILL.md +72 -0
- package/skills/stacks/runtime/bun/SKILL.md +80 -0
- package/skills/stacks/runtime/deno/SKILL.md +74 -0
- package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
- package/skills/stacks/runtime/jvm/SKILL.md +66 -0
- package/skills/stacks/runtime/node/SKILL.md +70 -0
- package/skills/stacks/runtime/pypy/SKILL.md +69 -0
- package/skills/stacks/runtime/python3/SKILL.md +70 -0
- package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
- package/skills/stacks/styling/bulma/SKILL.md +80 -0
- package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
- package/skills/stacks/styling/css-modules/SKILL.md +54 -0
- package/skills/stacks/styling/mui/SKILL.md +60 -0
- package/skills/stacks/styling/sass/SKILL.md +63 -0
- package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
- package/skills/stacks/styling/styled-components/SKILL.md +62 -0
- package/skills/stacks/styling/tailwind/SKILL.md +59 -0
- package/skills/stacks/styling/unocss/SKILL.md +64 -0
- package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
- package/skills/stacks/styling/vuetify/SKILL.md +89 -0
- package/skills/stacks/testing/cypress/SKILL.md +68 -0
- package/skills/stacks/testing/jasmine/SKILL.md +67 -0
- package/skills/stacks/testing/jest/SKILL.md +67 -0
- package/skills/stacks/testing/mocha/SKILL.md +71 -0
- package/skills/stacks/testing/playwright/SKILL.md +68 -0
- package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
- package/skills/stacks/testing/selenium/SKILL.md +70 -0
- package/skills/stacks/testing/vitest/SKILL.md +68 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
[โ Docs index](./README.md) ยท [๐ง๐ท Portuguรชs](../pt/PREPARE_DEPLOY.md) ยท [โฆ Constella](../../README.md)
|
|
2
|
+
|
|
3
|
+
# Prepare Deploy ๐
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
The pre-launch sequence. Before any product leaves the central ship, **Prepare Deploy** runs a hybrid pipeline โ deterministic engineering checks (real commands) plus one bundled agent phase โ then strips Constella's entire internal control layer and ships only the clean product source to a separate repository. Every launch passes through a secret-scan airlock.
|
|
8
|
+
|
|
9
|
+
> Source of truth: [`src/server/prepare-deploy.ts`](../../src/server/prepare-deploy.ts), [`src/server/deploy-store.ts`](../../src/server/deploy-store.ts), [`src/server/git-scan.ts`](../../src/server/git-scan.ts), [`src/server/devserver.ts`](../../src/server/devserver.ts).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. When to use ๐
|
|
14
|
+
|
|
15
|
+
- A constellation finished building and you want to take the project to production.
|
|
16
|
+
- You need a **deterministic readiness check**: dependencies install, tests pass, a clean production build runs, and the app actually boots.
|
|
17
|
+
- You want to **document the environment** (`.env.example`, `README.md`, `DEPLOY.md`) before handing the project to a host.
|
|
18
|
+
- You want to publish **only the product** โ without `.claude/`, planning docs, internal reports, or any control file โ to a separate GitHub repository.
|
|
19
|
+
- You need certainty that **no secrets** are about to leave the ship.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. How it works ๐
|
|
24
|
+
|
|
25
|
+
Prepare Deploy is a **hybrid production-prep pipeline**. The system runs the deterministic engineering steps itself (real `install`, `test`, `build` commands; a boot gate; a secret scan), then hands a **single bundled agent phase** the remaining creative work (write `.env.example`, fix a broken build, write `README.md` / `DEPLOY.md`). The clean-export filter is the single source of truth shared by both the **preview** and the **export** โ what you see in the preview is exactly what would be pushed.
|
|
26
|
+
|
|
27
|
+
Three deterministic, agent-free panels feed the UI:
|
|
28
|
+
|
|
29
|
+
| Panel | Server action | What it returns |
|
|
30
|
+
|-------|---------------|-----------------|
|
|
31
|
+
| **Environment snapshot** | `getDeployEnv()` โ `detectDeployEnv(org.id)` | runtime, framework, package manager, required/undocumented env vars, DB type, ports, Dockerfile/compose, build & start scripts, mode |
|
|
32
|
+
| **Clean export preview** | `previewCleanExport()` โ `buildPreview(org.id)` | the file tree that survives the filter, total bytes, included/ignored counts, docs found, and a **pre-export secret scan** |
|
|
33
|
+
| **Auto checklist** | `deployChecklist()` โ `computeChecklist(...)` | a deterministic readiness checklist derived from the env snapshot + the last run's step statuses |
|
|
34
|
+
|
|
35
|
+
The current run state itself is read with `getDeployRun()` โ `loadDeployRow(workspace.id)`.
|
|
36
|
+
|
|
37
|
+
### Persistence
|
|
38
|
+
|
|
39
|
+
One `deploy_run` row **per workspace** holds the latest run. The table is created idempotently at boot by `ensureDeployTables()` (`CREATE TABLE IF NOT EXISTS deploy_run โฆ CREATE UNIQUE INDEX โฆ ON deploy_run (workspace_id)`) โ no `drizzle-kit push` needed. The row stores `status`, `runId`, the `steps[]`, the `checklist[]`, the last `buildLog`, the `summary`, the `lastExport` snapshot, and `startedAt` / `updatedAt`.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. Environment snapshot โ `getDeployEnv` ๐ช
|
|
44
|
+
|
|
45
|
+
`detectDeployEnv(orgId)` is fully deterministic (no agent, no model call). It builds a `DeployEnv` object:
|
|
46
|
+
|
|
47
|
+
| Field | How it is detected |
|
|
48
|
+
|-------|--------------------|
|
|
49
|
+
| `detected` | `true` if `detectProject(orgId)` found a runnable project |
|
|
50
|
+
| `runtime` | `proj.kind` โ one of `node` / `python` / `go` / `rust` / `static`, else `unknown` |
|
|
51
|
+
| `packageManager` | for Node, the resolved `runCmd` (`npm` / `pnpm` / `yarn`) |
|
|
52
|
+
| `framework` | `detectFramework(deps, runtime)` โ maps deps to a label (Next.js / Nuxt / Remix / Angular / Svelte / Vue / React / Nest / Node server / PythonยทGoยทRustยทStatic service) |
|
|
53
|
+
| `projectName` / `runLabel` | `proj.name` / `proj.label` (e.g. `npm run dev`, `uvicorn`, `go run`) |
|
|
54
|
+
| `requiredEnv` | parsed from `.env.example` / `.env.sample` / `.env.template` via `parseEnvKeys` โ each key gets a `hasValue` flag (placeholders like `your_`, `<โฆ>`, `changeme`, `xxx`, `example` count as **no** value) |
|
|
55
|
+
| `referencedEnvCount` | total env keys referenced in source (`scanEnvRefs`) |
|
|
56
|
+
| `unsetEnvKeys` | env keys **used in code but not documented** in `.env.example` (minus `ENV_NOISE`: `NODE_ENV`, `PORT`, `HOST`, `PWD`, `HOME`, `PATH`, `CI`, `TZ`, `VERCEL`, `VERCEL_ENV`), sorted, capped at 40 |
|
|
57
|
+
| `database` | `detectDatabase(deps)` โ `relational` / `document` / `key-value` / `none` |
|
|
58
|
+
| `ports` | parsed from `Dockerfile` `EXPOSE` lines and `docker-compose*` / `compose*` port mappings (capped at 12) |
|
|
59
|
+
| `hasDockerfile` / `hasCompose` | presence of a `Dockerfile` / a compose file |
|
|
60
|
+
| `buildScript` / `startScript` | `package.json` `scripts.build` / `scripts.start` |
|
|
61
|
+
| `mode` | `prod` if build output exists (`hasBuildOutput`), `dev` otherwise, `unknown` if no project |
|
|
62
|
+
|
|
63
|
+
`scanEnvRefs` walks source files (`.ts .tsx .js .jsx .mjs .cjs .py .go .rs .vue .svelte`, โค1500 files, โค512 KB each) and matches `process.env.X`, `process.env["X"]`, `import.meta.env.X`, `os.environ[...]`, `os.getenv(...)`, and Go's `os.Getenv(...)`.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 4. Clean-export filter โ `buildCleanTree` ๐ณ๏ธ
|
|
68
|
+
|
|
69
|
+
`buildCleanTree(tmp, orgId)` copies **only the clean product** into a temp directory. It is the shared engine behind both the preview and the export, so the preview is a faithful dry run. A workspace-relative path survives only if `isCleanProductPath(rel)` returns `true`.
|
|
70
|
+
|
|
71
|
+
A path is **stripped** when:
|
|
72
|
+
|
|
73
|
+
1. Its top-level segment is in `DENY_TOP` โ Constella's control/planning layer **or** build/dep noise.
|
|
74
|
+
2. It starts with `.constella`.
|
|
75
|
+
3. It matches the `SENSITIVE` pattern (secrets / dumps / logs / local stores) **and** is not an allowed env template.
|
|
76
|
+
|
|
77
|
+
### What is removed
|
|
78
|
+
|
|
79
|
+
| Category | Entries |
|
|
80
|
+
|----------|---------|
|
|
81
|
+
| **Control / planning layer** (`DENY_TOP`) | `.claude`, `DOCS`, `PO`, `Reports`, `specs`, `issues`, `mock`, `uploads`, `archives`, `.testdev` |
|
|
82
|
+
| **Build / dependency noise** (`DENY_TOP`) | `node_modules`, `.git`, `.next`, `dist`, `build`, `out`, `coverage`, `.cache`, `.turbo`, `vendor` |
|
|
83
|
+
| **Sensitive files** (`SENSITIVE` regex) | `.env`, `.env.*`, `id_rsa*` / `id_dsa*`, `*.pem` `*.key` `*.p12` `*.pfx` `*.keystore` `*.jks` `*.ppk` `*.asc`, `credentials.json`, `service-account*.json`, `*.sql` `*.dump` `*.bak` `*.sqlite*` `*.db`, `*.log`, `*.local` |
|
|
84
|
+
| **Anything under** `.constella` | the runtime root marker |
|
|
85
|
+
|
|
86
|
+
### What is kept
|
|
87
|
+
|
|
88
|
+
Everything else โ the real product source โ **plus** allowed env templates that match `ALLOW_ENV` (`.env.example`, `.env.sample`, `.env.template`, `.env.dist`). After copying, `buildCleanTree` writes a fresh `.gitignore` (`EXPORT_GITIGNORE`) into the temp tree so the exported repo ignores `node_modules/`, build dirs, logs, and `.env*` (but keeps `!.env.example`). It returns `{ copied, docs, files }`, where `docs` collects root README / LICENSE / CHANGELOG / DEPLOY / CONTRIBUTING files.
|
|
89
|
+
|
|
90
|
+
> The control layer (`.claude/`, planning dirs) is what makes Constella a control plane. Export deliberately leaves it on the ship โ only the product launches.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 5. The pipeline โ `runDeployPipeline` โฆ
|
|
95
|
+
|
|
96
|
+
`runDeployPipeline()` runs nine steps in order. Each step persists to the `deploy_run` row **and** emits a `deploy` event so both the visual pipeline (polled) and the live narration box (`AgentRunLive`) show real state. A **re-entry guard** returns the current row early if a run is already `running` and started less than 15 minutes ago.
|
|
97
|
+
|
|
98
|
+
| # | Step `key` | Label | What it does |
|
|
99
|
+
|---|------------|-------|--------------|
|
|
100
|
+
| 1 | `analyze` | Analyze the project | `detectProject` + `detectDeployEnv`. **No project โ `failed`** |
|
|
101
|
+
| 2 | `deps` | Validate dependencies | runs `proj.install` (`CI=1`, 300 s timeout); `done` / `error` / "already installed" |
|
|
102
|
+
| 3 | `env` | Validate environment variables | `needs-action` if `unsetEnvKeys` exist, else `done` |
|
|
103
|
+
| 4 | `tests` | Run tests | Node + `scripts.test` โ `runCmd test` (`CI=1`, 300 s); else `needs-action` "no automated test script" |
|
|
104
|
+
| 5 | `secrets` | Security scan | `buildPreview` over the clean tree โ **`blocked` stops the pipeline** if any secret is found |
|
|
105
|
+
| 6 | `build` | Production build | Node + `buildScript` โ `run build` (`CI=1`, 600 s); failure โ `error` (the agent will try to fix it) |
|
|
106
|
+
| 7 | `validateBuild` | Validate build | `ensureBootable` boot gate โ does the app actually start? |
|
|
107
|
+
| 8 | `agent` | Configure env, fix & document | **one** bundled agent phase (see below) |
|
|
108
|
+
| 9 | `package` | Prepare clean package | `buildPreview` **again** (after the agent's edits); re-checks secrets, reports file count + size |
|
|
109
|
+
|
|
110
|
+
### The early secret gate
|
|
111
|
+
|
|
112
|
+
Step 5 is an **early gate**: it runs the full clean-tree secret scan *before* the build and the agent. If `buildPreview().blocked` is true, the step becomes `blocked`, a `block` item is pushed to the **Inbox**, and the run finalizes with status `blocked` โ the build and agent never run. Fix the secrets and re-run.
|
|
113
|
+
|
|
114
|
+
### The agent phase
|
|
115
|
+
|
|
116
|
+
`pickDeployAgent` chooses the **DevOps** agent (role matches `/devops/i`), falling back to `ada`, then the first agent. `runFocusedAgent` makes one streamed call on the `deploy` channel (600 s timeout) and **books real cost** to the `costEntry` table. The instruction (`deployAgentInstruction`) tells it the deterministic steps already ran and to focus on the gaps, in order:
|
|
117
|
+
|
|
118
|
+
1. Create/refresh `.env.example` documenting **every** required env var (placeholders only, **never** real secrets) โ the undocumented keys are injected into the prompt.
|
|
119
|
+
2. If the production build failed, **fix** the errors until it builds clean.
|
|
120
|
+
3. Write/refresh a root `README.md` and a root `DEPLOY.md` with concrete build/run/deploy steps for this host.
|
|
121
|
+
4. Finish with a short operator summary + exact next steps.
|
|
122
|
+
|
|
123
|
+
It is told to keep the existing product/UX and **never** add internal/control files or a second app.
|
|
124
|
+
|
|
125
|
+
### Finalization
|
|
126
|
+
|
|
127
|
+
`finalize(status, summary)` recomputes the checklist, persists `status` + `summary` + `buildLog`, emits a terminal `done` / `error` event, calls `notifyOps` (a `deploy` notification), and revalidates `/prepare-deploy`. Final status is `done`, `blocked` (secrets found in the export set after the agent), or `failed`.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 6. Pipeline diagram ๐ฐ๏ธ
|
|
132
|
+
|
|
133
|
+
```mermaid
|
|
134
|
+
flowchart TD
|
|
135
|
+
A["analyze ยท detectProject + env"] -->|no project| FAIL["status: failed"]
|
|
136
|
+
A --> B["deps ยท install (CI=1)"]
|
|
137
|
+
B --> C["env ยท unset keys?"]
|
|
138
|
+
C --> D["tests ยท run test (CI=1)"]
|
|
139
|
+
D --> E{"secrets ยท scan clean tree"}
|
|
140
|
+
E -->|secret found| BLK["status: blocked โ Inbox block ยท stop"]
|
|
141
|
+
E -->|clean| F["build ยท run build (CI=1)"]
|
|
142
|
+
F --> G["validateBuild ยท ensureBootable"]
|
|
143
|
+
G --> H["agent ยท env + fix + docs (1 phase)"]
|
|
144
|
+
H --> I{"package ยท re-scan export set"}
|
|
145
|
+
I -->|secret found| BLK2["status: blocked"]
|
|
146
|
+
I -->|clean| DONE["status: done"]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 7. Auto checklist โ `computeChecklist` ๐
|
|
152
|
+
|
|
153
|
+
Deterministic, derived from the env snapshot and the last run's step statuses. Each item has a `status` of `ok` / `warn` / `fail` / `todo`.
|
|
154
|
+
|
|
155
|
+
| `key` | Label | `ok` when |
|
|
156
|
+
|-------|-------|-----------|
|
|
157
|
+
| `pkg` | package.json valid / manifest present | Node: `package.json` parses; else: project detected |
|
|
158
|
+
| `deps` | Dependencies installed | `node_modules` exists or the `deps` step finished |
|
|
159
|
+
| `envExample` | `.env.example` present | a template exists or `requiredEnv` non-empty |
|
|
160
|
+
| `envComplete` | All used env vars documented | `unsetEnvKeys.length === 0` (else `warn`) |
|
|
161
|
+
| `secrets` | No secrets in the product | the `secrets` step is `done` (`blocked` โ `fail`) |
|
|
162
|
+
| `build` | Production build runs | `buildScript` exists and the `build` step finished (no script โ `warn`) |
|
|
163
|
+
| `tests` | Tests pass | `scripts.test` exists and the `tests` step finished (no script โ `warn`) |
|
|
164
|
+
| `readme` | README present | `README.md` / `readme.md` exists |
|
|
165
|
+
| `deployDoc` | Deploy docs present | `DEPLOY.md` exists |
|
|
166
|
+
| `internalExcluded` | Internal files excluded from export | always `ok` (the filter guarantees it) |
|
|
167
|
+
| `exportRepo` | Export repository configured | a `github_pat` is vaulted |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 8. Quick actions โญ
|
|
172
|
+
|
|
173
|
+
Beyond the full pipeline, individual actions are available (each emits `deploy` events via `withDeployEvents`):
|
|
174
|
+
|
|
175
|
+
| Action | Function | Effect |
|
|
176
|
+
|--------|----------|--------|
|
|
177
|
+
| Build only | `runBuildOnly()` | Node `run build` (`CI=1`, 600 s); persists the `buildLog` |
|
|
178
|
+
| Tests only | `runTestsOnly()` | Node `run test` (`CI=1`, 300 s) |
|
|
179
|
+
| Generate README | `generateReadme()` โ `genDocs("readme")` | one DevOps-agent call to write/refresh `README.md` |
|
|
180
|
+
| Generate deploy docs | `generateDeployDocs()` โ `genDocs("deploy")` | one DevOps-agent call to write/refresh `DEPLOY.md` |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 9. Clean source export โ `exportCleanSource` ๐
|
|
185
|
+
|
|
186
|
+
Pushes **only** the clean product to a **separate** GitHub repo โ never the org workspace's bound `origin`. Input: `{ repo, token?, branch?, message? }`.
|
|
187
|
+
|
|
188
|
+
**Step by step:**
|
|
189
|
+
|
|
190
|
+
1. Normalize `repo` to `owner/repo` (strips a `https://github.com/` prefix and a `.git` suffix); reject anything that is not `owner/repo`.
|
|
191
|
+
2. Resolve the token: the provided `token`, else the vaulted `github_pat`. No token โ error. The token is **redacted** from every returned string.
|
|
192
|
+
3. Verify the repo via `GET https://api.github.com/repos/{repo}` (12 s timeout). `404` โ "Repo not found, or this token can't access it."
|
|
193
|
+
4. `buildCleanTree(tmp, org.id)` into a temp dir. **Nothing copied โ error** ("no clean product source files were found").
|
|
194
|
+
5. `git init -b <branch>` (default `main`) โ `git add -A`.
|
|
195
|
+
6. **FINAL secret gate** โ `scanForSecrets(tmp)`. **Any** finding blocks the push regardless of the allowlist: a `block` lands in the **Inbox**, `notifyOps` fires a `security` alert, and the result is `{ ok:false, blocked:true, secrets }`.
|
|
196
|
+
7. Commit as `Constella Agents <agents@constella.dev>` (message defaults to `chore: export clean source`), grab the short SHA.
|
|
197
|
+
8. `git push -f https://x-access-token:<token>@github.com/<repo>.git HEAD:<branch>` (120 s timeout). Push failure โ redacted error tail.
|
|
198
|
+
9. On success, persist `lastExport` (`{ ok, sha, copied, repo, branch, at }`) to the `deploy_run` row.
|
|
199
|
+
|
|
200
|
+
```mermaid
|
|
201
|
+
sequenceDiagram
|
|
202
|
+
participant Op as Operator
|
|
203
|
+
participant PD as exportCleanSource
|
|
204
|
+
participant GH as GitHub API
|
|
205
|
+
participant FS as temp clean tree
|
|
206
|
+
Op->>PD: repo, token?, branch?
|
|
207
|
+
PD->>GH: GET /repos/{repo}
|
|
208
|
+
GH-->>PD: 200 / 404
|
|
209
|
+
PD->>FS: buildCleanTree (strip control layer + secrets)
|
|
210
|
+
PD->>FS: git init + add -A
|
|
211
|
+
PD->>FS: scanForSecrets (FINAL gate)
|
|
212
|
+
alt secret found
|
|
213
|
+
PD-->>Op: blocked โ Inbox + notifyOps(security)
|
|
214
|
+
else clean
|
|
215
|
+
PD->>GH: git push -f HEAD:branch
|
|
216
|
+
PD-->>Op: ok, sha, copied
|
|
217
|
+
end
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 10. Examples ๐ช
|
|
223
|
+
|
|
224
|
+
**Run the full pipeline** (from the Prepare Deploy page) โ the system calls `runDeployPipeline()`; you watch nine steps and the live agent narration.
|
|
225
|
+
|
|
226
|
+
**Build only:**
|
|
227
|
+
```ts
|
|
228
|
+
const { ok, log } = await runBuildOnly();
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Export the clean product to a separate repo:**
|
|
232
|
+
```ts
|
|
233
|
+
const res = await exportCleanSource({
|
|
234
|
+
repo: "my-org/my-product", // or https://github.com/my-org/my-product(.git)
|
|
235
|
+
branch: "main",
|
|
236
|
+
message: "chore: export clean source",
|
|
237
|
+
});
|
|
238
|
+
// res = { ok, pushed, sha, copied } | { ok:false, blocked:true, secrets:[โฆ] } | { ok:false, error }
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 11. Possible states ๐ณ๏ธ
|
|
244
|
+
|
|
245
|
+
**Run status** (`RunStatus`, the `deploy_run.status` column):
|
|
246
|
+
|
|
247
|
+
| State | Meaning |
|
|
248
|
+
|-------|---------|
|
|
249
|
+
| `idle` | no run yet (default row) |
|
|
250
|
+
| `running` | pipeline in progress (re-entry guarded for 15 min) |
|
|
251
|
+
| `done` | finished, clean |
|
|
252
|
+
| `blocked` | secrets found โ early gate (step 5) or final package re-scan (step 9) |
|
|
253
|
+
| `failed` | no runnable project, or an unexpected error |
|
|
254
|
+
|
|
255
|
+
**Step status** (`StepStatus`): `waiting`, `running`, `done`, `error`, `blocked`, `needs-action`.
|
|
256
|
+
|
|
257
|
+
**Checklist status** (`ChecklistStatus`): `ok`, `warn`, `fail`, `todo`.
|
|
258
|
+
|
|
259
|
+
**Boot reconcile:** at startup `reconcileDeployRuns()` treats any `running` row as an orphan (its process died) โ it flips the row to `failed` and any still-`running` step to `error` ("interrupted by restart").
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 12. Related integrations ๐
|
|
264
|
+
|
|
265
|
+
- **GitHub** โ `exportCleanSource` reuses the vaulted `github_pat`; the other path (commit the whole workspace to its bound `origin`) lives in [`GITHUB.md`](./GITHUB.md).
|
|
266
|
+
- **Test Dev** โ the `validateBuild` step calls `ensureBootable` from the same dev-server engine documented in [`TEST_DEV.md`](./TEST_DEV.md).
|
|
267
|
+
- **Inbox** โ secret gates push `block` items via `pushInbox` ([`INBOX.md`](./INBOX.md)).
|
|
268
|
+
- **Agents** โ the agent phase runs the **DevOps** agent (Werner) ([`AGENTS.md`](./AGENTS.md)).
|
|
269
|
+
- **Deploy** โ the actual launch from clean source to a host ([`DEPLOY.md`](./DEPLOY.md)).
|
|
270
|
+
- **Vault / Security** โ secrets are vaulted and scrubbed; see [`SECURITY.md`](./SECURITY.md).
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## 13. Security ๐ก๏ธ
|
|
275
|
+
|
|
276
|
+
- **Two secret gates.** The pipeline's early gate (step 5) and the package re-scan (step 9) both run `scanForSecrets` over the clean tree; `exportCleanSource` runs a **third, final** scan at push time. Any finding blocks.
|
|
277
|
+
- **`scanForSecrets`** scans the files git *would* commit (working-tree changes, untracked included) โ high-confidence patterns (AWS / GitHub / OpenAIยทAnthropic / Google / Slack / private keys / JWT / DB URLs with credentials / Telegram tokens / hardcoded secrets) plus must-never-commit file types. Placeholders are ignored; binaries, files >2 MB, and build dirs are skipped. Previews are redacted (`abcdโขโขโขyz`).
|
|
278
|
+
- **Token redaction.** The export redacts the GitHub token from every returned string, so it never leaks into the UI, the Inbox, or a notification.
|
|
279
|
+
- **Separate target.** Export pushes to a **separate** repo, never the workspace's bound `origin` โ the control layer cannot escape by accident.
|
|
280
|
+
- **Allowlist vs final net.** The clean filter keeps env templates (`.env.example`, etc.) but the final `scanForSecrets` blocks **any** inlined secret regardless of the allowlist.
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## 14. Troubleshooting ๐ฐ๏ธ
|
|
285
|
+
|
|
286
|
+
| Symptom | Likely cause / fix |
|
|
287
|
+
|---------|--------------------|
|
|
288
|
+
| Run finalizes `failed` immediately | "No runnable project detected" โ `detectProject` found no manifest. Check the workspace root. |
|
|
289
|
+
| Stuck on `running` after a restart | `reconcileDeployRuns()` flips orphaned runs to `failed` at boot; reload the page. |
|
|
290
|
+
| `secrets` step `blocked` | A real secret is in the product. Open the Inbox block, remove it (use `.env` + a vaulted secret), re-run. |
|
|
291
|
+
| `build` step `error` | The agent phase will try to fix it; the build tail is in `buildLog`. Use **Build only** to iterate. |
|
|
292
|
+
| `tests` shows `needs-action` | No `scripts.test` (or non-Node runtime) โ Constella has nothing to run. |
|
|
293
|
+
| Export "Nothing to export yet" | `buildCleanTree` copied 0 files โ everything matched `DENY_TOP` / `SENSITIVE`, or the workspace has no product source. |
|
|
294
|
+
| Export "Repo not found" | The repo doesn't exist or the token lacks access โ check the PAT scope. |
|
|
295
|
+
| Export `blocked` | The final secret scan found something; see the Inbox + security notification. |
|
|
296
|
+
| `validateBuild` says "toolchain unavailable" | The boot gate is **skipped** (not failed) when the runtime (python/go/rust) isn't installed โ it cannot validate, so it does not block. |
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 15. Related links ๐
|
|
301
|
+
|
|
302
|
+
- [`DEPLOY.md`](./DEPLOY.md) โ launch the clean source to a host
|
|
303
|
+
- [`GITHUB.md`](./GITHUB.md) โ connect a remote, commit the workspace, export clean source
|
|
304
|
+
- [`TEST_DEV.md`](./TEST_DEV.md) โ the dev-server + headless test harness (boot gate)
|
|
305
|
+
- [`INBOX.md`](./INBOX.md) โ where blocks surface
|
|
306
|
+
- [`AGENTS.md`](./AGENTS.md) โ the DevOps agent that runs the agent phase
|
|
307
|
+
- [`SECURITY.md`](./SECURITY.md) โ Vault, scrubbing, the FS jail
|
|
308
|
+
- [`WORKFLOW.md`](./WORKFLOW.md) โ the full Goal โ โฆ โ Done lifecycle
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
[โ Docs index](./README.md) ยท [๐ง๐ท Portuguรชs](../pt/PROJECT_STACKS.md) ยท [โฆ Constella](../../README.md)
|
|
2
|
+
|
|
3
|
+
# Project Stacks ๐ช
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
The **project stack** is the technological star-chart of a workspace: a small map of which language, runtime, framework, database, ORM, styling, tests and infra the product is built on. From that chart Constella decides which native **skills** orbit each agent, which official-docs hosts its **web research** may reach, and what background colours the **RAG** memory nebula and every system prompt. Pick the stack once; the whole constellation re-aligns.
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
- During **onboarding** โ you choose the stack (or it is inferred from an imported project) before the first plan.
|
|
12
|
+
- Whenever the product's foundations change โ adopt a new framework, swap a database, add a queue โ open **Config โ Project Stacks** and re-save. Every agent is re-linked, the stack-bearing docs are re-rendered, and RAG re-indexes.
|
|
13
|
+
- When an agent keeps reaching for the *wrong* framework's idioms: the stack is what tells a Vue project's Frontend to load `vue`, not `react`.
|
|
14
|
+
|
|
15
|
+
## How it works
|
|
16
|
+
|
|
17
|
+
A stack is a plain JSON map stored on the workspace row:
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
// src/db/schema.ts โ workspace
|
|
21
|
+
stack: text("stack", { mode: "json" }).$type<Record<string, string>>().notNull().default({}),
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Keys are **category keys** (`language`, `runtime`, `frontend`, โฆ); values are the **catalog option labels** the operator picked (`"TypeScript"`, `"Next.js"`, `"PostgreSQL"`, `"None"`). The catalog of categories and their options lives in `src/data/stack-catalog.ts` (`STACK_CATS` โ 16 categories, each option carrying a one-line description via `descFor`).
|
|
25
|
+
|
|
26
|
+
That map drives three downstream systems:
|
|
27
|
+
|
|
28
|
+
1. **Skills** โ `STACK_VALUE_TO_SKILL` (in `src/data/stack-skill-map.ts`) maps each catalog label to a `skills/` library leaf id (`"Next.js" โ "nextjs"`). `librarySkillNamesForStack(stack)` and `skillNamesForRole(stack, role)` (in `src/server/skills-library.ts`) turn the stack into the exact set of skills each agent should carry.
|
|
29
|
+
2. **Web research** โ `stackDocHosts(stack)` reads the `official_sources` of the stack's skills and yields the documentation hostnames the central allowlist (`src/server/research.ts`) will permit.
|
|
30
|
+
3. **Context + RAG** โ `src/server/context-manager.ts` ranks an agent's enabled skills by stack relevance and writes a one-line `stack: โฆ` summary into the system prompt; `setWorkspaceStack` re-indexes RAG on a real change.
|
|
31
|
+
|
|
32
|
+
## Main flow ๐
|
|
33
|
+
|
|
34
|
+
```mermaid
|
|
35
|
+
flowchart TD
|
|
36
|
+
OP["Operator picks stack<br/>(onboarding or Config)"] --> WS["workspace.stack<br/>Record<string,string>"]
|
|
37
|
+
WS --> MAP["STACK_VALUE_TO_SKILL<br/>label โ library leaf id"]
|
|
38
|
+
MAP --> SK["librarySkillNamesForStack()<br/>universal + stack ids"]
|
|
39
|
+
SK --> ROLE["skillNamesForRole(stack, role)<br/>role profile gates folders"]
|
|
40
|
+
ROLE --> LINK["reconcileStackRoleSkills()<br/>auto-link / prune per agent"]
|
|
41
|
+
SK --> HOSTS["stackDocHosts()<br/>official_sources โ hosts"]
|
|
42
|
+
HOSTS --> RESEARCH["research allowlist<br/>WebFetch / researchDocs"]
|
|
43
|
+
WS --> CTX["context-manager<br/>rank skills + stack line"]
|
|
44
|
+
CTX --> PROMPT["agent system prompt"]
|
|
45
|
+
RESEARCH --> RAG["KB / RAG nebula"]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Key concepts
|
|
49
|
+
|
|
50
|
+
| Concept | What it is | Source |
|
|
51
|
+
| --- | --- | --- |
|
|
52
|
+
| **Stack** | `Record<string,string>` of category โ chosen label, on `workspace.stack` | `src/db/schema.ts` |
|
|
53
|
+
| **Catalog** | `STACK_CATS` โ the 16 categories + options shown in the UI | `src/data/stack-catalog.ts` |
|
|
54
|
+
| **`STACK_VALUE_TO_SKILL`** | label โ `skills/` leaf id; `"None"`/missing = no skill | `src/data/stack-skill-map.ts` |
|
|
55
|
+
| **Library skill** | a `SKILL.md` under root `skills/`, keyed by its **leaf folder name** | `src/server/skills-library.ts` |
|
|
56
|
+
| **Role profile** | which library folders a role auto-links (`stackPrefixes` vs `allPrefixes` + `core`) | `src/data/role-skill-profile.ts` |
|
|
57
|
+
| **`auto` link** | `agent_skill.auto = true` โ system-managed (reconcile may touch it); `false` โ operator hand-toggle (never touched) | `src/db/schema.ts` |
|
|
58
|
+
| **Reconciliation** | `reconcileStackRoleSkills(wsId)` โ re-links/prunes auto skills to match stack+role | `src/server/seed-library-skills.ts` |
|
|
59
|
+
| **Compatibility** | `incompat()` / `stackNote()` โ disable incoherent picks, warn on redundancy | `src/lib/stack-compat.ts` |
|
|
60
|
+
|
|
61
|
+
### From stack value to a library skill
|
|
62
|
+
|
|
63
|
+
`STACK_VALUE_TO_SKILL` is a flat dictionary. A **missing entry** or the literal `"None"` resolves to no skill (skipped). The skills-library loader additionally filters every mapped id to the ones that **actually exist on disk** โ so an aspirational mapping with no `SKILL.md` degrades silently to a no-op.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
// src/data/stack-skill-map.ts (excerpt)
|
|
67
|
+
"Next.js": "nextjs", React: "react", Vue: "vue", Django: "django",
|
|
68
|
+
PostgreSQL: "postgresql", Drizzle: "drizzle", "Tailwind CSS": "tailwind",
|
|
69
|
+
Playwright: "playwright", Docker: "docker", "Auth.js": "authjs",
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Universal vs stack vs role
|
|
73
|
+
|
|
74
|
+
- **Universal skills** (`UNIVERSAL_SKILL_NAMES`, ~23) ship to *every* workspace regardless of stack โ clean-code, git-workflow, OWASP, testing pyramid, UI/UX principles, the process rituals, `research-official-docs`, etc.
|
|
75
|
+
- **Stack skills** are the ids `STACK_VALUE_TO_SKILL` produces from the chosen options.
|
|
76
|
+
- **Role gating** decides *which* agent gets *which* stack skill. `skillNamesForRole(stack, role)` consults `roleProfile(role)`: a role's `allPrefixes` folders are linked in full (design/engineering/process best practice), while `stackPrefixes` folders are linked **only for the picks the stack actually selected** โ so a Vue project's Frontend gets `vue`, never `react` + `svelte`.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
// src/server/skills-library.ts โ skillNamesForRole
|
|
80
|
+
for (const [name, sk] of index) {
|
|
81
|
+
if (prof.allPrefixes.some((p) => sk.relPath.startsWith(p))) out.add(name);
|
|
82
|
+
else if (prof.stackPrefixes.some((p) => sk.relPath.startsWith(p)) && stackSet.has(name)) out.add(name);
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Tables
|
|
87
|
+
|
|
88
|
+
### Stack categories (`STACK_CATS`)
|
|
89
|
+
|
|
90
|
+
| Key | Label | Example options |
|
|
91
|
+
| --- | --- | --- |
|
|
92
|
+
| `language` | Language | TypeScript, Python, Go, Rust, Java, โฆ |
|
|
93
|
+
| `runtime` | Runtime | Node.js, Bun, Deno, Python 3, JVM, .NET |
|
|
94
|
+
| `frontend` | Frontend | React, Vue, Svelte, Angular, SolidJS, โฆ |
|
|
95
|
+
| `meta` | Meta-framework / SSG | Next.js, Nuxt, Remix, SvelteKit, Astro, โฆ |
|
|
96
|
+
| `backend` | Backend framework | NestJS, Express, Django, FastAPI, Rails, โฆ |
|
|
97
|
+
| `mobile` | Mobile | React Native, Flutter, Android, Ionic |
|
|
98
|
+
| `database` | Database | PostgreSQL, MySQL, SQLite, MongoDB, Redis |
|
|
99
|
+
| `orm` | ORM / Data layer | Prisma, Drizzle, TypeORM, SQLAlchemy, GORM |
|
|
100
|
+
| `styling` | Styling / UI | Tailwind CSS, CSS Modules, styled-components |
|
|
101
|
+
| `testing` | Testing | Jest, Vitest, Cypress, Playwright, Selenium |
|
|
102
|
+
| `aiml` | AI / ML | TensorFlow, PyTorch, scikit-learn, Pandas |
|
|
103
|
+
| `dataviz` | Data viz | D3, Chart.js, Grafana, Plotly |
|
|
104
|
+
| `container` | Container | Docker, Podman, containerd |
|
|
105
|
+
| `infra` | Infra / DevOps | Tailscale, Vercel, AWS, Kubernetes, Terraform |
|
|
106
|
+
| `baas` | Backend-as-a-service | Firebase, Appwrite, Amplify, Heroku, Supabase |
|
|
107
|
+
| `queue` | Queue / Cache | Redis, BullMQ, RabbitMQ, Kafka, Celery |
|
|
108
|
+
| `auth` | Auth | Auth.js, Clerk, Lucia, Keycloak, Auth0 |
|
|
109
|
+
|
|
110
|
+
> Each category also offers `"None"` (skip this category โ no skill). Not every option in the catalog has a `STACK_VALUE_TO_SKILL` entry; unmapped picks simply contribute no stack skill (but still appear in the stack line and docs).
|
|
111
|
+
|
|
112
|
+
### Role โ stack-folder gating (`role-skill-profile.ts`)
|
|
113
|
+
|
|
114
|
+
| Role match | `stackPrefixes` (gated by stack) | Pinned `core` (signature) |
|
|
115
|
+
| --- | --- | --- |
|
|
116
|
+
| CEO | *(none)* | app-planning, requirements-to-specs, specs-to-issues, architecture-before-code |
|
|
117
|
+
| Product Owner | *(none)* | product-discovery, requirements-to-specs, specs-to-issues, prioritization-moscow-rice |
|
|
118
|
+
| CTO | `stacks/` (all) | system-design-fundamentals, software-architecture-patterns, โฆ |
|
|
119
|
+
| Frontend | `stacks/frontend/` `stacks/styling/` `stacks/meta/` `stacks/mobile/` `stacks/testing/` | design-systems, ui-ux-principles, responsive-layout, โฆ |
|
|
120
|
+
| Backend | `stacks/backend/` `stacks/database/` `stacks/orm/` `stacks/queue/` `stacks/runtime/` `stacks/baas/` `stacks/auth/` | backend-fundamentals, api-design-rest-graphql, data-modeling, auth-and-authorization |
|
|
121
|
+
| Security | `stacks/auth/` | owasp-top-10, owasp-asvs, secrets-management, secure-auth-sessions |
|
|
122
|
+
| QA | `stacks/testing/` | testing-strategy-pyramid, tdd-and-coverage, unit-integration-e2e |
|
|
123
|
+
| DevOps | `stacks/infra/` `stacks/container/` `stacks/runtime/` | scalability-reliability, secrets-management |
|
|
124
|
+
| Docs | `stacks/` (all) | readme-generation |
|
|
125
|
+
| *(default)* | `stacks/` | *(none)* |
|
|
126
|
+
|
|
127
|
+
### `agent_skill` link columns
|
|
128
|
+
|
|
129
|
+
| Column | Meaning |
|
|
130
|
+
| --- | --- |
|
|
131
|
+
| `agentId`, `skillId` | composite primary key (the link) |
|
|
132
|
+
| `auto` | `true` = system-managed (stack/role auto-link, reconciled on boot & stack change); `false` = operator hand-toggled in the UI โ **reconcile never touches it** |
|
|
133
|
+
|
|
134
|
+
## Reconciliation ๐ฐ๏ธ
|
|
135
|
+
|
|
136
|
+
`reconcileStackRoleSkills(wsId)` (in `src/server/seed-library-skills.ts`) is the idempotent, LLM-free function that re-aligns every agent's auto-managed skills with the current stack + role. It runs:
|
|
137
|
+
|
|
138
|
+
- on **boot** (via `reconcileOnBoot` โ `seedLibrarySkillsForExistingWorkspaces`),
|
|
139
|
+
- during **onboarding** (after seeding the whole library), and
|
|
140
|
+
- on every **stack change** (`setWorkspaceStack`).
|
|
141
|
+
|
|
142
|
+
For each agent it computes `desired = skillNamesForRole(stack, role)`, then:
|
|
143
|
+
|
|
144
|
+
- **Prunes** any `auto` link to a *library* skill that falls outside the role's profile for the current stack (manual hand-toggles and the non-library procedural skills like `open-pr`/`run-suite` are left untouched).
|
|
145
|
+
- **Adds** the role's desired skills that aren't linked yet, inserting them with `auto: true` (`onConflictDoNothing`).
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
// src/server/seed-library-skills.ts โ reconcileStackRoleSkills (excerpt)
|
|
149
|
+
const desired = new Set(skillNamesForRole(stack, a.role).filter((n) => idByName.has(n)));
|
|
150
|
+
// prune AUTO links to LIBRARY skills outside this role's profile
|
|
151
|
+
if (l.auto && nm && libNames.has(nm) && !desired.has(nm)) { /* delete */ }
|
|
152
|
+
// add the role's skills not yet linked
|
|
153
|
+
if (sid && !present.has(sid)) { /* insert auto:true */ }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The whole native library (180+ skills) is **seeded** into every workspace so it shows in `/skills`, but only the stack+role subset is **auto-linked** to each agent. The rest stay available for the operator to enable by hand.
|
|
157
|
+
|
|
158
|
+
```mermaid
|
|
159
|
+
sequenceDiagram
|
|
160
|
+
participant OP as Operator
|
|
161
|
+
participant ACT as setWorkspaceStack
|
|
162
|
+
participant SEED as seedLibrarySkills
|
|
163
|
+
participant REC as reconcileStackRoleSkills
|
|
164
|
+
participant RAG as indexRag
|
|
165
|
+
OP->>ACT: save new stack
|
|
166
|
+
ACT->>ACT: diff vs current (changed?)
|
|
167
|
+
alt changed
|
|
168
|
+
ACT->>SEED: seed newly-relevant stack skills
|
|
169
|
+
ACT->>REC: re-link + prune auto skills per agent
|
|
170
|
+
ACT->>ACT: rerenderMissionDocs + logDecision
|
|
171
|
+
ACT->>RAG: indexRag (re-embed)
|
|
172
|
+
end
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Step-by-step
|
|
176
|
+
|
|
177
|
+
### Set or change a stack
|
|
178
|
+
|
|
179
|
+
1. Go to **Config โ Project Stacks** (the `StackEditor`, `src/components/modules/stack-editor.tsx`).
|
|
180
|
+
2. Pick one option per category. Incoherent picks are disabled with a reason (e.g. choosing a Python backend under a JS language shows *"Requires a Python language"*); a redundancy note may appear (e.g. *"Django already ships its own ORM"*).
|
|
181
|
+
3. Click **Save stack & reload skills** โ calls `setWorkspaceStack(sel)`.
|
|
182
|
+
4. On a real change the server seeds new stack skills, runs `reconcileStackRoleSkills`, re-renders the stack-bearing docs, logs a decision, and re-indexes RAG.
|
|
183
|
+
5. The UI confirms: *"Saved โ agents re-linked to the new stack."*
|
|
184
|
+
|
|
185
|
+
### Inferred stack on import
|
|
186
|
+
|
|
187
|
+
When onboarding **imports** an existing repo, local dir or visual mock, the first plan analyses the project file-by-file (`src/server/analyze.ts`) and writes a "Tech stack & dependencies" section into `specs/SUPER-SPEC.md`. For a pure visual mock, the analyzer is instructed to **infer** the intended tech stack from the markup/styles/scripts and state it explicitly so the plan adopts it.
|
|
188
|
+
|
|
189
|
+
## Examples
|
|
190
|
+
|
|
191
|
+
A Next.js + Postgres + Drizzle + Tailwind + Playwright TypeScript app:
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"language": "TypeScript",
|
|
196
|
+
"runtime": "Node.js",
|
|
197
|
+
"frontend": "React",
|
|
198
|
+
"meta": "Next.js",
|
|
199
|
+
"database": "PostgreSQL",
|
|
200
|
+
"orm": "Drizzle",
|
|
201
|
+
"styling": "Tailwind CSS",
|
|
202
|
+
"testing": "Playwright",
|
|
203
|
+
"container": "Docker",
|
|
204
|
+
"auth": "Auth.js"
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Resolved skill ids (`STACK_VALUE_TO_SKILL`): `typescript, node, react, nextjs, postgresql, drizzle, tailwind, playwright, docker, authjs` โ plus the ~23 universals. The **Frontend** agent auto-links `react`, `nextjs`, `tailwind`, `playwright` + all of `design/`; the **Backend** agent auto-links `postgresql`, `drizzle`, `node`, `authjs`; the **CyberSec** agent auto-links `authjs` + all of `engineering/security/`.
|
|
209
|
+
|
|
210
|
+
`stackDocHosts(stack)` would then expand the research allowlist with the `official_sources` hosts of those skills (e.g. `nextjs.org`, `tailwindcss.com`, `orm.drizzle.team`), on top of `BASE_DOC_HOSTS`.
|
|
211
|
+
|
|
212
|
+
## Possible states
|
|
213
|
+
|
|
214
|
+
| State | What it means |
|
|
215
|
+
| --- | --- |
|
|
216
|
+
| `stack = {}` | Empty (default). Only universal skills link; research allowlist is the base set only. |
|
|
217
|
+
| Category = `"None"` | That category contributes no skill and no docs host. |
|
|
218
|
+
| Mapped + on disk | Skill id resolves and the `SKILL.md` exists โ seeded + role-gated. |
|
|
219
|
+
| Mapped but no `SKILL.md` | Filtered out by `index.has(n)` โ silent no-op. |
|
|
220
|
+
| Unmapped catalog option | No stack skill, but still shown in the prompt's stack line + docs. |
|
|
221
|
+
| Incompatible pick | `incompat()` returns a reason โ the option card is disabled in the editor. |
|
|
222
|
+
|
|
223
|
+
## Related integrations
|
|
224
|
+
|
|
225
|
+
- **[Skills](./SKILLS.md)** โ the native library, seeding, the `auto` link, provisional skills, toggles.
|
|
226
|
+
- **[Agents](./AGENTS.md)** โ the 10-role roster whose roles drive `roleProfile`.
|
|
227
|
+
- **[KB & RAG](./KB_RAG.md)** ยท **[Memory RAG](./MEMORY_RAG.md)** โ the memory nebula that re-indexes on stack change.
|
|
228
|
+
- **[AI Architecture](./AI_ARCHITECTURE.md)** โ how the context-manager ranks stack skills into the prompt.
|
|
229
|
+
- **[Onboarding](./ONBOARDING.md)** โ where the stack is first chosen or inferred.
|
|
230
|
+
- **[Plugins](./PLUGINS.md)** ยท **[Models](./MODELS.md)** โ adjacent capability surfaces.
|
|
231
|
+
|
|
232
|
+
## Security ๐ณ๏ธ
|
|
233
|
+
|
|
234
|
+
- The stack is **operator-controlled data**, never agent-writable: it lives in the DB and is only edited via the `setWorkspaceStack` server action (behind `requireWorkspace`).
|
|
235
|
+
- `stackDocHosts` widens the research allowlist *only* to hosts declared in trusted `official_sources` frontmatter โ agents cannot fetch arbitrary URLs through `researchDocs` (`hostAllowed` gate, `src/server/research.ts`).
|
|
236
|
+
- Reconciliation never deletes operator hand-toggles (`auto: false`) or the procedural (non-library) skills โ a stack change cannot silently strip a capability you turned on by hand.
|
|
237
|
+
|
|
238
|
+
## Troubleshooting
|
|
239
|
+
|
|
240
|
+
| Symptom | Likely cause | Fix |
|
|
241
|
+
| --- | --- | --- |
|
|
242
|
+
| An agent ignores the chosen framework | Stack skill not linked / not on disk | Confirm the `STACK_VALUE_TO_SKILL` id has a `SKILL.md`; re-save the stack to re-run reconcile. |
|
|
243
|
+
| Wrong framework's skill keeps appearing | Stale auto link, or it's a hand-toggle | Re-save the stack (prunes stale autos); if hand-toggled (`auto:false`), toggle it off in `/skills`. |
|
|
244
|
+
| Research blocked on a docs host | Host not in `BASE_DOC_HOSTS` nor any skill's `official_sources` | Add the host to the relevant `SKILL.md` `official_sources`. |
|
|
245
|
+
| Editor disables an option | `incompat()` family mismatch | Align the language/runtime/backend/orm picks (see `stack-compat.ts`). |
|
|
246
|
+
| Skills didn't change after save | Stack value identical (no diff) | `setWorkspaceStack` only reconciles on a real change; pick a different value. |
|
|
247
|
+
|
|
248
|
+
## Related links
|
|
249
|
+
|
|
250
|
+
- [Skills](./SKILLS.md)
|
|
251
|
+
- [Agents](./AGENTS.md)
|
|
252
|
+
- [AI Architecture](./AI_ARCHITECTURE.md)
|
|
253
|
+
- [KB & RAG](./KB_RAG.md)
|
|
254
|
+
- [Memory RAG](./MEMORY_RAG.md)
|
|
255
|
+
- [Onboarding](./ONBOARDING.md)
|
|
256
|
+
- [Configuration](./CONFIGURATION.md)
|
|
257
|
+
- [Models](./MODELS.md)
|
|
258
|
+
- [Plugins](./PLUGINS.md)
|