Install
$ agentstack add skill-ttracx-oil-and-gas-claude-skills-drilling-kpi-analyzer ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Drilling KPI Analyzer
What this skill does
Extracts, computes, and benchmarks drilling key performance indicators from daily drilling reports, morning reports, and bit records. Produces section-level and well-level performance summaries including ROP, MSE, flat time, NPT classifications, and cost per foot. Benchmarks against offset wells when context is provided.
When to use
- User uploads daily drilling reports (DDRs), morning reports, or bit records
- User asks to analyze drilling performance, compute KPIs, or benchmark a well
- User wants to identify performance improvement opportunities
- User needs a drilling performance summary for end-of-well reporting
Trigger phrases
- "Analyze drilling performance for this well"
- "Compute drilling KPIs from these DDRs"
- "Benchmark ROP against offset wells"
- "How does our drilling efficiency compare?"
- "Summarize NPT breakdown for the past 30 days"
- "What is the flat time percentage for this section?"
- "Calculate mechanical specific energy for this bit run"
- "Generate end-of-well drilling performance report"
Inputs
- Daily drilling reports (PDF, DOCX, TXT)
- Morning reports
- Bit records or bit performance sheets
- Drilling parameter time series (CSV, XLSX)
- Optional: offset well KPI benchmarks
- Optional: AFE cost data for cost-per-foot calculation
Outputs
- Section-level KPI summary (surface, intermediate, lateral per section)
- Well-level KPI summary
- NPT breakdown by category with Pareto ranking
- Flat time analysis (tripping, circulating, WOC, rigging)
- ROP comparison by formation and bit type
- MSE trend if WOB/RPM/torque/ROP data available
- Cost per foot if AFE or day rate data provided
- Benchmark comparison table if offset data provided
- Quality flags and data gap warnings
Core KPIs extracted
Drilling efficiency
| KPI | Definition | Units | |---|---|---| | Average ROP | Total footage / rotating hours | ft/hr | | Instantaneous ROP | Per-stand or per-30-min interval | ft/hr | | Mechanical ROP | ROP during pure rotary drilling | ft/hr | | Slide ROP | ROP during motor sliding | ft/hr | | Slide percentage | Slide footage / total footage | % | | MSE | Mechanical Specific Energy = (480 × RPM × Torque + WOB) / (ROP × bit area) | psi |
Time distribution
| Category | Description | |---|---| | Rotating time | Drill string rotating, bit on bottom | | Sliding time | Downhole motor, bit on bottom, string not rotating | | Reaming time | Rotating but not drilling new formation | | Tripping time | Pulling out of hole or running in hole | | Connection time | Per-stand time including wiper trips | | Flat time | All non-drilling time (tripping + connections + NPT) | | NPT | Non-productive time with cause classification |
NPT classifications
- Mechanical failure (equipment)
- Wellbore instability (stuck pipe, tight hole, washout)
- Mud/fluid related (losses, gains, influx)
- Directional issues (stuck BHA, survey problems)
- Rig equipment (top drive, pump, hoisting)
- Weather / environmental
- HSE / safety stop
- Waiting on orders / personnel
- Third-party service failure
Cost performance (when AFE data available)
- Day rate cost per foot
- Service company cost per foot
- Projected vs. actual AFE
- Cost overrun by NPT category
Output schema
{
"well_summary": {
"well_name": "string",
"rig_name": "string",
"spud_date": "string",
"total_depth_ft": 0.0,
"total_drilling_days": 0.0,
"overall_rop_ft_hr": 0.0,
"total_npt_hrs": 0.0,
"npt_percentage": 0.0,
"flat_time_percentage": 0.0,
"rotating_percentage": 0.0
},
"sections": [
{
"name": "string",
"from_depth_ft": 0.0,
"to_depth_ft": 0.0,
"footage_ft": 0.0,
"avg_rop_ft_hr": 0.0,
"rotating_hrs": 0.0,
"sliding_hrs": 0.0,
"tripping_hrs": 0.0,
"npt_hrs": 0.0,
"slide_pct": 0.0
}
],
"npt_breakdown": [
{
"category": "string",
"total_hrs": 0.0,
"event_count": 0,
"percentage_of_total_npt": 0.0
}
],
"bit_runs": [
{
"run_number": 0,
"bit_size_in": "string",
"bit_type": "string",
"from_depth_ft": 0.0,
"to_depth_ft": 0.0,
"footage_ft": 0.0,
"rop_ft_hr": 0.0,
"avg_wob_klbs": 0.0,
"avg_rpm": 0.0,
"dull_grade": "string"
}
],
"benchmark": {
"offset_well_avg_rop": 0.0,
"this_well_rop": 0.0,
"rop_delta_pct": 0.0,
"offset_well_npt_pct": 0.0,
"this_well_npt_pct": 0.0
},
"quality_flags": ["string"]
}
Calculation notes
ROP calculation
- Use rotating + sliding hours only (exclude tripping, flat time)
- If hourly data unavailable, compute from depth intervals between DDRs
- Report separate ROP for each bit run and each wellbore section
MSE calculation
MSE (psi) = (480 × RPM × Torque_ft-lbs) / (ROP_ft_hr × Bit_area_in²) + WOB_lbs / Bit_area_in²
MSE < 2× UCS (unconfined compressive strength) indicates efficient drilling. Flag runs where MSE exceeds 3× formation strength.
Flat time
Flat Time % = (Total hours - Rotating hours - Sliding hours) / Total hours × 100
NPT percentage
NPT % = Total NPT hours / Total elapsed hours × 100
Industry benchmark: best-in-class unconventional wells achieve < 5% NPT.
Benchmarking logic
When offset well data is provided:
- Match sections by formation or depth range
- Compute ROP percentile (P10/P50/P90) for the offset population
- Identify which NPT categories are outliers vs. offset average
- Flag bit runs with significantly below-P50 ROP as improvement opportunities
Example response
DRILLING KPI SUMMARY — Wolfcamp B 3H
═══════════════════════════════════════
Well Total Depth: 12,450 ft MD
Total Drilling Time: 18.3 days
Overall Average ROP: 147 ft/hr
Total NPT: 12.8 hrs (2.9%)
Flat Time: 22.4%
SECTION BREAKDOWN
─────────────────
Surface (0–2,400 ft): Avg ROP 45 ft/hr, NPT 0.5 hrs
Intermediate (2,400–7,200 ft): Avg ROP 92 ft/hr, NPT 3.2 hrs
Lateral (7,200–12,450 ft): Avg ROP 168 ft/hr, NPT 9.1 hrs
NPT PARETO (Lateral Section)
─────────────────────────────
1. Mechanical failure (pump liner) 4.8 hrs (53%)
2. Wellbore instability (stuck pipe) 2.5 hrs (28%)
3. Third-party (MWD tool failure) 1.8 hrs (20%)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ttracx
- Source: ttracx/oil-and-gas-claude-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.