AB

Standardized workflow for integrating external mods into the StellarisPlus framework.

Install

mkdir -p .claude/skills/absorb-mod && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15172" && unzip -o skill.zip -d .claude/skills/absorb-mod && rm skill.zip

Installs to .claude/skills/absorb-mod

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Absorb an external Stellaris mod into StellarisPlus by backing it up, analyzing its contents, integrating files, resolving conflicts, and validating the result. Also supports undoing a previous absorption. Use when user says "absorb mod", "integrate mod", "merge mod", "import mod", "add Workshop mod", "include mod", "copy mod into StellarisPlus", "undo absorb", "remove mod", "revert mod", "unmerge mod", "de-integrate mod", or wants to incorporate or remove a Stellaris mod (by Workshop ID, folder path, or zip file) in this project.
536 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Locate and backup external Stellaris mods
  • Parse mod descriptor files for metadata
  • Build file manifests and categorize mod content
  • Detect and resolve conflicts with existing workspace files
  • Integrate mod files by copying and merging
  • Validate integrated mod content through cross-reference checks

How it works

The skill processes an external Stellaris mod through phases of locating, backing up, inventorying, analyzing, integrating, and validating its content, resolving conflicts and updating attribution.

Inputs & outputs

You give it
External Stellaris mod (Workshop ID, folder path, or Zip file)
You get back
Integrated Stellaris mod within StellarisPlus, with conflicts resolved and attribution updated

When to use absorb-mod

  • Integrating a new Stellaris mod
  • Backing up a mod before integration
  • Resolving mod file conflicts

About this skill

Absorb Mod

Purpose & Scope

Integrate an external Stellaris mod into StellarisPlus. For removal requests, load references/undo-absorption.md and follow that branch instead of the absorption workflow below.

  • Load doc/mod_load_reference.md before conflict or prefix decisions.
  • Load doc/mod_defines_reference.md when incoming content introduces an unfamiliar file type, and doc/mod_mechanics_reference.md when it changes a documented gameplay system.
  • Always absorb the entire mod. Partial absorption is not allowed (creates broken cross-references).

Absorption Workflow

Phase 1 -- Locate and Backup

  1. Resolve source:

    InputSource path
    Workshop IDC:\Program Files (x86)\Steam\steamapps\workshop\content\281990\<id>\
    Folder pathAs-is
    Zip fileExtract to $env:TEMP, find descriptor.mod inside
  2. Parse descriptor.mod and extract name, tags, supported_version, and remote_file_id.

  3. Resolve the Workshop ID from the explicit input or remote_file_id. Stop and ask for the ID when neither source provides one; do not invent a backup or credits identifier.

  4. Backup to backup/<id>/. Stop if that path exists; never overwrite an absorption baseline without explicit user confirmation and a separately preserved copy.

Phase 1 is complete only when the source, descriptor metadata, and Workshop ID are verified and the immutable absorption backup contains the complete source.

Phase 2 -- Inventory and Analysis

  1. Build file manifest -- categorize all files in backup:

    PatternCategory
    common/**/*.txtGameplay script
    events/*.txtEvent script
    interface/*.gfx, *.guiGFX/GUI
    localisation/**/*.ymlLocalisation
    gfx/**, sound/**, flags/**Assets
    *.mod, thumbnail.*Metadata (skip)
  2. Detect conflicts -- for each file, check if the same relative path exists in workspace:

    When any conflict is found, load references/conflict-patterns.md and apply the matching resolution pattern.

    ConflictAction
    NoneDirect copy
    Identical contentSkip
    Both override vanilla differentlyMerge review
    Both define same custom contentManual merge
  3. Check load-order -- flag prefix clashes per doc/mod_load_reference.md.

  4. Check scripted variables -- flag shadowed @variable definitions (same name, different value).

  5. Report conflict table to user and wait for approval.

Phase 2 is complete only when every source file has a manifest category, every conflict and variable shadow has a disposition, and the user approves the integration plan.

Phase 3 -- Integration

After user confirms:

  1. Copy non-conflicting files preserving directory structure.
  2. Merge conflicting files by type:
    • Scripts (common/**/*.txt): read both fully; combine blocks, deduplicate; preserve brace nesting. If both override vanilla, integrate both change-sets.
    • Localisation (.yml): add new keys; for duplicates keep ours; maintain l_english: header and :0 format.
    • GFX (.gfx): add new sprites; for duplicate names keep ours and warn.
    • GUI (.gui): merge widget trees; new widgets at correct nesting; modified widgets merge properties (keep our positioning). Record every major hierarchy restructure for Phase 4 visual verification.
    • Assets (gfx/, sound/): copy directly; if exists, ask user which to keep.
  3. Adjust load order -- rename prefixes if needed per doc/mod_load_reference.md.
  4. Resolve variable conflicts -- present shadowed vars to user; user picks value.

