claude-code-arcane 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +5 -4
  3. package/agents/ecommerce/ecommerce-architect.md +60 -0
  4. package/dist/cli.js +2 -0
  5. package/docs/SKILLS-CATALOG.md +25 -2
  6. package/docs/USER-GUIDE.md +2 -2
  7. package/docs/coding-standards.md +26 -0
  8. package/package.json +2 -1
  9. package/profiles/ecommerce.yaml +48 -0
  10. package/profiles/job-hunt.yaml +12 -2
  11. package/rules/drafter-reviewer.md +39 -0
  12. package/skills/cart-checkout/SKILL.md +85 -0
  13. package/skills/cart-checkout/references/checkout-flow-spec.md +50 -0
  14. package/skills/cold-outreach/SKILL.md +10 -10
  15. package/skills/cold-outreach/references/recruiter-playbook.md +5 -5
  16. package/skills/commerce-analytics/SKILL.md +85 -0
  17. package/skills/commerce-analytics/references/ga4-ecommerce-events.md +63 -0
  18. package/skills/commerce-analytics/scripts/ga4_ecommerce_validate.py +134 -0
  19. package/skills/commerce-data-model/SKILL.md +84 -0
  20. package/skills/commerce-data-model/references/data-model-spec.md +79 -0
  21. package/skills/cover-letter/SKILL.md +8 -8
  22. package/skills/cv-ats-export/SKILL.md +19 -6
  23. package/skills/cv-ats-export/scripts/cv_export.py +49 -4
  24. package/skills/cv-ats-export/scripts/verify_pdf.py +90 -0
  25. package/skills/cv-tailor/SKILL.md +7 -7
  26. package/skills/cv-tailor/references/ats-keywords.md +9 -9
  27. package/skills/interview-prep/SKILL.md +7 -7
  28. package/skills/interview-prep/references/star-framework.md +10 -10
  29. package/skills/inventory-stock/SKILL.md +86 -0
  30. package/skills/inventory-stock/scripts/restock_forecast.py +173 -0
  31. package/skills/job-aplicar/SKILL.md +88 -0
  32. package/skills/job-hunt/SKILL.md +20 -13
  33. package/skills/job-hunt/references/templates/Aplicacion.md +6 -2
  34. package/skills/job-hunt/references/templates/CV Custom.md +1 -1
  35. package/skills/job-hunt/references/templates/Contacto.md +1 -1
  36. package/skills/job-hunt/references/templates/Dashboard.md +19 -15
  37. package/skills/job-hunt/references/templates/Perfil.md +2 -2
  38. package/skills/job-outcome/SKILL.md +55 -0
  39. package/skills/job-scrape/SKILL.md +95 -0
  40. package/skills/job-scrape/references/dedup-playbook.md +25 -0
  41. package/skills/job-scrape/references/getonbrd-cli.md +62 -0
  42. package/skills/job-scrape/references/getonbrd-urls.md +37 -0
  43. package/skills/job-scrape/references/linkedin-cli.md +64 -0
  44. package/skills/job-scrape/references/linkedin-urls.md +42 -0
  45. package/skills/job-scrape/references/seen_jobs.schema.json +68 -0
  46. package/skills/job-scrape/scripts/getonbrd_search.py +501 -0
  47. package/skills/job-scrape/scripts/linkedin_search.py +428 -0
  48. package/skills/job-search/SKILL.md +22 -19
  49. package/skills/job-search/references/scoring-rubric.md +8 -8
  50. package/skills/job-upskill/SKILL.md +58 -0
  51. package/skills/linkedin-optimize/SKILL.md +5 -5
  52. package/skills/master-profile/SKILL.md +17 -17
  53. package/skills/merchant-feed/SKILL.md +85 -0
  54. package/skills/merchant-feed/references/feed-attribute-map.md +47 -0
  55. package/skills/merchant-feed/scripts/feed_validate.py +140 -0
  56. package/skills/network-map/SKILL.md +7 -7
  57. package/skills/order-lifecycle/SKILL.md +86 -0
  58. package/skills/order-lifecycle/references/order-state-machine.md +53 -0
  59. package/skills/payments-architecture/SKILL.md +80 -0
  60. package/skills/personal-brand/SKILL.md +10 -10
  61. package/skills/personal-brand/references/post-pillars.md +14 -14
  62. package/skills/portfolio-site/SKILL.md +11 -11
  63. package/skills/product-listing/SKILL.md +84 -0
  64. package/skills/promotions-discounts/SKILL.md +80 -0
  65. package/skills/shipping-tax/SKILL.md +85 -0
  66. package/skills/storefront-architecture/SKILL.md +80 -0
  67. package/skills/subscription-billing/SKILL.md +81 -0
@@ -7,7 +7,7 @@ user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Edit
8
8
  ---
