Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Optimize BambooHR API performance with caching, batch reports, incremental sync, and connection pooling. Use when experiencing slow API responses, implementing caching, or optimizing sync throughput. Trigger with phrases like "bamboohr performance", "optimize bamboohr", "bamboohr latency", "bamboohr caching", "bamboohr slow", "bamboohr batch".
.claude/skills/jeremylongshore-bamboohr-performance-tuning/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 132% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 43% | 0% |
Optimize from a measured request graph while preserving completeness and privacy. The first objective is usually eliminating per-employee fan-out, not raising concurrency against an unknown tenant limit.
Dataset v2 returns selected fields with links and meta pagination and permits page sizes up to 1000 in the reviewed OpenAPI. Its request uses filter, orderBy, page, and pageSize. Dataset v1 data retrieval and custom-report paths carry deprecation notices and should not anchor new optimizations.
Benchmark with the same auth mode and effective field permissions as production, but only in an approved test tenant or sanitized workload. Different identities can produce different shapes, so never compare results without recording the credential alias and permission set.
records and bytes received, retries, error rate, CPU/memory, destination time, and end-to-end freshness.
where the required fields and semantics are supported.
fields, add deterministic orderBy, and tune pageSize below thedocumented maximum based on payload, memory, latency, and 413 behavior.
durability. Do not load the complete workforce into memory by default.
Do not cache tokens or unrestricted employee payloads in a shared cache.
parallelism only during a measured canary and watch 429 and tail latency.
Roll back if freshness, completeness, permissions, or memory regresses.
Use Read, Glob, and Grep to inspect the request graph and current metrics. Use Write/Edit for approved instrumentation, query changes, and tests. This skill does not authorize a production benchmark or HR-data export.
Require approval before querying production, changing field selection or cache retention, increasing concurrency, or replacing a source endpoint. Performance does not justify silently omitting inactive or future-dated records.
Return baseline and candidate metrics, request-graph delta, selected fields and pagination, cache/concurrency policy, reconciliation proof, canary scope, rollback thresholds, and measured result.
413: lower page size/field count and remeasure.429 or tail latency: reduce concurrency and open the circuit.Read official evidence before altering data access.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | pass→pass | 14,160 | 14,337 | +1% | 1 | 1 | 0% | 2,497 | 4,963 | +99% | 0 | 0 | — |
case-02 | pass→pass | 21,504 | 7,057 | -67% | 1 | 1 | 0% | 2,169 | 3,856 | +78% | 0 | 0 | — |
case-08 | fail→pass | 15,154 | 6,969 | -54% | 1 | 1 | 0% | 2,535 | 3,826 | +51% | 0 | 0 | — |
case-09 | fail→fail | 17,150 | 11,524 | -33% | 1 | 1 | 0% | 2,674 | 4,434 | +66% | 0 | 0 | — |
case-01 | fail→pass | 21,098 | 18,691 | -11% | 1 | 1 | 0% | 4,760 | 6,821 | +43% | 0 | 0 | — |
case-03 | pass→pass | 8,724 | 6,187 | -29% | 1 | 1 | 0% | 1,606 | 3,614 | +125% | 0 | 0 | — |
case-04 | fail→pass | 15,378 | 7,307 | -52% | 1 | 1 | 0% | 2,588 | 3,836 | +48% | 0 | 0 | — |
case-05 | fail→pass | 8,772 | 6,267 | -29% | 1 | 1 | 0% | 1,591 | 3,689 | +132% | 0 | 0 | — |
case-06 | pass→pass | 10,280 | 4,642 | -55% | 1 | 1 | 0% | 1,868 | 3,338 | +79% | 0 | 0 | — |
case-07 | fail→pass | 18,991 | 12,349 | -35% | 1 | 1 | 0% | 3,402 | 4,862 | +43% | 0 | 0 | — |
case-11 | pass→pass | 14,001 | 9,922 | -29% | 1 | 1 | 0% | 2,346 | 4,532 | +93% | 0 | 0 | — |
case-12 | pass→pass | 12,540 | 3,196 | -75% | 1 | 1 | 0% | 2,181 | 3,096 | +42% | 0 | 0 | — |
case-13 | pass→pass | 11,564 | 9,294 | -20% | 1 | 1 | 0% | 1,979 | 4,204 | +112% | 0 | 0 | — |
case-14 | pass→pass | 13,881 | 7,987 | -42% | 1 | 1 | 0% | 2,254 | 4,026 | +79% | 0 | 0 | — |
case-15 | pass→pass | 24,229 | 4,517 | -81% | 1 | 1 | 0% | 1,413 | 3,188 | +126% | 0 | 0 | — |
case-16 | pass→pass | 11,257 | 4,627 | -59% | 1 | 1 | 0% | 1,921 | 3,368 | +75% | 0 | 0 | — |
case-17 | fail→pass | 13,136 | 4,268 | -68% | 1 | 1 | 0% | 1,916 | 3,071 | +60% | 0 | 0 | — |
case-18 | pass→pass | 11,001 | 4,438 | -60% | 1 | 1 | 0% | 1,904 | 3,191 | +68% | 0 | 0 | — |
case-19 | fail→pass | 8,673 | 2,069 | -76% | 1 | 1 | 0% | 1,473 | 2,797 | +90% | 0 | 0 | — |
case-20 | pass→pass | 12,638 | 15,438 | +22% | 1 | 1 | 0% | 2,058 | 5,267 | +156% | 0 | 0 | — |
case-21 | pass→pass | 14,800 | 13,422 | -9% | 1 | 1 | 0% | 2,795 | 5,056 | +81% | 0 | 0 | — |
case-22 | pass→pass | 21,905 | 20,929 | -4% | 1 | 1 | 0% | 3,999 | 6,882 | +72% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.