membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
- License 许可
- MIT
- 最近更新
- 2026-11-03
- Stars
- ★ 21
- Forks
- 18
01 前言 Front Matter
- name
- membership-card-png
- description
- Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
02 资源文件 1
- 脚本card_png.py6.6 KB
03 SKILL.md 正文
BlastPass Membership Card PNG Generator
This skill produces a digital BlastPass membership card as a shareable image by
running the bundled card_png.py script. It is the self-serve companion to
membership-card-pdf: when a member reissues a lost, stolen, or damaged card, you
mint a new serial via the Membership MCP and hand the member a PNG to save to their
phone while the physical card ships.
You do not write any Python. You take the member record you already pulled from
the Membership MCP (get_membership) and the new serial returned by
reissue_card, then run the bundled script with those values as CLI flags.
Never invent a member, tier, or serial number — every value on the card comes from the MCP results. The script only draws the card; it does not decide anything.
When to use
Use this skill in the self-serve card reissue scenario, after:
get_membership(customer_id)confirmed the member and returned their details.- The member verified their identity (last 4 of the console serial).
reissue_card(customer_id, reason)deactivated the old card and returned anew_card_serial.
Use the PDF skill instead when an in-store associate needs a printable card. Use this PNG skill when the member needs an on-screen / saveable card.
Inputs (map MCP results → CLI flags)
| Script flag | Source |
|---|---|
--member-name |
get_membership.member_name |
--member-id |
get_membership.customer_id |
--tier |
get_membership.tier (e.g. "BlastPass Plus Extra") |
--tier-code |
get_membership.tier_code (plus | extra | mega) — drives accent color & perks |
--card-serial |
reissue_card.new_card_serial (the freshly minted card; falls back to get_membership.card_serial if not a reissue) |
--console-serial |
get_membership.console_serial |
--member-since |
get_membership.activation_date |
--valid-through |
get_membership.term_end_date |
--out |
optional output path (default blastpass_card.png) |
The --tier-code selects the card's accent color, header badge, and the perks line
printed beneath the card:
plus→ blue, "PLUS", 5% off + 10 BlastPoints/$1extra→ purple, "PLUS EXTRA", 10% off + 20% BlastPoints bonusmega→ orange, "MEGA!!!", 15% off + 50% BlastPoints + day-one exclusives
Workflow
1. Gather the confirmed values
From get_membership (tier, dates, console serial, name, id) and from
reissue_card (new_card_serial). Do not pass any value the MCP didn't return.
2. Run the bundled script
Pass the confirmed values as flags. The script writes blastpass_card.png to the
working directory (or --out) and prints a one-line confirmation:
python3 card_png.py \
--member-name "Jordan Pixel" \
--member-id MEGA-BLAST-1024 \
--tier "BlastPass Plus Extra" \
--tier-code extra \
--card-serial BLAST-A1B2-1024 \
--console-serial OMEGA-7F3A-1024 \
--member-since 2026-02-26 \
--valid-through 2027-02-26
--card-serial must be the new serial from reissue_card — never the old
(now-deactivated) one.
3. Hand back the image
Tell the member their new digital card is ready (blastpass_card.png), read back
the new card serial and tier so they can confirm it, and remind them the old
card is now deactivated and the physical replacement ships in ~7 days.
Notes
- The bundled script is
card_png.py, validated against the four mock members in the Membership MCP. It depends only onmatplotlib(available in the runtime). - The card serial shown is the new one from
reissue_card; the old serial is already deactivated server-side, so it must never appear on the card. - The barcode is decorative (deterministic from the card serial) — it is not a real scannable symbology.
- All data is mock; the card is for demo purposes only.
04 同仓库更多 Skills
slip-pdf-generator
Generate a printable BlastBox return / RMA / exchange slip as a PDF for the associate to hand to the customer. Use at the end of a return, warranty swap, membership cancellation, or upgrade once all amounts are final. The skill runs a bundled Python script that renders the confirmed slip values into a real PDF file.
points-reconciliation
Reconcile a customer's BlastPoints loyalty balance after a complex visit (purchases, returns, promo multipliers, expiry) and convert the net balance to store credit. Use when an associate asks about a member's points, or after a return that should claw back previously earned points. The skill runs a bundled Python script that applies the base earn rate, promo multipliers, tier bonus, clawbacks, and expiry, then prints a points ledger and the redeemable store-credit value.
prorated-refund-calculator
Calculate the exact prorated refund when a customer cancels a BlastPass membership, and the net settlement when a defective unit is traded up to a pricier model. Use after the Store Policy Agent confirms the refund rule and the Membership MCP has returned the membership details. The skill runs a bundled Python script so the arithmetic is exact.
membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
slip-pdf-generator
Generate a printable BlastBox return / RMA / exchange slip as a PDF for the associate to hand to the customer. Use at the end of a return, warranty swap, membership cancellation, or upgrade once all amounts are final. The skill runs a bundled Python script that renders the confirmed slip values into a real PDF file.