striplog

striplog is a skill for Claude Code, Codex from SteadfastAsArt/geoscience-skills. It costs 111 tokens per session (1,368 once invoked), scanned A, original, MIT.

A tool for creating and analysing lithological and stratigraphic well logs, which record rock types and layers by depth. It can store depth intervals, rock properties, names, colours, and patterns.

In plain words
What is it for?
Use it to load CSV logs, parse geological descriptions, create lithology columns, plot stratigraphic sections, convert logs to data tables, and correlate wells.
Why use it?
It turns written or tabular descriptions into consistent geological logs that can be plotted, compared, and correlated between wells.

Skill for Claude CodeCodex

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

Good fit Use it to load CSV logs, parse geological descriptions, create lithology columns, plot stratigraphic sections, convert logs to data tables, and correlate wells.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/steadfastasart/geoscience-skills/striplog
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.

Any agent
npx skills add SteadfastAsArt/geoscience-skills --skill striplog
Clone the repo
git clone --depth 1 https://github.com/SteadfastAsArt/geoscience-skills

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin striplog/plugin install striplog after adding the marketplace above.

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 striplog

README.md
[![agentmods](https://agentmods.dev/badge/skills/steadfastasart/geoscience-skills/striplog/github.svg)](https://agentmods.dev/skills/steadfastasart/geoscience-skills/striplog)
Your own site
<a href="https://agentmods.dev/skills/steadfastasart/geoscience-skills/striplog"><img src="https://agentmods.dev/badge/skills/steadfastasart/geoscience-skills/striplog/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for striplog

Your own site · 80×15
<a href="https://agentmods.dev/skills/steadfastasart/geoscience-skills/striplog"><img src="https://agentmods.dev/badge/skills/steadfastasart/geoscience-skills/striplog.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 111 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,368 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00111 $0.01368
Opus 5 $0.00056 $0.00684
Sonnet 5 $0.00022 $0.00274
Haiku 4.5 $0.00011 $0.00137

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

Security

Grade A, and why

striplog 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 10d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/create_striplog.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

striplog/SKILL.md · 178 lines

How it starts

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

striplog - Lithological Logs

Quick Reference

from striplog import Striplog, Interval, Component

# Create from intervals
intervals = [
    Interval(top=0, base=10, components=[Component({'lithology': 'sandstone'})]),
    Interval(top=10, base=25, components=[Component({'lithology': 'shale'})]),
    Interval(top=25, base=40, components=[Component({'lithology': 'limestone'})]),
]
strip = Striplog(intervals)

# Load from file
strip = Striplog.from_csv('lithology.csv')  # Columns: top, base, lithology

# Access and display
print(strip)
strip.plot()
df = strip.to_dataframe()

Key Classes

Class Purpose
Striplog Main log container - holds intervals
Interval Depth interval with top, base, and components
Component Rock type definition with properties
Lexicon Rock type dictionary with synonyms
Legend Visualization styles (colors, patterns)

Essential Operations

Create from CSV

# CSV format: top,base,lithology
strip = Striplog.from_csv('lithology.csv')
strip.plot()

Create from Description Text

from striplog import Striplog, Lexicon

description = """
0.0 - 5.5 m: Fine to medium sandstone
5.5 - 12.0 m: Grey shale with silt laminations
12.0 - 18.5 m: Massive limestone, fossiliferous
"""
strip = Striplog.from_description(description, lexicon=lexicon)

Query and Extract

# Get interval at depth
interval = strip.read_at(z=15)
print(interval.primary.lithology)

# Crop to depth range
subset = strip.crop((10, 30))

# Unique lithologies
lithologies = strip.unique('lithology')

Statistics

# Net-to-gross for specific lithology
ntg = strip.net_to_gross(pattern={'lithology': 'sandstone'})
print(f"Sandstone: {ntg * 100:.1f}%")

# Merge adjacent same-lithology intervals
merged = strip.merge_neighbours()

Well Correlation

import matplotlib.pyplot as plt

wells = [Striplog.from_csv(f'well{i}.csv') for i in range(1, 4)]
fig, axes = plt.subplots(1, 3, figsize=(10, 8), sharey=True)

for ax, well, name in zip(axes, wells, ['Well 1', 'Well 2', 'Well 3']):
    well.plot(ax=ax, legend=legend)
    ax.set_title(name)

plt.tight_layout()
plt.savefig('correlation.png')

Read the full file on GitHub · 178 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 10d ago First seen · 178 lines · 111 tokens per session scan A eba0d1a976bc

Subscribe to this mod's changes

striplog is a skill published in the GitHub repository SteadfastAsArt/geoscience-skills (58 stars, last pushed 5mo ago), licensed MIT. It adds 111 tokens to every session and 1,368 once invoked, about $0.0006 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.

Related

Other skills, from other repositories

results-analysis

This skill should be used when the user asks to "analyze experimental results", "run strict statistical analysis", "compare model performance", "generate scientific figures", "check significance", "do ablation analysis", or mentions interpreting experiment data with rigorous statistics and visualization. It focuses on…

Galaxy-Dawn/claude-scholar · 68 tokens

academic-plotting

Generates publication-quality figures for ML papers from research context. Given a paper section or description, extracts system components and relationships to generate architecture diagrams via Gemini. Given experiment results or data, auto-selects chart type and generates data-driven figures via matplotlib/seaborn.…

Orchestra-Research/AI-Research-SKILLs · 68 tokens

Atrium Desktop — driving apps

Drive the user's Atrium desktop: open files in installed viewer apps (Viv bioimages, Vitessce/Spatial 3D omics, Mol structures, IGV/Gosling genomics, Volume 3D, Cytoscape, MSA, PhyloTree, RDKit), read and steer ANY window — including ones the user opened — and call app backends.

aristoteleo/PantheonOS · 89 tokens

Spatial Omics Skills Index

Skills for spatial transcriptomics analysis including single-cell to spatial mapping (MOSCOT), 3D visualization (PyVista), and related spatial workflows.

aristoteleo/PantheonOS · 37 tokens

protein-ligand-binding-analysis-plip

Analyze protein-ligand interactions in PDB structures using PLIP (Protein-Ligand Interaction Profiler). Use this skill when: (1) Analyzing binding interactions from a PDB structure file, (2) Identifying hydrogen bonds, hydrophobic contacts, π-stacking, salt bridges, and water bridges, (3) Generating 3D visualizations…

PharMolix/OpenBioMed · 102 tokens

fin-paper-figure

Generate academic-quality figures (>=300 DPI) for economics and finance papers.

csmar432/finai-research · 14 tokens