agentsclimarketplace

Stack baseline

Skill avelikiy/great_cto/skills/stack-baseline

Don't buy software. Get the work done. GreatCTO ships AI autopilots that run a whole business function — medical coding, legal docs, procurement, accounting, IT, tax — from intake to outcome. A qualified human signs only the judgment calls. Live connectors, built-in compliance.

Install
npx -y skills add avelikiy/great_cto --skill stack-baseline

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

The pinned default technology stack for SMB Product-Builder products. One source of truth so the architect, app-scaffolder, auth-engineer, and senior-dev never re-decide the stack per build — they build ON it. Covers framework, ORM/DB, auth, UI, payments/email/SMS, files, jobs, testing, hosting, and observability, with the chosen default + the one sanctioned alternative for each. Applied whenever a new product is scaffolded or a stack choice would otherwise be improvised. Re-deciding the stack every build is the biggest silent time sink; this kills it.

SKILL.md

4.2 KB, as published. Nobody here has run it

Stack baseline — decide once, build on it

Every SMB product builds on the SAME proven stack unless there's a concrete reason not to. Re-deciding framework/ORM/auth/host per build wastes the first hour of every project and fragments the codebase across products. This is the default; deviate only with a written reason in ARCH.

The pinned stack

LayerDefaultSanctioned alternativeNotes
FrameworkNext.js (App Router, TS)RemixServer actions + RSC; one repo front+back
UITailwind + shadcn/uimatches the site; design-advisor tokens map to it
Charts (dashboard/analytics)ECharts (shipped)Rechartspolished specs generated at build time via Flint → compiled to native ECharts; Flint is dev-only, never a runtime dep. Contract: references/dashboard-viz.md
DBPostgresthe only DB; integer cents, tz-aware timestamps
ORM / migrationsDrizzlePrismatyped schema + SQL migrations; migration-ready-schema applies
AuthAuth.js (NextAuth v5)Clerk (fast path, per-MAU cost)owned by auth-engineer; session + RBAC + multi-tenant
PaymentsStripe (+ Connect)owned by subscription-billing-engineer / integrations-engineer
EmailResendPostmarktransactional; SPF/DKIM/DMARC via lifecycle-messaging
SMSTwilio (Messaging Service)Telnyx10DLC; consent via lifecycle-messaging
File storageCloudflare R2 / S3private buckets, presigned URLs
Background jobsInngesta Postgres-backed queuereminders, syncs, dunning
TestingVitest (unit) + Playwright (e2e)senior-dev unit; e2e-test-engineer browser
HostingVercelCloudflare Pages/WorkersNext.js-native; preview per PR
DB hostNeon (serverless PG)Supabasebranchable; env-wired by infra-provisioner
ObservabilitySentryerrors + traces on the deployed product
Analyticsprivacy-light (Plausible)no heavy 3rd-party trackers

Rules

  1. One framework, one DB, one ORM, one auth lib across all products. Consistency > per-product optimization.
  2. Pin it in .great_cto/PROJECT.md at scaffold time (stack: line) so every later agent reads it instead of guessing — and an existing PROJECT.md's stack always wins.
  3. Money in integer cents; timestamps tz-aware; IDs are stable (compose with migration-ready-schema).
  4. Auth, payments, email/SMS, jobs are owned by their specialist (auth-engineer, billing/integrations, lifecycle-messaging) — this skill only names the default library; the specialist owns the contract.
  5. Deviation needs a written reason in ARCH's Components section (e.g. "Clerk over Auth.js because the customer needs SSO/SCIM on day one").

Output

When applied, write the stack into ARCH's Components section and PROJECT.md:

## Stack (baseline)
framework: Next.js (App Router, TS) · UI: Tailwind + shadcn
db: Postgres (Neon) · orm: Drizzle · auth: Auth.js (→ auth-engineer)
payments: Stripe · email: Resend · sms: Twilio · files: R2 · jobs: Inngest
test: Vitest + Playwright · host: Vercel · obs: Sentry
deviations: <none | reason>

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.