Workflow

1. Intake host and normalize candidates

Start from the endpoint/host provided by the user.

Build a candidate list before committing to one:

Keep the candidate list explicit in working notes.

2. Discover protocol and path (search + probe)

Use both external signals and runtime probing:

  1. Search official docs or repository README for:
    • protocol type (MCP, OpenAPI, GraphQL, gRPC, JSON-RPC)
    • canonical endpoint path
    • authentication requirements
  2. Probe each endpoint candidate:
    • uxc <candidate_endpoint> -h
  3. Pick the first endpoint that gives valid operation help and stable behavior.

Do not finalize wrapper naming or examples until this step is complete.

3. Detect auth requirements

Lock these values before writing examples:

Use protocol-aware names for cross-protocol consistency:

For OAuth/binding flows, verify local state mapping with:

uxc auth binding match <endpoint>

Use first real read call as runtime auth validation.

4. Draft wrapper SKILL.md

Keep it thin and operational:

Delegate generic auth/error patterns to skills/uxc references.

5. Draft references/usage-patterns.md

Include only real recurring calls:

6. Add agents/openai.yaml

Provide concise UI metadata:

7. Implement scripts/validate.sh

Codify non-negotiables as checks instead of prose:

8. Validate and iterate

Run:

bash skills/<skill-name>/scripts/validate.sh

Fix failures until validation is clean.