A Scoutica Skill Card is a collection of files hosted at a public URL — most commonly a GitHub repository. The scoutica.json discovery file provides a card_url that serves as the base URL for fetching all card files.
Card file contents
Every Skill Card contains four files:
| File | Format | Contents |
|---|
profile.json | JSON | Skills (flat array), primary_domains, tools_and_platforms, seniority, experience |
rules.yaml | YAML | Engagement types, compensation floors, remote policy, filters.blocked_industries |
evidence.json | JSON | Verifiable links: repos, certs, portfolio, publications — with skills_demonstrated |
scoutica.json | JSON | Discovery metadata: name, title, availability |
Fetching from GitHub
GitHub raw content base URLs follow the pattern https://raw.githubusercontent.com/{user}/{repo}/main. Append the filename to this base URL to fetch each card file.
import requests, json
BASE = "https://raw.githubusercontent.com/{user}/{repo}/main"
def fetch_card(base_url):
"""Fetch all Scoutica Protocol card files from a base URL."""
return {
'profile': requests.get(f"{base_url}/profile.json").json(),
'rules': requests.get(f"{base_url}/rules.yaml").text,
'evidence': requests.get(f"{base_url}/evidence.json").json(),
'discovery': requests.get(f"{base_url}/scoutica.json").json(),
}
card = fetch_card("https://raw.githubusercontent.com/user/my-card/main")
print(card['profile']['name']) # "Alex Chen"
print(card['profile']['skills']) # ["Python", "TypeScript", "Go", ...]
print(card['profile']['primary_domains']) # ["Backend Engineering", "Cloud Infrastructure"]
Caching
Cache fetched cards locally and refresh every 24 hours at minimum. Cards may be updated at any time, and a candidate may also delete their card — if that happens, purge all cached data immediately per the data security rules.