9
9
 
10
- # Personal Brand — Autoridad en LinkedIn para la búsqueda
10
+ # Personal Brand - Autoridad en LinkedIn para la búsqueda
11
11
 
12
12
  Construís una marca personal en LinkedIn orientada a conseguir trabajo: un backlog **secuenciado** de ideas de post (ritmo 1/día) que construye autoridad y credibilidad *antes* de salir a hacer outreach, de modo que cuando escribas a un recruiter ya tengan contexto de quién sos.
13
13
 
@@ -15,25 +15,25 @@ Trabajás contra el **perfil maestro** (`01-Perfiles/`) y el rol/empresas objeti
15
15
 
16
16
  ## Los 4 pilares
17
17
 
18
- 1. **Builder credibility** — qué construiste/entregaste, con resultados. Demuestra que hacés, no solo que sabés.
19
- 2. **Lessons from current role** — aprendizajes concretos del trabajo actual/reciente (técnicos y de proceso).
20
- 3. **POVs on your domain** — opiniones/tendencias de tu dominio. Te posiciona como alguien que piensa, no solo ejecuta.
21
- 4. **Behind-the-scenes of the job search** — el viaje de la búsqueda (en su justa medida): genera cercanía y a veces atrae oportunidades directas.
18
+ 1. **Builder credibility** - qué construiste/entregaste, con resultados. Demuestra que hacés, no solo que sabés.
19
+ 2. **Lessons from current role** - aprendizajes concretos del trabajo actual/reciente (técnicos y de proceso).
20
+ 3. **POVs on your domain** - opiniones/tendencias de tu dominio. Te posiciona como alguien que piensa, no solo ejecuta.
21
+ 4. **Behind-the-scenes of the job search** - el viaje de la búsqueda (en su justa medida): genera cercanía y a veces atrae oportunidades directas.
22
22
 
23
23
  Ver `references/post-pillars.md` para ángulos, hooks y formatos por pilar.
24
24
 
25
25
  ## Modos
26
26
 
27
- ### `plan` — Backlog de 90 ideas secuenciadas
27
+ ### `plan` - Backlog de 90 ideas secuenciadas
28
28
  1. Confirmar rol objetivo, empresas y los temas donde el usuario tiene autoridad real (del perfil maestro).
29
29
  2. Generar **90 ideas** repartidas en los 4 pilares. Cada idea = **hook + ángulo + formato** (texto, carrusel, lista, story, hot-take).
30
- 3. **Secuenciar**: los primeros ~30 días priorizan pilares 1–3 (construir autoridad); recién después meter más del pilar 4 y empujar el outreach. La autoridad va antes que el pedido.
30
+ 3. **Secuenciar**: los primeros ~30 días priorizan pilares 1-3 (construir autoridad); recién después meter más del pilar 4 y empujar el outreach. La autoridad va antes que el pedido.
31
31
  4. Entregar como tabla/calendario (día → idea → pilar → formato).
32
32
 
33
- ### `ideas <N>` — Lote de N ideas
33
+ ### `ideas <N>` - Lote de N ideas
34
34
  Generar N ideas frescas para un pilar o tema puntual, mismo formato hook+ángulo+formato.
35
35
 
36
- ### `draft <idea>` — Escribir un post
36
+ ### `draft <idea>` - Escribir un post
37
37
  Convertir una idea en un post listo para publicar: hook fuerte en la primera línea, cuerpo escaneable, CTA o pregunta de cierre. Tono humano, sin clichés de LinkedIn ("I'm humbled to announce…").
38
38
 
39
39
  ## Principios
@@ -43,7 +43,7 @@ Convertir una idea en un post listo para publicar: hook fuerte en la primera lí
43
43
  - **Una idea por post.** Foco.
44
44
  - **Consistencia > perfección.** El plan asume ritmo sostenible; mejor 1/día simple que 1/semana elaborado.
45
45
  - **Autoridad antes que pedido.** No arranques pidiendo trabajo; primero aportá valor.
46
- - **Verdad.** Nada de logros inflados — la audiencia y los recruiters lo notan.
46
+ - **Verdad.** Nada de logros inflados - la audiencia y los recruiters lo notan.
47
47
 
48
48
  ## Idioma
49
49
 
@@ -1,17 +1,17 @@
1
- # Post Pillars — Ángulos, hooks y formatos
1
+ # Post Pillars - Ángulos, hooks y formatos
2
2
 
3
3
  Guía para generar ideas con sustancia por cada uno de los 4 pilares. Cada idea final = **hook + ángulo + formato**.
4
4
 
5
5
  ## Formatos disponibles
6
6
 
