From sciris
Provides code patterns for basic Sciris features: array operations like findinds, date-formatted plotting, objdict containers, object save/load, and parallelization.
npx claudepluginhub sciris/scirisThis skill uses the workspace's default tool permissions.
Quick reference for Sciris' most commonly used features. See the full tutorial: `docs/tutorials/tut_intro.ipynb`.
Uses Sciris utilities for merging dicts/lists, type conversion/checking, fuzzy matching, file downloads, shell commands, dynamic imports, pretty-printing, and debugging.
Guides Matplotlib for creating line, scatter, bar, histogram, heatmap, 3D plots, subplots; pyplot and OO APIs; exports PNG/PDF/SVG for scientific visualizations.
Guides creation and customization of static, animated, and interactive plots with Matplotlib using pyplot and object-oriented APIs, subplots, and exports.
Share bugs, ideas, or general feedback.
Quick reference for Sciris' most commonly used features. See the full tutorial: docs/tutorials/tut_intro.ipynb.
If you need more detail, use your MCP tools (Context7 or GitMCP) to look up current Sciris documentation, or consult the other Sciris skills.
Use the sciris-arrays skill for more details.
import numpy as np
import sciris as sc
data = np.random.rand(50)
inds = sc.findinds(data > 0.9) # Find indices matching condition
mean_str = sc.arraymean(data) # Mean ± std as string
joined = sc.strjoin(inds) # Join values into comma-separated string
Use the sciris-dates skill for more details.
dates = sc.daterange('2022-01-01', '2022-02-28', as_date=True)
values = 1e6 * np.random.randn(59)**2
data = sc.dataframe(x=dates, y=values) # Shortcut to pd.DataFrame
plt.scatter(data.x, data.y)
sc.dateformatter() # Format date axis
sc.SIticks() # SI notation on y-axis
Use the sciris-dicts skill for more details.
data = sc.objdict(a=[1,2,3], b=[4,5,6])
assert data.a == data['a'] == data[0] # Three ways to access
assert data[:].sum() == 21 # Slice and sum
for i, key, value in data.enumitems(): # Enumerate with keys
print(f'Item {i}: {key} = {value}')
Use the sciris-files skill for more details.
sc.save('my-sim.obj', sim) # Save (gzipped pickle)
new_sim = sc.load('my-sim.obj') # Load — methods still work!
new_sim.plot()
Use the sciris-parallel skill for more details.
results = sc.parallelize(func, iterkwargs=dict(scale=[40,30,20,10]), x_offset=5, y_offset=10)
Use the sciris-plotting skill for more details.
sc.options(dpi=120, jupyter=True) # Set DPI and backend
sc.boxoff() # Remove top/right spines