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.
- package/CHANGELOG.md +45 -0
- package/README.md +5 -4
- package/agents/ecommerce/ecommerce-architect.md +60 -0
- package/dist/cli.js +2 -0
- package/docs/SKILLS-CATALOG.md +25 -2
- package/docs/USER-GUIDE.md +2 -2
- package/docs/coding-standards.md +26 -0
- package/package.json +2 -1
- package/profiles/ecommerce.yaml +48 -0
- package/profiles/job-hunt.yaml +12 -2
- package/rules/drafter-reviewer.md +39 -0
- package/skills/cart-checkout/SKILL.md +85 -0
- package/skills/cart-checkout/references/checkout-flow-spec.md +50 -0
- package/skills/cold-outreach/SKILL.md +10 -10
- package/skills/cold-outreach/references/recruiter-playbook.md +5 -5
- package/skills/commerce-analytics/SKILL.md +85 -0
- package/skills/commerce-analytics/references/ga4-ecommerce-events.md +63 -0
- package/skills/commerce-analytics/scripts/ga4_ecommerce_validate.py +134 -0
- package/skills/commerce-data-model/SKILL.md +84 -0
- package/skills/commerce-data-model/references/data-model-spec.md +79 -0
- package/skills/cover-letter/SKILL.md +8 -8
- package/skills/cv-ats-export/SKILL.md +19 -6
- package/skills/cv-ats-export/scripts/cv_export.py +49 -4
- package/skills/cv-ats-export/scripts/verify_pdf.py +90 -0
- package/skills/cv-tailor/SKILL.md +7 -7
- package/skills/cv-tailor/references/ats-keywords.md +9 -9
- package/skills/interview-prep/SKILL.md +7 -7
- package/skills/interview-prep/references/star-framework.md +10 -10
- package/skills/inventory-stock/SKILL.md +86 -0
- package/skills/inventory-stock/scripts/restock_forecast.py +173 -0
- package/skills/job-aplicar/SKILL.md +88 -0
- package/skills/job-hunt/SKILL.md +20 -13
- package/skills/job-hunt/references/templates/Aplicacion.md +6 -2
- package/skills/job-hunt/references/templates/CV Custom.md +1 -1
- package/skills/job-hunt/references/templates/Contacto.md +1 -1
- package/skills/job-hunt/references/templates/Dashboard.md +19 -15
- package/skills/job-hunt/references/templates/Perfil.md +2 -2
- package/skills/job-outcome/SKILL.md +55 -0
- package/skills/job-scrape/SKILL.md +95 -0
- package/skills/job-scrape/references/dedup-playbook.md +25 -0
- package/skills/job-scrape/references/getonbrd-cli.md +62 -0
- package/skills/job-scrape/references/getonbrd-urls.md +37 -0
- package/skills/job-scrape/references/linkedin-cli.md +64 -0
- package/skills/job-scrape/references/linkedin-urls.md +42 -0
- package/skills/job-scrape/references/seen_jobs.schema.json +68 -0
- package/skills/job-scrape/scripts/getonbrd_search.py +501 -0
- package/skills/job-scrape/scripts/linkedin_search.py +428 -0
- package/skills/job-search/SKILL.md +22 -19
- package/skills/job-search/references/scoring-rubric.md +8 -8
- package/skills/job-upskill/SKILL.md +58 -0
- package/skills/linkedin-optimize/SKILL.md +5 -5
- package/skills/master-profile/SKILL.md +17 -17
- package/skills/merchant-feed/SKILL.md +85 -0
- package/skills/merchant-feed/references/feed-attribute-map.md +47 -0
- package/skills/merchant-feed/scripts/feed_validate.py +140 -0
- package/skills/network-map/SKILL.md +7 -7
- package/skills/order-lifecycle/SKILL.md +86 -0
- package/skills/order-lifecycle/references/order-state-machine.md +53 -0
- package/skills/payments-architecture/SKILL.md +80 -0
- package/skills/personal-brand/SKILL.md +10 -10
- package/skills/personal-brand/references/post-pillars.md +14 -14
- package/skills/portfolio-site/SKILL.md +11 -11
- package/skills/product-listing/SKILL.md +84 -0
- package/skills/promotions-discounts/SKILL.md +80 -0
- package/skills/shipping-tax/SKILL.md +85 -0
- package/skills/storefront-architecture/SKILL.md +80 -0
- 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
|
|
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**
|
|
19
|
-
2. **Lessons from current role**
|
|
20
|
-
3. **POVs on your domain**
|
|
21
|
-
4. **Behind-the-scenes of the job search**
|
|
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`
|
|
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
|
|
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>`
|
|
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>`
|
|
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
|
|
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
|
|
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**
|
|
8
|
-
- **Lista / "X things"**
|
|
9
|
-
- **Carrusel**
|
|
10
|
-
- **Hot take / POV**
|
|
11
|
-
- **Story / mini-caso**
|
|
12
|
-
- **Pregunta**
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
57
|
-
- **Días 31
|
|
58
|
-
- **Días 61
|
|
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
|
|
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`
|
|
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`
|
|
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**
|
|
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**
|
|
43
|
-
- **About**
|
|
44
|
-
- **Experience**
|
|
45
|
-
- **Projects**
|
|
46
|
-
- **Skills**
|
|
47
|
-
- **Contact**
|
|
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`
|
|
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.
|