7
- - **Text post corto** — 1 idea, 3–6 líneas, hook fuerte.
8
- - **Lista / "X things"** — escaneable, alto guardado.
9
- - **Carrusel** — paso a paso o framework (si el usuario hace slides).
10
- - **Hot take / POV** — opinión con tensión, invita a debate.
11
- - **Story / mini-caso** — situación → acción → resultado (mini-STAR público).
12
- - **Pregunta** — abre conversación, sube engagement.
7
+ - **Text post corto** - 1 idea, 3-6 líneas, hook fuerte.
8
+ - **Lista / "X things"** - escaneable, alto guardado.
9
+ - **Carrusel** - paso a paso o framework (si el usuario hace slides).
10
+ - **Hot take / POV** - opinión con tensión, invita a debate.
11
+ - **Story / mini-caso** - situación → acción → resultado (mini-STAR público).
12
+ - **Pregunta** - abre conversación, sube engagement.
13
13
 
14
- ## Pilar 1 — Builder credibility
14
+ ## Pilar 1 - Builder credibility
15
15
 
16
16
  Demostrar que entregás. Ángulos:
17
17
  - Un problema real que resolviste + el número de impacto.
@@ -21,7 +21,7 @@ Demostrar que entregás. Ángulos:
21
21
 
22
22
  Hooks ejemplo: *"Bajé la latencia de matchmaking 25%. El cambio que más movió la aguja no fue el que esperaba."*
23
23
 
24
- ## Pilar 2 — Lessons from current role
24
+ ## Pilar 2 - Lessons from current role
25
25
 
26
26
  Aprendizajes concretos, no abstractos. Ángulos:
27
27
  - Un error que cometiste y qué cambiaste.
@@ -31,7 +31,7 @@ Aprendizajes concretos, no abstractos. Ángulos:
31
31
 
32
32
  Hooks ejemplo: *"Pasé 2 años optimizando lo que no importaba. Esto es lo que mido ahora."*
33
33
 
34
- ## Pilar 3 — POVs on your domain
34
+ ## Pilar 3 - POVs on your domain
35
35
 
36
36
  Posicionarte como alguien que piensa el dominio. Ángulos:
37
37
  - Una tendencia y por qué estás de acuerdo / en contra.
@@ -41,7 +41,7 @@ Posicionarte como alguien que piensa el dominio. Ángulos:
41
41
 
42
42
  Hooks ejemplo: *"Todos dicen que [tendencia]. En producción, lo que veo es otra cosa."*
43
43
 
44
- ## Pilar 4 — Behind-the-scenes del job search
44
+ ## Pilar 4 - Behind-the-scenes del job search
45
45
 
46
46
  Cercanía + a veces atrae ofertas directas. Usar con medida (no quejas). Ángulos:
47
47
  - Qué buscás y por qué (señal clara para recruiters).
@@ -53,9 +53,9 @@ Hooks ejemplo: *"Estoy buscando mi próximo rol como [rol]. Esto es exactamente
53
53
 
54
54
  ## Secuenciación (90 días)
55
55
 
56
- - **Días 1–30 (autoridad):** ~70% pilares 1–3, ~30% pilar 2. Casi nada de "busco trabajo" todavía — primero construís credibilidad.
57
- - **Días 31–60 (visibilidad + señal):** introducir pilar 4 (qué buscás), mantener 1–3. Empezar outreach (`/cold-outreach`) apoyado en los posts.
58
- - **Días 61–90 (conversión):** mezclar los 4, más casos de builder credibility, CTAs suaves hacia conversaciones.
56
+ - **Días 1-30 (autoridad):** ~70% pilares 1-3, ~30% pilar 2. Casi nada de "busco trabajo" todavía - primero construís credibilidad.
57
+ - **Días 31-60 (visibilidad + señal):** introducir pilar 4 (qué buscás), mantener 1-3. Empezar outreach (`/cold-outreach`) apoyado en los posts.
58
+ - **Días 61-90 (conversión):** mezclar los 4, más casos de builder credibility, CTAs suaves hacia conversaciones.
59
59
 
60
60
  ## Anti-patrones
61
61
 
@@ -7,7 +7,7 @@ user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Bash, Write, Edit, WebFetch
8
8
  ---
9
9
 
10
- # Portfolio Site — Portfolio web desde el source-of-truth
10
+ # Portfolio Site - Portfolio web desde el source-of-truth
11
11
 
12
12
  Generás o actualizás un **portfolio web personal** a partir de un único source-of-truth (`portfolio/Datos Portfolio Web.md` en el career workspace, derivado del perfil maestro). La regla: **el contenido se edita primero en el `.md`** y de ahí se sincroniza al sitio.
13
13
 
@@ -19,7 +19,7 @@ Convención: **valores en inglés** (van directo al sitio) y meta-instrucciones
19
19
 
20
20
  ## Modos
21
21
 
