Clari reference architecture
π§ The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill clari-reference-architectureAssembled 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
Reference architecture for Clari revenue intelligence integrations. Use when designing a forecast data platform, planning Clari integration architecture, or establishing team patterns for revenue analytics. Trigger with phrases like "clari architecture", "clari data platform", "clari integration design", "clari best practices".
The file declares its own license as MIT. That is the authorβs claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.1 KB, 997 tokens by cl100k_base, as published. Nobody here has run it
Clari Reference Architecture
Overview
Production architecture for Clari revenue intelligence integrations: export pipeline design, data warehouse schema, analytics layer, and alerting.
Architecture Diagram
ββββββββββββββββ βββββββββββββββββββ ββββββββββββββββββββ
β Clari App β β Clari Export β β Data Warehouse β
β (SaaS) ββββββΆβ API (v4) ββββββΆβ (Snowflake/BQ) β
ββββββββββββββββ βββββββββββββββββββ ββββββββββ¬ββββββββββ
β
βββββββββββββββββββ ββββββββββΌββββββββββ
β Change β β Analytics / β
β Detection ββββββΆβ Dashboard β
βββββββββββββββββββ β (Looker/Metabase)β
β ββββββββββββββββββββ
ββββββββΌβββββββββββ
β Alerts β
β (Slack/Email) β
βββββββββββββββββββ
Project Structure
clari-data-platform/
βββ src/
β βββ clari_client.py # API client wrapper
β βββ export_pipeline.py # ETL pipeline
β βββ change_detector.py # Forecast change tracking
β βββ models.py # Data models
β βββ config.py # Environment config
βββ dags/
β βββ clari_export_dag.py # Airflow DAG
βββ sql/
β βββ schema.sql # Warehouse table definitions
β βββ merge.sql # Upsert logic
β βββ analytics/
β βββ forecast_accuracy.sql
β βββ pipeline_coverage.sql
β βββ rep_performance.sql
βββ tests/
β βββ fixtures/ # Sample API responses
β βββ test_pipeline.py
β βββ test_change_detector.py
βββ scripts/
β βββ run_export.sh
β βββ validate_schema.py
βββ monitoring/
βββ alerts.yaml # Alert rules
βββ dashboard.json # Grafana/Looker config
Data Warehouse Schema
-- Core tables
CREATE TABLE clari_forecasts (
id BIGINT GENERATED ALWAYS AS IDENTITY,
owner_name VARCHAR NOT NULL,
owner_email VARCHAR NOT NULL,
forecast_amount DECIMAL(15,2),
quota_amount DECIMAL(15,2),
crm_total DECIMAL(15,2),
crm_closed DECIMAL(15,2),
adjustment_amount DECIMAL(15,2),
time_period VARCHAR NOT NULL,
forecast_name VARCHAR NOT NULL,
exported_at TIMESTAMP NOT NULL,
PRIMARY KEY (owner_email, time_period, forecast_name, exported_at)
);
-- Change tracking
CREATE TABLE clari_forecast_changes (
id BIGINT GENERATED ALWAYS AS IDENTITY,
owner_email VARCHAR NOT NULL,
time_period VARCHAR NOT NULL,
previous_amount DECIMAL(15,2),
current_amount DECIMAL(15,2),
change_pct DECIMAL(5,2),
detected_at TIMESTAMP NOT NULL
);
-- Analytics views
CREATE VIEW v_forecast_accuracy AS
SELECT
time_period,
owner_name,
forecast_amount,
crm_closed AS actual_closed,
ROUND((1 - ABS(forecast_amount - crm_closed) / NULLIF(forecast_amount, 0)) * 100, 1) AS accuracy_pct
FROM clari_forecasts
WHERE exported_at = (SELECT MAX(exported_at) FROM clari_forecasts f2 WHERE f2.time_period = clari_forecasts.time_period);
Key Design Decisions
| Decision | Choice | Rationale |
|---|---|---|
| Export frequency | Daily | Balances freshness vs API load |
| Data format | JSON export | Structured, easy to parse |
| Pipeline orchestration | Airflow | Retry, monitoring, DAG visualization |
| Change detection | Snapshot comparison | Clari has no real-time webhooks |
| Warehouse | Snowflake | SQL analytics, dbt compatibility |
Resources
Next Steps
This completes the Clari skill pack. Start with clari-install-auth for new integrations.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.