Claude-skill-registry crm-rmx-sync-integration
Create or update CRM to RMX syncing integrations. Use when adding a new synced entity, mapping, EF Core model/migration, or CrmSyncingInboxService logic for CRM to RMX (and optional RMX to CRM live sync/outbox). Produces a repeatable step-by-step plan and implements the integration.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/crm-rmx-sync-integration" ~/.claude/skills/majiayu000-claude-skill-registry-crm-rmx-sync-integration && rm -rf "$T"
manifest:
skills/data/crm-rmx-sync-integration/SKILL.mdsource content
CRM RMX Sync Integration
Overview
Create a repeatable plan and implement new CRM <-> RMX sync integrations (inbox, optional outbox/live sync). Ask for missing decisions, inspect schemas via crm_dbhub and dbhub, then update CRM PHP sync pipeline and RMX .NET/EF Core models, mappers, and CrmSyncingInboxService.
Workflow (Plan + Implement)
1) Intake questions (ask only if not already answered)
- Which CRM table is the source? Provide schema and table name.
- Which CRM fields must be synced (and any transforms/defaults)?
- Does RMX need a new table/model (EF Core) or map into an existing RMX entity?
- Is there RMX -> CRM live syncing or outbox syncing for this entity? If yes, what events/fields?
- Any dependencies (parent entities that must exist first)?
- Desired ID strategy (CRM id, external id, GUID mapping)?
2) Gather context and schema
- Read
.references/rmx-syncing-guide.md - Open the initial CRM doc at
./mnt/wsl/yourcrm/public/includes/logical/rmx-sync/UptimeRMX-CRM-Integration-Instructions.md - Use
to inspect CRM table columns and sample data shape.crm_dbhub - Use
to check RMX DBdbhub
schema for existing tables/fields.UptimeRmxBackend - Locate the closest existing mapper/entity pair for pattern matching.
3) Produce the step-by-step plan
Include explicit file paths and ordered steps for:
- CRM changes (triggers, DTO, payload, RmxSynchronizer)
- RMX changes (JsonModels, InboxMappers, EF Core model/migration, CrmSyncingInboxService)
- Optional live sync/outbox work
- Testing, verification, and rollback notes
4) Implement CRM (inbox / CRM -> RMX)
- Add triggers/migrations for
if the table is new to syncing.sync_outbox - Add SyncTables enum constant.
- Create or extend CRM DTO model in
./mnt/wsl/yourcrm/public/includes/logical/rmx-sync/Models - Update
to collect entity data, map to payload field, and include deletions if needed.RmxSynchronizer.php - Update payload model/serializer if required.
5) Implement RMX (inbox / CRM -> RMX)
- Add JSON model in
.UptimeRMX.Service/CrmSyncing/JsonModels - Add mapper in
.UptimeRMX.Service/CrmSyncing/InboxMappers - Update
to include the new collection.UptimeRMX.Service/CrmSyncing/SyncingInboxPayload.cs - If a new table is needed: add EF Core model in
, add DbSet inUptimeRMX/Models/DefaultContextModels/...
, and create a migration inUptimeRMX/Models/Context/DefaultContext.cs
.UptimeRMX.Migrations - Update
to upsert into RMX DB using existingUptimeRMX.Service/CrmSyncing/CrmSyncingInboxService.cs
and dictionary helpers (add toSyncChunks
if needed).CrmSyncDatabaseDictionaryHelper - Preserve dependency ordering (parents before children).
6) Optional RMX -> CRM live sync / outbox
- Add models and payload types used by live sync/outbox flows.
- Update RMX outbox service to publish, update CRM API handlers to apply changes.
- Document any new endpoints and required auth keys.
7) Validate
- Ensure payload serialization matches expected JSON casing.
- Run migrations (if any).
- Test with a sample payload or
.SyncCrmFromFiles - Verify
status and RMX logs.sync_outbox
Output expectations
- Provide a concrete plan with numbered steps.
- Call out files to edit and why.
- Ask clarifying questions inline if info is missing.