AgentSkillsCN

buildai-database

查询BuildAI的PostgreSQL数据库(仅限只读)。返回结果为JSON格式,用于建筑项目数据——包括项目、RFI、提交申请、预算、变更订单、每日日志、竣工清单、保险、供应商、付款申请等。

SKILL.md
--- frontmatter
name: buildai-database
description: Query the BuildAI PostgreSQL database (read-only). Returns results as JSON for construction project data — projects, RFIs, submittals, budgets, change orders, daily logs, punch lists, insurance, vendors, pay applications.
metadata: {"clawdbot":{"emoji":"🗄️","requires":{"anyBins":["psql"]}}}

BuildAI Database Query

Execute read-only SQL queries against the BuildAI PostgreSQL database (buildai_demo).

Usage

bash
bash command:"cd /home/apoorvgarg/buildai/packages/engine/skills/buildai-database && bash query.sh 'SELECT * FROM projects LIMIT 5'"

Parameters

The script takes a single argument: a SQL query string.

Safety:

  • Only SELECT and WITH (CTE) queries are allowed
  • INSERT, UPDATE, DELETE, DROP, ALTER, TRUNCATE, CREATE, GRANT, REVOKE, EXEC are rejected
  • Results are returned as JSON
  • Queries are limited to 30 seconds

Database Schema

Tables

TableDescription
projectsConstruction projects with status, contract sums, dates, stakeholders
rfisRequests for Information — open/closed/void, with priority and assignee
submittalsMaterial/shop drawing submittals with approval tracking
budget_line_itemsCost codes with original/revised/committed/actual budget breakdowns
change_ordersChange order packages with amounts and reasons
daily_logsDaily site logs — weather, workforce, delays, safety incidents
punch_list_itemsPunch list items with status and priority
insurance_certsVendor insurance certificates with expiration tracking
vendorsSubcontractors/vendors with contract amounts and payments
pay_applicationsPayment applications (AIA G702/G703 style)

Pre-Built Views (prefer these for common queries)

ViewBest For
v_project_dashboardProject overview — open RFIs, pending submittals, expiring certs
v_overdue_rfisOverdue RFIs with days overdue
v_expiring_insuranceInsurance certs expiring within 90 days
v_project_budget_summaryBudget totals with variance analysis

Key Columns

projects: id, name, address, city, state, status (active/completed/on_hold), contract_sum, start_date, projected_completion, project_type

rfis: id, project_id, number, subject, status (open/closed/void), priority (normal/urgent/critical), assigned_to, due_date, days_open

budget_line_items: id, project_id, cost_code, description, original_budget, revised_budget, committed_costs, actual_costs, projected_final, variance, variance_percent

Examples

sql
-- Active projects overview
SELECT * FROM v_project_dashboard WHERE status = 'active';

-- Overdue RFIs
SELECT * FROM v_overdue_rfis ORDER BY days_overdue DESC;

-- Budget overruns
SELECT * FROM v_project_budget_summary WHERE total_variance < 0;

-- Expiring insurance in next 30 days
SELECT * FROM v_expiring_insurance WHERE days_until_expiration <= 30;

-- Workforce trends for a project
SELECT log_date, workforce_count, weather FROM daily_logs
WHERE project_id = 1 ORDER BY log_date DESC LIMIT 14;

Environment Variables

VariableDefaultDescription
DB_HOST/var/run/postgresqlPostgreSQL host
DB_PORT5432PostgreSQL port
DB_NAMEbuildai_demoDatabase name
DB_USER$USERDatabase user
DB_PASSWORD(none)Database password (optional for local peer auth)