Route every saintjavelin.com visitor to the best next action — buy, gift, support Made-in-Ukraine production, learn impact, donate to vetted partners, subscribe, share, or wait for a drop — optimizing trust, repeat purchase, and mission credibility over single-session conversion. Prefers the site's published agents.md + UCP MCP over scripted browsing.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versioncreate-visitor-routing-skillExecute the skills CLI command in your project's root directory to begin installation:
Fetches create-visitor-routing-skill from saintjavelin.com/create-visitor-routing-skill-ukomyn and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate create-visitor-routing-skill. Access via /create-visitor-routing-skill in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
0
upvotes
Run in your terminal
0
installs
0
this week
—
stars
| name | create-visitor-routing-skill |
| title | Saint Javelin Visitor & Cause-Commerce Router |
| description | >- Route every saintjavelin.com visitor to the best next action — buy, gift, support Made-in-Ukraine production, learn impact, donate to vetted partners, subscribe, share, or wait for a drop — optimizing trust, repeat purchase, and mission credibility over single-session conversion. Prefers the site's published agents.md + UCP MCP over scripted browsing. |
| website | saintjavelin.com |
| category | commerce |
| tags | - commerce - cause-marketing - shopify - ucp - ukraine - routing - agents-md |
| source | 'browserbase: agent-runtime 2026-05-20' |
| updated | '2026-05-20' |
| recommended_method | mcp |
| alternative_methods | - method: mcp rationale: >- Saint Javelin publishes a UCP MCP endpoint at /api/ucp/mcp with search_catalog, create_cart, create_checkout, update_checkout, complete_checkout tools — the brand-blessed agent surface. - method: api rationale: >- Public Shopify JSON endpoints (/products.json, /collections.json, /products/{handle}.js, /search?q=...&view=json) are open, unauthenticated, and proxy-friendly for read-only catalog work. - method: hybrid rationale: >- Shop skill at shop.app/SKILL.md is the agents.md-recommended path for personal shopping assistants that need buyer-approved checkout via Shop Pay. - method: browser rationale: >- Fallback for trust-proof pages (/blogs/our-impact, /pages/our-story, /pages/where-to-donate) and any rendered surface the JSON endpoints don't expose. |
| verified | true |
| proxies | true |
A routing playbook for AI agents (personal shoppers, chat assistants, browse-sh skills) and human concierge surfaces to send each visitor to the single best action on saintjavelin.com — buy a relevant product, choose a gift, support Made-in-Ukraine production, learn the impact story, donate to vetted partners, join email/SMS, share the cause, or come back for a drop. Optimizes jointly for the visitor's stated need, Saint Javelin's economics, and durable support for Ukraine. Read-only on the catalog side; all transactions stay buyer-approved.
This is a cause-commerce skill, not a pure conversion funnel: Saint Javelin is a heritage outdoor lifestyle brand whose margin funds Made-in-Ukraine production (apparel sewn in Kharkiv, the largest frontline city) and whose audience overlaps with a repeat-game community of supporters. Trust, accuracy, and mission credibility outrank single-transaction lift.
Assumption made (since the brief is generic): the agent calling this skill has the visitor's first-turn message, optional locale/country, and a budget hint, but no prior cart or account context. If you have account context, prefer the Shop skill (see Workflow §1).
Saint Javelin publishes a canonical agents.md and a Universal Commerce Protocol (UCP) MCP endpoint. Always check these first; only fall back to browser flows when the agent surface is unavailable or the visitor's intent is non-transactional (impact reading, donating, sharing).
| Surface | URL | Use for |
|---|---|---|
| Agent manifest | GET https://www.saintjavelin.com/agents.md | Confirm endpoints + Shop skill recommendation |
| UCP discovery | GET https://www.saintjavelin.com/.well-known/ucp | Capability + payment-handler list |
| UCP MCP | POST https://www.saintjavelin.com/api/ucp/mcp (JSON) | tools/list → search_catalog, create_cart, create_checkout, update_checkout, complete_checkout |
| Shop skill | https://shop.app/SKILL.md | Cross-store buy-for-me w/ Shop Pay (recommended for personal shopping assistants per agents.md) |
| Products JSON | GET /products.json?limit=250&page=N | Full catalog, paginated |
| Single product | GET /products/{handle}.json or .js | Variants, live available flag, price in cents, compare_at_price, requires_selling_plan, tags |
| Collections | GET /collections.json then GET /collections/{handle}/products.json | Curated lists (Best Sellers, Ukraine Gear, Saint Javelin Day, etc.) |
| Search | GET /search?q={query}&type=product&view=json | Free-text product search |
| Sitemap | GET /sitemap.xml (and /sitemap_agentic_discovery.xml) | URL discovery |
Decision tree at first turn:
agents.md explicitly recommends this and Shop Pay handles the buyer-approval invariant on payment./blogs/our-impact and /pages/our-story over a residential-proxy Browserbase session if you need rendered content. Both pages render fine without JS./pages/where-to-donate and let them choose from Saint Javelin's vetted partner list. Routing pure-donation intent to a t-shirt is brand-damaging and breaks the repeat-game.[email protected] (or phone +1 647-291-0583 for time-sensitive press). Do not script-fill a contact form on their behalf without consent.Score the visitor's request along four axes, in this order. Stop at the first one that fires.
| Priority | Intent signal | Destination | Why |
|---|---|---|---|
| 1 | "I want to donate / how do I help Ukraine financially" with no product interest | /en-us/pages/where-to-donate | Don't fake-route donation intent into commerce |
| 2 | "Show me what supports Ukraine and I get something" / "ethical merch" | /en-us/collections/ukraine-gear + /en-us/blogs/our-impact | Made-in-Ukraine production is the differentiator |
| 3 | "Gift for someone who supports Ukraine / is Ukrainian / served / diaspora" | /en-us/collections/best-sellers filtered by giftable price tier (see Product Rules below) | Gift buyer wants social proof + price visibility |
| 4 | "Tryzub" / "Vyshyvanka" / "diaspora" / "cultural pride" | /en-us/collections/tryzub and Vyshyvanka product pages | Cultural-pride buyer is high-trust, high-AOV |
| 5 | "Backpack" / "EDC" / "tactical gear" / "outdoor" | /en-us/products/edc-mission-backpack + /en-us/collections/bags-and-gear | EDC Mission Backpack is the flagship gear hero |
| 6 | "T-shirt" / "hoodie" / generic apparel | /en-us/collections/shop-all-apparel then specific sub-collection | Standard apparel funnel |
| 7 | "What's new" / "new drop" / repeat customer | /en-us/collections/new then the current dated drop (e.g., /en-us/collections/saint-javelin-day for the 2026 Saint Javelin Day Drop visible at run time) | Repeat-customers came for novelty; show them the latest |
| 8 | "Is this legit / does the money actually help / who runs this" | /en-us/pages/our-story + /en-us/blogs/our-impact + /en-us/pages/in-the-media + /en-us/pages/reviews | Skeptical-visitor surface; do not push to buy until trust is established |
| 9 | "Cheap / under $30 / starter" | Patches (/en-us/collections/patches), Stickers (/en-us/collections/stickers), Socks (/en-us/collections/socks) | Low-entry tier; the Ukrainian Flag Embroidered Patch ($20) is the canonical entry SKU |
| 10 | "Collector" / "limited" / "I already have X" | Current dated drop collection (live-check the homepage New menu) and Collaborations (3rd Army Corps, keep, RBTNK) | Collectors track drops; honor that without fabricating urgency |
| 11 | "Press / media / partner / wholesale / collab" | [email protected] + /en-us/pages/in-the-media | Don't route press through the shopping funnel |
| 12 | Visitor wants to share, no commerce intent | Social handles: instagram.com/saintjavelin, x.com/saintjavelin, tiktok.com/@saintjavelinofficial, youtube.com/@saintjavelinofficial, facebook.com/saintjavelin, threads.com/@saintjavelin | Maximize organic reach; do not gate sharing on email signup |
Fallback for ambiguous intent: open with Best Sellers + one sentence of brand context + a CTA to either "browse the cause" (Ukraine Gear) or "see how it gets made" (Impact blog). Never default to a paid push.
When you have a candidate set (search results, a collection page, a recommendation slot), rank with this weighted rubric. Higher is better; ties broken by updated_at (recency).
score =
3.0 * visitor_fit (intent-match: keyword, recipient, occasion)
+ 2.5 * mission_alignment (Made-in-Ukraine tag: "made in ukraine" / "madeinua")
+ 2.0 * usefulness (everyday-wearable / functional > novelty)
+ 1.5 * giftability (price tier matches gift budget; gift-wrappable form factor)
+ 1.5 * trust_proof (best-seller badge, has reviews, in long-running collection)
+ 1.5 * repeat_value (durable category: gear, basics, outerwear)
+ 1.0 * cause_alignment (drop tied to a defender / unit / NGO collab e.g. 3rd Army Corps)
+ 1.0 * conversion_history (in /collections/best-sellers — proxy for revealed preference)
- 2.0 * brand_risk (overtly partisan / inflammatory copy when visitor signal is "supporter, casual")
- 1.0 * live_check_needed (selling-plan-only, out-of-stock — penalize but do not exclude; fetch /products/{handle}.js to verify)
Penalize, don't exclude, items that are out-of-stock or selling-plan-only; surface them with a "join waitlist" or "back in stock" affordance instead of hiding inventory and pretending the catalog is smaller than it is.
The best choice is not always the most expensive item. Examples:
When trust is the bottleneck, do not ship them to a PDP. Stage the proof in this order:
/en-us/pages/our-story — founder Christian Borys, origin (Feb 2022, sticker-fundraising → apparel brand), pivot to Made-in-Ukraine production by mid-2022./en-us/blogs/our-impact — articles on Kharkiv production, NGO partnerships, designer collabs (e.g., Anthology of Saint Javelin by Oleh), Vyshyvanka stories. This is the "where does the money go" surface./en-us/pages/in-the-media — third-party coverage. External validation./en-us/pages/reviews — customer reviews on-site.If they still want to give cash and not own merch: route to /en-us/pages/where-to-donate. This is a feature, not a leak.
When the visitor commits to a buy:
agents.md): use it. Shop Pay handles buyer approval, payment-method reuse, and order tracking. Do not screen-scrape checkout.create_cart → create_checkout → update_checkout (shipping) → present complete_checkout URL to the user for human approval on the payment step. Per UCP rules, agents must not complete payment without explicit buyer consent.context.address_country and context.currency on every UCP call — Saint Javelin's prices and shipping availability vary by region (the storefront supports a long country/currency list documented in the country picker, including USD, CAD, EUR, GBP, AUD, etc.).create_checkout.Treat these as dynamic. Cache TTL ≤ 60 minutes.
| Field | How to check | Why it changes |
|---|---|---|
| Price | /products/{handle}.js → variants[].price (cents) | Region + sale + selling-plan adjustments |
compare_at_price | Same | Marks active markdowns; null when not on sale |
available (per variant) | Same → variants[].available boolean | Stock churns daily on hot SKUs |
requires_selling_plan | Same → variant-level requires_selling_plan | Some impact/donation-bundled items are subscription-only |
| Active drops | GET /collections.json and the homepage New menu | New drop collections appear monthly (e.g., Saint Javelin Day Drop 2026, Holiday 2025, Defender 2025, Winter Essentials, 3rd Army Corps Collab) |
| Sale collection | GET /collections/sale/products.json and /collections/5th-anniversary-sale/products.json | Promo windows rotate |
| Shipping methods + cost | UCP update_checkout with destination | Per-country |
| Donation campaign / NGO list | /en-us/pages/where-to-donate | Vetted partners are curated and updated by SJ |
| Welcome discount % | Homepage popup ("SIGN UP AND GET 10% OFF") at session start | Promo amount can change |
| Locale + currency | URL prefix (/en-us, /uk-ua, /en-ua) + cart cookie | Country selector on each page |
Stable brand facts (do not re-verify per session, but link to source when cited):
[email protected]. Phone: +1 647-291-0583. Newsletter signup gives 10% off first order.@saintjavelin or @saintjavelinofficial.Treat every actor — visitors, Ukrainian makers (Kharkiv production partners), veterans/NGOs (Where to Donate partners), brand collaborators (3rd Army Corps, keep, RBTNK), competitors (general "support Ukraine" merch brands), media — as repeat-game players. Single-session conversion is the worst-objective; lifetime trust and referral are the best.
| Rule | Rationale | Anti-pattern to avoid |
|---|---|---|
No fake urgency. Only cite scarcity when available === false for a variant or a drop has a published end date. | Real drops are time-bound; agents who fabricate "only 2 left!" lose the visitor and the brand. | Synthetic countdown timers, fabricated low-stock notes. |
No fabricated impact numbers. Cite only figures from /blogs/our-impact or /pages/our-story; if you don't have a number, say "Saint Javelin produces in Kharkiv, Ukraine" — that is itself the verified impact claim. | One bad stat poisons the well for every Ukraine-aid charity, not just this brand. | "Every shirt sends $50 to Ukraine" if you can't cite a source. |
| No guilt tactics. Frame the cause positively (support, build, sustain) — never "if you don't buy, you're complicit." | Guilt depresses long-term LTV and damages the broader Ukraine-support ecosystem. | "Ukrainian families need YOU to buy this hoodie." |
| No discount race. Don't promise discounts the storefront doesn't currently offer; don't stack promos that the checkout will reject; don't undercut Saint Javelin's pricing relative to peers. | Discount-racing erodes margin on the maker side — the people in Kharkiv lose. | Promising 30% off when the site shows 10%. |
Donation honesty. When the buyer wants to donate, route them off the storefront to /pages/where-to-donate. | Forcing donations into merch destroys donor trust and conflates two distinct intents. | Suggesting "buy a $5 sticker" instead of presenting the donate page. |
| Maker visibility. When applicable, name the production locale ("sewn in Kharkiv"). | Surfaces the differentiated value chain and the actual humans the margin supports. | Generic "ethically made" boilerplate. |
| Cite, don't paraphrase, brand claims. Link to source pages. | Hallucinated brand history erodes trust faster than any conversion gain. | Inventing founding dates, defender unit names, NGO partners. |
| Respect agent surfaces. Use UCP/Shop over scraping. | The brand explicitly invests in agent-friendly endpoints; honoring them is a credibility signal. | Headless-browser checkouts that bypass agents.md guidance. |
Read-only on third-party sites. When routing to a partner NGO from where-to-donate, hand off the link; don't try to script their donation form. | Donation forms are payment-bearing and not idempotent. | Auto-filling a charity's donate form. |
A. First-time visitor, "I want to support Ukraine and get something":
Two paths. If you want something to wear that funds Made-in-Ukraine production, start with the Ukraine Gear collection or the Best Sellers (
/en-us/collections/ukraine-gear,/en-us/collections/best-sellers). The apparel is sewn in Kharkiv — that's the differentiator vs other "support Ukraine" merch. If you'd rather donate cash directly to vetted charities, Saint Javelin maintains a curated list at/en-us/pages/where-to-donate. Either is a real answer; pick on intent.
B. Gift-buyer, $30 budget, "for someone who supports Ukraine":
Two strong picks under $30: the Ukrainian Flag Embroidered Patch ($20) — wearable on jackets, packs, scout uniforms — or a sticker / socks pair from
/en-us/collections/socks. Both are Made-in-Ukraine signal items and ship light. Skip the apparel tier unless you know their size.
C. Skeptical, "is this legit":
Saint Javelin started in February 2022 as a fundraising sticker by Toronto-based journalist Christian Borys, and pivoted to Made-in-Ukraine apparel later that year. Production is in Kharkiv. Read
/en-us/pages/our-storyand/en-us/blogs/our-impactfor sourcing detail and/en-us/pages/in-the-mediafor third-party coverage. No need to buy anything to vet — if you want to give directly to charity instead,/en-us/pages/where-to-donatelists vetted partners.
D. Returning customer, "what's new":
Current drops live on
/en-us/collections/new. Live-check today: Saint Javelin Day Drop 2026, Winter Essentials, the 3rd Army Corps collab, Defender 2025, Holiday Drop 2025. The 5th Anniversary Sale is also running. (Verify live — drops rotate monthly.)
E. Donation-only intent:
If you're not looking for merch, skip the store and use
/en-us/pages/where-to-donate— Saint Javelin has a curated list of vetted Ukraine-support charities. Their margin funds Kharkiv production; direct donations get to NGOs faster and 100% on the dollar.
F. Press / partner outreach:
For media, partnership, or wholesale inquiries:
[email protected]. Time-sensitive press:+1 647-291-0583. The/en-us/pages/in-the-mediapage lists prior coverage as context.
Track these across the routed sessions so the router can be tuned on outcomes, not vibes.
| Metric | Definition | Health signal |
|---|---|---|
| Conversion rate | sessions that completed create_checkout ÷ sessions routed to a PDP | up = the router picked correctly |
| Average order value (AOV) | mean order value, segmented by intent class | Cultural-pride and gear segments should run higher than entry-tier |
| Repeat-purchase rate (90d) | unique buyers with ≥2 orders in 90 days | Trust + drop calendar are working |
| Email/SMS capture rate | sessions that opted in ÷ sessions reached signup surface | Healthy: > 8% on first-touch; > 25% post-purchase |
| Referral rate | visitors who shared a product/page after the session | Cause-merch is share-driven; track UTMs |
| Impact-content engagement | sessions that opened ≥1 article on /blogs/our-impact or /pages/our-story | Proxy for trust establishment |
| Donate-page CTR (for donation-intent sessions only) | sessions correctly routed off-site to /pages/where-to-donate | If this is < 80% for donation-intent sessions, the router is over-pushing commerce |
| Customer satisfaction (CSAT) / sentiment | post-session rating or sentiment classifier on the user's final message | Long-term LTV proxy |
| Live-check accuracy | % of cited prices, stock states, and drop names that matched the live storefront at session start | Hallucination rate; must stay > 99% |
| Brand-risk incidents | sessions where the agent stated a fabricated impact figure, fake-urgency claim, or guilt frame (sampled human review) | Must be ~0; one bad cite outweighs many conversions |
agents.md is canonical — read it every session. Saint Javelin publishes https://www.saintjavelin.com/agents.md and a UCP MCP at /api/ucp/mcp. The agent manifest explicitly recommends the Shop skill (shop.app/SKILL.md) for personal-shopper agents. Don't reinvent checkout by scripting the Shopify storefront./en-us, /uk-ua, /en-ua. Default storefront serves /en-us to US IPs and the country selector + cookies (localization=CA, cart_currency=CAD, etc.) drive currency. When citing a URL to a non-US buyer, prefer the bare collection slug (/collections/...) and let the storefront localize.requires_selling_plan: true at the variant level, often used for donation-bundled or subscription items. Don't read it as "out of stock"; fetch /products/{handle}.js and present the selling-plan options when relevant.available: false ≠ discontinued. Variants frequently restock;Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
davila7/claude-code-templates
vercel-labs/agentic-commerce-skills
nvidia/skills
biomacoffee.com/search-specialty-coffee-7o23nx
jezweb/claude-skills
elektrik220.km.ua/book-electrician-service-1f97c5
create-visitor-routing-skill fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Keeps context tight: create-visitor-routing-skill is the kind of skill you can hand to a new teammate without a long onboarding doc.
We added create-visitor-routing-skill from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
create-visitor-routing-skill reduced setup friction for our internal harness; good balance of opinion and flexibility.
Registry listing for create-visitor-routing-skill matched our evaluation — installs cleanly and behaves as described in the markdown.
I recommend create-visitor-routing-skill for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
create-visitor-routing-skill has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: create-visitor-routing-skill is focused, and the summary matches what you get after install.
Registry listing for create-visitor-routing-skill matched our evaluation — installs cleanly and behaves as described in the markdown.
create-visitor-routing-skill reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 34