← Files Build DailyARCHIVED FILE
skills/query-builddaily/references/tool-guide.md
8.68 KB · Oct 9, 2026 · 00:03 UTC
# Build Daily tool guide ## Project discovery - Use `list_projects` to resolve project names, numbers, and IDs. - Use `get_project_summary` for one project's phase, status, open/overdue counts, and latest Daily Report date. ## RFIs - Use `list_rfis` for status, due date, responsible party, delay, and cost-impact questions. - Use `overdue: true` for overdue work. Do not reinterpret answered or closed RFIs as open. - Use `get_rfi_detail` for the actual question, answer trail, references, packet, and attachments. ## Submittals - Use `list_submittals` for aggregate decision, ball-in-court, required-by date, delivery date, assignee, and vendor questions. - Preserve distinctions among approved, approved as noted, rejected, and revise and resubmit. - Use `get_submittal_detail` for revisions, reviewer decisions/comments, lead-time projection, release state, and files. - Use `get_submittal_reviewer_timeline` for a project-wide evidence set of review starts, responses, pending duration, and workflow SLA overruns. - For a delay narrative, correlate the reviewer timeline with `get_project_schedule_overview`, `get_record_history`, and `list_related_records`. Review duration alone is not proof of critical-path delay or personal fault. ## Schedule, history, and relationships - Use `get_project_schedule_overview` for baseline/current finish variance, critical and overdue tasks, and recorded schedule-update narratives. - Use `get_record_history` for actual status transitions, actors, and timestamps on a specific item. - Use `list_related_records` only for relationships explicitly stored in Build Daily. Do not infer links by name or proximity. ## Daily Reports - Use `list_daily_reports` for grounded field reporting. - Company manpower excludes subcontractor manpower unless the result explicitly supplies a subcontractor total. - Do not invent quantities, completion percentages, schedule effects, approvals, parties, or next steps. ## Commercial and operational workflows - Use `get_attention_summary` for a cross-module open/urgent rollup. - Use `get_project_briefing` for a single-project status brief assembled from every module the user may access. - Use `list_change_orders`, `list_tm_tickets`, and `list_pay_applications` for commercial status. Preserve the returned revision and financial values; do not calculate unreturned contractual conclusions. - Use `list_schedule_tasks` and `list_constraints` for schedule and blocking-work questions. - Use `list_meetings`, `list_permits`, `list_inspections`, `list_punch_items`, and `list_safety_incidents` for field and closeout status. - Safety results are sensitive. Return only what is needed to answer the question and never infer medical or legal conclusions. ## Estimates, CRM, Service, and manpower - Use `list_upcoming_bids` for future bid deadlines and `get_preconstruction_briefing` for a compact deadline/pre-bid look-ahead. Use `get_estimate_proposal_detail` for revision and internal follow-up evidence. - Estimate workflow is evidence-based and not every estimate requires every artifact. Budget work may have no subcontractor RFPs. Never downgrade a takeoff, priced estimate, or bid-letter draft to "needs RFPs" merely because the RFP count is zero. Report a draft or approved bid letter as prepared but not sent unless the returned evidence says it was sent. - Use `list_opportunities` for sales pipeline questions and `get_my_work` for the signed-in user's open tasks. - Use `search_estimates` to find an estimate before calling `get_estimate_takeoff` or `get_estimate_rfp_status`. - `get_estimate_takeoff` returns item-level quantities and raw totals. Repeat its `calculation_basis`; do not present raw totals as final sell price. - `get_estimate_rfp_status` reports invitation, reminder, plan-room, response, and quote facts. Contact details require separate CRM access and may intentionally be blank. - Use `search_crm` for company and contact phone, mobile, email, address, and trade information. - Use `list_service_work` for Service calls and tickets. Preserve whether the result is a call or a ticket. - Use `list_manpower_assignments` for project, Service, and estimate labor allocations. A conflict flag is a recorded scheduling flag, not proof the work cannot proceed. - Use `search_service_assets` before a site- or equipment-specific history request. - Use `get_service_site_history` for the equipment census and ticket chronology at one customer location. - Use `get_equipment_service_history` for make/model/serial, symptoms, recorded resolutions, recurring tags, PM findings, warranty coverage, and diagnostic evidence. Diagnose only as a labeled hypothesis and retain manufacturer and field-safety caveats. - Use `get_workforce_census` for a point-in-time headcount by scheduled context and fresh pings. Respect `location_evidence_included`; a missing ping is unknown location, not absence. - Use `get_estimate_economics` for authoritative man-hours, costs, markup, revenue, and margin projections. This tool requires pricing authority or named-estimator ownership. - Use `get_estimate_bid_history` to distinguish our bid recipients from subcontractor RFP recipients and to review who has received proposals over time. - `get_estimate_takeoff` withholds cost, rate, and markup fields when `financials_included` is false while retaining nonfinancial quantity and man-hour evidence. - Use `list_service_quotes` for quote state and follow-up dates and `list_service_dispatch` for scheduled technician slots. - Use `list_service_billing` for invoice-ready and billing follow-up work and `list_service_pm` for preventive-maintenance due work. Billing and equipment access are checked independently. - Use `list_workforce_approvals` for timesheet, PTO, and expense queues and `list_timeclock_exceptions` for permission-scoped open or exceptional punches. Neither tool approves or changes anything. - Use `list_procurement_commitments` for purchase orders and subcontracts, `get_job_cost_snapshot` for project budget/commitment/actual exposure, and `get_accounting_summary` for permission-scoped AP/AR totals. - Use `get_cash_summary` only for posted-ledger book cash. Never present it as an external bank's current available balance. ## Controlled actions - Allowed actions are `draft_task`, `draft_service_call`, `draft_private_note`, and `draft_proposal_follow_up`. - Drafting changes nothing. Show the returned preview and wait for explicit confirmation of that exact draft. - Only then call `confirm_draft_action` with the returned draft ID and the required confirmation phrase. - A confirmed RFI is an internal open record and is not distributed. A Service call is new and undispatched. A proposal follow-up is internal activity and sends no message. - Project APM workflows use `get_project_action_options`, `stage_project_pdf`, `prepare_project_action_plan`, and `execute_project_action_plan` as described in SKILL.md. The exact plan requires signed-in human review in BD. Existing internal draft scope does not grant the separate `builddaily.workflows` scope. - Canonical project sends/pullbacks and recorded outcomes are supported only through approved plans. Accounting posting, payments, payroll, arbitrary status edits, deletion and contract execution remain unsupported. ## Files, drawings, and specifications - Use `list_record_files` when the user asks for an RFI, submittal, Daily Report, T&M, change-order, meeting, or safety packet or attachment. - Use `search_project_documents` to find a file by filename, category, linked record, or type. Use `get_document` only with an ID returned by a document tool. - Give the user the returned resource/download link. Never reconstruct a storage path or claim a file was attached if no resource link was returned. - Use `search_specifications` for requirements in indexed specification PDFs. Cite `section_number`, `title`, and `page_start`-`page_end` in the answer. - Use `search_drawings` for sheet metadata or indexed sheet text. State sheet number, title, revision, and whether it is current. - Use `compare_specification_versions` or `compare_drawing_versions` for change questions. Treat their text diff as extraction evidence, not proof that every graphical or formatting change was detected. - If extracted text is empty or no passages match, say the indexed document does not support an answer and link the source for manual review. ## Search and fetch - Use `search` when the user supplies text but not a record type or project. It searches workflows plus indexed specs and drawings. - Use `fetch` only with an opaque ID returned by `search`. ## Output - Identify the project and record number. - Preserve the exact returned status and date. - Include direct Build Daily links. - Separate facts from recommendations. - Say "Build Daily returned no matching accessible records" when the result is empty.
SHA-256: e68c73d7b2b951e50969c34635dfe8bd3444093a8a0219ee4df960d04409b914