Skip to main content

postgresql-bi-agent

Business intelligence analysis agent for PostgreSQL that discovers database metadata, generates SQL queries for revenue/customer/product metrics, and produces comprehensive analytical reports

ソース情報

リポジトリ
digoal/postgres_skill
ソースの最終更新活動
2026年2月4日 09:15
検出された SKILL.md の言語
英語
スター
39
フォーク
14

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
3 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
postgresql-bi-agent
description
Business intelligence analysis agent for PostgreSQL that discovers database metadata, generates SQL queries for revenue/customer/product metrics, and produces comprehensive analytical reports
license
MIT
compatibility
opencode
# PostgreSQL Business Intelligence Agent This skill guides the agent in conducting comprehensive business intelligence analysis on a PostgreSQL database. It automatically discovers database metadata, samples data to understand business context, generates business-relevant SQL queries, executes them, and produces deep analytical reports for business operations insights. ## Purpose The primary goal of this skill is to transform raw database data into actionable business intelligence. It serves as an automated data analyst that: - **Discovers** database structure and metadata automatically - **Understands** business context through data sampling - **Generates** relevant SQL queries for business metrics - **Executes** queries efficiently and safely - **Analyzes** results to provide strategic insights - **Reports** findings with actionable recommendations ## Business Intelligence Framework The agent uses a multi-dimensional framework covering: ### 1. Business Scale Metrics - Transaction volumes and values - Customer base and distribution - Product/service inventory and categorization ### 2. Growth Trends - Year-over-year and month-over-month comparisons - Daily/Monthly active user trends - Revenue and order trends ### 3. User Behavior Analysis - User engagement and activity levels - Retention rates and cohort analysis - Conversion funnel metrics ### 4. Financial Insights - Revenue trends and patterns - Average order value (AOV) - Payment success rates and refund metrics ### 5. Inventory & Product Analysis - Inventory turnover rates - Product performance rankings - Stock-out and overstock indicators ### 6. Operational Efficiency - Order processing times - Customer satisfaction indicators - System performance metrics ## Workflow When activated, this skill executes a comprehensive analysis pipeline: 1. **Metadata Discovery** → Scan database structure, tables, columns, relationships 2. **Data Sampling** → Analyze data patterns, value distributions, business context 3. **SQL Generation** → Generate domain-specific business intelligence queries 4. **Query Execution** → Run all queries with proper error handling 5. **Deep Analysis** → Correlate results, identify patterns, calculate insights 6. **Report Generation** → Produce comprehensive business report ## Available Skills Each skill represents a callable analysis module that returns structured JSON output. --- ## 1. Metadata Discovery ### Skill: `discover_database_metadata` - **Description**: Scans and collects comprehensive database metadata including schemas, tables, columns, data types, constraints, indexes, and relationships. - **Usage**: `python3 business_intelligence_agent.py --skill discover_database_metadata` - **Expected Output**: ```json { "skill": "discover_database_metadata", "status": "success", "data": { "database_name": "ecommerce_db", "schemas": ["public", "analytics", "audit"], "total_tables": 45, "total_columns": 380, "tables": [ { "schema_name": "public", "table_name": "orders", "row_count": 1500000, "columns": [ {"name": "order_id", "type": "bigint", "is_pk": true}, {"name": "user_id", "type": "bigint", "is_fk": true}, {"name": "order_amount", "type": "decimal(12,2)", "is_nullable": false}, {"name": "created_at", "type": "timestamp", "is_nullable": false} ], "indexes": ["idx_orders_user_id", "idx_orders_created_at"] } ], "relationships": [ {"from": "orders.user_id", "to": "users.user_id", "type": "FK"} ] } } ``` ### Skill: `identify_business_tables` - **Description**: Identifies tables likely related to core business operations based on naming conventions, column patterns, and data characteristics. - **Usage**: `python3 business_intelligence_agent.py --skill identify_business_tables` - **Expected Output**: ```json { "skill": "identify_business_tables", "status": "success", "data": { "core_tables": [ {"name": "orders", "category": "transactions", "confidence": 0.95}, {"name": "users", "category": "customers", "confidence": 0.92}, {"name": "products", "category": "inventory", "confidence": 0.88} ], "transaction_tables": ["orders", "payments", "refunds"], "customer_tables": ["users", "customers", "accounts"], "product_tables": ["products", "inventory", "categories"] } } ``` ### Skill: `analyze_table_relationships` - **Description**: Maps foreign key relationships and infers implicit relationships to build a complete database relationship graph. - **Usage**: `python3 business_intelligence_agent.py --skill analyze_table_relationships` - **Expected Output**: ```json { "skill": "analyze_table_relationships", "status": "success", "data": { "explicit_relationships": 25, "inferred_relationships": 12, "relationship_graph": { "nodes": ["orders", "users", "products", "categories", "payments"], "edges": [ {"from": "orders", "to": "users", "type": "M:1"}, {"from": "orders", "to": "payments", "type": "1:1"}, {"from": "order_items", "to": "orders", "type": "M:1"}, {"from": "order_items", "to": "products", "type": "M:1"} ] } } } ``` --- ## 2. Data Sampling & Pattern Analysis ### Skill: `sample_table_data` - **Description**: Samples data from identified business tables to understand data distribution, value ranges, and business context. - **Usage**: `python3 business_intelligence_agent.py --skill sample_table_data --tables orders,users,products` - **Expected Output**: ```json { "skill": "sample_table_data", "status": "success", "data": { "sampled_tables": { "orders": { "sample_size": 100, "date_range": {"min": "2024-01-01", "max": "2024-01-15"}, "value_ranges": {"order_amount": {"min": 10.00, "max": 15000.00, "avg": 250.50}}, "categorical_distributions": {"payment_method": {"credit_card": 45, "debit_card": 30, "digital_wallet": 25}} }, "users": { "sample_size": 100, "date_joined_range": {"min": "2023-06-01", "max": "2024-01-15"}, "user_distribution": {"new_users_last_30_days": 15000} } } } } ``` ### Skill: `detect_data_patterns` - **Description**: Analyzes temporal patterns, value distributions, and data quality indicators across business tables. - **Usage**: `python3 business_intelligence_agent.py --skill detect_data_patterns` - **Expected Output**: ```json { "skill": "detect_data_patterns", "status": "success", "data": { "temporal_patterns": { "orders": {"peak_hours": "12:00-14:00, 19:00-21:00", "peak_days": "Friday, Saturday"}, "users": {"registration_spike": "Weekends", "activity_peak": "Evening 19:00-23:00"} }, "value_distributions": { "order_amount": {"skewness": 2.5, "outliers": 150, "percentile_95": 1200.00} }, "data_quality": { "null_rates": {"orders.shipping_address": 0.15, "orders.coupon_code": 0.85}, "duplicate_rates": {"orders.order_id": 0.0, "users.email": 0.001} } } } ``` ### Skill: `infer_business_context` - **Description**: Uses metadata and data patterns to infer the business domain, model type (B2B/B2C/SaaS), and key business entities. - **Usage**: `python3 business_intelligence_agent.py --skill infer_business_context` - **Expected Output**: ```json { "skill": "infer_business_context", "status": "success", "data": { "business_domain": "E-commerce Retail", "business_model": "B2C", "primary_entities": ["Orders", "Products", "Customers"], "secondary_entities": ["Payments", "Shipping", "Returns"], "key_metrics": ["GMV", "AOV", "Conversion Rate", "Customer LTV"], "time_granularities": ["daily", "weekly", "monthly", "quarterly"] } } ``` --- ## 3. Business Intelligence SQL Generation ### Skill: `generate_revenue_queries` - **Description**: Generates SQL queries for revenue analysis including revenue trends, breakdown by category/time/payment method, and financial KPIs. - **Usage**: `python3 business_intelligence_agent.py --skill generate_revenue_queries` - **Expected Output**: ```json { "skill": "generate_revenue_queries", "status": "success", "queries": [ { "name": "daily_revenue_trend", "sql": "SELECT DATE(created_at) as date, SUM(order_amount) as revenue, COUNT(*) as orders FROM orders WHERE created_at >= CURRENT_DATE - INTERVAL '30 days' GROUP BY DATE(created_at) ORDER BY date", "metrics": ["daily_revenue", "order_count", "avg_order_value"] }, { "name": "revenue_by_category", "sql": "SELECT c.category_name, SUM(oi.quantity * oi.unit_price) as revenue, COUNT(DISTINCT o.order_id) as orders FROM order_items oi JOIN products p ON oi.product_id = p.id JOIN categories c ON p.category_id = c.id JOIN orders o ON oi.order_id = o.id WHERE o.created_at >= CURRENT_DATE - INTERVAL '30 days' GROUP BY c.category_name ORDER BY revenue DESC", "metrics": ["category_revenue", "category_orders", "category_aov"] }, { "name": "monthly_revenue_comparison", "sql": "SELECT DATE_TRUNC('month', created_at) as month, SUM(order_amount) as revenue FROM orders WHERE created_at >= CURRENT_DATE - INTERVAL '12 months' GROUP BY DATE_TRUNC('month', created_at) ORDER BY month", "metrics": ["monthly_revenue", "mom_growth", "yoy_growth"] } ] } ``` ### Skill: `generate_customer_analytics_queries` - **Description**: Generates SQL for customer analytics including acquisition, retention, segmentation, LTV, and behavioral analysis. - **Usage**: `python3 business_intelligence_agent.py --skill generate_customer_analytics_queries` - **Expected Output**: ```json { "skill": "generate_customer_analytics_queries", "status": "success", "queries": [ { "name": "customer_acquisition_trend", "sql": "SELECT DATE_TRUNC('week', created_at) as week, COUNT(*) as new_customers FROM users WHERE created_at >= CURRENT_DATE - INTERVAL '12 weeks' GROUP BY DATE_TRUNC('week', created_at) ORDER BY week", "metrics": ["weekly_new_users", "user_growth_rate"] }, { "name": "customer_retention_cohort",
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る