本文へ移動
cccskills
無料GitHub で公開

a3-architecture

Complete architecture reference for the A3 insurance platform — file locations, data flow, conventions, microservice map, and fullstack patterns

インストール方法を見る

含まれるファイル(1)

  • SKILL.md10.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

A3 Platform Architecture Reference

Overview

A3 is a full-featured SaaS platform for insurance agent management built by Trusted American Insurance Agency. It provides CRM, enrollment management, commission tracking, compliance tools, and agent support.

Tech Stack

LayerTechnology
FrontendEmber.js 6.9 (Octane) with TypeScript, Glimmer GTS components
BuildVite + Embroider
StylingTailwind CSS 4 + Bootstrap 5
StateWarpDrive (next-gen Ember Data)
DatabaseCloud Firestore (NoSQL)
Realtime DBFirebase Realtime Database (status tracking)
File StorageGoogle Cloud Storage
AuthFirebase Authentication + ember-simple-auth
BackendGoogle Cloud Functions (Node.js 22, TypeScript)
SearchAlgolia
PaymentsStripe
EmailMailgun
DocumentsPandaDoc
CRM SyncHubSpot, Salesforce
Error TrackingSentry
Customer SupportIntercom
State MachinesXState 5
ChartsHighcharts 12
MapsGoogle Maps
DeploymentNetlify (frontend), GCP (backend)
IaCTerraform

Directory Structure

A3/
├── app/                          # Ember.js frontend application
│   ├── abilities/     (101)      # ember-can permission definitions
│   ├── adapters/      (11)       # Data source adapters
│   ├── builders/      (2)        # API call builders
│   ├── components/    (436)      # Glimmer GTS components
│   ├── config/        (5)        # App configuration
│   ├── controllers/   (varies)   # Controllers (only for query params)
│   ├── handlers/      (2)        # Request handlers
│   ├── helpers/       (2)        # Template helpers
│   ├── models/        (136)      # Ember Data models
│   ├── modifiers/     (1)        # DOM modifiers
│   ├── routes/        (333)      # Route definitions
│   ├── serializers/   (16)       # Data serializers
│   ├── services/      (12)       # Application services
│   ├── session-stores/(1)        # Auth session storage
│   ├── styles/        (1)        # Tailwind CSS entry point
│   ├── templates/     (158)      # GTS route templates
│   ├── transforms/    (5)        # Attribute transforms
│   └── utils/         (19)       # Utility functions
├── functions/                    # Google Cloud Functions backend
│   ├── src/
│   │   ├── auth/                 # Auth triggers
│   │   ├── database/             # Realtime DB triggers
│   │   ├── firestore/            # Firestore document triggers
│   │   ├── https/                # HTTPS endpoints
│   │   ├── pubsub/               # Pub/Sub triggers
│   │   ├── storage/              # Cloud Storage triggers
│   │   ├── models/               # TypeScript interfaces
│   │   ├── types/                # Type definitions
│   │   └── utils/                # Shared utilities
│   └── lib/                      # Compiled output
├── tests/                        # Test suites (807 files)
│   ├── acceptance/               # User flow tests
│   ├── integration/              # Component tests
│   └── unit/                     # Logic tests
├── translations/                 # i18n files
├── types/                        # Global TypeScript types
├── algolia/                      # Algolia search config
├── terraform/                    # Infrastructure as Code
├── emulator-data/                # Firebase emulator snapshots
├── config/                       # Ember.js config
├── docs/                         # Documentation
└── public/                       # Static assets

Data Flow Architecture

Read Flow (Frontend → Firestore)

User visits route
  → Route.model() calls store.query() or store.findRecord()
    → WarpDrive Store dispatches to adapter
      → CloudFirestoreAdapter reads from Firestore
        → CloudFirestoreSerializer normalizes response
          → Store caches record
            → GTS template renders via @model
              → Glimmer component displays data

Write Flow (Frontend → Firestore → Triggers)

