Download free
For AI agents · machine-readable · open

Programmatic SKILL.md discovery

One JSON-LD catalog, 16 SKILL.md files, attachable to any agentic runtime. Point your agent at the manifest, get back download URLs. Open standard (agentskills.io) — no SDK lock-in.

JSON-LD llms.txt open access signed download URLs
Endpoints

Three endpoints. One catalog. Open standard.

Every endpoint emits the same canonical skill identifiers (xrfp, xclause, etc.) so your agent can correlate across formats.

GET · public
/.well-known/skills.json

JSON-LD catalog (Schema.org + procureai:* namespace). 16 skills, each with identifier, name, description, pillar, trigger phrases, model routing, override files, license.

Open catalog
GET · public
/llms.txt

Plain-text index for LLM crawlers — every skill name, trigger phrase, and SKILL.md URL on one line each. Standard llms.txt format.

Open llms.txt
POST · email required
/api/agent-manifest

Returns signed, time-limited download URLs for each SKILL.md + deliverable. Pass your email — auto-registered on first call. No CSRF, no separate subscription step.

See example below
Quick start · ~3 lines of code

Attach the suite to your agent

Discovery endpoints are open. Signed download URLs require an email — your agent POSTs once, gets auto-registered on first call, and receives time-limited signed URLs for every artifact.

A · Discovery (no auth required)
Any HTTP client, any agentic runtime
curl https://procureai.tech/.well-known/skills.json \
  | jq '.itemListElement[] | {id: ."@id", name, pillar}'

# → 16 skills with stable identifiers,
#   pillar, trigger phrases, license
B · Get signed download URLs (email required — auto-registers on first call)
POST · email gate · auto-registers + returns signed URLs
POST https://procureai.tech/api/agent-manifest
Content-Type: application/json

{
  "email": "[email protected]",
  "agent_id": "my-agent-v1",
  "skills": ["xrfp", "xclause", "xspend"]   // optional filter
}

# → 200 OK (email auto-registered if new; links valid for 7 days)
{
  "ok": true,
  "registered": true,
  "expires_at": "2026-05-31T18:30:00Z",
  "skills": [
    {
      "id": "xrfp",
      "name": "xRFP — RFP Drafter",
      "skill_md_url": "/downloads/skills/xrfp.md?sig=TOKEN&exp=1748736600"
    }
    /* ... 15 more */
  ],
  "deliverables": [
    { "name": "procureai-suite.zip",
      "url": "/downloads/procureai-suite.zip?sig=TOKEN&exp=1748736600" },
    { "name": "procureai-skills.zip",
      "url": "/downloads/procureai-skills.zip?sig=TOKEN&exp=1748736600" },
    { "name": "procureai-roi-calculator.xlsx",
      "url": "/downloads/procureai-roi-calculator.xlsx?sig=TOKEN&exp=1748736600" }
    /* ... */
  ]
}

# → 400  (invalid email format)
# → 429  (rate limit — 30 calls/hour per IP)
Python · Anthropic SDK
import os, requests, pathlib, anthropic

# 1. POST manifest — auto-registers email on first call,
#    returns signed download URLs (7-day TTL)
r = requests.post(
    "https://procureai.tech/api/agent-manifest",
    json={"email": os.environ["PROCUREAI_EMAIL"],
          "agent_id": "my-agent-v1"},
)
r.raise_for_status()
manifest = r.json()

# 2. Pull each SKILL.md to a local cache dir
skills_dir = pathlib.Path("./skills")
skills_dir.mkdir(exist_ok=True)
for s in manifest["skills"]:
    skill_path = skills_dir / s["id"]
    skill_path.mkdir(exist_ok=True)
    md = requests.get(s["skill_md_url"]).text
    (skill_path / "SKILL.md").write_text(md)

# 3. Also grab the ROI calculator if you need it
xlsx = next(d for d in manifest["deliverables"]
            if d["name"] == "procureai-roi-calculator.xlsx")
open("./roi-calculator.xlsx", "wb").write(
    requests.get(xlsx["url"]).content)

# 4. Load a skill and pass to Claude as system prompt
client = anthropic.Anthropic()
skill = (skills_dir / "xrfp" / "SKILL.md").read_text()
resp = client.messages.create(
    model="claude-opus-4-5",
    max_tokens=4096,
    system=skill,
    messages=[{"role": "user",
               "content": "Draft an RFP for managed cloud"}]
)
print(resp.content[0].text)
n8n / LangChain / CrewAI

Same flow: HTTP node hits /.well-known/skills.json for discovery → POST to /api/agent-manifest with the access-listed email → loop SKILL.md files into your tool registry. Frontmatter description + when_to_use drive routing.

Manual / inspection

Want to read a SKILL.md before wiring an agent? Hit the catalog — every entry has a contentUrl field pointing to its public SKILL.md.

Download the suite

16 skills + ROI Calculator. Free. Email required.

Enter your email — get signed download links for the full suite, the 16 skills zip, and the XLSX separately. Or pull all three programmatically via /api/agent-manifest.

Not a platform. A suite of markdown skills.

SKILL.md is an open standard (agentskills.io). Every file in this suite is CC-BY-4.0 licensed — fork it, fine-tune it, ship it inside your own product. I don't run a control plane. I don't ingest your data. I don't see what you ask your agent to do.