ソース情報
- リポジトリ
- educlopez/mallard
- ソースの最終更新活動
- 2026年5月31日 15:15
- 検出された SKILL.md の言語
- スペイン語
- スター
- 3
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SOC 職業分類に基づく
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/educlopez/mallard --skill ps-demo-userコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
Wires PrestaShop's outgoing email (BO Parámetros Avanzados > Correo electrónico) to Lando's mailhog service so local emails (order confirmations, module notifications, password resets, ...) are actually deliverable and inspectable instead of silently disappearing. Use when the user says "configura el mail en lando", "conecta mailhog", "los emails no llegan en local", "el correo no funciona en lando", "quiero ver los emails en local", "prueba el envío de correo", or after finishing a lando-setup full install if the project sends any transactional email (module notifications, order emails, password reset, contact form). Also trigger when debugging why a module's Mail::send() call produces no visible output locally.
Sets up a PrestaShop 8/9 project locally with Lando, or refreshes its database from the server. Full setup configures Lando, syncs app/config, picks a free port, imports the DB and fixes shop URLs; DB refresh mode only re-dumps and re-imports the database. Use when the user says "monta el proyecto", "setup lando", "prepara en local", "levanta el lando de X", "configura X en local", "actualízame la DB", "refresca la DB de X", "bájame la DB de X", "sync DB", or "quiero la DB actualizada de X".
Sets up a static image placeholder for local Lando PrestaShop development so broken/missing product images show a nice placeholder instead of broken icons. Use this skill when the user says "placeholder de imagenes en lando", "lando image placeholder", "imagenes rotas en lando", "broken images in lando", or wants to avoid downloading hundreds of product images for local development. Trigger proactively whenever the user is working on a Lando PrestaShop project and mentions broken images or missing product photos.
| name | ps-demo-user |
| description | ps-demo-user — Usuario demo PrestaShop 8 (Lando) |
| version | 0.1.0 |
| metadata | {"author":"Eduardo Calvo"} |
Crea un cliente de prueba con historial completo para testear la UI del panel de usuario. Reutilizable en cualquier proyecto PS8 con Lando.
| Campo | Valor |
|---|---|
edu@demo.com | |
| Password | edudemo123 |
| Nombre | Edu Demo |
DEMO00001 — Entregado (hace 60 días) + factura descargable + tracking GLSDEMO00002 — Enviado (hace 30 días) + factura + tracking GLSDEMO00003 — En preparación (hace 5 días)-- Carrier activo
SELECT id_carrier, name FROM {prefix}carrier WHERE active=1 AND deleted=0 LIMIT 5;
-- Productos con precio para usar en order_detail
SELECT id_product, reference, price FROM {prefix}product WHERE active=1 AND price > 0 LIMIT 5;
-- Prefijo
-- Ver en app/config/parameters.php → database_prefix
El script base está en demo-user-setup.sql (proyecto vives-8).
Cambios obligatorios para otros proyectos:
vivesps_ → el del proyecto@carrier_id por el carrier activoproduct_id en la sección ORDER DETAILS por productos realeslando php -r "echo password_hash('nueva_clave', PASSWORD_BCRYPT);"
Y actualizar el campo passwd en la sección CUSTOMER.lando mysql lamp -u lamp -plamp < demo-user-setup.sql
El script incluye
SET sql_mode = ''para evitar errores de fecha cero en Lando.
Entrar en https://{proyecto}.lndo.site/es/login con edu@demo.com / edudemo123
O verificar por SQL:
SELECT id_customer, email FROM {prefix}customer WHERE email='edu@demo.com';
SELECT reference, current_state FROM {prefix}orders WHERE id_customer={id} LIMIT 5;
SET sql_mode = '';
1. CUSTOMER — cuenta con bcrypt hash
2. ADDRESSES — 2 direcciones (casa + trabajo)
3. CARTS — 3 carritos (FK obligatoria de orders)
4. ORDERS — 3 pedidos (entregado / enviado / preparación)
5. ORDER_DETAIL — líneas de producto por pedido
6. ORDER_PAYMENT — registro de pago por pedido
7. ORDER_INVOICE — facturas (pedidos 1 y 2)
8. ORDER_HISTORY — log de cambios de estado
9. ORDER_CARRIER — transportista + tracking por pedido
| Problema | Solución |
|---|---|
Error fecha 0000-00-00 | Añadir SET sql_mode = '' al inicio |
birthday = 0000-00-00 da error en backoffice | Usar NULL en lugar de '0000-00-00' — PS8 lo rechaza al editar el cliente |
secure_key = '-1' da CustomerException | Debe ser un MD5 de 32 chars — usar MD5(RAND()) en el INSERT |
newsletter_date_add = 0000-00-00 da error | Usar NULL en lugar de fecha cero |
id_cart obligatorio en orders | Crear carts antes que orders |
invoice_address/delivery_address no existen | Eliminados en PS8 — no incluir |
unit_price_tax_incl_after_specific_price no existe | Eliminado en PS8 — no incluir |
| Password MD5 antiguo no funciona | PS8 usa bcrypt — regenerar hash |
SET sql_mode='';
SELECT @id := id_customer FROM {prefix}customer WHERE email='edu@demo.com';
DELETE oc FROM {prefix}order_carrier oc JOIN {prefix}orders o ON oc.id_order=o.id_order WHERE o.id_customer=@id;
DELETE oh FROM {prefix}order_history oh JOIN {prefix}orders o ON oh.id_order=o.id_order WHERE o.id_customer=@id;
DELETE oi FROM {prefix}order_invoice oi JOIN {prefix}orders o ON oi.id_order=o.id_order WHERE o.id_customer=@id;
DELETE op FROM {prefix}order_payment op JOIN {prefix}orders o ON op.order_reference=o.reference WHERE o.id_customer=@id;
DELETE od FROM {prefix}order_detail od JOIN {prefix}orders o ON od.id_order=o.id_order WHERE o.id_customer=@id;
DELETE FROM {prefix}orders id_customer;
{prefix}cart id_customer;
{prefix}address id_customer;
{prefix}customer email;