Source

Meridian Skills

Twenty Claude skills for the weekly work of a print and display shop: CRM routing, outreach enrichment, storefront data, artwork prep, SOPs and customer email in one voice. The company is fictional.

  • Python
  • Claude skills
Repository
mattrguerra/meridian-skills
Branch
main
Files
83 files · 43 folders
Languages
Python 89% · HTML 11%
Visibility
Private on GitHub, published here in full

Meridian Skills

Twenty Claude skills for the jobs that come round every week at a print and display shop: routing and triaging the CRM, enriching and loading outreach cohorts, pulling production speeds and product specs off the storefront, rebuilding vendor artwork templates, prepping low-resolution artwork for upscaling, writing SOPs, and answering customers in one person's voice.

The company is fictional. These skills were built for, and used every day at, a real print and display shop. Here they serve Meridian Display Co., the invented company behind meridian-ops-board, meridian-crm-mcp and meridian-orders-mcp. Its staff, clients, products, storefront, prices and examples are all invented; the skills and what they teach are the real ones. The one real person is Matt Guerra, who built them: matt-guerra-email is his own voice with customers.

The skills

Skill What it does Works with
CRM and outreach
bitrix-pipeline-board An interactive board of the open lead pipeline by owner and stage, each lead linked Bitrix24
bitrix-task-router Assigns open tasks by a routing rule, previews every change, writes only on --commit Bitrix24
bitrix-tracker A read-only digest: overdue, unassigned, stale, changed since yesterday Bitrix24
matt-easy-win-bitrix-triage Finds leads that should close as junk or out of scope, and produces a reviewed worklist first Bitrix24
client-enrich Enriches outreach client records with company and contact research, written back per contract Apollo, Apify
partner-pipeline-push Pushes an enriched cohort into a deal funnel and posts each profile on its deal Bitrix24
Catalog and storefront
product-lookup Product sizes, materials and options for the catalog
site-safe-fetch Crawls the storefront without tripping its WAF or saturating the origin
production-speed-csv A CSV of turnaround options for every product in a category, with an offline test fixture
category-page-filter Designs a category page's filter sidebar and renders a working prototype
thanksio-postcard-formatter Turns an order export into clean, ready-to-send postcard mailing CSVs Thanks.io
Artwork and images
artwork-template-rebuilder Rebuilds an off-standard vendor artwork template to the house standard, layers and all PDF
topaz-prepress Preps low-resolution images for an upscale and recommends the Topaz model and settings per image Topaz Gigapixel
lowres-logo-rescue Denoises, upscales, sharpens and flattens a blurry logo until it is readable and traceable Python
kittl-ai-edit Drives Kittl's AI image tools to fix a mockup while keeping its artwork, text and colours Kittl, Claude in Chrome
Writing and documents
matt-guerra-email Drafts and replies to customer email in Matt Guerra's voice
sop-author Writes an SOP in the company's .docx format, from a structured spec Word (.docx)
Team and general
preferences-setup Interviews a staff member and writes their Claude personal-preferences block Claude Teams
cowork-project-architect Scaffolds a complete Claude project as an Obsidian vault, through intake and sign-off Claude, Obsidian
plan-build-loop Plans every item in a list against one goal, gets one sign-off, then builds them all Claude

Each skill is a folder under skills/: its SKILL.md (the instructions Claude follows, with the frontmatter that decides when it triggers), plus any scripts/, references/, templates/ or assets/ it uses.

Build and install

python3 scripts/pack_skill.py              # every skill -> dist/<name>.skill
python3 scripts/pack_skill.py sop-author   # just one

A .skill file is the skill's folder as a zip, the format Claude installs skills from. The pack script refuses a folder whose frontmatter name does not match its folder, because that name is how an installed skill is identified. It leaves out a local .env or config.json, which hold live webhook URLs.

Some skills run Python scripts. They need Python 3.10+, and a few need packages: python-docx (sop-author), pillow, numpy, opencv-python, scikit-learn and scipy (the image skills), reportlab, pdfplumber and pikepdf (artwork-template-rebuilder). The Bitrix scripts run offline against their bundled samples with --mock.

Checks

Everything here runs offline, with no credentials and no packages beyond pytest:

python3 scripts/pack_skill.py     # all twenty skills pack
python3 -m pytest tests           # the fixture diff and both --mock runs

The tests wrap three commands that can also be run by hand:

(cd skills/production-speed-csv/scripts && python3 build_speed_csv.py fixtures/category-10x10-booths.html /tmp/speeds.csv && diff /tmp/speeds.csv fixtures/expected.csv)
python3 skills/bitrix-task-router/scripts/bitrix_router.py --mock
python3 skills/bitrix-tracker/scripts/bitrix_tracker.py --mock

CI (.github/workflows/checks.yml) runs the pack, the tests and an em dash scan on every push.