instance-entry-author
Authoring tool to convert FFXIV gameplay notes into structured JSON map or territory entries.
Install
mkdir -p .claude/skills/instance-entry-author && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18607" && unzip -o skill.zip -d .claude/skills/instance-entry-author && rm skill.zipInstalls to .claude/skills/instance-entry-author
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.
Create BackseatDriver instance hint JSON from user-provided source material such as pasted wiki text or mechanic notes. Use this when the task is to turn one FFXIV duty or instance description into a schema-valid map entry or territory entry for BackseatDriver, grounded in the provided content and ready for validation or upsert.Key capabilities
- →Create BackseatDriver instance hint JSON from source material
- →Generate schema-valid map entries for FFXIV duties
- →Generate schema-valid territory entries for FFXIV duties
- →Infer content name, territory ID, and map ID from user input
- →Resolve IDs from existing `instances_data.json` dataset
- →Extract attack name and ID pairs from BSD logs
How it works
This skill processes user-provided source material to generate schema-valid JSON for BackseatDriver instance hints, either as map entries or territory entries.
Inputs & outputs
When to use instance-entry-author
- →Add new FFXIV duty to database
- →Convert mechanic notes to JSON
- →Author territory map metadata
About this skill
Instance Entry Author
Turn source material for a single piece of FFXIV content into BackseatDriver instances-data JSON.
This skill is for authoring. It does not scrape the source itself. The user should provide the relevant text, notes, or excerpts.
Load These References First
Before authoring, read:
instances_compressor/instances_data_schema.mdAGENTS.md
Use the schema document as the contract for output shape and field semantics.
Expected Inputs
Gather or infer these from the user request and supplied source text:
- content name
- territory ID
- territory name if known
- map ID or map IDs if known
- whether the content should be represented as:
- one map entry, or
- one full territory entry with one or more maps
- source material that grounds the hints
If IDs are missing, first inspect BackseatDriver/Data/instances_data.json because the repository is already seeded with many territory and map names.
When resolving IDs from the existing dataset:
- search territory and map names case-insensitively
- use the existing seeded names as the primary local lookup source
- only ask the user for IDs when the lookup is ambiguous or missing
- if multiple matches exist, present the ambiguity instead of guessing
If IDs still cannot be resolved, do not invent them. Ask for them or state that the output is provisional and needs IDs filled before upsert.
If the user provides an enemy ID and wants attack IDs from the BSD log, use:
python instances_compressor/bsd_log_extract.py --log <path-to-bsd-log> --enemy-id <enemy-id>
This returns deduplicated attack name - attack id pairs for the specified enemy ID and can be used as source material for coach hints in c.
Naming Defaults
Use these defaults unless the user asks otherwise:
- for map-level
en, use the territory or duty name - for stage-level
eninsidest, use boss or encounter names
If a map name would require guessing a boss-to-map assignment, stop and ask instead of inferring it.
Output Modes
Choose exactly one of these:
1. Map Entry
Use when the user wants content for a single map ID.
Return one JSON object shaped like a map entry.
2. Territory Entry
Use when the content naturally maps to a full territory payload, especially if:
- the user thinks in terms of one content item rather than one map object
- the content spans multiple maps
- the caller intends to use
instances_upsert.py --territory-entry-file
Return one JSON object shaped like a territory entry containing en and maps.
Authoring Rules
Follow these rules strictly:
- Ground every hint in the provided source text. Do not invent mechanics.
- Prefer short, actionable hints suitable for in-game reading.
- Use either
stor direct map-levelg/d/h/thints for a map, never both. - Use
stwhen the duty is better modeled as separate bosses, encounters, or phases. - Use direct map-level hints only when one shared set of hints is enough.
- Keep names in
en. - Prefer
""for intentionally empty hint fields in newly authored content. - Only add coach hints in
cwhen the source explicitly includes enemy/action/debuff IDs or the user provided them. - If the source is ambiguous, note the ambiguity instead of guessing.
- If a dungeon has multiple seeded map IDs but the source does not clearly establish which boss belongs to which map, stop and ask before assigning bosses to maps.
Boss-to-map ambiguity is a hard stop, not an invitation to reason longer.
Compression Rules
Compress source text into hints carefully:
- Preserve mechanic meaning, not wording.
- Remove trivia, lore, and flavor text.
- Keep role-specific hints only when the source justifies them.
- Do not force all four role fields to be populated.
- Prefer newline-separated quick bullets inside each populated hint field, using
\nbetween bullets. - Prefer 1-3 short bullets per field, not a full fight guide.
- Prioritize mechanics a player can react to quickly in duty: stacks, spreads, gaze, knockback, adds, tankbusters, raidwides, arena changes.
- Omit low-value detail such as story framing, exact ability sequencing, or mechanics that are too minor to matter in a quick-reference plugin.
- Only populate
hortwhen the source supports a genuinely role-specific action or risk. - Keep each bullet short enough to scan instantly in the plugin UI.
- When a field needs multiple points, format them like
"- First point.\n- Second point."rather than a dense paragraph.
Good:
"-Stack for shared damage.\n-Spread for the follow-up circles.""-Tankbuster with cleave.\n-Face boss away from party.""-Prepare healing after repeated raidwides.\n-Cleanse poison if possible."
Bad:
- long narrative retellings
- speculative optimizations not grounded in source
- role tips that are just generic MMO advice
- copying the wiki almost verbatim
- one long paragraph when the same content can be split into fast-scanning bullets
Hand-Off To Tooling
After generating JSON, prefer the local tools instead of manual edits:
- Validate whole-file structure with:
python instances_compressor/instances_data_validator.py
- Upsert one map entry with:
python instances_compressor/instances_upsert.py --territory-id <tid> --map-id <mid> --entry-file <file>
- Upsert one territory entry with:
python instances_compressor/instances_upsert.py --territory-id <tid> --territory-entry-file <file>
Use --dry-run first when applying authored content unless the user explicitly wants the file written immediately.
Response Pattern
When asked to author content:
- State whether you are returning a map entry or territory entry.
- Mention any missing IDs or ambiguity in one short paragraph if needed.
- Return only the JSON payload in a fenced
jsonblock.
If the user also wants confidence checks before applying the entry, hand the candidate output to instance-entry-validator before running the local upsert tooling.
When not to use it
- →When the task is to scrape source material directly, as this skill is for authoring.
- →When IDs cannot be resolved and the user does not provide them, as the output will be provisional.
- →When the source is ambiguous about boss-to-map assignments, as the skill will stop and ask.
Limitations
- →This skill does not scrape the source itself.
- →This skill does not invent IDs.
- →This skill does not infer boss-to-map assignments if the source is ambiguous.
How it compares
This skill automates the structured conversion of raw text into game data JSON, unlike manual data entry.
Compared to similar skills
instance-entry-author side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| instance-entry-author (this skill) | 0 | 2mo | No flags | Intermediate |
| financial-model | 0 | 3mo | No flags | Intermediate |
| dbt-transformation-patterns | 6 | 2mo | No flags | Intermediate |
| markdown-converter | 5 | 2mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
financial-model
DatBeat
Design and document a financial model with structured process, quality checks, and system integration
dbt-transformation-patterns
wshobson
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
markdown-converter
steipete
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
analyse-issue
monarch-initiative
Analyze MONDO GitHub issues for validity, suggest improvements, and generate structured reports with duplication checks and identifier validation
report-writer
camel-ai
Generate professional reports from analysis results. Use when user needs to create formatted documents summarizing findings.
report-research
numerai
Write a complete Numerai experiment report in experiment.md (abstract, methods, results tables, decisions, next steps) and generate/link the standard show_experiment plot(s). Use after running any Numerai research experiments, or when a user asks for a “full report”, “write up”, “experiment.md update”, or “generate the standard plot”.