mcpbeat Sign in

Input File Skill

Parse, modify, validate, and patch simulator input files. Use when working with reservoir simulation input files, testing scenarios, or validating simulation configurations. This implementation supports reference format (.DATA); other simulators use different extensions (e.g., .afi, .DAT). Supports natural language modifications, keyword patching, and syntax validation.

11k tokens
context cost
the whole folder, loaded on every use
12
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
4138
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/NVIDIA/GenerativeAIExamples --skill input_file_skill

What comes with it

38 811 bytes besides the instruction
__init__.py
assets/README.md
references/EXAMPLES.md
references/OPM_MANUAL.md
references/TOOL_DECISION_TREE.md
scripts/__init__.py
scripts/modify_tool.py
scripts/parse_tool.py
scripts/patch_tool.py
test.py
utils.py

The instruction itself

11 sections, as written by the author

DATA File Processing Skill

This skill provides tools for working with simulator input files. The reference format uses .DATA as the primary input extension; other simulators use different extensions.

Overview

The DATA File Processing skill enables agents to:

  • Parse simulator input files to understand their structure and sections
  • Modify simulator input files using natural language instructions
  • Validate simulator input files for syntax and consistency
  • Patch specific keyword blocks without rewriting entire files

Tools

parse_simulation_input_file

Parses a simulator input file and returns its structure (sections found). Reference format uses .DATA extension.

Usage:

parse_simulation_input_file(file_path: str) -> str

Example:

parse_simulation_input_file("data/example_cases/SPE10/CASE/SPE10_TOPLAYER.DATA")

Returns: A string listing all sections found (e.g., "Sections found: HEADER, RUNSPEC, GRID, PROPS, SOLUTION, SUMMARY, SCHEDULE")

When to use: First step in scenario testing chain (TOOL_DECISION_TREE.md Section 2.4) or when user asks to parse/list sections of a simulator input file.

modify_simulation_input_file

Modifies a simulator input file based on natural language instructions. Can modify entire file or target specific keyword blocks.

Usage:

modify_simulation_input_file(
    file_path: str,
    modifications: str,
    output_path: Optional[str] = None,
    llm_model: Optional[str] = None,
    manual_context: Optional[str] = None,
    example_context: Optional[str] = None,
    target_keyword: Optional[str] = None
) -> str

Parameters:

  • file_path: Path to the simulator input file to modify
  • modifications: Natural language description of changes (e.g., "Increase water injection rate for well I1 to 55")
  • output_path: Where to save modified file (default: overwrite original)
  • llm_model: Optional model override for LLM-based modifications
  • manual_context: Optional simulator manual excerpt for the relevant keyword
  • example_context: Optional example DATA snippets for the relevant keyword
  • target_keyword: If set, only this keyword block is edited; rest of file is copied unchanged

Example:

modify_simulation_input_file(
    file_path="SPE1CASE1.DATA",
    modifications="Increase water injection rate for well I1 in WCONINJE to 55",
    output_path="SPE1CASE1_AGENT_GENERATED.DATA",
    target_keyword="WCONINJE"
)

When to use: In scenario test chain (Section 2.4) after parse_simulation_input_file → simulator_manual → simulator_examples, or when user requests modifications to a simulator input file.

patch_simulation_input_keyword

Patches a specific keyword block in a simulator input file without modifying other parts. Useful for auto-fixes.

Usage:

patch_simulation_input_keyword(
    file_path: str,
    keyword: str,
    output_path: str,
    item_index: Optional[int] = None,
    new_value: Optional[str] = None,
    new_block_content: Optional[str] = None
) -> str

Parameters:

  • file_path: Path to the simulator input file
  • keyword: Keyword to patch (e.g., WELLDIMS, TABDIMS)
  • output_path: Path for the new file (original is unchanged)
  • item_index: 1-based index of the numeric item to replace
  • new_value: New value for the item (used with item_index)
  • new_block_content: Exact new block content (keyword line + data). If set, item_index/new_value are ignored.

Example:

patch_simulation_input_keyword(
    file_path="SPE1CASE1.DATA",
    keyword="WELLDIMS",
    output_path="SPE1CASE1_FIXED.DATA",
    item_index=1,
    new_value="10"
)

When to use: In HITL apply fix flow (Section 2.2) for auto-fixes, or when only a specific keyword needs to be changed.

Workflow Integration

This skill integrates with the Simulator Agent's decision tree (TOOL_DECISION_TREE.md):

  • Scenario Test Chain (Section 2.4):
   parse_simulation_input_file → simulator_manual → simulator_examples → modify_simulation_input_file → run_and_heal
  • HITL Apply Fix (Section 2.2):
   patch_simulation_input_keyword or modify_simulation_input_file → run_and_heal

Implementation Details

Tools are implemented as LangChain tools with Pydantic input schemas. The skill uses:

  • utils.py: Shared utility functions for parsing, keyword finding, and LLM integration
  • Tool modules: Individual tool implementations in separate modules
  • LLM integration: Uses ChatOpenAI for natural language modifications

Error Handling

All tools return descriptive error messages if:

  • Files are not found
  • Syntax errors occur during parsing
  • LLM modifications fail
  • Validation checks fail

