بنقرة واحدة
crear-modelo
Crea un modelo de FacturaScripts con su clase PHP y archivo XML de tabla.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Crea un modelo de FacturaScripts con su clase PHP y archivo XML de tabla.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Configura la ruta de módulos MCP locales privados en ~/.fs-claude.json
Redacta en pantalla (sin crear ningún archivo) un texto en formato markdown, listo para copiar y pegar, que explica las novedades, mejoras y correcciones de un plugin o proyecto de FacturaScripts a partir de un rango de commits o de versiones. Activa esta skill siempre que el usuario pida "redacta las novedades", "escribe la noticia de los cambios", "genera el changelog", "qué ha cambiado desde la versión X", "resume los cambios entre la versión X y la Y", "prepara el anuncio de la nueva versión", o cualquier variación en la que se pida comunicar qué se ha hecho en un rango de commits o entre dos versiones.
Guía para añadir una nueva conexión de FacturaScripts al archivo de configuración
Sincroniza modelos del MCP fs-mcp con sus fuentes (FacturaScripts core o plugins privados). Detecta columnas nuevas/modificadas/eliminadas, mantiene las descripciones unificadas en los archivos de overrides, regenera la metadata y compila si hace falta. Soporta uno o varios modelos, ruta local o URL de GitHub, y un modo "refresh masivo" para auditar todos los modelos del catálogo y actualizar la versión registrada de FacturaScripts.
Responde preguntas sobre cómo usar FacturaScripts consultando la documentación oficial de usuarios a través del agente especializado `docs-expert`. ACTIVAR SIEMPRE que el usuario pregunte cómo hacer una operación, dónde encontrar una función, cómo fluye un proceso (presupuesto→factura), cómo gestionar clientes, inventario, compras, contabilidad, o cualquier aspecto práctico de uso del ERP. También activar cuando Claude necesite explorar la documentación de usuario antes de responder sobre procedimientos — no esperar a que el usuario pregunte explícitamente. No esperes a que mencione "documentación" — si la pregunta o tarea involucra procedimientos operativos en FacturaScripts, activa esta skill.
Analiza y corrige bugs en plugins de FacturaScripts. ACTIVAR cuando el usuario describa un comportamiento incorrecto, algo que "no funciona como debería", un error inesperado, datos incorrectos generados por el código, o pida "revisa el plugin", "busca el error", "algo falla", "hay un problema con", "verifica el código", "comprueba dónde está el fallo". También activa cuando Claude necesite explorar código de un plugin FacturaScripts para entender su funcionamiento antes de modificarlo. No esperes a que el usuario use la palabra "bug" — cualquier descripción de comportamiento incorrecto o inesperado en un plugin de FacturaScripts activa esta skill. Orquesta docs-expert (comportamiento esperado según el framework), backend-developer (análisis y corrección del código) y testing-expert (test que reproduce y verifica la corrección del bug).
| name | crear-modelo |
| description | Crea un modelo de FacturaScripts con su clase PHP y archivo XML de tabla. |
Cuando el usuario pida crear un modelo, genera los dos archivos necesarios: la clase PHP y el XML de tabla.
Antes de crear los archivos a mano, considera usar la herramienta CLI:
fsmaker model
fsmaker solicita el nombre del modelo, nombre de la tabla y las columnas, y genera automáticamente la clase PHP y el XML de tabla. Los pasos siguientes explican la estructura en detalle para cuando necesites ajustar o crear los archivos manualmente.
Pregunta al usuario:
Project)projects)Archivo: Plugins/MiPlugin/Model/NombreModelo.php
<?php
namespace FacturaScripts\Plugins\MiPlugin\Model;
use FacturaScripts\Core\Template\ModelClass;
use FacturaScripts\Core\Template\ModelTrait;
use FacturaScripts\Core\Tools;
class NombreModelo extends ModelClass
{
use ModelTrait;
/** @var bool */
public $active;
/** @var string */
public $creation_date;
/** @var int */
public $id;
/** @var string */
public $name;
public function clear(): void
{
parent::clear();
$this->active = true;
$this->creation_date = Tools::dateTime();
}
public static function primaryColumn(): string
{
return 'id';
}
public static function tableName(): string
{
return 'nombre_tabla';
}
public function test(): bool
{
// Validaciones antes de guardar
if (empty($this->name)) {
Tools::log()->error('El nombre es obligatorio');
return false;
}
return parent::test();
}
}
Archivo: Plugins/MiPlugin/Table/nombre_tabla.xml
<?xml version="1.0" encoding="UTF-8"?>
<table>
<column>
<name>id</name>
<type>serial</type>
<null>NO</null>
</column>
<column>
<name>name</name>
<type>character varying(100)</type>
<null>NO</null>
</column>
<column>
<name>active</name>
<type>boolean</type>
<default>true</default>
</column>
<column>
<name>creation_date</name>
<type>timestamp without time zone</type>
</column>
<constraint>
<name>nombre_tabla_pkey</name>
<type>PRIMARY KEY (id)</type>
</constraint>
<index>
<name>nombre_tabla_creation_date_idx</name>
<columns>creation_date</columns>
</index>
</table>
El <index> es opcional: úsalo cuando una columna (no clave) se use habitualmente en WHERE, ORDER BY o JOIN, para mejorar el rendimiento de las consultas.
| Tipo PHP | Tipo XML |
|---|---|
int | integer o serial (autoincrement) |
float/double | double precision |
string corto | character varying(N) |
string largo | text |
bool | boolean |
date | date |
datetime | timestamp without time zone |
// Crear
$modelo = new NombreModelo();
$modelo->name = 'Mi nombre';
$modelo->save();
// Leer por ID
$modelo = new NombreModelo();
$modelo->load($id);
// Listar todos
$lista = NombreModelo::all();
// Filtrar
use FacturaScripts\Core\Where;
$where = [Where::eq('active', true)];
$lista = NombreModelo::all($where, ['name' => 'ASC']);
// Eliminar
$modelo->delete();
Project, Edificio)projects, edificios)action o codeTable/, no en Data/Table/<constraint> (PRIMARY KEY, FOREIGN KEY, UNIQUE), el XML admite la etiqueta <index> para índices normales. Para índices compuestos o casos avanzados, invoca al agente sql-expertPara consultar la documentación oficial completa sobre modelos y tablas en FacturaScripts, invoca el agente docs-expert que te proporcionará detalles completos directamente desde la documentación oficial del framework.