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.
npx skills add estuary/agent-skills --skill capture-alpaca-creategit clone --depth 1 https://github.com/estuary/agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/estuary/agent-skills/capture-alpaca-create)<a href="https://agentmods.dev/skills/estuary/agent-skills/capture-alpaca-create"><img src="https://agentmods.dev/badge/skills/estuary/agent-skills/capture-alpaca-create/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/estuary/agent-skills/capture-alpaca-create"><img src="https://agentmods.dev/badge/skills/estuary/agent-skills/capture-alpaca-create.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00072 | $0.03500 |
| Opus 5 | $0.00036 | $0.01750 |
| Sonnet 5 | $0.00014 | $0.00700 |
| Haiku 4.5 | $0.00007 | $0.00350 |
Grade A, and why
capture-alpaca-create 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 9d 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.
How it starts
The opening of the file, as written. The whole thing — 279 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Create Alpaca Capture
Create an Alpaca capture using flowctl to stream stock trade data from the Alpaca Market Data API into Estuary collections — both a historical backfill and a low-latency real-time stream, in parallel.
Applies to: source-alpaca (Alpaca Market Data connector)
Step 0: Load Connector Documentation
Before proceeding, fetch the official connector docs for prerequisites, config reference, and limitations.
Load the docs page: https://docs.estuary.dev/reference/Connectors/capture-connectors/alpaca/
Use WebFetch to load this page. It covers:
- The dual-API model (Trades REST API for backfill + Data API websocket for real-time)
- Supported symbols (8000+ stocks/ETFs, max 20 per capture)
- Plan requirements (Free/
iexvs. Unlimited/sip) - Full config property reference
- The historical/real-time overlap and how to reconcile duplicates
Search Kapa for tribal knowledge (if the Estuary MCP is configured):
Search kapa ai knowledge sources for "capture alpaca common issues"
If Kapa MCP is not configured, the user can set it up: https://docs.estuary.dev/features/mcp-integration/
This skill provides the flowctl workflow and troubleshooting that docs don't cover.
How this connector works
Alpaca captures trade data using two APIs at once:
- Trades REST API — performs a historical backfill from your
start_dateforward until it catches up to the present. - Data API websocket — opens a real-time stream from the present moment and runs indefinitely until you stop the capture.
All symbols in a capture land in a single collection via one binding (trades). Because the backfill catches up to where the live stream began, the two streams overlap and produce some duplicate trade documents — this is expected and reconcilable (see Limitations and Troubleshooting).
Step 1: Gather Requirements
Before writing any YAML, ask the user:
- Alpaca account + API credentials? — They need an Alpaca account and its API Key ID and Secret Key (generate in the Alpaca dashboard under API Keys). Unlike OAuth connectors, this is plain key auth, so the whole flow can be completed from the CLI.
- Which plan — Free or Unlimited? This drives the
feedandis_free_plansettings:- Free plan →
feed: iex,advanced.is_free_plan: true. Data is a smaller sample and delayed 15 minutes. - Unlimited plan →
feed: sipfor complete, real-time SIP data.
- Free plan →
- Which symbols? — A comma-separated list, maximum 20 per capture. To track more than 20, set up multiple captures and split symbols between them.
- Start date for the backfill? — Must be no earlier than
2016-01-01T00:00:00Z(Alpaca's earliest available data). Note this has no effect if changed after the capture has started. - Stop date? (optional) — Set
advanced.stop_dateto halt the historical backfill at a fixed date (e.g. for a bounded one-time load). - Backfill-only or real-time-only? (optional, advanced) — By default the connector runs both.
advanced.disable_real_time: truegives a backfill-only load;advanced.disable_backfill: truegives a stream-only capture. - Non-default data plane? — Most users use the default. Ask if they need a non-default data plane.
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.
- 9d ago First seen · 279 lines · 72 tokens per session scan A a43ca706a5a3
capture-alpaca-create is a skill published in the GitHub repository estuary/agent-skills (7 stars, last pushed 19d ago), licensed Apache-2.0. It adds 72 tokens to every session and 3,500 once invoked, about $0.0004 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.
Other skills, from other repositories
change-data-capture-admin
Use when enabling, configuring, or monitoring Change Data Capture (CDC) entity selection, channel enrichment, and delivery usage limits from an admin perspective. NOT for CDC Apex trigger implementation (use change-data-capture-integration).
stream-processing-designer
Design a stream processing system for unbounded, continuously arriving data. Use when choosing a message broker (Kafka vs RabbitMQ), implementing change data capture (CDC) from PostgreSQL, MySQL, or MongoDB via Debezium or Maxwell, selecting window types for aggregation (tumbling, hopping, sliding, session), joining…
fs-creative-voltage
OpenDesign's seed pitch: the open, local alternative to closed AI design — why now, the wedge, and the ask. Built as a decision-grade fundraising pitch deck for pre-seed & seed VCs.
ml-strategy
Machine-learning predictive strategy based on sklearn walk-forward training, feature engineering, and signal generation. Suitable for any OHLCV data.
technical-basic
Core technical indicator collection (trend EMA/ADX + mean-reversion BB/RSI + volume-price OBV/volume ratio), generates a composite signal via three-dimensional voting. Pure pandas implementation for any OHLCV data.
cocoindex
This skill should be used when building data processing pipelines with CocoIndex, a Python library for incremental data transformation. Use when the task involves processing files/data into databases, creating vector embeddings, building knowledge graphs, ETL workflows, or any data pipeline requiring automatic change…