User submits form
  → Component @action or ember-concurrency task
    → model.save() via WarpDrive Store
      → CloudFirestoreAdapter writes to Firestore
        → Firestore document created/updated
          → Cloud Function trigger fires
            → Side effects: email, Algolia sync, audit trail, webhooks
              → Real-time listener updates frontend Store
                → Component re-renders with updated data

Third-Party Integration Flow

Frontend component → REST adapter (adapter/firebase.ts)
  → Cloud Function HTTPS endpoint
    → Third-party API (Stripe, Mailgun, PandaDoc, etc.)
      → Response → Firestore document update
        → Real-time listener → Frontend update

Domain Model Map

Core Entities

  • Agency — Insurance agency (primary organizational unit)
  • User — Platform user (agent, admin, super admin)
  • Client — Contact/person being insured
  • Carrier — Insurance carrier company

Business Entities

  • Enrollment — Insurance enrollment record
  • Contract — Agent-carrier contract
  • Group — Group insurance plan
  • Quote — Insurance quote
  • Membership — Client membership

Financial

  • Statement — Commission statement
  • Transaction — Financial transaction

Communication

  • Activity — Audit trail / activity log
  • Message — Internal messaging
  • Ticket — Support ticket
  • Inquiry — Lead inquiry

Associations

  • Affiliation — Agent-agency relationship
  • License — Agent license record
  • Event — Calendar/marketing event

Attachment Patterns

Most entities have associated:

  • *-file — File attachments (stored in Cloud Storage)
  • *-note — Text notes
  • activity — Audit trail entries

Route Map

Public Routes

RoutePurpose
/loginUser authentication
/registerNew user registration
/resetPassword reset
/onboardingPost-registration setup
/client/:idPublic client profile
/client-form/:idPublic client form
/order/:idOrder page
/sessionSession management

Authenticated Routes (/a3/...)

RoutePurpose
/a3Dashboard
/a3/clientsClient (contact) management
/a3/enrollmentsEnrollment management
/a3/groupsGroup management
/a3/agenciesAgency management
/a3/carriersCarrier information
/a3/contractingContract management
/a3/statementsCommission statements
/a3/settingsUser settings
/a3/toolsQuote tools
/a3/calendarCalendar
/a3/leadsLead management
/a3/notificationsNotifications
/a3/searchGlobal search
/a3/supportSupport tickets
/a3/resourcesResources
/a3/knowledge-hubKnowledge base
/a3/marketing-eventsMarketing events
/a3/readiness-reportReadiness report
/a3/servicesServices (websites)

Admin Routes (/admin/...)

RoutePurpose
/admin/accountingFinancial management
/admin/agenciesAgency administration
/admin/carriersCarrier management
/admin/clientsClient administration
/admin/contractingContract admin
/admin/enrollmentsEnrollment admin
/admin/enrollment-issuesIssue tracking
/admin/eventsEvent management
/admin/groupsGroup admin
/admin/inquiriesLead/inquiry management
/admin/marketingMarketing tools
/admin/messagesMessaging
/admin/notificationsNotification management
/admin/productsProduct management
/admin/reportingReports
/admin/searchAdmin search
/admin/settingsSystem settings
/admin/ticketsSupport ticket admin
/admin/usersUser management

Service Map

ServiceFilePurpose
storeapp/services/store.tsWarpDrive data store with custom aggregation methods
sessionapp/services/session.tsFirebase Auth + MFA + ember-simple-auth
current-userapp/services/current-user.tsLoaded user data and permissions
searchapp/services/search.tsAlgolia search integration
pdfapp/services/pdf.tsPDF generation/manipulation
csvapp/services/csv.tsCSV export
xlsxapp/services/xlsx.tsExcel export
analyticsapp/services/analytics.tsEvent tracking
tourapp/services/tour.tsShepherd.js onboarding tour
recent-recordsapp/services/recent-records.tsRecently viewed record tracking

Key Configuration Files

FilePurpose
app/config/environment.jsFirebase config, API endpoints, feature flags
firebase.jsonFirebase project config, emulator settings
firestore.rulesFirestore security rules (~101KB)
firestore.indexes.jsonComposite indexes (~235KB)
storage.rulesCloud Storage security rules
database.rules.jsonRealtime Database rules
ember-cli-build.jsBuild config (Embroider, split routes)
vite.config.mjsVite build config (Tailwind, PWA)
app/router.tsRoute definitions
tsconfig.jsonTypeScript configuration
netlify.tomlNetlify deployment config

