Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add AI-Unified-Process/marketplace --skill entity-modelgit clone --depth 1 https://github.com/AI-Unified-Process/marketplaceWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ai-unified-process/marketplace/entity-model)<a href="https://agentmods.dev/skills/ai-unified-process/marketplace/entity-model"><img src="https://agentmods.dev/badge/skills/ai-unified-process/marketplace/entity-model/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ai-unified-process/marketplace/entity-model"><img src="https://agentmods.dev/badge/skills/ai-unified-process/marketplace/entity-model.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 142 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00153 | $0.02377 |
| Opus 5.5 | $0.00061 | $0.00951 |
| Sonnet 5.5 | $0.00031 | $0.00475 |
| Haiku 4.5 | $0.00015 | $0.00238 |
Grade A, and why
entity-model scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 206 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Entity Model
Instructions
Create or update the entity model at docs/entity_model.md based on docs/requirements.md.
The document contains an ER diagram and attribute tables.
DO NOT
- Add attributes/columns to the Mermaid diagram
- Write prose descriptions like "Key attributes: name, email..."
- Create a "Relationships" table
Document Structure
# Entity Model
## Entity Relationship Diagram
```mermaid
erDiagram
ROOM_TYPE ||--o{ ROOM : "categorizes"
GUEST ||--o{ RESERVATION : "makes"
ENTITY_NAME
One sentence describing the entity.
| Attribute | Description | Data Type | Length/Precision | Validation Rules |
|---|---|---|---|---|
| id | ... | Long | 19 | Primary Key, Sequence |
| ... | ... | ... | ... | ... |
Required Format for Each Entity
Every entity MUST have:
- A ### heading with the entity name in UPPERCASE (UPPER_SNAKE_CASE, e.g.
### ROOM_TYPE— never### Room Typeor## Entity: Room Type) - One sentence description
- An attribute table with exactly these 5 columns in this order: Attribute, Description, Data Type, Length/Precision, Validation Rules
Example Entity
ROOM_TYPE
Defines categories of rooms with shared characteristics.
| Attribute | Description | Data Type | Length/Precision | Validation Rules |
|---|---|---|---|---|
| id | Unique identifier | Long | 19 | Primary Key, Sequence |
| name | Name of the room type | String | 50 | Not Null, Unique |
| description | Detailed description | String | 500 | Optional |
| capacity | Maximum number of guests | Integer | 10 | Not Null, Min: 1, Max: 10 |
| price | Price per night in CHF | Decimal | 10,2 | Not Null, Min: 0 |
Mermaid Diagram Rules
- Show entity names and relationships ONLY
- NO attributes inside entity blocks
- Use relationship syntax:
ENTITY_A ||--o{ ENTITY_B : "relationship"
Data Types (use only these)
The Data Type column must use exactly these values — never SQL or ORM types such as VARCHAR, TEXT, CHAR, bigint, numeric, serial, smallint, UUID, Timestamp, or Enum:
| Data Type | Length/Precision | Usage |
|---|---|---|
| Long | 19 | IDs, foreign keys |
| String | varies (50-500) | Text fields |
| Integer | 10 | Whole numbers |
| Decimal | 10,2 | Currency, percentages |
| Boolean | 1 | True/false flags |
| Date | - | Date only |
| DateTime | - | Date and time |
The Length/Precision column holds the bare value (e.g. 10,2) — never a type
expression like DECIMAL(10,2).
The seven types are the complete list. Binary content (a document, an image) has no type of its own: it is a
String with - as Length/Precision and a Description that begins with Binary content: (Binary content: the signed contract as PDF); its Validation Rules are Not Null or Optional as for any field. The migration
skill of every stack maps exactly that combination to a binary column, and the persistence code follows the column.
Validation Rules (use only these values)
Compose every Validation Rules cell from this vocabulary, using the exact wording — never a prose description, and never an empty cell, dash, or "N/A":
| Attribute Type | Validation Rules Value |
|---|---|
| Primary key | Primary Key, Sequence |
| Natural or composite key | Primary Key |
| Composite key and foreign key | Primary Key, Foreign Key (TABLE.id) |
| Required field | Not Null |
| Unique field | Not Null, Unique |
| Foreign key | Not Null, Foreign Key (TABLE.id) |
| Optional field | Optional |
| With range | Not Null, Min: X, Max: Y |
| With values | Not Null, Values: A, B, C |
| Not Null, Format: Email |
Examples: an email attribute is Not Null, Format: Email — never "must be a valid
email address". A status attribute with a fixed set of states is
Not Null, Values: Pending, Active, Completed, Cancelled — never "must be one of
Pending, Active, Completed, Cancelled".
This table is a closed set: every Validation Rules cell is exactly one row
from it. Do not combine rows into new patterns (Not Null, Unique, Format: Email
is invalid — pick the one rule that matters most, here Not Null, Format: Email),
and never write Min: without its matching Max: (Not Null, Min: 0 alone is
invalid — use Not Null, Min: 0, Max: <upper bound> or just Not Null).
The same tables are available in references/REFERENCE.md. The path is relative to the folder containing this SKILL.md, not to the project root.
Multi-Column Constraints
If validation spans multiple columns, add a #### Constraints heading below the entity's
attribute table and list each constraint as a bullet, one rule per bullet:
#### Constraints
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +26 lines 732bf546d506
- 12d ago Changed · +9 lines 8cfce1214245
- 19d ago Changed · +10 lines 080bbe0829ba
- 24d ago Changed · +3 lines 85b660f92e64
- 1mo ago Changed 4e130fad8b4c
- 1mo ago First seen · 158 lines · 153 tokens per session scan A 90f342b53cfa
entity-model is a skill published in the GitHub repository AI-Unified-Process/marketplace (150 stars, last pushed yesterday), licensed Apache-2.0. It adds 153 tokens to every session and 2,377 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
lark-base
A guide for managing Lark Base, Feishu's spreadsheet-like database and workspace tool. It covers tables, fields, records, views, formulas, forms, dashboards, applications, workflows, and permissions.
smart-data-collection
A workflow for extracting structured information from images and documents such as PDFs, Word files, and spreadsheets, then storing it in a database.
paper-interpretation
A Chinese-language workflow for explaining an academic paper from a PDF file or URL in accessible Markdown, with illustrations and critical assessment.
siyuan-mcp-import-migration
MCP staged playbook for Markdown and external database migration with explicit targets, mappings, bounded writes, and layered readback.
siyuan-mcp-data-files
Database and file workflow for SiYuan MCP. Use for attribute views, columns, rows, cells, assets, uploads, OCR, templates, Markdown export, document extraction, and resource export.
data-export-and-restore
Enforces user-facing data portability in an offline-first app — backup/restore (exact, machine round-trippable) kept strictly separate from export/report (human, lossy, never a restore source); a versioned envelope carrying formatVersion, schemaVersion, appVersion, exportedAtUtc and a payload checksum so a restore…