scaledock-enterprise-identity
Skill1 starsChanged 31 days agoMITView on GitHub
Make a ScaleDock product enterprise-ready with SCIM 2.0 provisioning, OpenID Connect SSO, Shared Signals (SSF, CAEP, RISC) session revocation, FAPI 2.0 when needed, and SPIFFE workload identity, with PermDock turning directory groups and roles into permissions. Use when a customer asks for SSO, SCIM, automatic deprovisioning, continuous access evaluation, IdP-driven logout, Okta or Entra integration, high-security API profiles, or service-to-service identity.
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Follow the workflow below step by step: Only add the parts the customer needs.
- Distinctive: line 41
Tenants are isolated: Every SCIM token, SSO connection and SSF stream belongs to one tenant, and nothing from one tenant's IdP can change …
- Very specific: line 57
Test and audit: Add scenario tests for join, role change, deactivation and revocation with permdock/testing, then run audit-permissions …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ScaleDock enterprise identity
Enterprise customers expect their identity provider to sign users in, provision and deprovision them, and revoke access the moment something changes. This skill wires those standards into a ScaleDock product and lets PermDock turn what the IdP says into permissions. The spec skills carry the rules of each standard.
Follow the workflow below step by step. Only add the parts the customer needs; each step names the input that switches it on.
Inputs (fill in, or ask before starting)
- SSO: yes or no, and the customer's IdP (Okta, Entra ID, Google Workspace, Keycloak, other).
- Provisioning: SCIM yes or no.
- Revocation: Shared Signals (CAEP) yes or no; Back-Channel Logout yes or no.
- Security profile: FAPI 2.0 yes or no (regulated finance, open banking, high-value APIs).
- Workloads: SPIFFE yes or no (service-to-service calls across trust domains).
- Tenancy: the scope a directory maps onto (usually the organization).
Skills to install
npx skills add ScaleDockHQ/scaledock-skills --skill openid-connect --skill scim --skill shared-signals
npx skills add ScaleDockHQ/scaledock-skills --skill fapi --skill spiffe # only when selected
npx skills add ScaleDockHQ/PermDockopenid (the umbrella over every OpenID Foundation spec) helps when the customer names a profile this skill does not cover, such as iGov or HEART. scaledock-repo-standard (references/auth.md, references/data-permissions.md) owns Supabase Auth, tenancy and RLS.
Invariants
- The spec skills win on protocol details. ID token validation follows
openid-connect; provisioning endpoints followscim; event tokens followshared-signals; profile rules followfapi; SVID checks followspiffe. - The IdP authenticates; PermDock authorizes. Directory groups and role claims become memberships and roles, and PermDock decides from those. No handler branches on a raw group name.
- SCIM writes, it never decides. The SCIM endpoint stores users and groups per tenant; PermDock reads them through a membership source and drops role names that are not assignable.
- Deprovisioning is immediate. A SCIM deactivation, a CAEP
session-revokedor a Back-Channel Logout invalidates snapshots, closes open streams and cancels pending approvals for that principal. - Tenants are isolated. Every SCIM token, SSO connection and SSF stream belongs to one tenant, and nothing from one tenant's IdP can change another tenant's memberships.
- Workloads are not users. A verified SPIFFE ID or CI token becomes a workload principal, never a user, and gets only the permissions granted to that workload.
Workflow
- Set the inputs. Agree with the user which of SSO, SCIM, revocation, FAPI and SPIFFE apply per tenant. ✓ Every selected part names its IdP and tenant mapping.
- SSO. Connect the IdP through Supabase Auth (SAML or OIDC) or, for a custom resource server, validate tokens as
openid-connectandjwtdescribe and resolve the subject withsubjectFromJwtfrompermdock/jwt. ->references/stack.md✓ A user from the IdP signs in to the right tenant, and a token from another issuer is rejected. - Provisioning. Mount
scimHandlerfrompermdock/scimper tenant, followingscimfor endpoints, filtering and PATCH, and passdirectoryMembershipSource(store)asmemberships. ✓ Creating, updating and deactivating a user in the IdP changes what that user can do on the next request. - Revocation. Mount the
permdock/ssfreceiver (push or poll) asshared-signalsdescribes, and handle Back-Channel Logout as a second input. Passrevocationsandapprovalsso streams close and approvals cancel. ✓ Asession-revokedevent ends that session's access without waiting for a cache to expire. - Profiles and workloads. With FAPI, apply
fapiand use the PermDock JWTprofile: 'fapi2'option andpermdock openapi emit --profile fapi2. With SPIFFE, verify SVIDs asspiffedescribes and map them to workload principals. ✓ The selected profile's checks pass. - Test and audit. Add scenario tests for join, role change, deactivation and revocation with
permdock/testing, then runaudit-permissionsfromScaleDockHQ/PermDock. ✓ Tests pass and the audit has no blocker.
Verify before done
- Every selected spec skill's Verify list passes.
- No handler reads a raw IdP group name; roles come from PermDock memberships.
- Deactivation and
session-revokedtake effect on the next request and close open streams. - SCIM tokens, SSO connections and SSF streams are scoped to one tenant each.
permdock doctorreports no error, andpnpm verifypasses.
Reference index
references/stack.md: each spec mapped to the ScaleDock stack and the PermDock adapter.
In this repository40 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- find-skillsSkill
- a2aSkill
- ag-uiSkill
- ap2Skill
- asyncapiSkill
- authzenSkill
- cedarSkill
- cloudeventsSkill
- eu-ai-actSkill
- fapiSkill
- gnapSkill
- jwtSkill
- mcp-authorizationSkill
- oauthSkill
- ocsfSkill
- openapi-arazzoSkill
- openapi-overlaySkill
- openapiSkill
- openfeatureSkill
- openid4vcSkill
- openid-connectSkill
- openid-federationSkill
- openidSkill
- opentelemetry-genaiSkill
- owasp-agenticSkill
- problem-detailsSkill
- ratelimit-headersSkill
- scaledock-agent-permissionsSkill
- scaledock-http-apiSkill
- scaledock-mcp-serverSkill
- scaledock-repo-standardSkill
- scimSkill
- shared-signalsSkill
- spiffeSkill
- standard-schemaSkill
- typespecSkill
- web-bot-authSkill
- webmcpSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