22
- ### `sync` — Actualizar un portfolio existente
22
+ ### `sync` - Actualizar un portfolio existente
23
23
  Para cuando ya hay un repo de portfolio (ej. una React SPA con el contenido en `src/pages/*.js`, `src/data/*`, o similar).
24
24
 
25
25
  1. Leer el source-of-truth y el repo destino.
@@ -28,10 +28,10 @@ Para cuando ya hay un repo de portfolio (ej. una React SPA con el contenido en `
28
28
  4. Aplicar los cambios al sitio respetando su arquitectura y estilo de código existentes.
29
29
  5. Verificar (build/preview) y resumir el diff.
30
30
 
31
- ### `scaffold` — Crear un portfolio nuevo
31
+ ### `scaffold` - Crear un portfolio nuevo
32
32
  Para cuando no hay sitio todavía.
33
33
 
34
- 1. Preguntar el stack preferido (default sugerido: **sitio estático simple** — HTML/CSS o un framework liviano como Astro/Vite — fácil de hostear en GitHub Pages/Netlify).
34
+ 1. Preguntar el stack preferido (default sugerido: **sitio estático simple** - HTML/CSS o un framework liviano como Astro/Vite - fácil de hostear en GitHub Pages/Netlify).
35
35
  2. Preguntar secciones deseadas (hero, about, experiencia, proyectos, skills, contacto).
36
36
  3. Generar el proyecto consumiendo el source-of-truth como contenido.
37
37
  4. Configurar deploy (GitHub Pages / Netlify) si el usuario quiere.
@@ -39,18 +39,18 @@ Para cuando no hay sitio todavía.
39
39
 
40
40
  ## Secciones típicas
41
41
 
42
- - **Hero** — nombre, headline, bio corto, links (GitHub/LinkedIn/email público).
43
- - **About** — bio medio/largo.
44
- - **Experience** — roles con highlights.
45
- - **Projects** — los destacados, con tech, descripción corta y link en vivo.
46
- - **Skills** — agrupados, con nivel/%.
47
- - **Contact** — email **público** (nunca el personal), formulario o links.
42
+ - **Hero** - nombre, headline, bio corto, links (GitHub/LinkedIn/email público).
43
+ - **About** - bio medio/largo.
44
+ - **Experience** - roles con highlights.
45
+ - **Projects** - los destacados, con tech, descripción corta y link en vivo.
46
+ - **Skills** - agrupados, con nivel/%.
47
+ - **Contact** - email **público** (nunca el personal), formulario o links.
48
48
 
49
49
  ## Reglas
50
50
 
51
51
  - **El `.md` es la fuente.** Nunca editar el sitio sin reflejarlo en el source-of-truth (si no, vuelve el drift).
52
52
  - Email **público** en el sitio, jamás el personal/teléfono.
53
- - Respetar la arquitectura y el estilo del repo existente en modo `sync` — no reescribir todo.
53
+ - Respetar la arquitectura y el estilo del repo existente en modo `sync` - no reescribir todo.
54
54
  - En `scaffold`, mantenerlo simple y rápido de hostear salvo que el usuario pida otra cosa.
55
55
  - No subir datos sensibles; el portfolio es público.
56
56
 
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: product-listing
3
+ description: "Optimize product detail pages and marketplace listings for discovery and conversion — titles, bullets, descriptions, imagery, A+ content, and marketplace algorithms (Amazon A10/COSMO/Rufus). Includes bulk-copy generation guidance. Triggers: writing/optimizing PDP copy, marketplace listings, bulk product descriptions."
4
+ argument-hint: "[pdp | marketplace | bulk]"
5
+ category: "ecommerce"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep, Bash
8
+ ---
9
+
10
+ # Product Listing
11
+
12
+ A listing has two readers: the ranking algorithm and the buyer. Optimize for both — keyword-relevant enough to surface, persuasive enough to convert — across your own PDP and marketplaces.
13
+
14
+ ## Before Starting
15
+
16
+ Gather: channel (own store vs Amazon/Meta/etc.), product category and key attributes, target keywords, and goal (optimize a PDP, write a marketplace listing, or generate bulk descriptions).
17
+
18
+ ## How This Skill Works
19
+
20
+ | Mode | Trigger | Output |
21
+ |------|---------|--------|
22
+ | **PDP** | `pdp` | Optimized own-store product page copy |
23
+ | **Marketplace** | `marketplace` | Channel-specific listing (title/bullets/A+) |
24
+ | **Bulk** | `bulk` | Templated copy for many SKUs at scale |
25
+
26
+ ---
27
+
28
+ ## Phase 1 — PDP Copy Anatomy
29
+
30
+ | Element | Rule |
31
+ |---------|------|
32
+ | **Title** | Brand + product + key differentiator; front-load the noun |
33
+ | **Bullets** | Benefit-led, scannable; feature → benefit translation |
34
+ | **Description** | Story + specs; answer objections; structured for skim |
35
+ | **Imagery** | Multiple angles, scale/context, zoom; alt text for SEO + a11y |
36
+ | **Trust** | Reviews, ratings, returns, shipping, stock signals near the CTA |
37
+
38
+ Map product attributes (from `commerce-data-model`) into structured spec tables — buyers filter on them and search engines index them.
39
+
40
+ ---
41
+
42
+ ## Phase 2 — Marketplace Algorithms
43
+
44
+ Marketplace listings must satisfy ranking systems, not just shoppers:
45
+
46
+ - **Amazon A10** — keyword/relevance + sales velocity + conversion. Put core keywords in title and bullets naturally.
47
+ - **COSMO** — semantic/intent: write for *purchase intent and use-cases*, not just keyword stuffing.
48
+ - **Rufus / AI assistants** — Q&A-friendly content: cover comparisons, compatibility, use-cases the way a shopper would ask.
49
+ - Localize per marketplace (not just translate) — units, sizing, terminology.
50
+
51
+ Avoid keyword stuffing; modern algorithms penalize it and shoppers distrust it. Hand SEO structure to `ai-seo` / `seo-audit`.
52
+
53
+ ---
54
+
55
+ ## Phase 3 — Bulk Generation
56
+
57
+ For large catalogs, template the copy:
58
+
59
+ 1. Define a copy template per product category (slots: hook, benefits, specs, use-case).
60
+ 2. Map structured attributes → slots.
61
+ 3. Generate, then spot-QA for accuracy and duplicate-content risk (search engines penalize near-duplicates).
62
+
63
+ Pair with `merchant-feed` (the script there validates the structured attributes that feed both listings and ads).
64
+
65
+ ---
66
+
67
+ ## Output Artifacts
68
+
69
+ | Request | Output |
70
+ |---------|--------|
71
+ | PDP | Title + bullets + description + image/alt brief |
72
+ | Marketplace | Channel-tuned listing with keyword map |
73
+ | Bulk | Category templates + slot mapping |
74
+
75
+ A listing is **READY** when the title front-loads the product, bullets are benefit-led, intent/use-cases are covered for AI search, trust signals sit by the CTA, and there's no duplicate-content risk.
76
+
77
+ ---
78
+
79
+ ## Related Skills
80
+
81
+ - **commerce-data-model**: source of the structured attributes copy draws on.
82
+ - **ai-seo** / **seo-audit** / **schema-markup**: organic discovery and markup.
83
+ - **merchant-feed**: same attributes power shopping ads.
84
+ - **copywriting** / **page-cro**: deeper persuasion and conversion testing.
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: promotions-discounts
3
+ description: "Design a promotions and discount engine — coupon codes, automatic discounts, BOGO, tiered/volume pricing, stacking and exclusivity rules, and gift cards. Platform-agnostic rules modeling that avoids margin leaks. Triggers: designing discounts, defining stacking rules, modeling gift cards/coupons."
4
+ argument-hint: "[design | rules | audit]"
5
+ category: "ecommerce"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep
8
+ ---
9
+
10
+ # Promotions & Discounts
11
+
12
+ Discounts are easy to add and hard to control. Model the rules so promotions stack predictably, can't be abused, and never quietly destroy margin — independent of platform.
13
+
14
+ ## Before Starting
15
+
16
+ Gather: promotion types in use, who can stack with what, abuse history (code sharing, repeat redemption), and goal (design the engine, define stacking/exclusivity rules, or audit existing promos for leaks).
17
+
18
+ ## How This Skill Works
19
+
20
+ | Mode | Trigger | Output |
21
+ |------|---------|--------|
22
+ | **Design** | `design` | Discount engine model + rule schema |
23
+ | **Rules** | `rules` | Stacking, exclusivity, and eligibility matrix |
24
+ | **Audit** | `audit` | Margin-leak and abuse-risk review |
25
+
26
+ ---
27
+
28
+ ## Phase 1 — Discount Model
29
+
30
+ Model every promotion as **trigger → condition → effect → constraints**:
31
+
32
+ | Part | Examples |
33
+ |------|----------|
34
+ | **Trigger** | code entered, automatic, cart threshold |
35
+ | **Condition** | min subtotal, specific collection, customer segment, first order |
36
+ | **Effect** | % off, fixed off, free shipping, BOGO, fixed price |
37
+ | **Constraints** | usage cap (global/per-customer), date window, exclusivity |
38
+
39
+ **Rule:** Discounts apply to a defined scope (line / shipping / order) and are recomputed server-side at checkout — never client-trusted.
40
+
41
+ ---
42
+
43
+ ## Phase 2 — Stacking & Exclusivity
44
+
45
+ The hard part. Define explicitly:
46
+
47
+ - **Stackable vs exclusive:** most stores allow one order-level code; auto-discounts may stack with codes. Decide and enforce.
48
+ - **Application order** matters for % vs fixed — define it (typically line discounts → order discounts → shipping).
49
+ - **Priority** when multiple eligible: best-for-customer vs best-for-merchant — pick a policy.
50
+ - **Caps:** max discount per order; floor on post-discount margin.
51
+
52
+ For the full eligibility matrix and worked stacking examples, model the matrix per the table above.
53
+
54
+ ---
55
+
56
+ ## Phase 3 — Gift Cards & Abuse Prevention
57
+
58
+ - **Gift cards** are stored-value tender, not discounts — track balance, partial redemption, and never let balance go negative or expire silently where regulated.
59
+ - **Abuse defenses:** per-customer usage caps, one-time codes, segment gating, and minimum-order thresholds. Watch for code leaks to coupon sites.
60
+
61
+ ---
62
+
63
+ ## Output Artifacts
64
+
65
+ | Request | Output |
66
+ |---------|--------|
67
+ | Design | Rule schema + effect/scope model |
68
+ | Rules | Stacking/exclusivity matrix + application order |
69
+ | Audit | Leak/abuse findings: PASS / CONCERNS / FAIL |
70
+
71
+ A promotion engine is **COMPLIANT** when discounts are server-computed, stacking and application order are explicit, usage caps are enforced, and a margin floor protects every order.
72
+
73
+ ---
74
+
75
+ ## Related Skills
76
+
77
+ - **cart-checkout**: applies discounts at the cart/checkout.
78
+ - **pricing-strategy**: sets the base prices discounts modify.
79
+ - **commerce-analytics**: measures promo ROI and margin impact.
80
+ - **referral-program**: a specialized promotion type.
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: shipping-tax
3
+ description: "Design shipping and tax logic — shipping zones, rates and methods, carrier integration patterns, plus sales tax/VAT/GST, nexus, and duties. Platform-agnostic rules for correct totals at checkout. Triggers: designing shipping rates, modeling tax/VAT, handling cross-border duties."
4
+ argument-hint: "[shipping | tax | audit]"
5
+ category: "ecommerce"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep
8
+ ---
9
+
10
+ # Shipping & Tax
11
+
12
+ The two line items most likely to be wrong at checkout — and the ones that cause chargebacks, abandoned carts, and compliance trouble. Model them correctly and computed server-side, independent of platform.
13
+
14
+ ## Before Starting
15
+
16
+ Gather: markets shipped to/from, carriers, product attributes (weight/dims), tax obligations (countries, nexus, registrations), and goal (design shipping, design tax, or audit existing totals).
17
+
18
+ ## How This Skill Works
19
+
20
+ | Mode | Trigger | Output |
21
+ |------|---------|--------|
22
+ | **Shipping** | `shipping` | Zones, methods, and rate model |
23
+ | **Tax** | `tax` | Tax determination and nexus model |
24
+ | **Audit** | `audit` | Correctness review of current totals |
25
+
26
+ ---
27
+
28
+ ## Phase 1 — Shipping Model
29
+
30
+ Layer the model as **zones → methods → rates**:
31
+
32
+ | Layer | Definition |
33
+ |-------|-----------|
34
+ | **Zone** | Geographic grouping (country/region/postal ranges) |
35
+ | **Method** | Service level (standard, express, pickup) per zone |
36
+ | **Rate** | flat / weight-based / price-based / carrier-calculated / free-over-threshold |
37
+
38
+ - **Free-shipping thresholds** must be computed on the discounted subtotal.
39
+ - **Carrier-calculated** rates need weight + dimensions on the variant — falls back to flat if missing.
40
+ - Show shipping before the payment step; recompute when the address changes.
41
+
42
+ ---
43
+
44
+ ## Phase 2 — Tax Determination
45
+
46
+ Tax is destination- and product-dependent — never a single flat rate:
47
+
48
+ | Concept | Rule |
49
+ |---------|------|
50
+ | **Nexus** | You only collect where you have an obligation — model registrations per jurisdiction |
51
+ | **Destination vs origin** | Most VAT/GST is destination-based; some US states origin-based |
52
+ | **Product taxability** | Categories differ (food, digital, apparel) — map products to tax categories |
53
+ | **Price display** | Tax-inclusive (EU/UK) vs tax-exclusive (US) — a presentation rule, get it right per market |
54
+ | **B2B** | Reverse-charge / VAT-ID validation for cross-border EU |
55
+
56
+ **Rule:** Compute tax at checkout against the shipping destination, using a tax category per product. Round per jurisdiction rules.
57
+
58
+ ---
59
+
60
+ ## Phase 3 — Cross-Border & Duties
61
+
62
+ - **DDP vs DDU:** decide who pays import duties — DDP (you collect at checkout, best UX) vs DDU (customer pays on delivery, surprise fees → returns).
63
+ - **Landed cost** = item + shipping + duties + tax; show it for cross-border.
64
+ - Capture **HS codes** and country of origin on products for customs.
65
+
66
+ ---
67
+
68
+ ## Output Artifacts
69
+
70
+ | Request | Output |
71
+ |---------|--------|
72
+ | Shipping | Zone/method/rate model |
73
+ | Tax | Nexus map + product tax-category mapping |
74
+ | Audit | Findings per market: PASS / FAIL with fixes |
75
+
76
+ Shipping and tax are **READY** when both are computed server-side against the destination, free-shipping uses discounted subtotals, tax categories are mapped, and cross-border shows landed cost.
77
+
78
+ ---
79
+
80
+ ## Related Skills
81
+
82
+ - **cart-checkout**: displays and recomputes these at the shipping step.
83
+ - **order-lifecycle**: shipping method feeds fulfillment; tax recorded on the order.
84
+ - **commerce-data-model**: weight/dims/HS code/tax category live on the product.
85
+ - **merchant-feed**: shipping and tax attributes appear in product feeds.
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: storefront-architecture
3
+ description: "Design storefront information architecture and the page system — homepage, listing (PLP), product detail (PDP), cart, checkout, search and navigation/megamenu — plus the headless-vs-monolith decision and performance budgets. Stack-agnostic. Triggers: planning a storefront, choosing headless vs monolith, designing navigation/search."
4
+ argument-hint: "[design | pages | headless]"
5
+ category: "ecommerce"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep
8
+ ---
9
+
10
+ # Storefront Architecture
11
+
12
+ The shopper-facing structure: how pages, navigation, and search fit together, and what platform shape to build on. Decisions here, not code — applicable to any framework.
13
+
14
+ ## Before Starting
15
+
16
+ Gather: catalog size and complexity, content needs (editorial, localization), team/stack constraints, and goal (design the IA, spec the page system, or make the headless-vs-monolith call).
17
+
18
+ ## How This Skill Works
19
+
20
+ | Mode | Trigger | Output |
21
+ |------|---------|--------|
22
+ | **Design** | `design` | Full IA + page system + nav/search plan |
23
+ | **Pages** | `pages` | Per-page-type component and content spec |
24
+ | **Headless** | `headless` | Architecture decision with trade-offs |
25
+
26
+ ---
27
+
28
+ ## Phase 1 — The Page System
29
+
30
+ | Page type | Job | Must have |
31
+ |-----------|-----|-----------|
32
+ | **Home** | Orient + route | Value prop, primary nav, featured collections |
33
+ | **PLP** (listing) | Browse + filter | Facets, sort, pagination, quick-add |
34
+ | **PDP** (detail) | Convert | Gallery, variant selector, price, stock, CTA, trust signals |
35
+ | **Search** | Find | Autocomplete, typo tolerance, zero-result handling |
36
+ | **Cart** | Review | Editable lines, totals, clear CTA |
37
+ | **Checkout** | Pay | Owned by `cart-checkout` |
38
+
39
+ PDP and PLP are driven by the `commerce-data-model` (variants, attributes, facets).
40
+
41
+ ---
42
+
43
+ ## Phase 2 — Navigation & Search
44
+
45
+ - **Megamenu** mirrors the taxonomy (categories → subcategories), not collections. Keep depth ≤ 3.
46
+ - **Search** is a primary nav path, not a fallback — invest in autocomplete and synonyms.
47
+ - Stable, human-readable URLs per category/product (SEO; hand off to `seo-audit` / `schema-markup`).
48
+
49
+ ---
50
+
51
+ ## Phase 3 — Platform Shape & Performance
52
+
53
+ | Option | Best for | Cost |
54
+ |--------|----------|------|
55
+ | **Monolith** (SaaS/themed) | Speed to market, standard catalogs | Less flexibility |
56
+ | **Headless** (decoupled FE) | Custom UX, omnichannel, scale | Higher build/ops cost |
57
+ | **Composable** | Enterprise, best-of-breed | Integration complexity |
58
+
59
+ **Performance budget** (Core Web Vitals): PDP/PLP LCP < 2.5s, lazy-load below-fold imagery, prioritize the variant/price/CTA above the fold. Performance is a conversion factor, not a nice-to-have.
60
+
61
+ ---
62
+
63
+ ## Output Artifacts
64
+
65
+ | Request | Output |
66
+ |---------|--------|
67
+ | Design | IA map + page system + nav/search plan |
68
+ | Pages | Component/content spec per page type |
69
+ | Headless | Decision matrix + recommendation |
70
+
71
+ A storefront architecture is **READY** when each page type has a clear job and component spec, navigation mirrors the taxonomy, search is first-class, and a performance budget is defined.
72
+
73
+ ---
74
+
75
+ ## Related Skills
76
+
77
+ - **commerce-data-model**: feeds PLP/PDP structure.
78
+ - **cart-checkout**: owns the cart and checkout pages.
79
+ - **site-architecture** / **seo-audit** / **schema-markup**: SEO structure and markup.
80
+ - **page-cro**: conversion optimization of the page templates.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: subscription-billing
3
+ description: "Design recurring billing for commerce — subscription models, billing cycles, proration, trials, plan changes, and dunning/recovery for involuntary churn. Processor-agnostic; hands implementation to processor-specific skills. Triggers: designing subscriptions, modeling proration/plan changes, reducing involuntary churn via dunning."
4
+ argument-hint: "[design | dunning | audit]"
5
+ category: "ecommerce"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep
8
+ ---
9
+
10
+ # Subscription Billing
11
+
12
+ Recurring revenue adds a time dimension that one-time commerce never faces: cycles, proration, failed renewals, and dunning. Model it correctly so revenue is predictable and involuntary churn doesn't quietly bleed the business — independent of processor.
13
+
14
+ ## Before Starting
15
+
16
+ Gather: offering (subscribe-and-save, membership, SaaS-style tiers), billing cadence, trial/plan-change rules, and goal (design the model, design dunning/recovery, or audit existing billing).
17
+
18
+ ## How This Skill Works
19
+
20
+ | Mode | Trigger | Output |
21
+ |------|---------|--------|
22
+ | **Design** | `design` | Subscription + cycle + proration model |
23
+ | **Dunning** | `dunning` | Failed-payment recovery flow |
24
+ | **Audit** | `audit` | Revenue-leak and churn-risk review |
25
+
26
+ ---
27
+
28
+ ## Phase 1 — Subscription Model
29
+
30
+ | Concept | Decision |
31
+ |---------|----------|
32
+ | **Plan** | Price + interval + included entitlements |
33
+ | **Cycle** | Anchor date; calendar vs signup-aligned |
34
+ | **Trial** | Free / paid / card-required — and what happens at trial end |
35
+ | **Proration** | On upgrade/downgrade: credit unused time, charge difference |
36
+ | **State** | active → past_due → cancelled / paused / expired |
37
+
38
+ **Rule:** A subscription is a state machine over time — model `past_due` explicitly; it's where recoverable revenue lives. Reuse `order-lifecycle` thinking for state/events.
39
+
40
+ ---
41
+
42
+ ## Phase 2 — Proration & Plan Changes
43
+
44
+ - **Upgrade:** charge prorated difference immediately or at next cycle — pick a policy and state it.
45
+ - **Downgrade:** typically defer to next cycle (avoid refund complexity).
46
+ - **Pause/skip:** common in physical subscribe-and-save; preserve the schedule.
47
+ - Always show the customer the next charge amount and date before confirming a change.
48
+
49
+ ---
50
+
51
+ ## Phase 3 — Dunning & Involuntary Churn
52
+
53
+ Most subscription churn is **involuntary** — failed card charges, not cancellations. Recover it:
54
+
55
+ 1. **Smart retries** — retry on a schedule (e.g. day 1, 3, 5, 7), not immediately; align to paydays where known.
56
+ 2. **Pre-dunning** — warn before card expiry; prompt card update.
57
+ 3. **Dunning emails** — escalating sequence during `past_due` with a one-click update link.
58
+ 4. **Grace period** — keep access during retries; downgrade/cancel only after the window.
59
+
60
+ Processor specifics (retry config, webhooks) hand off to `stripe-integration-expert`.
61
+
62
+ ---
63
+
64
+ ## Output Artifacts
65
+
66
+ | Request | Output |
67
+ |---------|--------|
68
+ | Design | Plan/cycle/proration/state model |
69
+ | Dunning | Retry schedule + email sequence + grace policy |
70
+ | Audit | Leak/churn findings: PASS / CONCERNS / FAIL |
71
+
72
+ A subscription billing design is **COMPLETE** when `past_due` is modeled, proration policy is explicit, the customer always sees the next charge, and a dunning sequence recovers involuntary churn.
73
+
74
+ ---
75
+
76
+ ## Related Skills
77
+
78
+ - **payments-architecture**: recurring charges and webhook reliability.
79
+ - **stripe-integration-expert**: processor-specific subscription implementation.
80
+ - **churn-prevention**: voluntary-churn (cancellation) reduction.
81
+ - **commerce-analytics**: MRR, retention, and recovery metrics.