From trillo
The EntityModel step — generate the app's custom business entities from the SoftwareSpec (and add/edit individual ones), and view the full model including built-in system entities. Use after SoftwareSpec, or when the user wants to add or change an entity.
How this skill is triggered — by the user, by Claude, or both
Slash command
/trillo:entity-modelThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generates the app's **custom** business entities (`ClassM`). The platform's
Generates the app's custom business entities (ClassM). The platform's
system entities (User, Tenant, etc.) are built-in — you reference
them, never define them. Depends on SoftwareSpec being COMPLETED.
md_list modelClassName="ClassM" returns:
rows — this app's custom entities (editable here),systemClasses — the built-in platform entities (read-only, from
app-classes; not editable via md_*).The full model = custom + system. Always account for the system entities so you don't duplicate them.
The platform owns a set of class names. Never create a ClassM with any of
these names — the deploy silently drops the collision and your "table" then
resolves to the platform's table (e.g. an app Task returns background-job
rows; an app Conversation writes into the agent-conversation table). If your
domain needs one of these concepts, qualify the name (e.g. ScheduledTask,
ClientConversation, AppGroup, ClientTemplate, ClientSecret).
Reserved (platform) class names:
AIUsage, Activity, ActivityOutput, ActivityOutputArchive, Agent,
AgentConversation, AgentMemory, AgentMessage, ApiClient, AppConfig,
AppMDCollection, AppRole, AppSecret, Application, AuditLog, BillingAccount,
CodeGenRequest, Conversation, ConversationMessage, Email, EmailContact,
EmailTemplate, EmailUsage, ExternalInterface, ExternalService, File2,
FileContent, FileRawData, FileToUser, Folder, FolderToUser, Group, GroupToUser,
HostedApp, Invitation, KnowledgeContainer, KnowledgeNode, MessagePair,
MetadataApiKey, OAuthAuthCode, OAuthFlowSession, OAuthProvider,
OAuthRefreshToken, Prompt, RateCard, RecordShare, Secret, SentEmail, Task,
TaskEvent, TaskQueue, Template, Tenant, TestData, TestLastInput, TrilloMD,
TrilloMDArchive, TrilloMDVersion, User, UserPreference, UserToAppRoleToTenant,
UserToTenant, UserToToken, VerificationToken, Workflow
Matching is case-insensitive — task, Task, TASK all collide. When the
SoftwareSpec names an entity that hits this list, rename it (and update every
reference: function params, agent bindings, relationships) before creating it.
step_guide({step:"EntityModel"}) → prompt + expectedOutputSchema + the
live systemClasses. Generate to the schema; reference system entities
by name in relationships; do not redefine them.md_get modelClassName="SoftwareSpec".md_create modelClassName="ClassM" name="<Entity>" content=<def>.
Edit one with md_update.When the model already exists and the user wants one more, use
step_guide({step:"EntityModel.add"}) (the AOSAddEntity prompt) →
md_create ClassM.
app_status → EntityModel: COMPLETED, Functions: READY. Summarize the
entities (custom + the system ones in play), then ask whether to proceed to
the functions step.
npx claudepluginhub trillo/tcs-claude-plugin --plugin trilloProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.