using-services

A guide for finding and calling web APIs and MCP services already listed in a shared service catalogue. An API is a way for software to request data or actions from another system.

In plain words
What is it for?
Use it to discover a registered service, search a backend, call an API, send notifications, or perform another task through an existing service.
Why use it?
It helps an agent reuse approved services instead of searching for connection details or building every integration from scratch. Calls can use the catalogue's credentials and audit process.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/desirecore/market/using-services
Any agent
npx skills add desirecore/market --skill using-services
Clone the repo
git clone --depth 1 https://github.com/desirecore/market

Made for: Claude Code, Codex.

Per session 69 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,762 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00069 $0.01762
Opus 5 $0.00034 $0.00881
Sonnet 5 $0.00014 $0.00352
Haiku 4.5 $0.00007 $0.00176

Measured 2d ago against content hash a1b62616687f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

using-services scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/using-services/SKILL.md · 188 lines

How it starts

The opening of the file, as written. The whole thing — 188 lines — stays where its author put it; the contents beside it link to each section on GitHub.

using-services Skill

L0: One-line Summary

Teach the Agent how to look up and call services from the global "Apps & Services" catalog.

L1: Overview

The "Apps & Services" catalog stores all registered HTTP/MCP services. This meta-skill is your manual for finding the right service and invoking it correctly. Each non-trivial registered service also has its own svc-<id> Skill auto-generated from its operations — prefer that when it exists; this meta-skill is the fallback for ad-hoc discovery.

When to use

  • The user asks you to do something that might already have a registered service (e.g. "search the product database", "send a notification")
  • You see svc-<id> Skill in your available skills list — activate it directly
  • You need to call an HTTP API and want to check if it's been registered (to benefit from governance, credential injection, and audit)

When NOT to use

  • The user gives you a one-off URL to fetch — use HttpRequest directly
  • You already have the per-service svc-<id> Skill activated — follow it instead, it's more specific

L2: How to discover and call

Step 1 — List the catalog

Fetch the registry:

tool: HttpRequest
parameters:
  url: http://127.0.0.1:<agent-service-port>/api/registry/services
  method: GET

Response shape (excerpt):

{
  "data": {
    "services": [
      {
        "id": "acme-search-api",
        "name": "Acme Search API",
        "protocol": "http",
        "endpoint": "https://api.acme.example/search",
        "tags": ["search", "products"],
        "status": "online",
        "origin": "agent",
        "reviewStatus": "approved",
        "riskLevel": "medium",
        "operations": [...]
      }
    ],
    "total": 1,
    "source": "official"
  }
}

Step 2 — Pick a candidate

Filter by tags, protocol, name. Important checks before invoking:

  • status === 'online' → safe to call
  • status === 'offline' / 'error' → tell the user the service is down, don't retry blindly
  • status === 'degraded' → degrade gracefully, mention it to the user
  • reviewStatus === 'pending' (only origin='agent') → you can only call it if registeredBy is you; otherwise ask the user to promote it
  • riskLevel === 'critical' → expect a human approval prompt on every call

Read the full file on GitHub · 188 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 188 lines · 69 tokens per session scan A a1b62616687f

Subscribe to this mod's changes

using-services is a skill published in the GitHub repository desirecore/market (2 stars, last pushed 2d ago), licensed MIT. It adds 69 tokens to every session and 1,762 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.