BeClaude

stata-c-plugins

New
6Community RegistryGeneralby Dylan Moore

Develop high-performance C plugins for Stata using the stplugin.h SDK. Covers SDK setup, data flow, memory safety, .ado wrappers, cross-platform compilation, performance optimization, debugging, packaging, and translating Python/R packages into Stata.

First seen 5/22/2026

Summary

ado wrappers, cross-platform compilation, performance optimization, debugging, packaging, and translating Python/R packages into Stata plugins.

  • It is useful for developers who need to extend Stata's capabilities with custom C code, achieve faster execution than interpreted languages, or port existing algorithms from Python or R into Stata.

Overview

This project contains two Claude Code skills:

  1. Stata — A comprehensive reference that tells Claude how to use Stata. Covers core syntax, data management, econometrics, causal inference, graphics, and 20+ community packages.
  1. Stata C Plugins — A skill that tells Claude how to make Stata code that uses C plugins to do things. It includes information that Claude can use to translate existing packages into C plugins that can be called from Stata. This is very useful because it means you can do things in Stata that you wouldn't otherwise be able to do very easily.

As long as you can find an existing package somewhere, you can just let Claude go look at the existing Python package and this skill provides a workflow that Claude can use to develop a replication of whatever it is, implemented in Python or R or whatever, that runs in Stata and uses a C plugin. In many if not most cases, you should be able to get something that runs at least as fast in Stata as it did in the original language, if not faster.

Installation

Add this repo as a marketplace in Claude Code:

code
/plugin marketplace add dylantmoore/stata-skill

Then install whichever option fits your needs:

PluginCommand
Stata reference only/plugin install stata
C plugin development only/plugin install stata-c-plugins
Both skills/plugin install stata-bundle

You can also find this and other plugins via the claude-plugins collection.

What's Included

Skill 1: Stata

37 core reference files covering:

  • Data import/export, management, and cleaning
  • Linear regression, panel data, time series
  • Limited dependent variables, survival analysis, SEM
  • Causal inference: DiD, RD, matching, treatment effects
  • Mata programming and matrix operations
  • Graphics, tables, and reporting
  • Workflow best practices

20 community package guides including:

  • reghdfe — high-dimensional fixed effects
  • estout / outreg2 — publication-quality tables
  • csdid, did_multiplegt — modern DiD estimators
  • rdrobust — regression discontinuity
  • psmatch2 — propensity score matching
  • synth — synthetic control
  • ivreg2 / xtabond2 — IV and dynamic panel GMM
  • And more (binsreg, coefplot, grstyle, winsor2, gtools, ...)

Skill 2: Stata C Plugins

Reference files covering:

  • Stata plugin SDK (stplugin.h) setup and data flow
  • Memory safety, debugging, and common failure modes
  • .ado wrapper patterns (preserve/merge, plugin loading)
  • Cross-platform compilation (macOS, Linux, Windows)
  • Performance optimization (pthreads, pre-sorted indices, XorShift RNG)
  • Packaging and distribution via net install
  • Translation workflow for porting Python/R packages to Stata
  • Testing strategy with correlation-based validation against reference implementations

How It Works

Both skills use progressive disclosure: a compact SKILL.md file loaded on activation directs Claude to read only the reference files relevant to the current task. This keeps context usage efficient while giving Claude access to detailed reference documents when needed.

Coverage

CategoryFilesTopics
Data Operations7Import, management, strings, dates, math functions
Statistics10Regression, panel, time series, MLE, GMM, survey, MI
Causal Inference5DiD, RD, matching, treatment effects, selection
Advanced Methods5Survival, SEM, nonparametric, spatial, ML/lasso
Programming6Do-files, macros, loops, Mata
Output & Workflow3Tables, reporting, best practices, external tools
Packages20Community-contributed packages
C Plugins4SDK patterns, performance, packaging, translation

Contributing

This repo is also a good place to learn about building Claude Code skills. The ROADMAP.md lists open problems around testing, progressive disclosure, and dynamic documentation that apply to skill development in general — not just Stata.

See CONTRIBUTING.md for how to add documentation for new Stata packages. Pull requests welcome!

Disclaimer

This reference material is derived in part from Stata's official documentation and community package documentation. No copyright is claimed. Stata is a registered trademark of StataCorp LLC. This project is not affiliated with or endorsed by StataCorp.

Install & Usage

1
Add a marketplace
/plugin marketplace add <org/repo>
2
Install the plugin

Add the configuration to /plugin install stata-c-plugins@<marketplace>

3
Manage with /plugin
/plugin

Use Cases

Translate a Python machine learning algorithm into a Stata C plugin for faster execution.
Build a custom C plugin to perform real-time data streaming and processing within Stata.
Optimize an existing Stata program by rewriting its bottleneck loops as a C plugin.
Create a cross-platform C plugin for Stata that works on both Windows and macOS.
Package a C plugin with an .ado wrapper for easy distribution and installation by other Stata users.
Debug a C plugin using GDB or LLDB by setting up a debugging workflow within Stata.

Usage Examples

1

/stata-c-plugins translate the Python package 'scipy.spatial.KDTree' into a Stata C plugin

2

/stata-c-plugins create a C plugin that computes rolling window statistics with memory safety

3

/stata-c-plugins package my_plugin.c and my_plugin.ado into a distributable .pkg file

View source on GitHub
pluginpython

Security Audits

LicenseUnknownSourceWarnRepositoryPass

Frequently Asked Questions

What is stata-c-plugins?

This skill enables Claude to develop high-performance C plugins for Stata using the stplugin.h SDK, covering SDK setup, data flow, memory safety, .ado wrappers, cross-platform compilation, performance optimization, debugging, packaging, and translating Python/R packages into Stata plugins. It is useful for developers who need to extend Stata's capabilities with custom C code, achieve faster execution than interpreted languages, or port existing algorithms from Python or R into Stata.

How to install stata-c-plugins?

To install stata-c-plugins: add a marketplace (/plugin marketplace add <org/repo>), then add the config to /plugin install stata-c-plugins@<marketplace>. Finally, /plugin in Claude Code.

What is stata-c-plugins best for?

stata-c-plugins is a plugin categorized under General. It is designed for: plugin, python. Created by Dylan Moore.

What can I use stata-c-plugins for?

stata-c-plugins is useful for: Translate a Python machine learning algorithm into a Stata C plugin for faster execution.; Build a custom C plugin to perform real-time data streaming and processing within Stata.; Optimize an existing Stata program by rewriting its bottleneck loops as a C plugin.; Create a cross-platform C plugin for Stata that works on both Windows and macOS.; Package a C plugin with an .ado wrapper for easy distribution and installation by other Stata users.; Debug a C plugin using GDB or LLDB by setting up a debugging workflow within Stata..