Agent skill

Data Update

by Sixian-Li in Sixian-Li/plain-backtest

Operate and assess the Quant workspace market-data layer through the tested data-update CLI.

MITAuto-check passedDocuments & Office

Install Data Update

skills CLI
$ npx skills add Sixian-Li/plain-backtest --skill data-update -a claude-code

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

GitHub CLI
$ gh skill install Sixian-Li/plain-backtest data-update --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/Sixian-Li/plain-backtest.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/data-update .claude/skills/data-update && 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
data-update
GitHub stars
170
Token cost
~1.6k tokens
SKILL.md length
654 words
Files
3 (incl. references)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Operate and assess the Quant workspace market-data layer through the tested data-update CLI.

  • Works in 4 steps: Locate the Quant root containing… → Read data/data_update_registry.json… → Run commands from the Quant root with → …
  • Checking QQQ/SPY
  • SKILL.md covers Distributed project, Locate and inspect, Route the request and Finish safely
  • Calls python

What it does

Data Update is an agent skill from Sixian-Li/plain-backtest. Operate and assess the Quant workspace market-data layer through the tested data-update CLI. Use when checking QQQ/SPY or constituent freshness, reviewing supported versus missing data capabilities, diagnosing quality, running a SPY-current-member shadow update, inspecting update reports, or previewing/importing purchased CSV/ZIP/JSON/XLSX/XLS data without silently changing approved datasets.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/contracts.md`).

It sits in Documents & Office, covering Trading and backtesting, Excel spreadsheets and Stock and market analysis. It works with Microsoft Excel. The repository describes itself as: Say It Simply, Test It Properly. Agent-powered strategy research with independent ledger checks and reproducible reports. The licence is MIT.

When your agent uses it

  • Checking QQQ/SPY
  • Constituent freshness
  • Reviewing supported versus missing data capabilities
  • Diagnosing quality

Example prompts

  • “/data-update”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Locate the Quant root containing catalog.md, log.md, data/, and backtest/.
  2. Read data/data_update_registry.json before any mutating operation.
  3. Run commands from the Quant root with
  4. Never display API keys. The CLI resolves them from environment variables or macOS Keychain.

What it can do on your machine

Read from SKILL.md and the folder at commit 36adf23. 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

    Shell commands in SKILL.md call:

    • python

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Data Update loads about 1.6k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 102 tokens; SKILL.md has 654 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.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); files beside SKILL.md are not scanned.

SKILL.md

The full file from Sixian-Li/plain-backtest at commit 36adf23, republished under its MIT licence (© Sixian-Li). 654 words, ~1,588 tokens.

Download SKILL.mdSave it as .claude/skills/data-update/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
data-update
description
Operate and assess the Quant workspace market-data layer through the tested data-update CLI. Use when checking QQQ/SPY or constituent freshness, reviewing supported versus missing data capabilities, diagnosing quality, running a SPY-current-member shadow update, inspecting update reports, or previewing/importing purchased CSV/ZIP/JSON/XLSX/XLS data without silently changing approved datasets.

Data Update

Use the workspace CLI as the single execution path. Keep update logic in the tested project code; do not reimplement provider calls in the skill.

Distributed project

This skill is versioned at .agents/skills/data-update/ in this repository. Locate the root from the current checkout; do not depend on a user-level skill or the author’s original workspace. Read README.md and backtest/docs/release/scope.md first. The distribution contains canonical data and experiment definitions, not the complete source archives or historical runs.

For the bundled snapshot, begin with backtest/.venv/bin/python backtest/scripts/release_data.py status and check. These are offline and read-only. The live CLI below is for optional data operations; its source/archive audit may report omitted historical files. Do not rebuild canonical data implicitly. Data reuse is authorized under data/LICENSE; quality-failed and pending-review products keep their original quality gates.

Locate and inspect

  1. Locate the Quant root containing catalog.md, log.md, data/, and backtest/.
  2. Read data/data_update_registry.json before any mutating operation.
  3. Run commands from the Quant root with:
bash
backtest/.venv/bin/python backtest/scripts/data_update.py <command>
  1. Never display API keys. The CLI resolves them from environment variables or macOS Keychain.

Read contracts.md when interpreting statuses, running a full update, or importing purchased files.

Route the request

Check the last update or health

Run:

bash
backtest/.venv/bin/python backtest/scripts/data_update.py status
backtest/.venv/bin/python backtest/scripts/data_update.py check

Use check --deep only for an explicit full audit, after material data work, or before enabling promotion. It verifies large raw files and runs the full test suite, so expect it to take longer.

Report separately:

  • approved database date;
  • latest completed XNYS session;
  • current-member coverage;
  • tracked QQQ/SPY/VOO dates and whether their shadow update exists;
  • capability boundaries, especially production promotion, Nasdaq-100 point-in-time membership, and hedge-asset coverage;
  • latest source-validation and shadow-update run;
  • warnings versus blocking failures;
  • whether production writes and scheduling are enabled.
Manually update

Run an isolated shadow update:

bash
backtest/.venv/bin/python backtest/scripts/data_update.py shadow-update

For a fast diagnostic, pass --symbols AAPL,FERG,BRK.B,BF.B --tiingo all. For a requested full current-universe run, omit --symbols and --limit; warn that Twelve Data's free 8-credit/minute limit makes 503 symbols take roughly 63 minutes for the single adjusted-price request.

Treat exit code 2 as “review required,” not automatically as a crash. Open the report_json referenced by data/processed/updates/sp500_shadow/latest.json and explain the exact symbol statuses.

For a campaign rerun after code-only fixes, use immutable provider archives instead of spending primary-source credits again. --replay-twelve-run RUN_ID reuses a complete Twelve Data archive; --replay-tiingo-runs RUN_ID[,RUN_ID...] reuses available Tiingo payloads and fetches only missing required symbols. Never use replay to stand in for a new completed XNYS session.

Show full SKILL.md (256 more words)Show less

If a live run stops after writing only some Twelve Data batches, preserve that raw run and resume into a new run ID:

bash
backtest/.venv/bin/python backtest/scripts/data_update.py shadow-update \
  --resume-twelve-run PARTIAL_RUN_ID \
  --run-id NEW_RUN_ID

Resume reuses valid archived symbols, fetches only missing or stale symbols, and never modifies the source archive. Inspect resume_source_issues in the new report. Do not call a partial transport failure a completed campaign day.

If one archived symbol contains a transient latest-session value that later fails the independent cross-check, preserve the archive and refetch only that selected symbol while resuming:

bash
backtest/.venv/bin/python backtest/scripts/data_update.py shadow-update \
  --resume-twelve-run SOURCE_RUN_ID \
  --refresh-symbols CBOE \
  --replay-tiingo-runs SOURCE_RUN_ID \
  --run-id NEW_RUN_ID

Use --refresh-symbols only with --resume-twelve-run. Require the replacement payload to pass the unchanged candidate and cross-source gates; do not use this option to overwrite or hide the original failed evidence.

Do not edit data/processed/daily/equities/. While production_writes_enabled=false, no command may promote candidates into the approved database.

Import newly purchased data

Require the exact source path. Always preview first:

bash
backtest/.venv/bin/python backtest/scripts/data_update.py import-purchased \
  --source /exact/external/path --deep

Summarize file count, bytes, root SHA256, formats, and inspection failures. Apply only after the user explicitly authorizes copying that exact source and supplies or confirms provider and acquisition date:

bash
backtest/.venv/bin/python backtest/scripts/data_update.py import-purchased \
  --source /exact/external/path \
  --provider provider-name \
  --acquired-date YYYY-MM-DD \
  --label optional-label \
  --apply

Applied files remain immutable under data/raw/purchased/ with status pending_review. Never infer permission to merge them into approved prices, rebuild historical membership, or delete the external source.

Finish safely

  1. Inspect the generated machine report and human-readable report when present.
  2. Run check; use check --deep after an applied purchase import or material implementation change.
  3. If material workspace files changed, also follow quant-tidy for catalog.md, log.md, audit, and tests.
  4. State exactly what was updated, what stayed shadow/pending, the last covered session, and any user action required.

© Sixian-Li, 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 2 other files (references) in .agents/skills/data-update of Sixian-Li/plain-backtest.

  • SKILL.md
  • agents/openai.yaml
  • references/contracts.md

Open the folder on GitHubat commit 36adf23

Compare with similar skills

Data Update 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.

Data Update compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Data Update this skillSixian-Li/plain-backtest170—~1.6kAutomated safety check: PassMIT
Anti Gambling Tradermars-tw/anti-gambling-trader-tw897—~1.9kAutomated safety check: PassMIT
Stock Market Analysisqusong0627/QuantMind1.7k—~5.4kAutomated safety check: PassAGPL-3.0
Mx Finance Datahiboys/ExploreFinance365—~518Automated safety check: PassNone
Receipts To Expensesskrun-dev/skrun210—~1.1kAutomated safety check: PassMIT
Officecli Data DashboardFerroxLabs/wayland6084 repos~9.2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Anti Gambling Trader

    mars-tw/anti-gambling-trader-tw

    分析台股 / 台股ETF / 台指期選擇權 / 美股 / 加密貨幣 / 外匯的交易紀錄 (CSV / JSON / Excel),用統計學判斷使用者的獲利是「可重複的優勢」還是 「運氣 + 倖存者偏差(賭博)」,不適合長期投資會明確勸退。內建反詐工具: 掃描群組對話的詐騙話術(scan-text)、檢驗老師宣稱的績效(guru-check)、…

    897 GitHub stars~1.9k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Stock Market Analysis

    qusong0627/QuantMind

    股票市场深度数据分析与导出 — 全市场信号扫描、行业轮动、个股研报级深度分析(基本面/估值/技术/资金筹码/情绪/风险六维)、数据挖掘、CSV/Excel 导出。在 QuantBot / Claude Code 中分析股票市场、挖掘机会、导出分析数据、生成选股报告时使用。触发词:分析市场、数据分析、数据挖掘、全市场扫描、行业轮动、导出数据、导出CSV、挖掘机会、个股研报、个股分析、深度分析

    1.7k GitHub stars~5.4k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Mx Finance Data

    hiboys/ExploreFinance

    基于东方财富数据库,支持自然语言查询金融数据,覆盖A港美、基金、债券等多种资产,含实时行情、公司信息、估值、财务报表等,可用于投资研究、交易复盘、市场监控、行业分析、信用研究、财报审计、资产配置等场景,适配机构与个人多元需求。返回结果包含数据说明及 xlsx 文件。Natural language query for financial data across all markets…

    365 GitHub stars~518 tokensUpdated 3 mo ago
    Business, Finance & HRAuto-check passed
  • Receipts To Expenses

    skrun-dev/skrun

    Read a batch of receipt images directly via vision, classify each into expense categories, optionally reconcile against a bank statement CSV, and produce a multi-sheet Excel workbook + a PDF summary.

    210 GitHub stars~1.1k tokensUpdated 16 days ago
    Documents & OfficeAuto-check passed
  • Officecli Data Dashboard

    FerroxLabs/wayland

    A skill your agent uses to build a multi-element Excel dashboard - Dashboard sheet on open, multiple formula-driven KPI cards, multiple charts, sparklines, and conditional formatting - from CSV or…

    608 GitHub starsUsed in 4 repos~9.2k tokens
    Documents & OfficeAuto-check passed
  • Official

    Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed

More from Sixian-Li/plain-backtest

  • Quant Tidy

    Sixian-Li/plain-backtest

    Audit and reorganize the Quant multi-project workspace. An agent skill from Sixian-Li/plain-backtest.

    170 GitHub stars~1.3k tokensUpdated 11 days ago
    Auto-check passed
  • Quant Backtest

    Sixian-Li/plain-backtest

    Run the standardized Quant backtest pipeline from a natural-language strategy through data gating, tested implementation, PyBroker execution, independent-ledger reconciliation, parameter robustness…

    170 GitHub stars~2.7k tokensUpdated 11 days ago
    Auto-check passed

Works with

Questions about Data Update

What does Data Update do?

Operate and assess the Quant workspace market-data layer through the tested data-update CLI. Data Update is an agent skill from Sixian-Li/plain-backtest. Operate and assess the Quant workspace market-data layer through the tested data-update CLI.

When should I use Data Update?

Data Update fits situations like: checking QQQ/SPY; constituent freshness; reviewing supported versus missing data capabilities; diagnosing quality.

How do I install Data Update in Claude Code?

Run `npx skills add Sixian-Li/plain-backtest --skill data-update -a claude-code`. Or copy the skill folder (.agents/skills/data-update in Sixian-Li/plain-backtest) into .claude/skills/data-update in your project. Claude Code loads it when a task matches its description.

How do I install Data Update in Codex?

Run `npx skills add Sixian-Li/plain-backtest --skill data-update -a codex`. Or copy the skill folder (.agents/skills/data-update in Sixian-Li/plain-backtest) into .agents/skills/data-update in your project. Codex loads it when a task matches its description.

Can I use Data Update 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 Sixian-Li/plain-backtest --skill data-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/data-update, .gemini/skills/data-update, .github/skills/data-update and .opencode/skills/data-update in your project.

What does Data Update need to run?

Going by SKILL.md and its folder, Data Update needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Data Update access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Data Update 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. Review the folder before installing.

What licence does Data Update use?

Data Update is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Data Update use?

About 1.6k tokens (SKILL.md is roughly 6.4k 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 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Data Update?

Skills that share tags, products or a category with Data Update: Anti Gambling Trader (mars-tw/anti-gambling-trader-tw, 897 stars), Stock Market Analysis (qusong0627/QuantMind, 1.7k stars), Mx Finance Data (hiboys/ExploreFinance, 365 stars) and Receipts To Expenses (skrun-dev/skrun, 210 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Data Update?

Sixian-Li (a GitHub user) maintains it in Sixian-Li/plain-backtest, which has 170 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 27, 2026.

Source: Sixian-Li/plain-backtest on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.