References

  • OPM Flow Manual - Detailed keyword reference
  • Tool Decision Tree - Routing logic
  • Examples - Usage examples

Testing

Run the test suite:

python -m simulator_agent.skills.input_file_skill.test --file path/to/test.DATA

Or test individual tools:

python -m simulator_agent.skills.input_file_skill.test --file path/to/test.DATA --tool parse_simulation_input_file

The test script is located in test.py at the root of the skill directory.

Other skills for the same job

different authors, same section of the catalogue
Viral Instagram Reels
by vyralcontent
×1

Plan, write, and diagnose Instagram Reels that earn cold-audience reach. Use whenever someone wants a reels script or reels hook for a specific Reel, is debugging why a Reel flopped, wants to know if a draft is worth testing with Trial Reels before going public, or needs a reels caption tuned for the post-hashtag instagram algorithm. Built around what Mosseri has publicly named as the signal hierarchy (watch time, sends per reach, likes per reach), the Trial Reels test-then-publish loop, the Original Content Guidelines and 30-day recovery window, the Edits app, and Reels Insights metrics (skip rate, share rate, followers from this post). Covers a Reels-specific reels strategy: send-driving CTAs, originality without watermarks, audio licensing by account type, captions as the primary SEO signal, and the anti-patterns that quietly cap distribution. Pattern-based guidance, not a virality promise.

18k tokens
Bond Relative Value
by anthropics
vendor

Perform relative value analysis on bonds by combining pricing, yield curve context, credit spreads, and scenario stress testing. Use when analyzing bond richness/cheapness, computing spread decomposition, comparing bonds, assessing bond value vs curves, or running rate shock scenarios.

910 tokens
Returns Analysis
by anthropics
vendor

Build quick IRR/MOIC sensitivity tables for PE deal evaluation. Models returns across entry multiple, leverage, exit multiple, growth, and hold period scenarios. Use when sizing up a deal, stress-testing assumptions, or preparing IC returns exhibits. Triggers on "returns analysis", "IRR sensitivity", "MOIC table", "what's the return at", "model the returns", or "back of the envelope".

837 tokens
Brainstorm Experiments New
by phuryn

Design lean startup experiments (pretotypes) for a new product. Creates XYZ hypotheses and suggests low-effort validation methods like landing pages, explainer videos, and pre-orders. Use when validating a new product idea, creating pretotypes, or testing market demand.

634 tokens
Amazon Alexa QA
by browser-act

Amazon Alexa for Shopping Q&A automation: submits questions to Amazon's Alexa/Rufus AI shopping assistant and collects response text; supports optional keyword search context (navigate to search results page before asking for category-specific answers). Use when user mentions Amazon Alexa, Rufus, Amazon shopping assistant, Amazon AI chat, ask Amazon, Amazon Q&A, automate Alexa questions, Rufus chatbot, Amazon assistant automation, collect Alexa responses, bulk question submission to Amazon, keyword search context, category research. Also applies to extracting Amazon product recommendations from conversational AI, automating repeated queries to Amazon's AI shopping feature, collecting Alexa shopping responses at scale, or market research within a specific product category.

4k tokens scripts
AI Ugc Ads
by tech-leads-club

When the user wants to create UGC ad campaigns, recruit UGC creators, generate AI UGC content, or scale with user-generated content. Also use when the user mentions 'UGC,' 'user-generated content,' 'creator ads,' 'Spark Ads,' 'whitelisting,' 'AI UGC,' 'Arcads,' 'Creatify,' 'creator brief,' or 'UGC testing.' This skill covers the UGC growth framework from creator recruitment through AI-powered scaling. Do NOT use for technical implementation, code review, or software architecture.

5k tokens
Recon Scope Triage
by elementalsouls

Triage ASM/recon output for ownership before testing — separate the target's real assets from namespace-collision noise. Automated recon keyword-matches on the brand name, so for any target whose name is a common/dictionary word, the output is dominated by assets belonging to UNRELATED same-named companies (repos, cloud buckets, mobile apps, breach corpora, typosquats). Built from an authorized engagement where an ASM report's "Criticals" were overwhelmingly false positives and the combo/repos/mobile/bucket lists were polluted with unrelated same-named orgs. Use at the START of any engagement, immediately on receiving any ASM/recon/OSINT dataset, BEFORE testing anything.

2k tokens
Attribution Reconciler
by aaron-he-zhu

Use when platform-reported conversions disagree with GA4/ecommerce, when you suspect Meta and Google are double-counting the same sales, or for a standing (monthly) reconciliation workbook that de-dups stacked credit against an order-ID truth set, normalizes attribution windows and currency, compares attribution models, and reads incrementality from a geo/holdout test. Not for the point-in-time R2 veto or RQS gate — use ad-account-auditor; not for the ROI/ROAS ratio math itself — use roi-calculator; not for organic dark-social share attribution or GA4 direct-traffic decomposition — use dark-social-attributor. 付费广告归因对账/去重/增量

3k tokens

How to use it

Copy the folder

Take nvidia/input_file_skill from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.