| name | gi-pipeline-utils |
| description | Utility automations for The Great Inversion asset pipeline. Use when Tim says "advance to approved," "move to review," "mark as published," "rename files," "fix filenames," "generate filename," "pipeline status," "weekly digest," "what needs attention," or wants tracker updates, naming convention enforcement, or a pipeline health summary. Handles stage transitions across all tracker tabs, auto-generates filenames from metadata, and produces weekly digests of pipeline state. |
| metadata | {"author":"Tim Dickey","version":"1.0","pipeline-step":"utility"} |
GI Pipeline Utils
Three utility automations that support the entire GreatInvert Asset Pipeline.
When to Use This Skill
Use when Tim asks to:
- Move assets through stages (Draft, Review, Approved, Web-Ready, Published, Archived)
- Update the tracker after reviewing or approving assets
- Rename files to match the naming convention
- Generate a filename from metadata
- Check pipeline status or get a weekly digest
- Find out what needs attention this week
Automation 1: Tracker Updates (advance_stage.py)
Moves assets through pipeline stages and handles all side effects automatically.
Stage Transitions and Side Effects
| Transition | What It Updates |
|---|
| Draft → Review | Sets Reviewer in Asset Register |
| Review → Approved | Sets QA_Status, validates filename |
| Approved → Web-Ready | Updates Stage (optimization done by gi-web-optimizer) |
| Web-Ready → Published | Sets Publish_Date, adds/updates Publishing Queue entry, sets status to Live |
| Published → Archived | Creates Archive/Learnings entry, marks queue as Archived |
How to trigger
- Say: "Move AST-001 to Approved" or "Mark AST-005 as published"
- Say: "Advance AST-001,AST-002 to Review" with reviewer name
Usage
python scripts/advance_stage.py <tracker.xlsx> AST-001,AST-002 Approved \
--reviewer "Tim" --qa-status "Pass" --alt-text "Hero image for homepage"
Options:
--reviewer STR — Reviewer name
--qa-status STR — Pass or Needs-Work
--alt-text STR — Alt text for accessibility
--url STR — Live URL (for Published stage)
--notes STR — Add notes to the asset
--dry-run — Preview without writing
Automation 2: Naming Convention Enforcement (build_filename.py)
Auto-generates filenames from asset metadata using the pattern:
GI_[product]_[theme]_[type]_[channel]_[stage]_[yyyymmdd]_v01
How to trigger
- Say: "Fix filenames" or "Rename AST-003 to match the convention"
- Say: "Generate a filename for a playbook hero image"
Usage — from tracker metadata
python scripts/build_filename.py <tracker.xlsx> AST-001,AST-002
python scripts/build_filename.py <tracker.xlsx> AST-001,AST-002 --apply
Usage — standalone generation
python scripts/build_filename.py --generate \
--product playbook --theme ai-fluency --type hero \
--channel home --stage approved
Validates against allowed values and warns on non-standard fields.
Automation 3: Weekly Digest (weekly_digest.py)
Scans the entire pipeline and produces a status summary.
What it checks
- Assets by stage (Draft, Review, Approved, Web-Ready, Published)
- Briefs pending approval
- Publishing Queue: scheduled vs live, overdue items, upcoming (14 days)
- Published assets due for performance review (7+ days live)
- Archive entries needing performance data
How to trigger
- Say: "Pipeline status" or "What needs attention?"
- Runs automatically every Monday morning as a scheduled task
Usage
python scripts/weekly_digest.py <tracker.xlsx>
python scripts/weekly_digest.py <tracker.xlsx> --output digest.md
python scripts/weekly_digest.py <tracker.xlsx> --json
Recurring Schedule
This skill includes a Monday morning recurring task that:
- Downloads the latest tracker from Google Drive
- Runs the digest scan
- Sends Tim a notification with action items
Examples
Move assets through the pipeline:
"Move AST-003 and AST-004 to Approved — QA passed, reviewer is Tim"
"Mark AST-007 as published at https://greatinvert.com/blog/ai-fluency"
Fix filenames:
"Rename all draft assets to match the naming convention"
"Generate a filename for a playbook mockup for the product page"
Check pipeline:
"What's the pipeline status?"
"What needs attention this week?"