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 rrezartprebreza/spring-boot-skills --skill spring-data-jpagit clone --depth 1 https://github.com/rrezartprebreza/spring-boot-skillsWrote 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/rrezartprebreza/spring-boot-skills/spring-data-jpa)<a href="https://agentmods.dev/skills/rrezartprebreza/spring-boot-skills/spring-data-jpa"><img src="https://agentmods.dev/badge/skills/rrezartprebreza/spring-boot-skills/spring-data-jpa/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/rrezartprebreza/spring-boot-skills/spring-data-jpa"><img src="https://agentmods.dev/badge/skills/rrezartprebreza/spring-boot-skills/spring-data-jpa.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.00038 | $0.01490 |
| Opus 5.5 | $0.00015 | $0.00596 |
| Sonnet 5.5 | $0.00008 | $0.00298 |
| Haiku 4.5 | $0.00004 | $0.00149 |
Grade A, and why
spring-data-jpa 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 2mo 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 — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spring Data JPA
Entity Conventions
@Entity
@Table(name = "orders")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED) // JPA requires no-arg, hide from callers
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
@Column(updatable = false, nullable = false)
private UUID id;
@Column(nullable = false)
private String customerEmail;
@Enumerated(EnumType.STRING) // always STRING, never ORDINAL
@Column(nullable = false)
private OrderStatus status;
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL, orphanRemoval = true)
private List<OrderItem> items = new ArrayList<>();
@CreationTimestamp
@Column(updatable = false)
private Instant createdAt;
@UpdateTimestamp
private Instant updatedAt;
// Static factory, not public constructor
public static Order create(String customerEmail) {
Order order = new Order();
order.customerEmail = customerEmail;
order.status = OrderStatus.PENDING;
return order;
}
// Behavior on entity, not in service
public void addItem(Product product, int quantity) {
items.add(OrderItem.create(this, product, quantity));
}
}
Rules
@Enumerated(EnumType.STRING)always —ORDINALbreaks on enum reorderingGenerationType.UUIDfor IDs — never expose auto-increment integers@NoArgsConstructor(access = PROTECTED)— required by JPA, hidden from app code@Getterfrom Lombok — no@Setteron entities (use behavior methods)- Collections initialized inline (
= new ArrayList<>()) — never null
N+1 Prevention
Identify: One query for orders + N queries for each order's items = N+1.
Fix with JOIN FETCH:
@Query("SELECT o FROM Order o JOIN FETCH o.items WHERE o.id = :id")
Optional<Order> findByIdWithItems(@Param("id") UUID id);
// For lists — use @EntityGraph to avoid duplicates
@EntityGraph(attributePaths = {"items", "items.product"})
List<Order> findByStatus(OrderStatus status);
What ships with it
3 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.
- 2mo ago First seen · 193 lines · 38 tokens per session scan A 870da57f7934
spring-data-jpa is a skill published in the GitHub repository rrezartprebreza/spring-boot-skills (333 stars, last pushed yesterday), licensed MIT. It adds 38 tokens to every session and 1,490 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
solr-extending
To build Solr plugins: SearchComponent, QParser, URP, DocTransformer.
511-frameworks-micronaut-jdbc
Use when you need programmatic JDBC in Micronaut — pooled DataSource, parameterized SQL, io.micronaut.transaction.annotation.Transactional, batching, and domain exception translation. This should trigger for requests such as Review JDBC or SQL data access in a Micronaut project; Improve transactions and parameter…
512-frameworks-micronaut-data
Use when you need data access with Micronaut Data — @MappedEntity, CrudRepository/PageableRepository, @Query with parameters, @Transactional services, projections, @Version, and @MicronautTest with TestPropertyProvider and Testcontainers. For raw java.sql access without generated repositories, use…
shaft-automated-test-authoring
Use when implementing or repairing executable SHAFT Java tests for web, mobile, API, database, CLI, TestNG, JUnit, or Cucumber behavior.
devexpress-xaf-business-model
Design XAF business model classes with EF Core or XPO. Use when creating persistent classes, defining entity relationships (one-to-many, many-to-many, aggregated), applying data annotations and XAF attributes, configuring DbContext, registering types in ModuleBase, supplying initial data in Updater, working with base…
devexpress-xaf-business-logic-xpo
XPO-specific CRUD and business logic patterns for XAF applications. Sub-skill of devexpress-xaf-business-logic — load this when XPO ORM is detected. Covers UnitOfWork, Session, XPCollection, XPQuery (LINQ to XPO), XPView, NestedUnitOfWork, XPObjectSpace.Session access, AfterConstruction/OnSaving/OnDeleting/OnLoaded…