본문으로 건너뛰기
cccskills
무료GitHub에 공개

migration-ready-schema

Data-model rules that make a schema importable from day one, so the migration-import-engineer is never blocked on missing columns. Every SMB Product-Builder product must let a customer bring their data from an incumbent (ServiceTitan/Toast/Mindbody/Shopify) — that requires provenance (source_ref) and rollback (import_batch_id) on importable entities, and modelling real-world actors as entities rather than inline fields. Applied by architect when writing the data model in ARCH-{slug}.md, and checked by migration-import-engineer. One cheap rule set prevents the migration↔architecture seam gap from recurring across all 40 products.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Shopify
설치 방법 보기

포함된 파일(1)

  • SKILL.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Migration-ready schema — importable from day one

Every SMB product's wedge is low switching cost — the customer brings their data from the incumbent. If the schema can't receive that data idempotently and reversibly, the migration-import-engineer blocks and the wedge is a slogan. These rules are cheap at design time and impossible to retrofit cleanly. Apply them to the data model in ARCH, before any import is designed.

The three rules (the ones that actually block imports)

1. Importable entities carry source_ref (provenance)

Any entity that can be populated from an incumbent export or a third-party sync gets a nullable, unique source_ref column:

source_ref  text  UNIQUE NULL   -- e.g. "servicetitan:pricebook:8842"
  • It is the dedup key for idempotent re-import (re-running an export never duplicates).
  • Namespaced {source}:{type}:{id} so two incumbents can't collide.
  • Nullable because natively-created rows have no source.

2. Importable entities carry import_batch_id (rollback)

import_batch_id  uuid  NULL  -- tags every row written by one import run

Rollback = delete where import_batch_id = ?. Without it there is no undo, and an import with no undo is one a user will never trust enough to run.

3. Model real-world actors as entities, not inline fields

A customer, contact, vendor, member, or tenant is an entity with its own table, even if v1 only stores a name + phone. Reason: imports populate these before the dependent records (quotes, orders, bookings) exist — an inline customer_name field on Quote has nowhere to land an imported customer. Inline-actor is the single most common migration blocker.

-- WRONG (blocks import):  Quote(... customer_contact text)
-- RIGHT:                   CustomerContact(id, ..., source_ref, import_batch_id)
                            Quote(... customer_contact_id → CustomerContact.id)

Supporting rules (cheap, prevent silent data loss)

  • Money in integer minor units (*_cents), never float — incumbent exports carry exact amounts; floats corrupt them.
  • Timestamps carry the source timezone (store UTC + offset, or tz-aware) — exports use local times; ambiguous MM/DD and naive datetimes lose data.
  • Infra tables for integration bookkeeping exist in the model: outbound_message (idempotent send guard), processed_webhook_events (event dedup). The integrations-engineer relies on them; enumerate them so they aren't a surprise.

Checklist (architect runs this before finalizing the data model)

For each entity in the data model:
- [ ] Can it be imported from an incumbent or third-party? If yes → has source_ref + import_batch_id
- [ ] Is it a real-world actor (customer/contact/vendor/member)? If yes → it is its own entity, not an inline field
- [ ] Money fields integer minor units? Timestamps tz-aware?
- [ ] Listed the infra tables (outbound_message, processed_webhook_events) the integrations layer needs?

A data model that passes this checklist hands migration-import-engineer a destination it can import into idempotently and reversibly — no blocked seam.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

great_cto's own committed aesthetic — the instrument panel. Dark five-step surface ladder, exactly one accent, two faces divided by MEANING (Geist speaks, Geist Mono is machine-truth), tabular numerals, and a dash that is not a nought. Twelve checkable rules measured from packages/board and greatcto.systems, not designed for this file. Use when building or extending any great_cto surface — the board, the site, a report, a share page.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

avelikiy/great_cto1032026년 10월 21일 업데이트

Catalogue of known SDLC anti-patterns that great_cto agents must actively reject when reviewing architecture, plans, code, or post-mortems. Used by architect (pre-impl), pm (planning), senior-dev (impl), l3-support (post-incident).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

avelikiy/great_cto1032026년 10월 21일 업데이트

anydesign

무료

Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes. Use this skill whenever the user wants to understand, document, replicate, or audit the design of something visual: a screenshot, a URL, a Figma link, a Pinterest reference, a mockup, a competitor's site, a component, a dashboard, a landing page. Also when they ask 'extract the design system from X', 'document the style of Y', 'analyze this visually', 'convert this image into tokens', 'help me replicate this design', 'what palette does this site use', 'how is this built'. Also for single elements: 'copy this navbar', 'recreate this illustration', 'give me a prompt to regenerate this graphic' — element mode outputs a focused element.md, with token-grounded image-model prompts when the element is visual art. If the user brings any visual source and wants to understand it at a design level — this skill should activate.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

avelikiy/great_cto1032026년 10월 21일 업데이트

Shared review framework that every domain reviewer (pci, oracle, gov, edtech, healthcare, mlops, etc.) MUST follow. Defines the output artifact (TM-{slug}.md), mandatory sections, severity scale, verdict format, the workflow scaffold (when-invoked, Step-0 read-inputs, HANDOFF), and the "domain heuristic vs generic check" boundary. Eliminates duplication across the ~30 reviewer prompts.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

avelikiy/great_cto1032026년 10월 21일 업데이트

Structured idea generation + multi-LLM debate for the product-owner stage. Diverge (generate genuinely different bets), debate (a 4-persona panel on 4 models argues over 2 rounds), converge (synthesize a recommendation). Used by product-owner before architect; available to architect for design-space exploration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

avelikiy/great_cto1032026년 10월 21일 업데이트

Run the great_cto controlled Codex lifecycle with controller-owned writes, verifier evidence, human gates and optional artifact release.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

avelikiy/great_cto1032026년 10월 21일 업데이트

avelikiy의 스킬 모두 보기

이 스킬의 문제 신고