From procore-pack
Provides Python patterns for Procore REST API with OAuth2 authentication. Fetches companies, handles 401/429/403 errors. For project management, RFIs, submittals integration.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin procore-packThis skill is limited to using the following tools:
Implementation patterns for Procore debug bundle using the REST API with OAuth2 authentication.
Provides Python patterns for Procore REST API integration with OAuth2 authentication. Use for construction project management, RFIs, submittals, and observability.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Implementation patterns for Procore debug bundle using the REST API with OAuth2 authentication.
procore-install-auth setupimport os, requests
token_resp = requests.post("https://login.procore.com/oauth/token", data={
"grant_type": "client_credentials",
"client_id": os.environ["PROCORE_CLIENT_ID"],
"client_secret": os.environ["PROCORE_CLIENT_SECRET"],
})
access_token = token_resp.json()["access_token"]
headers = {"Authorization": f"Bearer {access_token}"}
companies = requests.get("https://api.procore.com/rest/v1.0/companies", headers=headers)
print(f"Companies: {len(companies.json())}")
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Expired token | Re-authenticate |
| 429 Rate Limited | Too many requests | Implement backoff |
| 403 Forbidden | Insufficient permissions | Check project role |
See related Procore skills for more workflows.