pokeswift-extractor-contract-change
Investigate, implement, and validate PokeSwift extraction or shared-contract changes without breaking the source-driven pipeline. Use when work touches `PokeExtractCLI`, `PokeDataModel`, `PokeContent`, generated `Content/Red` artifacts, or any bug where the issue may be in extracted data, schema shape, content loading, or extractor-to-runtime contract drift.
Best use case
pokeswift-extractor-contract-change is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Investigate, implement, and validate PokeSwift extraction or shared-contract changes without breaking the source-driven pipeline. Use when work touches `PokeExtractCLI`, `PokeDataModel`, `PokeContent`, generated `Content/Red` artifacts, or any bug where the issue may be in extracted data, schema shape, content loading, or extractor-to-runtime contract drift.
Teams using pokeswift-extractor-contract-change should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/pokeswift-extractor-contract-change/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How pokeswift-extractor-contract-change Compares
| Feature / Agent | pokeswift-extractor-contract-change | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Investigate, implement, and validate PokeSwift extraction or shared-contract changes without breaking the source-driven pipeline. Use when work touches `PokeExtractCLI`, `PokeDataModel`, `PokeContent`, generated `Content/Red` artifacts, or any bug where the issue may be in extracted data, schema shape, content loading, or extractor-to-runtime contract drift.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# PokeSwift Extractor Contract Change Read [AGENTS.md](../../../AGENTS.md) and [SWIFT_PORT.md](../../../SWIFT_PORT.md) before changing milestone-sensitive behavior. Treat generated content as evidence, not authoring surface. Prefer fixing the first broken contract layer instead of compensating in runtime code. ## Workflow 1. Define the failing contract. Capture the exact value or shape that is wrong: missing dialogue ID, wrong warp/checkpoint, broken map script, bad trainer manifest, missing audio cue metadata, stale item/species/move field, or loader decode mismatch. 2. Trace the first diverging layer. Use this order: `pret/pokered asm/data -> PokeExtractCLI -> Content/Red -> PokeDataModel/PokeContent -> PokeCore/PokeUI`. Fix the first layer that differs from the expected source-driven result. 3. Pick the right ownership boundary. If the extracted value is wrong, change `PokeExtractCLI`. If the extracted value is right but the shared model cannot represent it, change `PokeDataModel` first. If the model is right but loading or validation is wrong, change `PokeContent`. Only change `PokeCore` or `PokeUI` after the upstream contract is correct. 4. Regenerate instead of patching artifacts. After extractor changes, run `./scripts/extract_red.sh`. Never hand-edit `Content/Red/**` as the fix. 5. Validate upstream first, then downstream. Run focused `PokeExtractCLITests` and `PokeContentTests`. Then run the smallest runtime or UI tests that consume the changed contract. Update `SWIFT_PORT.md` if the shipped scope, milestone boundary, or system ledger changed. ## Ownership Guide - `PokeExtractCLI` Own parsing, normalization, template assembly, and deterministic manifest generation. Search here for battle text templates, trainer dialogues, encounter tables, map objects/scripts, warps, marts, items, audio cues, and source-derived flags. - `Content/Red` Treat as generated output. Diff it to confirm what changed, but do not author fixes here. - `PokeDataModel` Own shared manifests and save/telemetry schemas. Put contract changes here before duplicating structure in loaders or runtime code. - `PokeContent` Own content loading, validation, and repo-contract tests. Fix this layer when manifests are correct but decoding, validation, or loader defaults are wrong. - `PokeCore` and `PokeUI` Consume contracts. Change these only after upstream data and shared types are proven correct. ## Common Triggers - wrong Pokecenter blackout checkpoint or player start location - missing trainer lose dialogue or battle text token - battle text template drift against `common_text.asm` - encounter table, mart, item, species, move, or evolution manifest mismatch - audio metadata or dialogue-event extraction mismatch - schema bumps that require loader and save defaults - `Content/Red` diffs that look suspicious after extractor work ## File Checklist - Read [Sources/PokeExtractCLI](../../../Sources/PokeExtractCLI) for parser and manifest generation ownership. - Read [Sources/PokeDataModel](../../../Sources/PokeDataModel) for shared schemas. - Read [Sources/PokeContent](../../../Sources/PokeContent) for loader and contract validation ownership. - Inspect [Content/Red](../../../Content/Red) only to confirm generated output, never as the source of truth. - Read [SWIFT_PORT.md](../../../SWIFT_PORT.md) if the contract change alters shipped scope or milestone claims. ## Validation Matrix - If extraction logic changed: Run `./scripts/extract_red.sh`. - If manifests or schemas changed: Run focused `PokeExtractCLITests` and `PokeContentTests`. - If runtime consumers changed because of the contract: Run the smallest relevant `PokeCoreTests` or `PokeUITests` slice. - If file moves or target-sensitive edits happened during the change: Run `tuist generate --no-open` before broader validation. ## Failure Shields - Do not hand-edit `Content/Red/**`. - Do not bury schema drift in runtime `if` statements. - Do not change runtime behavior first when the extractor output is already wrong. - Do not stop at compile success; prove regenerated artifacts and loaders both validate. - Do not forget save/schema coupling when shared models change. ## Review Mode When reviewing an extractor or contract patch: - Start from `git diff --stat` and the changed generated artifacts. - Check whether the extractor output matches the expected Red source or just "looks plausible." - Look for missing shared-model updates when new fields appear. - Look for loader defaults or decode paths that silently discard new data. - Treat unexplained `Content/Red` diffs as first-class findings. ## Output Expectations Report these points clearly: - expected source-driven contract - first diverging layer - files changed and why - regenerated artifacts touched - upstream and downstream validation run - whether `SWIFT_PORT.md` changed
Related Skills
pokeswift-tuist-refactor-guard
Plan, review, and execute PokeSwift refactors without breaking the Tuist workspace, target graph, or module ownership boundaries. Use when moving or splitting Swift files, reorganizing `Sources/` or `App/`, decomposing large runtime or UI files, cleaning up feature slices, or checking whether a proposed refactor is safe for PokeSwift's Tuist-based workspace.
pokeswift-parity-fix
Investigate and fix PokeSwift gameplay parity regressions against `pret/pokered` using the repo's source-driven pipeline. Use when a user reports behavior drift from Pokemon Red, asks for parity work in battle/progression/maps/save/load/audio/UI, needs tracing from pokered assembly and data through `PokeExtractCLI`, `Content/Red`, and `PokeCore` or `PokeUI`, or wants a PokeSwift parity review or fix instead of generic Swift refactoring.
checking-changes
Validates all code changes before committing by running format, lint, type, and unit test checks. Use after making backend (Python) or frontend (TypeScript) changes, before committing or finishing a work session.
keyword-extractor
Extracts up to 50 highly relevant SEO keywords from text. Use when user wants to generate or extract keywords for given text.
employment-contract-templates
Templates and patterns for creating legally sound employment documentation including contracts, offer letters, and HR policies.
changelog-automation
Automate changelog generation from commits, PRs, and releases following Keep a Changelog format. Use when setting up release workflows, generating release notes, or standardizing commit conventions.
Contract Review Assistant
Analyze business contracts for risks, unfavorable terms, and missing clauses. Get a plain-English summary of what you're signing.
Contract Analyzer
Analyzes contracts and agreements for risks, unusual terms, and missing clauses
Change Management Planner
Plan, communicate, and execute organizational change with structured frameworks. Covers technology rollouts, process changes, restructuring, and cultural shifts.
openclaw-safe-change-flow
Safe OpenClaw config change workflow with backup, minimal edits, validation, health checks, and rollback. Single-instance first; secondary instance optional.
onchain-contract-token-analysis
Analyze smart contracts, token mechanics, permissions, fee flows, upgradeability, market risks, and likely attack surfaces for onchain projects. Use when reviewing ERC-20s, launchpads, vaults, staking systems, LP fee routing, ownership controls, proxy setups, or suspicious token behavior.
Contract Review & Redline Skill
Analyzes legal agreements to identify problematic terms, missing protections, and market departures, then generates structured redlines in a standardized JSON format.