Material Tracker Skill
Overview
The material-tracker skill provides full lifecycle material management for construction projects — from identifying what needs to be ordered, through PO tracking, delivery logging, spec verification, and certification tracking. It also maintains a vendor database for sourcing decisions.
Key capabilities:
- Identify long-lead items from project schedule and specification requirements
- Track purchase orders from creation through delivery
- Log incoming deliveries with date, quantity, and condition data
- Verify delivered materials against specification requirements
- Track material certifications and test reports
- Source vendors and suppliers for any required material
- Alert on critical timeline risks (materials needed within 14 days but not yet ordered)
- Cross-reference submittals for approval status before material acceptance
Five Core Actions
A) Add — Add New Procurement Item
What it does: Creates a new tracking record for a material that needs to be procured. Automatically populates details from schedule long-lead items and spec sections when matches exist.
Workflow:
- Trigger: User identifies a material to procure, or system detects from schedule
- Input required:
- Material name/description
- Quantity and units
- Target delivery date (or search window)
- Responsible party (contractor, subcontractor, owner-supplied)
- System auto-populates:
- Spec section reference (from spec_sections matching material type)
- Key material requirements (from key_materials database)
- Expected delivery window (from schedule.long_lead_items if applicable)
- Linked submittal (if one exists for this material)
- Vendor suggestions (from vendor_database recent suppliers)
- Manual entry for:
- Specific requirements/options
- Budget/cost estimate
- PO number (once issued)
- Saves to procurement_log with status = "identified"
Auto-population rules:
- If material name matches key_materials entry, populate: spec requirements, expected lead time, typical vendors
- If material is in schedule.long_lead_items, populate: scheduled delivery date, related task
- If material has associated submittal, link submittal_log entry and show approval status
- Cross-reference with subcontractors list to identify who furnishes each material
B) Status — Show Procurement Dashboard
What it does: Displays current status of all procurement items with filtering, color-coding, and alerts.
Workflow:
- Query procurement_log with current dates and statuses
- Display options:
- All items — Full procurement list with columns: material, spec section, PO status, expected delivery, actual delivery, cert status
- Long-lead filter — Only items from schedule.long_lead_items
- Delayed items — Where actual_delivery > expected_delivery OR delivery_status still "ordered"
- Upcoming deliveries — Items due within 14 days
- Missing certs — Items where cert_status ≠ "verified"
- Color coding:
- Green: Item ordered, on schedule, certs received
- Yellow: Item ordered but near due date, or certs pending review
- Red: Item not ordered but due soon, delayed delivery, missing required certs
- Gray: Not yet ordered, future item
- Alert highlights:
- Critical: Items where delivery_expected < today + 14 days AND (status = "not_ordered" OR status = "ordered")
- Warning: Items where delivery_expected < today + 30 days AND delivery_status = "not_ordered"
- Overdue: delivery_actual < delivery_expected
- Summary metrics: # ordered, # delivered, # with complete certs, # at risk
C) Delivery — Log Incoming Material Delivery
What it does: Records the arrival of materials, capturing date, quantity received, condition, and cross-checking against PO.
Workflow:
- Trigger: Material arrives on site
- Input collected:
- Procurement item (lookup from log)
- Actual delivery date
- Quantity received (compare against PO qty)
- Condition assessment: intact/undamaged, minor damage, major damage
- Packing slip/bill of lading #
- Receiving notes (any discrepancies)
- System validation:
- Does received quantity match PO quantity?
- Does packing slip item description match PO?
- Is material needed for upcoming work?
- Cross-check against spec:
- Confirm this material matches the spec section requirement
- Note if product model/version differs from submittal
- Update procurement_log:
- Set delivery_status = "delivered"
- Record delivery_date, delivery_quantity, delivery_condition
- Link to packing slip documentation
- Generate receiving report for daily log integration
- Trigger next action: Verify (if certs required and received) or hold for verification
D) Verify — Run Spec Verification on Delivered Material
What it does: Compares delivered material properties, documentation, and certifications against specification requirements. Uses submittal-intelligence compliance checking methodology.
Workflow:
- Trigger: Material received and ready for inspection
- Gather verification data:
- Material documentation (certs, test reports, product data sheets)
- Specification section requirements for this material type
- Approved submittal (if exists) from submittal_log
- Run compliance checks (per submittal-intelligence):
- Product model matches submittal and spec
- Material properties meet spec minimums (strength, durability, etc.)
- Certifications present and valid (mill certs, test reports, UL listing, etc.)
- Installation/handling instructions reviewed
- Document findings:
- Conforming: Material meets all requirements → Mark cert_status = "verified"
- Non-conforming: Document deficiency with photo, reference spec requirement
- Conditional approval: Material acceptable with conditions (e.g., different color lot, different option)
- Update procurement_log:
- Set verification_status
- Record verification_date and inspector
- Attach compliance report
- Note any exceptions or deviations
- Alert actions:
- If non-conforming: Notify supplier, document decision (accept/reject/return)
- If verified: Clear for installation/use
- If incomplete certs: Escalate and hold material
E) Source / Find Vendor — Search for Suppliers
What it does: Identifies vendors and suppliers for materials. Checks internal vendor database first, then offers web search. Saves results for future reference.
Workflow:
- Trigger: User needs to source a material or establish where to buy
- Input: Material name/specification
- Search vendor_database:
- Look up by material type
- Show recent suppliers (with past performance notes)
- Filter by: location, specialty, certified capability
- If no suitable match in database:
- Offer structured web search suggestions
- Typical search terms: material type + local area + supplier category
- Capture results:
- Company name, contact (phone/email), location
- Specialty/products offered
- Lead time estimate
- Cost range (if quoted)
- Performance notes: reliability, quality, responsiveness
- Save to vendor_database:
- Auto-tag with material type
- Link to project if sourced for specific item
- User can rate/comment for future projects
- Recommend best match based on:
- Lead time fit with schedule
- Availability of spec version
- Geographic proximity (delivery cost)
- Past performance history
Data Sources
The material-tracker skill integrates with:
- procurement_log — Core record of all materials being tracked, with status, dates, quantities, costs
- spec_sections — Specification requirements for each material type (cross-reference for verification)
- key_materials — Project's critical materials list (auto-population source)
- schedule.long_lead_items — Long-lead materials from project schedule
- submittal_log — Submittal approval status (track approvals before material use)
- vendor_database — Historical and recommended suppliers by material type
- subcontractors — List of responsible parties for furnishing materials
- daily reports — Receiving and delivery logs for integration
Auto-Population Rules
When Add action creates a new procurement item:
Match to key_materials: If material name matches entry in key_materials, auto-fill:
- Spec section reference
- Typical lead time
- Spec requirements summary
- Last vendor used (from procurement_log history)
Match to schedule.long_lead_items: If material is in schedule long-lead list, auto-fill:
- Scheduled delivery date
- Related schedule activity
- Dependencies/critical path impact
Match to submittal: If material has associated submittal in submittal_log, auto-fill:
- Link submittal record
- Show submittal approval status
- Reference approved model/options
Vendor assignment: Assign responsible party from subcontractors list:
- Some items are owner-supplied
- Some are general contractor furnished
- Some are subcontractor furnished
Alert Rules
The system flags items for superintendent attention:
Critical (red):
- Expected delivery date is within 14 days AND delivery_status = "not_ordered" or "ordered"
- Delivery is overdue (delivery_actual_date > expected_delivery_date)
- Required certification is missing and hold period expired
Warning (yellow):
- Expected delivery within 30 days AND status = "not_ordered"
- Certification received but not yet verified (cert_status = "requested")
- Non-conformance pending disposition decision
Information (blue):
- Upcoming delivery (within 60 days) to plan receiving
- New vendor used for first time (cross-reference on performance)
Cross-References
- project-data skill — For schedule, spec sections, project site info, subcontractor list
- submittal-intelligence skill — For compliance checking methodology when verifying delivered materials against specs; for tracking submittal approvals that gate material use
Workflow Integration
Typical material procurement workflow:
- Identify (project-data) — Review schedule long-lead items and spec sections
- Add (this skill) — Create procurement tracking record, auto-populate from schedule/spec
- Source (this skill) — Find vendor, get quote, recommend supplier
- Order — Issue PO (external system, record PO# in material-tracker)
- Track (this skill) → Status — Monitor delivery timeline
- Receive (this skill) → Delivery — Log arrival, inspect condition
- Verify (this skill) → Verify — Check against spec, collect certifications
- Approve — Clear for use or escalate non-conformance
- Closeout — Verify all certs filed, update daily reports
SC/PO Log Spreadsheet Sync
Many GCs maintain an Excel-based SC/PO log for subcontract and purchase order tracking. The material-tracker can read from this spreadsheet to auto-populate procurement data.
How it works:
- During
/set-project (Step 1C), the plugin scans folder_mapping.spreadsheets for files matching *SC*PO*Log*.xlsx or *SC-PO*.xlsx
- If found, the file path is stored in
folder_mapping.sc_po_log
- When
/material-tracker status is run and sc_po_log is set, the skill reads the spreadsheet to sync data
Spreadsheet reading workflow:
- Open the SC/PO Log spreadsheet using the xlsx skill
- Identify the header row and map columns to procurement_log fields:
- Look for columns like: "SC/PO #", "Vendor/Sub", "Description", "Amount", "Status", "Delivery Date", "Notes"
- Common column names vary — use fuzzy matching (e.g., "PO Number" = "SC/PO #", "Supplier" = "Vendor/Sub")
- For each row with data:
- Check if a matching procurement_log entry already exists (match on PO number or description)
- If new: create a PROC-XXX entry and populate from spreadsheet data
- If existing: update delivery status, dates, and amounts if the spreadsheet has newer data
- After sync, present a summary: "Synced X items from SC/PO Log. Y new items added, Z items updated."
- Store
last_sync_date in config so the user knows when data was last refreshed
Important rules:
- The spreadsheet is the source of truth for PO numbers, contract values, and vendor assignments
- The plugin is the source of truth for delivery verification, spec compliance, and certification tracking
- Never write back to the spreadsheet — only read from it
- Flag discrepancies between spreadsheet data and plugin data for the user to resolve
Daily Report Integration
Procurement data feeds into daily reports:
- Receiving log — Materials delivered today (from Delivery logs)
- Material status dashboard — At-risk items flagged by Status action
- Certification tracker — Certs due/received, missing items
- Vendor performance — On-time delivery, quality, responsiveness notes
File Structure
material-tracker/
├── SKILL.md (this file)
└── references/
├── delivery-verification.md
└── cert-tracking.md
1---2name: material-tracker3description: Track materials from purchase order through delivery through spec verification. Use when the user mentions "material tracking", "procurement", "delivery", "long lead", "order status", "PO", "purchase order", "material status", "vendor", "supplier", "sourcing", "find a vendor", "who sells", "where to get", "cert tracking", "mill certs", "material certs".4---56# Material Tracker Skill78## Overview910The material-tracker skill provides full lifecycle material management for construction projects — from identifying what needs to be ordered, through PO tracking, delivery logging, spec verification, and certification tracking. It also maintains a vendor database for sourcing decisions.1112**Key capabilities:**13- Identify long-lead items from project schedule and specification requirements14- Track purchase orders from creation through delivery15- Log incoming deliveries with date, quantity, and condition data16- Verify delivered materials against specification requirements17- Track material certifications and test reports18- Source vendors and suppliers for any required material19- Alert on critical timeline risks (materials needed within 14 days but not yet ordered)20- Cross-reference submittals for approval status before material acceptance2122---2324## Five Core Actions2526### A) **Add** — Add New Procurement Item2728**What it does:** Creates a new tracking record for a material that needs to be procured. Automatically populates details from schedule long-lead items and spec sections when matches exist.2930**Workflow:**311. Trigger: User identifies a material to procure, or system detects from schedule322. Input required:33 - Material name/description34 - Quantity and units35 - Target delivery date (or search window)36 - Responsible party (contractor, subcontractor, owner-supplied)373. System auto-populates:38 - Spec section reference (from spec_sections matching material type)39 - Key material requirements (from key_materials database)40 - Expected delivery window (from schedule.long_lead_items if applicable)41 - Linked submittal (if one exists for this material)42 - Vendor suggestions (from vendor_database recent suppliers)434. Manual entry for:44 - Specific requirements/options45 - Budget/cost estimate46 - PO number (once issued)475. Saves to procurement_log with status = "identified"4849**Auto-population rules:**50- If material name matches key_materials entry, populate: spec requirements, expected lead time, typical vendors51- If material is in schedule.long_lead_items, populate: scheduled delivery date, related task52- If material has associated submittal, link submittal_log entry and show approval status53- Cross-reference with subcontractors list to identify who furnishes each material5455---5657### B) **Status** — Show Procurement Dashboard5859**What it does:** Displays current status of all procurement items with filtering, color-coding, and alerts.6061**Workflow:**621. Query procurement_log with current dates and statuses632. Display options:64 - **All items** — Full procurement list with columns: material, spec section, PO status, expected delivery, actual delivery, cert status65 - **Long-lead filter** — Only items from schedule.long_lead_items66 - **Delayed items** — Where actual_delivery > expected_delivery OR delivery_status still "ordered"67 - **Upcoming deliveries** — Items due within 14 days68 - **Missing certs** — Items where cert_status ≠ "verified"693. Color coding:70 - Green: Item ordered, on schedule, certs received71 - Yellow: Item ordered but near due date, or certs pending review72 - Red: Item not ordered but due soon, delayed delivery, missing required certs73 - Gray: Not yet ordered, future item744. Alert highlights:75 - **Critical:** Items where delivery_expected < today + 14 days AND (status = "not_ordered" OR status = "ordered")76 - **Warning:** Items where delivery_expected < today + 30 days AND delivery_status = "not_ordered"77 - **Overdue:** delivery_actual < delivery_expected785. Summary metrics: # ordered, # delivered, # with complete certs, # at risk7980---8182### C) **Delivery** — Log Incoming Material Delivery8384**What it does:** Records the arrival of materials, capturing date, quantity received, condition, and cross-checking against PO.8586**Workflow:**871. Trigger: Material arrives on site882. Input collected:89 - Procurement item (lookup from log)90 - Actual delivery date91 - Quantity received (compare against PO qty)92 - Condition assessment: intact/undamaged, minor damage, major damage93 - Packing slip/bill of lading #94 - Receiving notes (any discrepancies)953. System validation:96 - Does received quantity match PO quantity?97 - Does packing slip item description match PO?98 - Is material needed for upcoming work?994. Cross-check against spec:100 - Confirm this material matches the spec section requirement101 - Note if product model/version differs from submittal1025. Update procurement_log:103 - Set delivery_status = "delivered"104 - Record delivery_date, delivery_quantity, delivery_condition105 - Link to packing slip documentation1066. Generate receiving report for daily log integration1077. Trigger next action: **Verify** (if certs required and received) or hold for verification108109---110111### D) **Verify** — Run Spec Verification on Delivered Material112113**What it does:** Compares delivered material properties, documentation, and certifications against specification requirements. Uses submittal-intelligence compliance checking methodology.114115**Workflow:**1161. Trigger: Material received and ready for inspection1172. Gather verification data:118 - Material documentation (certs, test reports, product data sheets)119 - Specification section requirements for this material type120 - Approved submittal (if exists) from submittal_log1213. Run compliance checks (per submittal-intelligence):122 - Product model matches submittal and spec123 - Material properties meet spec minimums (strength, durability, etc.)124 - Certifications present and valid (mill certs, test reports, UL listing, etc.)125 - Installation/handling instructions reviewed1264. Document findings:127 - Conforming: Material meets all requirements → Mark cert_status = "verified"128 - Non-conforming: Document deficiency with photo, reference spec requirement129 - Conditional approval: Material acceptable with conditions (e.g., different color lot, different option)1305. Update procurement_log:131 - Set verification_status132 - Record verification_date and inspector133 - Attach compliance report134 - Note any exceptions or deviations1356. Alert actions:136 - If non-conforming: Notify supplier, document decision (accept/reject/return)137 - If verified: Clear for installation/use138 - If incomplete certs: Escalate and hold material139140---141142### E) **Source / Find Vendor** — Search for Suppliers143144**What it does:** Identifies vendors and suppliers for materials. Checks internal vendor database first, then offers web search. Saves results for future reference.145146**Workflow:**1471. Trigger: User needs to source a material or establish where to buy1482. Input: Material name/specification1493. Search vendor_database:150 - Look up by material type151 - Show recent suppliers (with past performance notes)152 - Filter by: location, specialty, certified capability1534. If no suitable match in database:154 - Offer structured web search suggestions155 - Typical search terms: material type + local area + supplier category1565. Capture results:157 - Company name, contact (phone/email), location158 - Specialty/products offered159 - Lead time estimate160 - Cost range (if quoted)161 - Performance notes: reliability, quality, responsiveness1626. Save to vendor_database:163 - Auto-tag with material type164 - Link to project if sourced for specific item165 - User can rate/comment for future projects1667. Recommend best match based on:167 - Lead time fit with schedule168 - Availability of spec version169 - Geographic proximity (delivery cost)170 - Past performance history171172---173174## Data Sources175176The material-tracker skill integrates with:177178- **procurement_log** — Core record of all materials being tracked, with status, dates, quantities, costs179- **spec_sections** — Specification requirements for each material type (cross-reference for verification)180- **key_materials** — Project's critical materials list (auto-population source)181- **schedule.long_lead_items** — Long-lead materials from project schedule182- **submittal_log** — Submittal approval status (track approvals before material use)183- **vendor_database** — Historical and recommended suppliers by material type184- **subcontractors** — List of responsible parties for furnishing materials185- **daily reports** — Receiving and delivery logs for integration186187---188189## Auto-Population Rules190191When **Add** action creates a new procurement item:1921931. **Match to key_materials:** If material name matches entry in key_materials, auto-fill:194 - Spec section reference195 - Typical lead time196 - Spec requirements summary197 - Last vendor used (from procurement_log history)1981992. **Match to schedule.long_lead_items:** If material is in schedule long-lead list, auto-fill:200 - Scheduled delivery date201 - Related schedule activity202 - Dependencies/critical path impact2032043. **Match to submittal:** If material has associated submittal in submittal_log, auto-fill:205 - Link submittal record206 - Show submittal approval status207 - Reference approved model/options2082094. **Vendor assignment:** Assign responsible party from subcontractors list:210 - Some items are owner-supplied211 - Some are general contractor furnished212 - Some are subcontractor furnished213214---215216## Alert Rules217218The system flags items for superintendent attention:219220**Critical (red):**221- Expected delivery date is within 14 days AND delivery_status = "not_ordered" or "ordered"222- Delivery is overdue (delivery_actual_date > expected_delivery_date)223- Required certification is missing and hold period expired224225**Warning (yellow):**226- Expected delivery within 30 days AND status = "not_ordered"227- Certification received but not yet verified (cert_status = "requested")228- Non-conformance pending disposition decision229230**Information (blue):**231- Upcoming delivery (within 60 days) to plan receiving232- New vendor used for first time (cross-reference on performance)233234---235236## Cross-References237238- **project-data skill** — For schedule, spec sections, project site info, subcontractor list239- **submittal-intelligence skill** — For compliance checking methodology when verifying delivered materials against specs; for tracking submittal approvals that gate material use240241---242243## Workflow Integration244245**Typical material procurement workflow:**2462471. **Identify** (project-data) — Review schedule long-lead items and spec sections2482. **Add** (this skill) — Create procurement tracking record, auto-populate from schedule/spec2493. **Source** (this skill) — Find vendor, get quote, recommend supplier2504. **Order** — Issue PO (external system, record PO# in material-tracker)2515. **Track** (this skill) → **Status** — Monitor delivery timeline2526. **Receive** (this skill) → **Delivery** — Log arrival, inspect condition2537. **Verify** (this skill) → **Verify** — Check against spec, collect certifications2548. **Approve** — Clear for use or escalate non-conformance2559. **Closeout** — Verify all certs filed, update daily reports256257---258259## SC/PO Log Spreadsheet Sync260261Many GCs maintain an Excel-based SC/PO log for subcontract and purchase order tracking. The material-tracker can read from this spreadsheet to auto-populate procurement data.262263### How it works:2642651. During `/set-project` (Step 1C), the plugin scans `folder_mapping.spreadsheets` for files matching `*SC*PO*Log*.xlsx` or `*SC-PO*.xlsx`2662. If found, the file path is stored in `folder_mapping.sc_po_log`2673. When `/material-tracker status` is run and `sc_po_log` is set, the skill reads the spreadsheet to sync data268269### Spreadsheet reading workflow:2702711. Open the SC/PO Log spreadsheet using the xlsx skill2722. Identify the header row and map columns to procurement_log fields:273 - Look for columns like: "SC/PO #", "Vendor/Sub", "Description", "Amount", "Status", "Delivery Date", "Notes"274 - Common column names vary — use fuzzy matching (e.g., "PO Number" = "SC/PO #", "Supplier" = "Vendor/Sub")2753. For each row with data:276 - Check if a matching procurement_log entry already exists (match on PO number or description)277 - If new: create a PROC-XXX entry and populate from spreadsheet data278 - If existing: update delivery status, dates, and amounts if the spreadsheet has newer data2794. After sync, present a summary: "Synced X items from SC/PO Log. Y new items added, Z items updated."2805. Store `last_sync_date` in config so the user knows when data was last refreshed281282### Important rules:283- The spreadsheet is the **source of truth** for PO numbers, contract values, and vendor assignments284- The plugin is the **source of truth** for delivery verification, spec compliance, and certification tracking285- Never write back to the spreadsheet — only read from it286- Flag discrepancies between spreadsheet data and plugin data for the user to resolve287288---289290## Daily Report Integration291292Procurement data feeds into daily reports:293294- **Receiving log** — Materials delivered today (from Delivery logs)295- **Material status dashboard** — At-risk items flagged by Status action296- **Certification tracker** — Certs due/received, missing items297- **Vendor performance** — On-time delivery, quality, responsiveness notes298299---300301## File Structure302303```304material-tracker/305├── SKILL.md (this file)306└── references/307 ├── delivery-verification.md308 └── cert-tracking.md309```310