create-indicator

create-indicator is a skill for Claude Code, Codex from xingwudao/open-xquant. It costs 29 tokens per session (806 once invoked), scanned A, original, MIT.

A development guide for creating an open-xquant Indicator, a component that calculates a numeric value over market or factor data.

In plain words
What is it for?
Use it to add a built-in numeric indicator, define its formula and missing-value behavior, and connect it to open-xquant.
Why use it?
It provides the checks needed to keep the calculation predictable and consistent with the framework, including tests and registry wiring.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

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/xingwudao/open-xquant/create-indicator
Any agent
npx skills add xingwudao/open-xquant --skill create-indicator
Clone the repo
git clone --depth 1 https://github.com/xingwudao/open-xquant

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for create-indicator

README.md
[![agentmods](https://agentmods.dev/badge/skills/xingwudao/open-xquant/create-indicator.svg)](https://agentmods.dev/skills/xingwudao/open-xquant/create-indicator)
Your own site
<a href="https://agentmods.dev/skills/xingwudao/open-xquant/create-indicator"><img src="https://agentmods.dev/badge/skills/xingwudao/open-xquant/create-indicator.svg" alt="Measured on agentmods" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 806 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.1 $0.00029 $0.00806
Opus 5 $0.00015 $0.00403
Sonnet 5 $0.00006 $0.00161
Haiku 4.5 $0.00003 $0.00081

Measured 6d ago against content hash 0b63e9a238e8, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

create-indicator 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 6d 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.

agent/skills/create-indicator/SKILL.md · 140 lines

How it starts

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

Create Indicator

You create a pure numeric time-series component.

Scope

Default built-in paths:

  • source: src/oxq/indicators/{snake_name}.py
  • tests: tests/indicators/test_{snake_name}.py
  • package export: src/oxq/indicators/__init__.py
  • built-in registry: src/oxq/core/registry.py

If the user is building a third-party extension instead of a built-in, use dynamic oxq.register_indicator() in that package and state that it is not persistently built into open-xquant.

Phase 1: Read Existing Patterns

Read before editing:

  • src/oxq/core/types.py
  • src/oxq/indicators/sma.py
  • one similar indicator module
  • one existing test in tests/indicators/
  • src/oxq/indicators/__init__.py
  • the indicator registration block in src/oxq/core/registry.py

Confirm:

  • class name is PascalCase
  • file name is snake_case
  • name equals the registry name
  • compute() returns pd.Series
  • computation is pure and deterministic

Phase 2: Define Behavior

State the design before coding:

  • formula
  • input columns
  • parameters and defaults
  • output units and sign
  • NaN behavior
  • constant-price behavior
  • dependency requirements

Ask the user if the formula or defaults are ambiguous.

Phase 3: Test First

Write tests with hand-calculated expectations. Include:

  • protocol compliance with Indicator
  • output is a pd.Series with same index
  • at least one hand-calculated value
  • insufficient-history or NaN behavior
  • constant-price or zero-denominator edge case when relevant
  • name value

Run the new test and confirm it fails for the missing implementation before writing source when this is a new built-in.

uv run pytest tests/indicators/test_{snake_name}.py -v

Phase 4: Implement

Use pandas, numpy, and stdlib by default. For optional third-party dependency:

  • add or reuse an optional dependency group in pyproject.toml
  • import lazily or raise a clear install message
  • validate with the extra installed

Implementation skeleton:

"""Short description indicator."""

from __future__ import annotations

import pandas as pd


class ClassName:
    """Short behavior description."""

    name = "ClassName"

    def compute(
        self,
        mktdata: pd.DataFrame,
        column: str = "close",
        period: int = 20,
    ) -> pd.Series:
        """Return the indicator series."""
        ...

Read the full file on GitHub · 140 lines

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. 6d ago First seen · 140 lines · 29 tokens per session scan A 0b63e9a238e8

Subscribe to this mod's changes

create-indicator is a skill published in the GitHub repository xingwudao/open-xquant (126 stars, last pushed 3d ago), licensed MIT. It adds 29 tokens to every session and 806 once invoked, about $0.0001 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-30.