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 andresharpe/dotbot --skill entity-designgit clone --depth 1 https://github.com/andresharpe/dotbotWrote 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/andresharpe/dotbot/entity-design)<a href="https://agentmods.dev/skills/andresharpe/dotbot/entity-design"><img src="https://agentmods.dev/badge/skills/andresharpe/dotbot/entity-design/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/andresharpe/dotbot/entity-design"><img src="https://agentmods.dev/badge/skills/andresharpe/dotbot/entity-design.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00054 | $0.00648 |
| Opus 5.5 | $0.00022 | $0.00259 |
| Sonnet 5.5 | $0.00011 | $0.00130 |
| Haiku 4.5 | $0.00005 | $0.00065 |
Grade A, and why
entity-design 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 1mo ago.
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 — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Entity Design (EF Core)
Design and configure EF Core entities following project conventions.
Workflow
- Define the entity class with properties and base class inheritance
- Add navigation properties for relationships
- Create
IEntityTypeConfiguration<T>with Fluent API configuration - Register in DbContext via
OnModelCreatingor assembly scanning - Generate and review migration to verify the resulting schema
Entity Structure
public class Invoice : EntityBase
{
public string InvoiceNumber { get; set; } = string.Empty;
public decimal Total { get; set; }
public InvoiceStatus Status { get; set; }
// Navigation properties
public Guid CustomerId { get; set; }
public Customer Customer { get; set; } = null!;
public ICollection<InvoiceLineItem> LineItems { get; set; } = new List<InvoiceLineItem>();
}
Configuration
public class InvoiceConfiguration : IEntityTypeConfiguration<Invoice>
{
public void Configure(EntityTypeBuilder<Invoice> builder)
{
builder.HasKey(x => x.Id);
builder.Property(x => x.InvoiceNumber).HasMaxLength(50).IsRequired();
builder.Property(x => x.Total).HasPrecision(18, 2);
builder.HasOne(x => x.Customer)
.WithMany(c => c.Invoices)
.HasForeignKey(x => x.CustomerId)
.OnDelete(DeleteBehavior.Restrict);
builder.HasMany(x => x.LineItems)
.WithOne(li => li.Invoice)
.HasForeignKey(li => li.InvoiceId)
.OnDelete(DeleteBehavior.Cascade);
// Concurrency token
builder.Property<byte[]>("RowVersion").IsRowVersion();
}
}
Best Practices
- Fluent API over data annotations for complex mappings — keeps entities clean
- Owned types for value objects (e.g.,
Address,Money) —builder.OwnsOne(x => x.Address) - Shadow properties for audit fields (
CreatedAt,ModifiedAt) viaSaveChangesoverride - Explicit cascade delete — always configure
OnDelete()to avoid surprise cascades - Concurrency tokens — add
[Timestamp]orIsRowVersion()for entities edited concurrently
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.
- 1mo ago First seen · 79 lines · 54 tokens per session scan A 52bc46a70174
entity-design is a skill published in the GitHub repository andresharpe/dotbot (52 stars, last pushed 1mo ago), licensed MIT. It adds 54 tokens to every session and 648 once invoked, about $0.0002 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
ef-core-patterns
EF Core best practices reference — safe migrations, query optimization, configuration patterns, and common pitfalls.
creating-oracle-to-postgres-master-migration-plan
Discovers all projects in a .NET solution, classifies each for Oracle-to-PostgreSQL migration eligibility, and produces a persistent master migration plan. Use when starting a multi-project Oracle-to-PostgreSQL migration, creating a migration inventory, or assessing which .NET projects contain Oracle dependencies.
ef-core
Get best practices for Entity Framework Core.
optimizing-ef-core-queries
Review and optimize application data access that uses Entity Framework Core (EF Core). Use for EF Core performance and correctness reviews of services, repositories, imports, and background jobs: slow or memory-heavy queries, excessive round-trips, hidden SaveChanges, premature materialization, dynamic query…
azure-resource-manager-postgresql-dotnet
Azure PostgreSQL Flexible Server SDK for .NET. Database management for PostgreSQL Flexible Server deployments. Use for creating servers, databases, firewall rules, configurations, backups, and high availability. Triggers: "PostgreSQL", "PostgreSqlFlexibleServer", "PostgreSQL Flexible Server", "Azure Database for…
script-execute
Compiles and runs C# in the Unity Editor (Roslyn): plain statements with the last expression as the result, or a full class with a static method. See the skill body for the modes, usings/include and Unity object parameters.