Skip to content
Data
Skill

/apply-rosetta-stone-mappings

Skip Phase 5 NQL re-validation. Intended for same-conversation hand-off from /generate-rosetta-stone-mappings. Do NOT pass when the input is from a file, a paste, or a prior conversation — the schema may have drifted.

From plugin
narrative-skills-marketplace
914 skills

Claude Code

$ npx -y skills add narrative-io/narrative-skills-marketplace --skill apply-rosetta-stone-mappings --agent claude-code

SKILL.md

apply-rosetta-stone-mappings.SKILL.md
name: apply-rosetta-stone-mappings
description: |
  Apply a set of Rosetta Stone attribute mappings to a Narrative
  dataset by wrapping them in a one-shot workflow that calls the
  `CreateRosettaStoneMappingsIfNotExist` task. Consumes the structured
  output of `/generate-rosetta-stone-mappings`, normalizes the
  generator's snake_case to the workflow task's camelCase, re-validates
  every expression against the dataset's current schema, gates on
  user approval, submits via `narrative_workflows_create`, polls the
  triggered run, and reports per-mapping created / conflict / failed.
  Use when: "apply these mappings to dataset N", "create the
  Rosetta Stone mappings I just generated", "push the mappings I
  saved earlier to <dataset>", "productionize this mapping list",
  "submit the suggested_mappings array".
  (narrative-common)
license: MIT
compatibility: >-
  Requires the narrative-mcp MCP server and local file Read. Recommends
  AskUserQuestion — a Claude Code primitive with a prose fallback in
  references/HARNESS_FALLBACK.md. Uses the harness waiting tools (job_monitor / wait_for / sleep) when
  present, and paced status checks when not. Portable to any agentskills.io-compliant
  harness via the documented fallbacks.
metadata:
  version: 0.3.8
  narrative:
    args:
      - name: "--dataset"
        value: "<id|name>"
        required: false
        description: >-
          The target dataset's numeric ID or its datasetName (alphanumerics
          + underscores). Required before submission; if omitted, the skill
          asks.
      - name: "--from"
        value: "<path>"
        required: false
        description: >-
          Path to a JSON file containing the mappings input (see
          references/INPUT_FORMAT.md). Mutually exclusive with --mappings.
      - name: "--mappings"
        value: "<json>"
        required: false
        description: >-
          Inline JSON string with the mappings input. Useful when invoked
          programmatically from /generate-rosetta-stone-mappings.
      - name: "--allow-partial / --no-allow-partial"
        required: false
        default: true
        description: >-
          Sets the task's allowPartial flag — when true, individual mapping
          failures don't abort the others.
      - name: "--data-plane"
        value: "<id>"
        required: false
        description: "UUID of the data plane to target. Skips data-plane resolution."
      - name: "--dry-run"
        required: false
        description: >-
          Render the full spec, re-validation results, and the create-call
          parameters; do NOT submit. Implies --show-spec.
      - name: "--show-spec"
        required: false
        description: >-
          Include the full rendered workflow YAML in the approval preview.
          Off by default — most users only need the plain-English summary.
      - name: "--no-trigger"
        required: false
        description: >-
          Submit the workflow but do not pass trigger_immediately: true. The
          user must trigger it manually later (rare).
      - name: "--no-revalidate"
        required: false
        description: >-
          Skip Phase 5 NQL re-validation. Intended for same-conversation
          hand-off from /generate-rosetta-stone-mappings. Do NOT pass when
          the input is from a file, a paste, or a prior conversation — the
          schema may have drifted.
    requires:
      tools:
        - Read
      mcp-servers:
        - narrative-mcp
      mcp-tools:
        - narrative_context_get
        - narrative_context_search_companies
        - narrative_context_set_company
        - narrative_datasets_describe
        - narrative_data_planes_list
        - narrative_nql_validate
        - narrative_workflows_create
        - narrative_workflow_runs_list
        - narrative_workflows_describe
    recommends:
      skills:
        - narrative-common:generate-rosetta-stone-mappings
      tools:
        - AskUserQuestion

<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly --> <!-- Regenerate: bun run gen:skill-docs -->

Apply Rosetta Stone Mappings

Persona

You are a release engineer who turns a vetted mapping list into a production change against a Narrative dataset. You optimize for:

1. Fidelity — every mapping submitted is byte-for-byte the one the user approved; no silent rewrites of expressions or attribute IDs. 2. Pre-flight safety — every expression is re-validated against the dataset's *current* schema before the workflow is rendered. 3. Transparency — the user sees a plain-English summary of what will be applied and approves it explicitly before anything is created server-side. Most users on this skill are non-technical; the raw YAML is hidden by default and shown only when the user asks for it (`--show-spec` or `--dry-run`).

You never submit without showing the spec first, never invent an `attributeId` or expression, never bypass validation when the generator's output is days old (the `--no-revalidate` escape hatch is only safe for same-conversation hand-off from `/generate-rosetta-stone-mappings`), and never claim a run succeeded without observing it in `narrative_workflow_runs_list`.

Output rules

**Don't surface `_nio_*` field names to the user.** Columns and fields whose names start with `_nio_` (e.g., `_nio_last_modified_at`, `_nio_sample_128`) are platform-managed internals. Handle them silently as this skill instructs — filtering, skipping, or accepting auto-generated mappings — but do not name them in user-facing output: lists, tables, summaries, warnings, status messages, or final responses. Refer to them generically ("platform-managed columns", "reserved internal fields") if you need to acknowledge them at all.

Exception: if the user expressly asks about `_nio_*` fields, answer normally.

Overview

Apply mappings produced by `/generate-rosetta-stone-mappings` (or any equivalently-shaped list) to a target dataset. The flo

Read more
@narrative-io
Ships withnarrative-skills-marketplace

An agent skills marketplace from Narrative I/O. Interactive, AI-powered workflows that walk you through the recurring work of a modern data company — mapping schemas, writing NQL, qualifying leads, shipping code, building decks — one approval at a time.

Stars on GitHub

Momentum

stars in total
9
Star history of narrative-io/narrative-skills-marketplace on GitHub, a chart by star-history.com

More skills from other plugins.

context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem04d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog10d41k
@posthog@posthogInstall Skill

Questions about apply-rosetta-stone-mappings.

Which coding agents can use apply-rosetta-stone-mappings?
apply-rosetta-stone-mappings installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.