- `dbt_project_map` reports "WARNING: Models use current_date" - `dbt run` produces far more rows than expected in a date-spine model
Scanned 6/7/2026
Install via CLI
openskills install SignalPilot-Labs/SignalPilot---
name: dbt-date-spines
type: skill
---
# dbt Date Spine Hazard — Fixing current_date in Model Files
## When This Applies
- `dbt_project_map` reports "WARNING: Models use current_date"
- `dbt run` produces far more rows than expected in a date-spine model
These are pre-shipped model SQL files in `models/` — you have direct write access.
For general date spine syntax, see `duckdb-sql` skill section 2.
## Fix Pattern
Edit the model SQL directly. Replace `current_date`/`current_timestamp`/`now()` with a data-driven endpoint — a subquery from the primary fact table:
```sql
-- Before: ... CURRENT_DATE ...
-- After: ... (SELECT MAX(order_date) FROM {{ ref('stg_orders') }}) ...
```
Use the fact table with the most rows, or the one referenced in the task instruction.
## Package Model Override
If the flagged file is in `dbt_packages/` (marked "PACKAGE MODEL" in the warning):
1. Read the full SQL from the package model file
2. Create `models/<same_filename>.sql` — dbt prioritizes local models over package models
3. Paste the entire package SQL into the new file and replace `current_date` with the data-driven endpoint
4. Add `{{ config(materialized='table') }}` at the top
Example: if `dbt_packages/shopify_source/models/stg_shopify__order.sql` uses `current_date`:
```sql
-- models/stg_shopify__order.sql (local override — copy ENTIRE package SQL here)
{{ config(materialized='table') }}
-- Replace current_date with a data-driven endpoint:
-- (SELECT MAX(order_date) FROM {{ ref('stg_orders') }})
```
Do NOT edit files inside `dbt_packages/` directly — `dbt deps` will overwrite your changes.
## Finding the Right Date
Call `mcp__signalpilot__get_date_boundaries(connection_name="<id>")`.
Use the primary fact table's max date (marked "USE THIS"). Never use the global max — dimension tables often have later dates.
## Verification
```
dbt run --select <model_name>
```
```sql
SELECT MIN(date_col), MAX(date_col), COUNT(*) FROM <model_name>
```
The spine's max date must match the source data's endpoint, not today's date.
No comments yet. Be the first to comment!
This skill provides comprehensive analysis of competitor SEO and GEO strategies, revealing what's working in your market and identifying opportunities to outperform the competition.
Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 7 modes: full research, quick brief, paper review, lit-review, fact-check, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report compilation, editorial review...
Use when an operation issue is a Paperclip cursor-window, distill, or backfill — `operationType: "distill"` or `"backfill"` and the body references a Paperclip source bundle for a project or root issue. Turn raw Paperclip activity into a wiki-insightful project page, decisions log, and history note. This skill exists specifically to replace the stiff, datestamp-heavy templated output that the deterministic distiller produces.
Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory integrity verification, two-stage peer review, and reproducible quality gates. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end paper, research-to-publi...
Semantic search, similar content discovery, and structured research using Exa API