← Browse

@jeremylongshore/procore-observability

B

"Procore observability \u2014 construction management platform integration.\n\

skillclaude

Install

agr install @jeremylongshore/procore-observability --target claude

Writes 1 file into .claude/skills/, pinned to git-25a8fb7a.

  • .claude/skills/procore-observability/SKILL.md

Document


name: procore-observability description: "Procore observability \u2014 construction management platform integration.\n
Use when working with Procore API for project management, RFIs, or submittals.\n
Trigger with phrases like "procore observability", "procore-observability".\n" allowed-tools: Read, Write, Edit, Bash(npm:), Bash(pip:), Bash(curl:*), Grep version: 1.5.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:

  • saas
  • procore
  • construction
  • project-management compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw

Procore Observability

Overview

Implementation patterns for Procore observability using the REST API with OAuth2 authentication.

Prerequisites

  • Completed procore-install-auth setup

Instructions

Step 1: API Call Pattern

import 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())}")

Output

  • Procore API integration for observability

Error Handling

ErrorCauseSolution
401 UnauthorizedExpired tokenRe-authenticate
429 Rate LimitedToo many requestsImplement backoff
403 ForbiddenInsufficient permissionsCheck project role

Resources

Next Steps

See related Procore skills for more workflows.

Trustgrade B

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • warnPrompt injection2 hit(s): credential_access

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

    • line 36References credentials, tokens, or key material
    • line 37References credentials, tokens, or key material
  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-25a8fb7a6bbd2026-07-31