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 transactional-patternsgit 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/transactional-patterns)<a href="https://agentmods.dev/skills/rrezartprebreza/spring-boot-skills/transactional-patterns"><img src="https://agentmods.dev/badge/skills/rrezartprebreza/spring-boot-skills/transactional-patterns/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/transactional-patterns"><img src="https://agentmods.dev/badge/skills/rrezartprebreza/spring-boot-skills/transactional-patterns.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.00053 | $0.01977 |
| Opus 5.5 | $0.00021 | $0.00791 |
| Sonnet 5.5 | $0.00011 | $0.00395 |
| Haiku 4.5 | $0.00005 | $0.00198 |
Grade A, and why
transactional-patterns 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 — 223 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Transactional Patterns
Establish the boundary
- Inspect the project's Boot/Framework version, transaction manager, persistence technology, rollback configuration and caller before changing propagation.
- Place multi-step business transactions at the application/service boundary. Preserve Spring Data repository transactions; repository annotations are not inherently wrong.
- Default propagation is
REQUIRED— joins existing transaction or creates one - Use
readOnly = truefor appropriate read units of work. It is an optimization hint, not write prevention, authorization or automatic routing to a read replica. - Keep existing architecture and transaction-manager choices. A local database transaction does not make writes to another database or an HTTP provider atomic.
The snippets below are illustrative; domain classes and imports come from the application. Adapt the service template and compare the good and bad examples when editing a service.
@Service
@RequiredArgsConstructor
@Transactional(readOnly = true) // default for all methods in this service
public class OrderService {
@Transactional // overrides readOnly for writes
public Order createOrder(CreateOrderRequest request) {
inventoryService.reserve(request.items()); // participates in same TX
return orderRepository.save(Order.from(request));
}
public Optional<Order> findById(UUID id) {
return orderRepository.findById(id); // readOnly = true inherited
}
}
Propagation
| Propagation | Behavior |
|---|---|
REQUIRED (default) |
Join existing TX or create new |
REQUIRES_NEW |
Always create new TX, suspend existing |
SUPPORTS |
Join if exists, proceed without TX if not |
NOT_SUPPORTED |
Always run without TX |
MANDATORY |
Must have existing TX, throw if not |
NEVER |
Must NOT have TX, throw if one exists |
What ships with it
4 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.
- 1mo ago Changed · +34 lines · +9 tokens per session 124ffbb36ea9
- 2mo ago First seen · 189 lines · 44 tokens per session scan A 2e27af2b28af
transactional-patterns is a skill published in the GitHub repository rrezartprebreza/spring-boot-skills (333 stars, last pushed yesterday), licensed MIT. It adds 53 tokens to every session and 1,977 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…