Phase 3 is complete only when every manifest entry is copied, merged, or intentionally skipped and every approved conflict decision is applied.

Phase 4 -- Validation

  1. Cross-reference check: verify script-to-localisation, script-to-GFX, GFX-to-DDS, inline_script calls, event refs in on_actions.
  2. Multi-language localisation: if incoming mod has only English, copy English strings as fallback to l_braz_por, l_french, l_german, l_polish, l_russian, l_simp_chinese, l_spanish.
  3. Visual verification: when Phase 3 changed a GUI hierarchy, perform the relevant in-game visual check. If the environment cannot run it, record the check as blocked and obtain explicit user acceptance before completion.
  4. Re-read every changed file and run the quality gate until two consecutive runs are clean.

Phase 4 is complete only when cross-references, localisation fallbacks, visual checks, changed-file rereads, and both final gate runs are accounted for.

Phase 5 -- Finalize

  1. Update credits.md with mod name, Workshop ID, source path, author. Add a probe entry for the Workshop ID in tools/credits_date_probes.json when grep/path heuristics help.

  2. Run & "tools/stellarisplus-refresh-credits-dates.ps1" to fill Last updated dates from git history.

  3. Update descriptor.mod only to add new tags if applicable.

  4. Report summary:

    MetricCount
    Files copied / merged / skippedX / X / X
    Conflicts resolvedX
    Validation errors fixedX

Phase 5 is complete only when attribution metadata is current and the report counts reconcile with the Phase 2 manifest and Phase 4 evidence.

Completion Criteria

Absorption is complete only when every phase criterion is satisfied and the final report accounts for every source file, conflict, reference, validation result, and attribution change.

When not to use it

  • When performing partial absorption of a mod
  • When overwriting an absorption baseline without explicit user confirmation
  • When reversing a credited absorption

Limitations

  • Partial absorption is not allowed
  • Overwriting an absorption baseline requires explicit user confirmation
  • The skill does not handle removal requests

How it compares

This skill automates the complex process of integrating an entire external mod into StellarisPlus, including conflict resolution and validation, which is more structured than manual file merging.

Compared to similar skills

absorb-mod side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
absorb-mod (this skill)02moNo flagsAdvanced
resolve-conflicts818moReviewIntermediate
claude-automation-recommender472moReviewBeginner
codex-skill125moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

resolve-conflicts

antinomyhq

Use this skill immediately when the user mentions merge conflicts that need to be resolved. Do not attempt to resolve conflicts directly - invoke this skill first. This skill specializes in providing a structured framework for merging imports, tests, lock files (regeneration), configuration files, and handling deleted-but-modified files with backup and analysis.

81334

claude-automation-recommender

anthropics

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

47140

codex-skill

feiskyer

Use when user asks to leverage codex, gpt-5, or gpt-5.1 to implement something (usually implement a plan or feature designed by Claude). Provides non-interactive automation mode for hands-off task execution without approval prompts.

12110

git-advanced-workflows

wshobson

Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.

1197

subagent-driven-development

davila7

Use when executing implementation plans with independent tasks in the current session

1493

validate-openapi-specs

epieczko

Validates and registers hook manifest files (YAML) in the Hook Registry for versioned hook management.

594

Search skills

Search the agent skills registry