[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F8A89TEAM67DMEDQFTCJ6C":3,"skill-same:01M6F8A89TEAM67DMEDQFTCJ6C":86},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":68,"ownerHtmlUrl":69,"ownerBlogUrl":6,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M6F8A89TEAM67DMEDQFTCJ6C","clari-reference-architecture",null,"Reference architecture for Clari revenue intelligence integrations.\nUse when designing a forecast data platform, planning Clari integration\narchitecture, or establishing team patterns for revenue analytics.\nTrigger with phrases like \"clari architecture\", \"clari data platform\",\n\"clari integration design\", \"clari best practices\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclari-reference-architecture\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"architecture","clari reference architecture","clari","reference","code","data","team","integrations","read","write","edit","forecast","patterns","integration design","intelligence","platform","io","revenue","analytics","design","2026-11-10 10:12:30",false,"---\nname: clari-reference-architecture\ndescription: |\n  Reference architecture for Clari revenue intelligence integrations.\n  Use when designing a forecast data platform, planning Clari integration\n  architecture, or establishing team patterns for revenue analytics.\n  Trigger with phrases like \"clari architecture\", \"clari data platform\",\n  \"clari integration design\", \"clari best practices\".\nallowed-tools: Read, Write, Edit, Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, revenue-intelligence, forecasting, clari]\ncompatible-with: claude-code\n---\n\n# Clari Reference Architecture\n\n## Overview\n\nProduction architecture for Clari revenue intelligence integrations: export pipeline design, data warehouse schema, analytics layer, and alerting.\n\n## Architecture Diagram\n\n```\n┌──────────────┐     ┌─────────────────┐     ┌──────────────────┐\n│  Clari App   │     │  Clari Export    │     │  Data Warehouse  │\n│  (SaaS)      │────▶│  API (v4)       │────▶│  (Snowflake\u002FBQ)  │\n└──────────────┘     └─────────────────┘     └────────┬─────────┘\n                                                       │\n                     ┌─────────────────┐     ┌────────▼─────────┐\n                     │  Change         │     │  Analytics \u002F     │\n                     │  Detection      │────▶│  Dashboard       │\n                     └─────────────────┘     │  (Looker\u002FMetabase)│\n                            │                └──────────────────┘\n                     ┌──────▼──────────┐\n                     │  Alerts         │\n                     │  (Slack\u002FEmail)  │\n                     └─────────────────┘\n```\n\n## Project Structure\n\n```\nclari-data-platform\u002F\n├── src\u002F\n│   ├── clari_client.py         # API client wrapper\n│   ├── export_pipeline.py      # ETL pipeline\n│   ├── change_detector.py      # Forecast change tracking\n│   ├── models.py               # Data models\n│   └── config.py               # Environment config\n├── dags\u002F\n│   └── clari_export_dag.py     # Airflow DAG\n├── sql\u002F\n│   ├── schema.sql              # Warehouse table definitions\n│   ├── merge.sql               # Upsert logic\n│   └── analytics\u002F\n│       ├── forecast_accuracy.sql\n│       ├── pipeline_coverage.sql\n│       └── rep_performance.sql\n├── tests\u002F\n│   ├── fixtures\u002F               # Sample API responses\n│   ├── test_pipeline.py\n│   └── test_change_detector.py\n├── scripts\u002F\n│   ├── run_export.sh\n│   └── validate_schema.py\n└── monitoring\u002F\n    ├── alerts.yaml             # Alert rules\n    └── dashboard.json          # Grafana\u002FLooker config\n```\n\n## Data Warehouse Schema\n\n```sql\n-- Core tables\nCREATE TABLE clari_forecasts (\n    id BIGINT GENERATED ALWAYS AS IDENTITY,\n    owner_name VARCHAR NOT NULL,\n    owner_email VARCHAR NOT NULL,\n    forecast_amount DECIMAL(15,2),\n    quota_amount DECIMAL(15,2),\n    crm_total DECIMAL(15,2),\n    crm_closed DECIMAL(15,2),\n    adjustment_amount DECIMAL(15,2),\n    time_period VARCHAR NOT NULL,\n    forecast_name VARCHAR NOT NULL,\n    exported_at TIMESTAMP NOT NULL,\n    PRIMARY KEY (owner_email, time_period, forecast_name, exported_at)\n);\n\n-- Change tracking\nCREATE TABLE clari_forecast_changes (\n    id BIGINT GENERATED ALWAYS AS IDENTITY,\n    owner_email VARCHAR NOT NULL,\n    time_period VARCHAR NOT NULL,\n    previous_amount DECIMAL(15,2),\n    current_amount DECIMAL(15,2),\n    change_pct DECIMAL(5,2),\n    detected_at TIMESTAMP NOT NULL\n);\n\n-- Analytics views\nCREATE VIEW v_forecast_accuracy AS\nSELECT\n    time_period,\n    owner_name,\n    forecast_amount,\n    crm_closed AS actual_closed,\n    ROUND((1 - ABS(forecast_amount - crm_closed) \u002F NULLIF(forecast_amount, 0)) * 100, 1) AS accuracy_pct\nFROM clari_forecasts\nWHERE exported_at = (SELECT MAX(exported_at) FROM clari_forecasts f2 WHERE f2.time_period = clari_forecasts.time_period);\n```\n\n## Key Design Decisions\n\n| Decision | Choice | Rationale |\n|----------|--------|-----------|\n| Export frequency | Daily | Balances freshness vs API load |\n| Data format | JSON export | Structured, easy to parse |\n| Pipeline orchestration | Airflow | Retry, monitoring, DAG visualization |\n| Change detection | Snapshot comparison | Clari has no real-time webhooks |\n| Warehouse | Snowflake | SQL analytics, dbt compatibility |\n\n## Resources\n\n- [Clari Developer Portal](https:\u002F\u002Fdeveloper.clari.com)\n- [Clari API Reference](https:\u002F\u002Fdeveloper.clari.com\u002Fdocumentation\u002Fexternal_spec)\n- [Snowflake Documentation](https:\u002F\u002Fdocs.snowflake.com)\n\n## Next Steps\n\nThis completes the Clari skill pack. Start with `clari-install-auth` for new integrations.\n\n","# Clari Reference Architecture\n\n## Overview\n\nProduction architecture for Clari revenue intelligence integrations: export pipeline design, data warehouse schema, analytics layer, and alerting.\n\n## Architecture Diagram\n\n```\n┌──────────────┐     ┌─────────────────┐     ┌──────────────────┐\n│  Clari App   │     │  Clari Export    │     │  Data Warehouse  │\n│  (SaaS)      │────▶│  API (v4)       │────▶│  (Snowflake\u002FBQ)  │\n└──────────────┘     └─────────────────┘     └────────┬─────────┘\n                                                       │\n                     ┌─────────────────┐     ┌────────▼─────────┐\n                     │  Change         │     │  Analytics \u002F     │\n                     │  Detection      │────▶│  Dashboard       │\n                     └─────────────────┘     │  (Looker\u002FMetabase)│\n                            │                └──────────────────┘\n                     ┌──────▼──────────┐\n                     │  Alerts         │\n                     │  (Slack\u002FEmail)  │\n                     └─────────────────┘\n```\n\n## Project Structure\n\n```\nclari-data-platform\u002F\n├── src\u002F\n│   ├── clari_client.py         # API client wrapper\n│   ├── export_pipeline.py      # ETL pipeline\n│   ├── change_detector.py      # Forecast change tracking\n│   ├── models.py               # Data models\n│   └── config.py               # Environment config\n├── dags\u002F\n│   └── clari_export_dag.py     # Airflow DAG\n├── sql\u002F\n│   ├── schema.sql              # Warehouse table definitions\n│   ├── merge.sql               # Upsert logic\n│   └── analytics\u002F\n│       ├── forecast_accuracy.sql\n│       ├── pipeline_coverage.sql\n│       └── rep_performance.sql\n├── tests\u002F\n│   ├── fixtures\u002F               # Sample API responses\n│   ├── test_pipeline.py\n│   └── test_change_detector.py\n├── scripts\u002F\n│   ├── run_export.sh\n│   └── validate_schema.py\n└── monitoring\u002F\n    ├── alerts.yaml             # Alert rules\n    └── dashboard.json          # Grafana\u002FLooker config\n```\n\n## Data Warehouse Schema\n\n```sql\n-- Core tables\nCREATE TABLE clari_forecasts (\n    id BIGINT GENERATED ALWAYS AS IDENTITY,\n    owner_name VARCHAR NOT NULL,\n    owner_email VARCHAR NOT NULL,\n    forecast_amount DECIMAL(15,2),\n    quota_amount DECIMAL(15,2),\n    crm_total DECIMAL(15,2),\n    crm_closed DECIMAL(15,2),\n    adjustment_amount DECIMAL(15,2),\n    time_period VARCHAR NOT NULL,\n    forecast_name VARCHAR NOT NULL,\n    exported_at TIMESTAMP NOT NULL,\n    PRIMARY KEY (owner_email, time_period, forecast_name, exported_at)\n);\n\n-- Change tracking\nCREATE TABLE clari_forecast_changes (\n    id BIGINT GENERATED ALWAYS AS IDENTITY,\n    owner_email VARCHAR NOT NULL,\n    time_period VARCHAR NOT NULL,\n    previous_amount DECIMAL(15,2),\n    current_amount DECIMAL(15,2),\n    change_pct DECIMAL(5,2),\n    detected_at TIMESTAMP NOT NULL\n);\n\n-- Analytics views\nCREATE VIEW v_forecast_accuracy AS\nSELECT\n    time_period,\n    owner_name,\n    forecast_amount,\n    crm_closed AS actual_closed,\n    ROUND((1 - ABS(forecast_amount - crm_closed) \u002F NULLIF(forecast_amount, 0)) * 100, 1) AS accuracy_pct\nFROM clari_forecasts\nWHERE exported_at = (SELECT MAX(exported_at) FROM clari_forecasts f2 WHERE f2.time_period = clari_forecasts.time_period);\n```\n\n## Key Design Decisions\n\n| Decision | Choice | Rationale |\n|----------|--------|-----------|\n| Export frequency | Daily | Balances freshness vs API load |\n| Data format | JSON export | Structured, easy to parse |\n| Pipeline orchestration | Airflow | Retry, monitoring, DAG visualization |\n| Change detection | Snapshot comparison | Clari has no real-time webhooks |\n| Warehouse | Snowflake | SQL analytics, dbt compatibility |\n\n## Resources\n\n- [Clari Developer Portal](https:\u002F\u002Fdeveloper.clari.com)\n- [Clari API Reference](https:\u002F\u002Fdeveloper.clari.com\u002Fdocumentation\u002Fexternal_spec)\n- [Snowflake Documentation](https:\u002F\u002Fdocs.snowflake.com)\n\n## Next Steps\n\nThis completes the Clari skill pack. Start with `clari-install-auth` for new integrations.\n\n",{"name":5,"tags":54,"author":58,"license":15,"version":59,"description":60,"allowed-tools":61,"compatible-with":62},[55,56,57,31],"saas","revenue-intelligence","forecasting","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Reference architecture for Clari revenue intelligence integrations.\nUse when designing a forecast data platform, planning Clari integration\narchitecture, or establishing team patterns for revenue analytics.\nTrigger with phrases like \"clari architecture\", \"clari data platform\",\n\"clari integration design\", \"clari best practices\".\n","Read, Write, Edit, Grep","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclari-reference-architecture",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill clari-reference-architecture",{"tool":78,"command":79},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill clari-reference-architecture",{"tool":81,"command":82},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill clari-reference-architecture","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclari-reference-architecture\u002FSKILL.md",true,[],[87,99,109,118,124,131],{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":49},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[96,97,98],"model","model hierarchy","model hierarchy skill",{"skillNo":100,"name":101,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":105,"publishedAt":49},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[104],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},[106,107,108],"MCP","zoom","zoom mcp",{"skillNo":110,"name":111,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":49},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[115,116,117,107],"sdk","zoom apps sdk","apps",{"skillNo":119,"name":120,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":49},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[120],{"skillNo":125,"name":126,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":130,"publishedAt":49},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[129],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},[126],{"skillNo":132,"name":133,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":49},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[133]]