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.zipInstalls 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.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
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}/:
| File | Purpose |
|---|---|
{Indicator}.Series.cs | Static partial class — To{Indicator}() series entry point |
{Indicator}Hub.cs | Hub class (internal ctor) + To{Indicator}Hub() extension |
{Indicator}List.cs | List class + To{Indicator}List() extension |
{Indicator}.Catalog.cs | CommonListing, SeriesListing, StreamListing, BufferListing |
{Indicator}Result.cs | Result record |
{Indicator}.Utilities.cs | Validate() (internal), Increment() (public), RemoveWarmupPeriods() |
I{Indicator}.cs | Parameter 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.csand register inCatalog.Listings.cs - Interface file: Create
src/**/{Indicator}/I{Indicator}.cswith 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
IsBetweenif applicable
- Inherit from
- 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.csinheriting fromRegressionTestBase<TResult>with[TestCategory("Regression")]on the class — these compare the full result set to a frozen*.standard.jsonbaseline so it can be filtered via--filter TestCategory=Regression - Migration guide: Update
docs/migration/v3.mdfor notable and breaking changes from v2
Precision testing
- Store reference data in
{Indicator}.Data.csat 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
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| indicator-series (this skill) | 1 | 1mo | No flags | Advanced |
| streamlit | 86 | 9mo | No flags | Intermediate |
| jupyter-notebook | 30 | 6mo | Review | Intermediate |
| backtesting-frameworks | 17 | 2mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by DaveSkender
View all by DaveSkender →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
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.
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.
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.
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.
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.