Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Diagnose and fix BambooHR API errors and exceptions. Use when encountering BambooHR errors, debugging failed requests, or troubleshooting HTTP 400/401/403/404/429/500/503 responses. Trigger with phrases like "bamboohr error", "fix bamboohr", "bamboohr not working", "debug bamboohr", "bamboohr 401", "bamboohr 429".
.claude/skills/jeremylongshore-bamboohr-common-errors/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 111% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 63% | 0% |
Diagnose from evidence, not guessed endpoint behavior. Preserve the request ID and operation while excluding credentials and HR payloads. A 200 with missing fields may still be a permission/schema issue on legacy report paths.
The official Python SDK defines typed exceptions for bad request, authentication, permission, not found, timeout, conflict, payload size, media type, validation, rate limit, and server/network failures. Its request ID may come from any of three documented response headers. Automatic retry is limited to 408, 429, 504, and 598—not every 5xx.
Record only auth mode and credential alias/age. For OAuth 401, allow one controlled refresh when configured; persist rotated tokens. For API-key 401, verify owner, tenant, and revocation without printing the key. A 403 usually requires permission analysis, not a retry.
typed exception, request ID, attempt count, latency, and a redacted summary.
and ensure the operation is read-only or idempotent.
400/422: validate body, field IDs, filters, pagination, and media type.401: validate credential/refresh lifecycle and tenant.403: compare required endpoint/field permissions with the owning identity.404: distinguish resource, tenant, format, and deprecated-path failures.409/412: refresh current HR state or policy; do not overwrite.413: shrink page, field set, or upload.429: honor Retry-After when supplied and consume the retry budget.500/502/503: record request ID and service condition; retry only whenthe operation and current client policy explicitly allow it.
504/598: bounded backoff for idempotent work, then queue/defer.over a deprecated endpoint with an unlimited retry.
Use Read, Glob, and Grep to inspect the failing code, schema, and bounded logs. Use Write/Edit only for an approved fix and regression test. This skill does not authorize live retries or permission changes.
Require approval before a production reproduction, mutation retry, credential rotation, permission change, or sharing any evidence outside its current system.
Return classification, request ID, likely contract layer, evidence, retry/no- retry decision, safe reproduction, proposed fix, regression result, owner, and remaining approval.
403 on one field prompts field-permission comparison, not admin elevation.503 is reported as service unavailable; it is not mislabeled as a published quota.Read official evidence for current error behavior.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 16,660 | 13,626 | -18% | 1 | 1 | 0% | 3,041 | 4,846 | +59% | 0 | 0 | — |
case-02 | fail→pass | 13,969 | 10,122 | -28% | 1 | 1 | 0% | 2,633 | 4,107 | +56% | 0 | 0 | — |
case-03 | fail→pass | 19,883 | 17,501 | -12% | 1 | 1 | 0% | 3,974 | 5,416 | +36% | 0 | 0 | — |
case-04 | pass→pass | 10,238 | 6,369 | -38% | 1 | 1 | 0% | 1,950 | 3,180 | +63% | 0 | 0 | — |
case-05 | pass→pass | 10,701 | 4,853 | -55% | 1 | 1 | 0% | 1,857 | 2,902 | +56% | 0 | 0 | — |
case-06 | pass→pass | 7,926 | 5,489 | -31% | 1 | 1 | 0% | 1,402 | 3,035 | +116% | 0 | 0 | — |
case-07 | pass→pass | 4,761 | 3,568 | -25% | 1 | 1 | 0% | 939 | 2,578 | +175% | 0 | 0 | — |
case-08 | pass→pass | 8,383 | 3,205 | -62% | 1 | 1 | 0% | 1,670 | 2,607 | +56% | 0 | 0 | — |
case-09 | pass→pass | 17,295 | 11,949 | -31% | 1 | 1 | 0% | 3,604 | 4,643 | +29% | 0 | 0 | — |
case-10 | pass→pass | 9,149 | 3,794 | -59% | 1 | 1 | 0% | 1,807 | 2,660 | +47% | 0 | 0 | — |
case-11 | pass→pass | 11,193 | 7,409 | -34% | 1 | 1 | 0% | 2,020 | 3,392 | +68% | 0 | 0 | — |
case-12 | pass→pass | 10,308 | 11,002 | +7% | 1 | 1 | 0% | 1,921 | 4,279 | +123% | 0 | 0 | — |
case-13 | pass→pass | 10,098 | 7,928 | -21% | 1 | 1 | 0% | 2,097 | 3,624 | +73% | 0 | 0 | — |
case-14 | pass→pass | 12,897 | 8,586 | -33% | 1 | 1 | 0% | 2,142 | 3,736 | +74% | 0 | 0 | — |
case-15 | pass→pass | 7,512 | 5,326 | -29% | 1 | 1 | 0% | 1,520 | 3,065 | +102% | 0 | 0 | — |
case-16 | pass→pass | 7,067 | 4,095 | -42% | 1 | 1 | 0% | 1,286 | 2,804 | +118% | 0 | 0 | — |
case-17 | fail→pass | 7,241 | 4,007 | -45% | 1 | 1 | 0% | 1,268 | 2,671 | +111% | 0 | 0 | — |
case-18 | pass→pass | 5,713 | 3,323 | -42% | 1 | 1 | 0% | 1,068 | 2,620 | +145% | 0 | 0 | — |
case-19 | pass→pass | 14,657 | 8,169 | -44% | 1 | 1 | 0% | 2,393 | 3,435 | +44% | 0 | 0 | — |
case-20 | pass→pass | 10,993 | 10,314 | -6% | 1 | 1 | 0% | 2,239 | 4,055 | +81% | 0 | 0 | — |
case-21 | pass→pass | 9,993 | 9,827 | -2% | 1 | 1 | 0% | 1,958 | 3,978 | +103% | 0 | 0 | — |
case-22 | fail→fail | 12,450 | 10,335 | -17% | 1 | 1 | 0% | 2,393 | 4,173 | +74% | 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 +18 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.