pingone-davinci-orchestration

Implements and debugs PingOne DaVinci widget and Orchestration SDK authentication flows.

1|Updated Jun 25, 2026
One-click install
npx skills add https://github.com/curtismu7/AI-DEMO2 --skill pingone-davinci-orchestration-curtismu7
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pingone-davinci-orchestration
Source: https://github.com/curtismu7/AI-DEMO2/tree/main/.claude/skills/pingone-davinci-orchestration
Command: npx skills add https://github.com/curtismu7/AI-DEMO2 --skill pingone-davinci-orchestration-curtismu7

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working on PingOne DaVinci authentication flows involves subtle multi-screen collector handling, callback URI registration, PKCE, and token custody rules that are easy to get wrong, leading to broken flows or security mistakes. ## Core Features & Use Cases - Flow correctness guidance: Enforces proper multi-screen progression by reading collectors after every SDK call, routing ActionCollector and FlowCollector controls correctly, and re-rendering on node changes. - Callback and tenant configuration safety: Requires read-only checks before mutating PingOne application redirect URIs and protects secrets like nonce, state, code verifier, and tokens from being printed. - Embedded and pop-out runners: Ensures both presentation modes share one flow implementation with correct pop-up handling, independent state, and consistent theming. - Use Case: When a DaVinci SDK login page shows only one screen or fails before any collector renders, use this Skill to diagnose whether the cause is a callback allowlist, client, flow policy, or CORS issue rather than a React rendering bug. ## Quick Start Ask the assistant to fix or extend the DaVinci widget or Orchestration SDK login page while following the pingone-davinci-orchestration skill rules.

Frequently Asked Questions about pingone-davinci-orchestration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement a multi-screen PingOne DaVinci Orchestration SDK flow?▼

After every SDK call, read collectors from the client including error nodes, render the current screen with a new React key, route ActionCollector submits through next() and FlowCollector branches through flow(action)(). On success, exchange the authorization code once through the BFF.

Why does the PingOne authorize request fail before any collector renders?▼

A validation error before collectors appear is usually a callback allowlist, client, flow policy, CORS, or request-shape problem, not a React rendering bug. Inspect the authorize request and the BFF /start response without printing nonce, state, code verifier, or tokens.

What is the difference between the DaVinci widget and the Orchestration SDK page?▼

The hosted widget gets a DaVinci API token from the BFF and renders DaVinci-owned screens via davinci.skRenderScreen. The Orchestration SDK page builds the /authorize request with response_mode=pi.flow and renders collectors in application-owned markup.

Can I add a new redirect URI to a live PingOne application?▼

Do not mutate a live PingOne application or add a production callback without explicit user approval. First perform a read-only application check and show the exact before and after URI set.

How do I verify DaVinci flow changes in this repo?▼

Run the focused Vitest files for the touched page, then build the UI, and run focused Jest route tests with CI=true for BFF changes. Live flow validation requires the running stack on https://local.ping-devops.com:4000 and cannot be proven by unit tests alone.