IN

indicator-series

Provides a framework for creating mathematically precise batch indicators to ensure static series accuracy.

Install

mkdir -p .claude/skills/indicator-series && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7627" && unzip -o skill.zip -d .claude/skills/indicator-series && rm skill.zip

Installs to .claude/skills/indicator-series

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Implement Series-style batch indicators with mathematical precision. Use for new StaticSeries implementations or optimization. Series results are the canonical reference—all other styles must match exactly. Focus on cross-cutting requirements and performance optimization decisions.
282 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Implement batch indicators
  • Optimize data series processing
  • Validate static series outputs
  • Register indicators in catalog

How it works

It provides a standardized structure for implementing indicators with mathematical precision and performance optimization.

Inputs & outputs

You give it
Indicator algorithm requirements
You get back
Implemented static series indicator

When to use indicator-series

  • Implementing financial batch indicators
  • Optimizing data series processing
  • Validating static series outputs

About this skill

Series indicator development

File structure

All files live in src/Indicators/{category}/{Indicator}/:

FilePurpose
{Indicator}.Series.csStatic partial class — To{Indicator}() series entry point
{Indicator}Hub.csHub class (internal ctor) + To{Indicator}Hub() extension
{Indicator}List.csList class + To{Indicator}List() extension
{Indicator}.Catalog.csCommonListing, SeriesListing, StreamListing, BufferListing
{Indicator}Result.csResult record
{Indicator}.Utilities.csValidate() (internal), Increment() (public), RemoveWarmupPeriods()
I{Indicator}.csParameter interface (parameter properties only; NOT result properties)

Test files mirror in tests/Library/Indicators/{category}/{Indicator}/:

  • {Indicator}SeriesTests.cs
  • {Indicator}BufferListTests.cs
  • {Indicator}HubTests.cs
  • {Indicator}CatalogTests.cs
  • {Indicator}RegressionTests.cs

Category folders: a-b, c-d, e-j, k-q, r-s, t-z (alphabetical)

Performance optimization

Array allocation pattern (use for predictable result counts; benchmark first):

TResult[] results = new TResult[length];
// ... assign results[i] = new TResult(...);
return new List<TResult>(results);  // NOT results.ToList()

Some indicators (e.g., ADL) are faster with List.Add() — benchmark both.

Required implementation

Beyond the main {Indicator}.Series.cs file, ensure:

  • Catalog registration: Create src/**/{Indicator}.Catalog.cs and register in Catalog.Listings.cs
  • Interface file: Create src/**/{Indicator}/I{Indicator}.cs with parameter properties (NOT result properties)
  • Unit tests: Create tests/Library/Indicators/**/{Indicator}SeriesTests.cs
    • Inherit from StaticSeriesTestBase
    • Verify against manually calculated reference values; assert documented value ranges with IsBetween if applicable
  • Performance benchmark: Add to tools/performance/Perf.Series.cs
  • Public documentation: Update docs/indicators/{Indicator}.md
  • Regression baseline tests: Add to tests/Library/Indicators/**/{Indicator}RegressionTests.cs inheriting from RegressionTestBase<TResult> with [TestCategory("Regression")] on the class — these compare the full result set to a frozen *.standard.json baseline so it can be filtered via --filter TestCategory=Regression
  • Migration guide: Update docs/migration/v3.md for notable and breaking changes from v2

Precision testing

  • Store reference data in {Indicator}.Data.cs at maximum precision
  • Regression: compare full dataset using Money10-Money12
  • Spot checks: use Money4
  • Document when precision must be lowered due to accumulated floating-point error

Examples

  • Simple: src/Indicators/r-s/Sma/Sma.Series.cs
  • Exponential smoothing: src/Indicators/e-j/Ema/Ema.Series.cs
  • Complex multi-stage: src/Indicators/a-b/Adx/Adx.Series.cs
  • Multi-value results: src/Indicators/a-b/Alligator/Alligator.Series.cs

See references/decision-tree.md for result interface selection.

Constraints

  • Series is canonical truth — BufferList and StreamHub MUST match exactly
  • Verify algorithms against authoritative reference publications only
  • Never reject NaN inputs; guard against division by zero
  • Fix formulas, not symptoms — see src/AGENTS.md

When not to use it

  • Non-financial indicators
  • Dynamic stream-only processing

Prerequisites

Reference publications for algorithms

Limitations

  • Requires authoritative reference
  • Strict precision requirements

How it compares

It ensures canonical accuracy across different styles (Series, BufferList, StreamHub).

Compared to similar skills

indicator-series side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
indicator-series (this skill)11moNo flagsAdvanced
streamlit869moNo flagsIntermediate
jupyter-notebook306moReviewIntermediate
backtesting-frameworks172moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

streamlit

sverzijl

When working with Streamlit web apps, data dashboards, ML/AI app UIs, interactive Python visualizations, or building data science applications with Python

86239

jupyter-notebook

davila7

Use when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script `new_notebook.py` to generate a clean starting notebook.

30158

backtesting-frameworks

wshobson

Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.

17126

pdf-processing-pro

davila7

Production-ready PDF processing with forms, tables, OCR, validation, and batch operations. Use when working with complex PDF workflows in production environments, processing large volumes of PDFs, or requiring robust error handling and validation.

17110

llava

zechenzhangAGI

Large Language and Vision Assistant. Enables visual instruction tuning and image-based conversations. Combines CLIP vision encoder with Vicuna/LLaMA language models. Supports multi-turn image chat, visual question answering, and instruction following. Use for vision-language chatbots or image understanding tasks. Best for conversational image analysis.

7117

cocoindex

cocoindex-io

Comprehensive toolkit for developing with the CocoIndex library. Use when users need to create data transformation pipelines (flows), write custom functions, or operate flows via CLI or API. Covers building ETL workflows for AI data processing, including embedding documents into vector databases, building knowledge graphs, creating search indexes, or processing data streams with incremental updates.

6116

Search skills

Search the agent skills registry