Agent skill

Primary

by gauss314 in gauss314/skills

Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos.

MITAuto-check passedBusiness, Finance & HR

Install Primary

skills CLI
$ npx skills add gauss314/skills --skill primary -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gauss314/skills primary --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/primary .claude/skills/primary && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
primary
GitHub stars
246
Token cost
~4.4k tokens
SKILL.md length
1,086 words
Files
10 (incl. scripts, references)
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos.

  • Tasks that involve Trading and backtesting
  • SKILL.md covers Autenticación, Segmentos, Instrumentos (Securities) and Market Data, plus 2 more sections
  • Runs Python scripts from its folder; calls python; reaches api.remarkets.primary.com.ar; needs PRIMARY_PASSWORD
  • Tasks that involve Stock and market analysis

What it does

Primary is an agent skill from gauss314/skills. Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos. Órdenes, posiciones, cuenta, market data.

Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/REFERENCE.md`, `scripts/check_account.py` and `scripts/check_positions.py`).

It sits in Business, Finance & HR, covering Trading and backtesting and Stock and market analysis. The repository describes itself as: Financial market data consumption skills for claude code and AI agents. The licence is MIT.

When your agent uses it

  • Tasks that involve Trading and backtesting
  • Tasks that involve Stock and market analysis

Example prompts

  • “/primary”

Requirements

  • Python 3
  • A credential in PRIMARY_TOKEN

What it can do on your machine

Read from SKILL.md and the folder at commit 5156f81. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 8 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.remarkets.primary.com.ar

    Also links to:

    • github.com
    • remarkets.primary.ventures

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PRIMARY_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Primary loads about 4.4k tokens when it runs, and up to ~8.8k if it reads all its reference files. Until then it costs about 31 tokens; SKILL.md has 1,086 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gauss314/skills at commit 5156f81, republished under its MIT licence (© gauss314). 1,086 words, ~4,370 tokens.

Download SKILL.mdSave it as .claude/skills/primary/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
primary
description
Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos. Órdenes, posiciones, cuenta, market data.
license
MIT

Primary — Trading API de Matba ROFEX

API para operar en el Mercado Argentino de Futuros y Opciones (Matba ROFEX) a través de Primary Trading Platform (PTP). Soporta futuros (dólar, soja, trigo, maíz, índices), opciones sobre futuros, acciones, bonos y CEDEARs.

Base URL: https://api.remarkets.primary.com.ar

Docs: github.com/matbarofex — repositorio oficial con ejemplos open source.


Autenticación

Obtener Credenciales
EntornoURLDescripción
REMARKET (demo)remarkets.primary.venturesCrear cuenta gratis para paper trading
LIVE (producción)Contactar a mpi@primary.com.arSolicitar acceso al equipo MPI

Una vez creada la cuenta en REMARKET, tendrás:

  • Usuario: el que registraste
  • Password: el que configuraste
  • Account: tu número de cuenta (suele ser REM + últimos dígitos del usuario)
Obtener Token
python
import requests

r = requests.post("https://api.remarkets.primary.com.ar/auth/getToken",
    headers={"X-Username": tu_usuario, "X-Password": tu_password})

token = r.headers["X-Auth-Token"]

El token se envía en adelante como header X-Auth-Token en todos los requests.

⚠️ NUNCA hardcodear credenciales. Usar variables de entorno o parámetros CLI.

python
import os
TOKEN = os.getenv("PRIMARY_TOKEN")  # Opcional: cachear token
USER = os.getenv("PRIMARY_USER")
PASS = os.getenv("PRIMARY_PASSWORD")
ACCOUNT = os.getenv("PRIMARY_ACCOUNT")  # Ej: 12345 o REM12345
Renew Token

Si recibís un 401, el token expiró. Renovalo con un nuevo POST a /auth/getToken.


Segmentos

El mercado se organiza en segmentos (ruedas de negociación). Cada instrumento pertenece a un segmento.

SegmentoDescripción
DDFDerivados Financieros (futuros de dólar, índices)
DDADerivados Agropecuarios (soja, trigo, maíz)
DUALInstrumentos listados en ambas divisiones
MERVMercados externos a Matba ROFEX (BYMA)
MAEMercado Abierto Electrónico
TESTAmbiente de pruebas
U-DDF, U-DDA, U-DUAL, U-FIN, U-COMM, U-STOCKSub-segmentos de usuarios
TIVA, AVSOtros segmentos
Listar Segmentos
http
GET https://api.remarkets.primary.com.ar/rest/segment/all
python
r = requests.get("https://api.remarkets.primary.com.ar/rest/segment/all",
    headers={"X-Auth-Token": token})
print(r.json()["segments"])

Respuesta:

json
{"status":"OK","segments":[
  {"marketSegmentId":"DDF","marketId":"ROFX"},
  {"marketSegmentId":"DDA","marketId":"ROFX"},
  ...
]}

Instrumentos (Securities)

Los instrumentos se identifican por su símbolo y marketId. Ejemplos:

SímboloDescripciónCFI Code
DLR/JUN26Futuro de dólar Junio 2026FXXXSX
SOJ.ROS/MAY26Futuro de soja Rosario Mayo 2026FXXXSX
DLR/JUN26 1460 COpción Call sobre futuro dólarOCAFXS
DLR/JUN26 1420 POpción Put sobre futuro dólarOPAFXS
GGALAcción Grupo GaliciaESXXXX
Todos los Instrumentos
http
GET https://api.remarkets.primary.com.ar/rest/instruments/all
Instrumentos con Detalle
http
GET https://api.remarkets.primary.com.ar/rest/instruments/details

Devuelve: symbol, segment, lowLimitPrice, highLimitPrice, minPriceIncrement, minTradeVol, maxTradeVol, tickSize, contractMultiplier, roundLot, maturityDate, currency, orderTypes, timesInForce, cficode.

Detalle de un Instrumento
http
GET https://api.remarkets.primary.com.ar/rest/instruments/detail?symbol=DLR/JUN26&marketId=ROFX
Por Código CFI
http
GET https://api.remarkets.primary.com.ar/rest/instruments/byCFICode?CFICode=FXXXSX
CFI CodeTipo
FXXXSXFuturo
FXXXXXFuturo (genérico)
OCAFXSOpción Call sobre Futuro
OPAFXSOpción Put sobre Futuro
OCEFXSOpción Call europea sobre Futuro
OPEFXSOpción Put europea sobre Futuro
ESXXXXAcción
DBXXXXBono
EMXXXXCEDEAR
OCASPSOpción Call sobre Acción
OPASPSOpción Put sobre Acción
DBXXFRObligación Negociable
Por Segmento
http
GET https://api.remarkets.primary.com.ar/rest/instruments/bySegment?MarketSegmentID=DDF&MarketID=ROFX

Market Data

En Tiempo Real (REST Snapshot)
http
GET https://api.remarkets.primary.com.ar/rest/marketdata/get
    ?marketId=ROFX
    &symbol=DLR/JUN26
    &entries=BI,OF,LA,OP,CL,SE,OI
    &depth=3
EntrySignificado
BIBids (ofertas de compra en el book)
OFOffers (ofertas de venta en el book)
LALast (último precio operado)
OPOpening Price (precio de apertura)
CLClosing Price (cierre rueda anterior)
SESettlement Price (precio de ajuste, solo futuros)
HIHigh Price (máximo de la rueda)
LOLow Price (mínimo de la rueda)
TVTrade Volume (volumen operado en contratos)
OIOpen Interest (interés abierto, solo futuros)
IVIndex Value (solo índices)
EVEffective Volume (solo BYMA)
NVNominal Volume (solo BYMA)
ACPAuction Price (cierre del día corriente)
python
r = requests.get("https://api.remarkets.primary.com.ar/rest/marketdata/get",
    headers={"X-Auth-Token": token},
    params={"marketId": "ROFX", "symbol": "DLR/JUN26",
            "entries": "BI,OF,LA,OP,CL,SE,OI", "depth": 3})
data = r.json()["marketData"]
print(f"Bid: {data['BI']}  |  Offer: {data['OF']}")
print(f"Last: {data['LA']}  |  Settle: {data['SE']}")
Histórica (Trades)
http
GET https://api.remarkets.primary.com.ar/rest/data/getTrades
    ?marketId=ROFX
    &symbol=DLR/JUN26
    &dateFrom=2026-06-01
    &dateTo=2026-06-08

Parámetros: marketId, symbol, date (una fecha), dateFrom/dateTo (rango), external (para mercados externos), environment (REMARKETS).

python
r = requests.get("https://api.remarkets.primary.com.ar/rest/data/getTrades",
    headers={"X-Auth-Token": token},
    params={"marketId": "ROFX", "symbol": "DLR/JUN26",
            "date": "2026-06-05"})
trades = r.json()["trades"]
for t in trades[:3]:
    print(f"{t['datetime']}  {t['price']}  {t['size']}")

Órdenes

Tipos de Órdenes
TipoDescripción
LIMITOrden con precio límite
MARKETOrden a mercado
STOP_LIMITOrden stop que se activa como limit
MARKET_TO_LIMITMarket que se convierte en limit

Nota: STOP_LIMIT y MARKET_TO_LIMIT no están disponibles para todos los instrumentos. Verificar orderTypes en el detalle del instrumento.

Time in Force (TIF)
TIFDescripción
DAYSolo válida por el día. Se expira al cierre de rueda
IOCImmediate or Cancel
FOKFill or Kill
GTDGood Till Date (requiere expireDate)
Ingresar Orden (REST)
http
GET https://api.remarkets.primary.com.ar/rest/order/newSingleOrder
    ?marketId=ROFX
    &symbol=DLR/JUN26
    &side=BUY
    &orderQty=10
    &ordType=LIMIT
    &price=1450.0
    &timeInForce=DAY
    &account=TU_CUENTA
    &cancelPrevious=False
    &iceberg=False

Parámetros:

ParámetroTipoObligatorioDescripción
marketIdString✅ROFX
symbolString✅Símbolo del instrumento
sideString✅BUY o SELL
orderQtyInteger✅Cantidad de contratos
ordTypeString✅LIMIT o MARKET
priceFloatCondicionalRequerido para LIMIT
timeInForceStringNoDAY (default), IOC, FOK, GTD
accountInteger/String✅Número de cuenta
cancelPreviousBooleanNoCancela órdenes previas del mismo contrato/lado
icebergBooleanNoOrden Iceberg (default: false)
displayQtyIntegerCondicionalCantidad a divulgar (para iceberg)
expireDateDateCondicionalRequerido para GTD (formato: YYYYMMDD)

Respuesta:

json
{"status":"OK","order":{"clientId":"21581341758","proprietary":"PBCP"}}

El clientId es el clOrdId (Client Order ID) que se usa para consultar/cancelar la orden.

Show full SKILL.md (445 more words)Show less
Ingresar Orden (WebSocket)
json
{"type":"no","product":{"marketId":"ROFX","symbol":"DLR/JUN26"},
 "price":185,"quantity":23,"side":"BUY","account":"20","iceberg":false}

Para identificar la orden vía WebSocket, incluir wsClOrdId:

json
{"type":"no","product":{"marketId":"ROFX","symbol":"DLR/JUN26"},
 "price":185,"quantity":23,"side":"BUY","account":"20",
 "iceberg":false,"wsClOrdId":"mioid-unico-123"}

Respuesta WebSocket (Execution Report):

json
{"type":"or","orderReport":{"orderId":"1128056","clOrdId":"user14545...",
 "status":"PENDING_NEW","text":"Enviada","wsClOrdId":"mioid-unico-123"}}

Importante: El wsClOrdId solo aparece en el primer execution report. Luego se debe usar el clOrdId devuelto para seguimiento.

Reemplazar Orden
http
GET https://api.remarkets.primary.com.ar/rest/order/replaceById
    ?clOrdId=user144733478280357
    &proprietary=api
    &price=17
    &orderQty=10
Cancelar Orden
http
GET https://api.remarkets.primary.com.ar/rest/order/cancelById
    ?clOrdId=ajduj3l13ieci2jr4ck
    &proprietary=PBCP
Cancelar por WebSocket
json
{"type":"co","clientId":"user114121092035207","proprietary":"PBCP"}
Consultar Estado de la Orden (REST)
EndpointDescripción
GET /rest/order/id?clOrdId=...&proprietary=apiÚltimo estado del request
GET /rest/order/allById?clOrdId=...&proprietary=apiTodos los estados del request
GET /rest/order/byOrderId?orderId=...Estado por Order ID
GET /rest/order/actives?accountId=10Órdenes activas (NEW o PARTIALLY_FILLED)
GET /rest/order/filleds?accountId=10Órdenes total o parcialmente operadas
GET /rest/order/all?accountId=10Todos los estados de la cuenta
GET /rest/order/byExecId?execId=T1234567Estado por Execution ID
Execution Reports (WebSocket)

Suscribirse a una cuenta:

json
{"type":"os","account":{"id":"40"}}

Varias cuentas:

json
{"type":"os","accounts":[{"id":"40"},{"id":"4000"}]}

Todas las cuentas:

json
{"type":"os"}

Solo órdenes activas:

json
{"type":"os","snapshotOnlyActive":true}

Risk API

La Risk API usa HTTP Basic Auth con el mismo user/password, no token. Requiere el header Authorization: Basic <base64> adicionalmente al X-Auth-Token.

python
import base64
auth = base64.b64encode(f"{user}:{password}".encode()).decode()
headers = {"X-Auth-Token": token, "Authorization": f"Basic {auth}"}
Posiciones de una Cuenta
http
GET https://api.remarkets.primary.com.ar/rest/risk/position/getPositions/{accountName}
python
r = requests.get(f"https://api.remarkets.primary.com.ar/rest/risk/position/getPositions/TU_CUENTA",
    headers=headers)
positions = r.json()["positions"]
for p in positions:
    print(f"{p['symbol']}  Buy:{p['buySize']}  Sell:{p['sellSize']}  Diff:{p['totalDiff']}")
Posiciones Detalladas
http
GET https://api.remarkets.primary.com.ar/rest/risk/detailedPosition/{accountName}

Devuelve desglose por instrumento con: contractType, marketPrice, currency, exchangeRate, contractMultiplier, buyCurrentSize, sellCurrentSize, detailedDailyDiff.

Reporte de Cuenta
http
GET https://api.remarkets.primary.com.ar/rest/risk/accountReport/{accountName}
python
import base64
auth = base64.b64encode(f"{user}:{password}".encode()).decode()
headers = {"X-Auth-Token": token, "Authorization": f"Basic {auth}"}
r = requests.get(f"https://api.remarkets.primary.com.ar/rest/risk/accountReport/TU_CUENTA",
    headers=headers)
data = r.json()["accountData"]
print(f"Colateral: {data['collateral']}")
print(f"Margen: {data['margin']}")
print(f"Disponible: {data['availableToCollateral']}")
# Saldos por moneda
for moneda, saldo in data['detailedAccountReports']['0']['currencyBalance']['detailedCurrencyBalance'].items():
    print(f"  {moneda}: consumido={saldo['consumed']}  disponible={saldo['available']}")

WebSocket

URL: wss://api.remarkets.primary.com.ar/

La API WebSocket recibe mensajes asíncronos. El token se envía como header en la conexión:

python
import websocket

ws = websocket.WebSocketApp(
    "wss://api.remarkets.primary.com.ar/",
    header=[f"X-Auth-Token: {token}"],
    on_open=on_open,
    on_message=on_message,
    ...
)
ws.run_forever()

Los mensajes tienen el formato:

typeSignificado
noNew Order (enviar orden)
coCancel Order (cancelar orden)
orOrder Report (execution report recibido)
osOrder Subscription (suscribirse a reports)
smdSubscribe Market Data
MdMarket Data (recibido)
Market Data por WebSocket
json
{"type":"smd","level":1,"entries":["OF","BI","LA"],
 "products":[{"symbol":"DLR/JUN26","marketId":"ROFX"}],"depth":2}

Respuesta:

json
{"type":"Md","instrumentId":{"marketId":"ROFX","symbol":"DLR/JUN26"},
 "marketData":{"OF":[{"price":189,"size":21},{"price":188,"size":13}]}}

Estados de una Orden

EstadoSignificado
PENDING_NEWEnviada al mercado, aún no procesada
NEWAceptada, activa en el book
PARTIALLY_FILLEDParcialmente operada
FILLEDTotalmente operada
CANCELLEDCancelada
REJECTEDRechazada (ver text para motivo)
PENDING_CANCELCancelación en proceso
PENDING_REPLACEReemplazo en proceso
REPLACEDReemplazada
PENDING_APPROVALPendiente de aprobación

Errores Comunes

ErrorCausaSolución
401 UnauthorizedToken inválido o expiradoRenovar con /auth/getToken
"No tiene acceso a la cuenta"Account ID incorrectoVerificar accountId
"Product doesn't exist"Symbol incorrectoVerificar símbolo con instruments/all
"Access Denied"Sin permisos para el endpointVerificar segmento/método
"Ruta invalida"Endpoint no existeRevisar URL
Bid/Offer vacíosMercado cerrado o sin liquidezConsultar en horario de rueda

Scripts de Ejemplo

Ver ./scripts/:

bash
# Autenticación y token (opcional, los scripts hacen login automático)
export PRIMARY_USER="tu_usuario"
export PRIMARY_PASSWORD="tu_password"
export PRIMARY_ACCOUNT="TU_CUENTA"

# Listar segmentos e instrumentos
python scripts/instruments.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD

# Market data de un futuro
python scripts/market_data.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --symbol DLR/JUN26 --entries BI,OF,LA

# Ver reporte de cuenta
python scripts/check_account.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --account TU_CUENTA

# Ver posiciones
python scripts/check_positions.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --account TU_CUENTA

# Enviar orden (¡cuidado! orden real en live)
python scripts/place_order.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --symbol DLR/JUN26 --side BUY --qty 1 --type LIMIT --price 1450 --account TU_CUENTA

# WebSocket: Market Data en tiempo real
python scripts/websocket_md.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --symbols DLR/JUN26 --entries BI,OF,LA --depth 3

# WebSocket: Execution Reports
python scripts/websocket_orders.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --account TU_CUENTA

# WebSocket: Enviar orden (requiere suscripción a execution reports aparte)
python scripts/websocket_send_order.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --symbol DLR/JUN26 --side BUY --qty 1 --type LIMIT --price 1450 --account TU_CUENTA

# WebSocket: Cancelar orden
python scripts/websocket_send_order.py --user $PRIMARY_USER --password $PRIMARY_PASSWORD \
    --cancel --clordid user12345... --proprietary PBCP

Glosario de Campos

CampoDescripción
clOrdIdClient Order ID — ID del request al mercado
orderIdOrder ID — ID de la orden en el mercado
execIdExecution ID — ID de una ejecución particular
proprietaryUsuario FIX que envió la orden (PBCP o ISV_PBCP)
wsClOrdIdID de orden enviada por WebSocket (solo en 1er report)
avgPxPrecio promedio operado
cumQtyCantidad acumulada operada
leavesQtyCantidad remanente
lastPxÚltimo precio operado
lastQtyÚltima cantidad operada
transactTimeFecha y hora de la transacción
tickSizeIncremento mínimo de cantidad
minPriceIncrementIncremento mínimo de precio (tick price)
contractMultiplierMultiplicador del contrato
maturityDateFecha de vencimiento
priceConvertionFactorFactor para precio unitario
lowLimitPriceLímite mínimo de precio
highLimitPriceLímite máximo de precio

© gauss314, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts, references) in skills/primary of gauss314/skills.

  • SKILL.md
  • references/REFERENCE.md
  • scripts/check_account.py
  • scripts/check_positions.py
  • scripts/instruments.py
  • scripts/market_data.py
  • scripts/place_order.py
  • scripts/websocket_md.py
  • scripts/websocket_orders.py
  • scripts/websocket_send_order.py

Open the folder on GitHubat commit 5156f81

Compare with similar skills

Primary next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Primary compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Primary this skillgauss314/skills246—~4.4kAutomated safety check: PassMIT
Tushare Datazillionare/zillionare3192 repos~2.3kAutomated safety check: PassNone
Tradingview MCPatilaahmettaner/tradingview-mcp5k—~1.3kAutomated safety check: PassMIT
Digital Oraclekomako-workshop/digital-oracle870—~5.9kAutomated safety check: PassMIT
Worth Buy Stocksstarriv/worth-buy-stocks174—~4.5kAutomated safety check: NotesNone
Regimejackson-video-resources/markov-hedge-fund-method483—~1.6kAutomated safety check: PassCustom licence

Similar skills

  • Tushare Data

    zillionare/zillionare

    面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。

    319 GitHub starsUsed in 2 repos~2.3k tokens
    Business, Finance & HRAuto-check passed
  • Tradingview MCP

    atilaahmettaner/tradingview-mcp

    AI Trading Intelligence — live prices, 30+ technical indicators, backtesting (6 strategies), walk-forward overfitting detection, trade logs, equity curves, licensed news sentiment (Marketaux), and…

    5k GitHub stars~1.3k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Digital Oracle

    komako-workshop/digital-oracle

    Answer prediction questions using market trading data, not opinions.

    870 GitHub stars~5.9k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Worth Buy Stocks

    starriv/worth-buy-stocks

    Evaluate US stocks under an Alpaca trend and relative-strength framework, and prioritize defined-risk net-credit income spreads: Bull Put/Bear Call first, Iron Condor second.

    174 GitHub stars~4.5k tokensUpdated 6 days ago
    Business, Finance & HRAuto-check: notes
  • Regime

    jackson-video-resources/markov-hedge-fund-method

    Detect the market regime (Bull / Bear / Sideways) for ANY asset and turn it into a tradeable signal or a risk filter.

    483 GitHub stars~1.6k tokensUpdated 4 mo ago
    Business, Finance & HRAuto-check passed
  • Agentic Trading Desk

    Oft3r/agentic-trading-desk

    Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP.

    306 GitHub stars~5.1k tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed

More from gauss314/skills

All 32 skills in this repo
  • Backtesting

    gauss314/skills

    Academic backtesting framework for quantitative research. An agent skill from gauss314/skills.

    246 GitHub stars~2.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Google Finance

    gauss314/skills

    Datos de Google Finance via batchexecute (API RPC interna sin auth ni API key).

    246 GitHub stars~3.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Historyofmarket

    gauss314/skills

    History of Market (historyofmarket.com) — API publica con 88 datasets historicos de indices US desde 1871.

    246 GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Indec

    gauss314/skills

    Datos macro y sociales de Argentina via la API oficial Series de Tiempo del Estado (apis.datos.gob.ar/series).

    246 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • Morningstar

    gauss314/skills

    Morningstar Screener via API JSON publica: descarga masiva de 53 universes (102K+ listings, 39 paises, NYSE/Nasdaq/BCBA/etc) con 33 campos (precio, market cap, ratios, retornos…

    246 GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Option Pricing

    gauss314/skills

    Pricing completo de opciones europeas y americanas. An agent skill from gauss314/skills.

    246 GitHub stars~4.7k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Primary

What does Primary do?

Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos. Primary is an agent skill from gauss314/skills. Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos.

When should I use Primary?

Primary fits situations like: tasks that involve Trading and backtesting; tasks that involve Stock and market analysis.

How do I install Primary in Claude Code?

Run `npx skills add gauss314/skills --skill primary -a claude-code`. Or copy the skill folder (skills/primary in gauss314/skills) into .claude/skills/primary in your project. Claude Code loads it when a task matches its description.

How do I install Primary in Codex?

Run `npx skills add gauss314/skills --skill primary -a codex`. Or copy the skill folder (skills/primary in gauss314/skills) into .agents/skills/primary in your project. Codex loads it when a task matches its description.

Can I use Primary in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gauss314/skills --skill primary -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/primary, .gemini/skills/primary, .github/skills/primary and .opencode/skills/primary in your project.

What does Primary need to run?

Going by SKILL.md and its folder, Primary needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named PRIMARY_PASSWORD. Our summary lists: Python 3; A credential in PRIMARY_TOKEN.

Does Primary access the network?

SKILL.md names 3 domains. In commands or code: api.remarkets.primary.com.ar; the agent is likely to contact it when it follows the instructions. As links in the text: github.com and remarkets.primary.ventures. This is read from the text; nothing was executed.

Is Primary safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Primary use?

Primary is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Primary use?

About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.

What are the alternatives to Primary?

Skills that share tags, products or a category with Primary: Tushare Data (zillionare/zillionare, 319 stars), Tradingview MCP (atilaahmettaner/tradingview-mcp, 5k stars), Digital Oracle (komako-workshop/digital-oracle, 870 stars) and Worth Buy Stocks (starriv/worth-buy-stocks, 174 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Primary?

gauss314 (a GitHub user) maintains it in gauss314/skills, which has 246 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 14, 2026.

Source: gauss314/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.