Development Environment

  • Frontend dev: ember serve or vite dev
  • Backend dev: Firebase Emulator Suite (auth, firestore, functions, storage, pubsub)
  • Emulator data: emulator-data/ contains snapshots for seeding
  • Tests: ember test (runs in browser via testem)
  • Linting: ESLint, Prettier, Stylelint, ember-template-lint

Further Investigation Links

When you need deeper knowledge about specific areas:

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Drafts U.S. commercial real estate access and indemnity (right-of-entry) agreements for pre-closing due diligence. Covers license grants, non-invasive vs invasive testing gates, insurance/endorsement requirements, indemnity with discovery carve-outs, restoration and lien remedies, confidentiality, and anti-indemnity guardrails. Trigger: access agreement, right of entry, due diligence access, Phase I/II, invasive testing, pre-PSA site inspection.

日本語の概要は準備中です。原文の説明を表示しています。

FDU-INS/Insurance-Skills762026年7月12日 更新

当用户需要对意外险投保问卷进行专业、结构化的核保审查,提取职业类别、工作环境、作业内容、危险活动参与情况、交通出行习惯、特殊工作暴露及其他可能影响意外险承保判断的高风险信息,并生成适合意外险核保、补问流转和风险分层处理的结构化分析结果时使用本 skill。

日本語の概要は準備中です。原文の説明を表示しています。

FDU-INS/Insurance-Skills762026年7月12日 更新

Inspect, schema, and fill true AcroForm PDFs using sciClaw's pdf_form_inspect, pdf_form_schema, and pdf_form_fill tools. Use when: (1) checking whether a PDF is a real fillable AcroForm, (2) listing form field names, types, and choices, (3) filling a supported form from structured values, (4) preparing reviewable insurance, legal, administrative, or clinical form drafts, (5) reporting skipped fields or unused input keys after a fill. Do not use for scanned PDFs, OCR tasks, or XFA-only forms.

日本語の概要は準備中です。原文の説明を表示しています。

FDU-INS/Insurance-Skills762026年7月12日 更新

Guide actuarial analysis for insurance pricing. TRIGGERS - Use when user needs help with actuarial-analysis related tasks.

日本語の概要は準備中です。原文の説明を表示しています。

FDU-INS/Insurance-Skills762026年7月12日 更新

Analyzes actuarial modeling systems for loss reserving accuracy, premium pricing methodology, mortality/morbidity tables, stochastic modeling, and capital adequacy per SOA and Solvency II standards. USE THIS SKILL WHEN: - You need to review or audit actuarial models (reserving, pricing, capital) - Someone asks about loss triangle analysis or reserve adequacy - You are evaluating IBNR calculations, chain ladder methods, or Bornhuetter-Ferguson - A project involves insurance pricing, GLM rating models, or ratemaking - You need to assess Solvency II SCR calculations or RBC compliance - Someone mentions actuarial opinions, ASOP compliance, or SOA standards - You are reviewing stochastic models, ESG configurations, or DFA frameworks - A codebase uses actuarial libraries (chainladder, lifetables, ChainLadder R package) TRIGGER PHRASES: "actuarial", "loss reserving", "IBNR", "chain ladder", "premium pricing", "mortality table", "Solvency II", "capital adequacy", "ratemaking", "GLM pricing", "risk-based capital", "reserve analysis", "actuarial opinion"

日本語の概要は準備中です。原文の説明を表示しています。

FDU-INS/Insurance-Skills762026年7月12日 更新

actuary

無料

A credentialed actuary (FSA/ASA) with 15+ years in life insurance, P&C, and pension consulting. Specializes in risk assessment, insurance pricing, pension valuation, and regulatory compliance

日本語の概要は準備中です。原文の説明を表示しています。

FDU-INS/Insurance-Skills762026年7月12日 更新

FDU-INS のスキルをすべて見る

このスキルの問題を報告する