BambooHR SDK and Client Patterns
SkillDev toolsSelect and wrap BambooHR's official Python or PHP SDK, or a narrow direct HTTP adapter, with tenant isolation and typed errors. Use when implementing a reusable client or replacing an unverified community package. Trigger with "BambooHR SDK", "BambooHR client", or "BambooHR integration patterns".
Use BambooHR SDK and Client Patterns in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add BambooHR SDK and Client Patterns and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the BambooHR SDK and Client Patterns skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by jeremylongshore/tons-of-skills-marketplace in skills/.curated/bamboohr-sdk-patterns/SKILL.md and read by Ahel’s review.
Overview
Build a small application-owned adapter around a verified BambooHR transport. Keep BambooHR models and error details at the adapter boundary so upstream SDK regeneration or endpoint migration does not ripple through business logic.
Prerequisites
- The target repository or integration path and the requested operator outcome.
- The tenant, identity, and data scope only when approved live work is in scope.
- The current evidence register plus customer-specific permissions and agreements.
Current Contract
BambooHR/bhr-api-pythonandBambooHR/bhr-api-phpare official repositories.bamboohr/api2.0.1 is published on Packagist.- The Python repository documents
bamboohr-sdk1.0.0, but public PyPI did not expose that distribution on 2026-09-11 and the repository had no tag or release. Treat it as source-visible, not registry-proven. - No official npm BambooHR SDK was found; a TypeScript integration should use a narrow HTTP adapter rather than claim an official package.
Authentication
Expose constructors for OAuth and API-key identities, not raw headers. Bind each client to one validated tenant subdomain. If OAuth refresh is enabled, persist rotated tokens through the caller-owned callback; the Python SDK does not store them across restarts.
Instructions
- Inventory language, package lock, existing HTTP client, and supported auth modes with Read, Glob, and Grep.
- Verify the selected package in its public registry at implementation time. For an approved source install, pin an immutable commit and record its hash, license, provenance, and update owner.
- Define an adapter with explicit operations such as
getCompanyInformation,listEmployees, andqueryDatasetV2; do not expose an arbitrary URL method to untrusted callers. - Normalize errors into status, operation, retryability, request ID, and a redacted summary. Preserve the original exception only in protected logs.
- Keep tenant, authentication, timeout, retry budget, and user-agent immutable for the life of a client instance.
- Test request construction, tenant rejection, secret redaction, typed error mapping, token-refresh persistence, and response-shape drift with fixtures.
Tool Discipline
Use Read, Glob, and Grep to establish the project's language and package state. Use Write/Edit only for the approved adapter and tests. This skill does not authorize package installation, remote registry mutation, or live tenant calls.
Approval Boundaries
Require approval before adding a dependency, using an unreleased commit, making a tenant request, broadening OAuth scopes, or enabling debug logging around HR data. Never silently fall back from OAuth to an API key.
Output
Return the chosen transport and exact version/commit, registry verification, adapter operations, auth and tenant boundary, error taxonomy, test results, and remaining publication or live-test approvals.
Error Handling
- Package absent from registry: stop; offer pinned-source review or direct HTTP.
- SDK method absent for a documented endpoint: use the generated manual client only after checking the current OpenAPI, or implement a bounded HTTP adapter.
- Response schema drift: quarantine the payload and fail the contract test.
Examples
- "Install the official Python SDK" first proves public registry availability.
- "Use an npm BambooHR SDK" reports that no official package was verified and proposes a three-operation HTTP adapter.
Resources
Read official evidence before choosing a transport.
Signals
- GitHub stars
- 3k
- Forks
- 415
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
bamboohr-sdk-patterns- Source
- github.com/jeremylongshore/tons-of-skills-marketplace
github.com/jeremylongshore/tons-of-skills-marketplace
Related picks
Skill · michtio
The pick for PHPfeature-flags-php
Skill · posthog
The pick for PHPpython-performance-optimization
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonsetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScript