Run Geocode Generation logo

Run Geocode Generation

Organization
oracle
Run Geocode Generation

Submits and monitors the Oracle Fusion Populate Location Latitude and Longitude Information ESS process for CX Customer Data Management. Use when a user asks to run, schedule, monitor, or resume geocode generation for eligible active and verified addresses.

Overview

Publisheroracle
RepositoryFusion-Setup-Configuration-Registry
Skill nameRun Geocode Generation
Stars
112
Forks
26
Bundled files
11
LicenseUPL-1.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 11 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by oracle on GitHub. Read the source before you install it.

Installation

Install the Run Geocode Generation AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/oracle/Fusion-Setup-Configuration-Registry/tree/main/pillars/cx/customer-data-management/enterprise-profile/run-geocode-generation
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/oracle/Fusion-Setup-Configuration-Registry.git /tmp/Fusion-Setup-Configuration-Registry
mkdir -p .claude/skills
cp -r /tmp/Fusion-Setup-Configuration-Registry/pillars/cx/customer-data-management/enterprise-profile/run-geocode-generation .claude/skills/oracle-run-geocode-generation
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Run Geocode Generation in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Run Geocode Generation on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Run Geocode Generation is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Run Geocode Generation

Purpose

Run and monitor Oracle Fusion's Populate Location Latitude and Longitude Information scheduled process for eligible active and verified addresses. The setup task is Run Geocode Generation; its fixed ESS job is HZ-HZGEOCODER.

When to Use

Use this skill when the user asks to:

  • run geocode generation with no optional parameters;
  • restrict the run by country or location last-update date range;
  • regenerate coordinates that are already populated;
  • choose a batch size;
  • monitor a submitted geocode request; or
  • resume monitoring by an existing requestId.

This skill does not configure country geography structures, enable geocoding, cleanse addresses, or import geography reference data.

Inputs

  • execution_intent: infer live authorization from a direct request to run geocode generation; advisory or hypothetical requests do not authorize a submission.
  • execution_mode_selection: parameterless or parameterized. Infer parameterized when the user supplies filters. Otherwise resolve it with the user-friendly scope question before execution.
  • monitoring_choice: request_id_only or monitor_status. Resolve this before preview and submission unless the user's request already states it.
  • fusion_environment_context: required unless exactly one configured target can be resolved without ambiguity.
  • country: optional country name, common country alias, or two-letter code. Resolve it to one documented country and country_code before submission.
  • country_code: resolved two-letter Fusion geography code sent to ESS.
  • start_date and end_date: optional paired inclusive date range. Accept Fusion UI-style M/D/YY or MM/DD/YY, and accept ISO YYYY-MM-DD; apply the range to the location last-update date. Always serialize ESS arguments as YYYY-MM-DD.
  • regenerate_geocode: optional Y or N; the process default is N.
  • batch_size: optional positive integer. Default is 50; values above the SME-confirmed runtime limit are normalized to 100 and disclosed.
  • requestId: optional existing ESS request to monitor. It is mutually exclusive with new-submission parameters.
  • execution_options: optional positive wait_seconds and poll_interval.
  • project_id: required only when the user explicitly requests durable project output or supplies a project ID. Its absence means a transient live run and must not trigger project-workspace creation.

All five business process parameters are optional. If none is supplied, run in parameterless mode and let Fusion apply the scheduled process defaults.

Outputs

  • execution_preview: informational target environment, mode, normalized inputs, effective defaults, impact, and execution-intent state.
  • ess_execution_result: request ID and terminal or last-known ESS status.
  • diagnostics: redacted failure classification and recovery guidance.
  • skill_run_record and token_usage_record when a project workspace is used.

Ownership and Review

  • Owner: CX Customer Data Management pillar team.
  • Required functional reviewer: CX Pillar Development Lead or Geography SME.
  • Required platform reviewer: FSCR A-Team/core reviewer.
  • Required behavior reviewer: QA, including approval, privilege, retry, timeout, diagnostics, and redaction coverage for this hybrid skill.

Read Order

  1. Read input intake.
  2. Read reference lookups.
  3. Read input validation.
  4. Read defaulting rules.
  5. Read dependency readiness.
  6. Read bulk behavior.
  7. Read design advisory.
  8. Read design enforcement.
  9. Before preview or execution, read REST and ESS execution and error handling.
  10. Use the compiled task registry as the task-local execution graph.

Workflow

1. Resolve parameters naturally

Use one of:

  • parameterless new submission;
  • parameterized new submission; or
  • tracking an existing requestId.

For a direct request such as "Run geocode generation" that does not already specify filters or no-filter behavior, ask:

Should I run geocode generation for all eligible addresses in countries where geocoding is enabled, or narrow it to a specific country or other filters?

Do not use the terms parameterless and parameterized in the normal user prompt. Interpret "all eligible addresses" or "without filters" as parameterless. Interpret a specific country, date range, regenerate option, or batch size as parameterized. If the original request already resolves the scope, do not repeat the question.

When the user asks to narrow or parameterize the run but has not supplied the values, ask in plain language:

You can optionally narrow the run. Send any values you want to use:

  • Country name or code, for example India or IN
  • Start and end dates like the Fusion UI, for example 8/4/26 and 8/6/26
  • Regenerate existing coordinates: Y or N
  • Batch size; default and recommended is 50

Reply none to run all eligible addresses for geocoding-enabled countries. See Oracle's parameter documentation for details.

Do not ask separately for omitted parameters because all five are optional. If the user provides one date, ask only for the missing paired date. Normalize and validate values after collection.

After mode and any parameters are resolved, but before previewing or submitting a new request, ask when the monitoring choice is not already explicit:

After submission, should I return the ESS request ID only, or monitor the status here?

Use request_id_only to submit once in the core skill's submit-only mode, return the requestId, and end without polling. Use monitor_status to submit once, return the requestId, and poll that same request using the configured wait_seconds and poll_interval. Include the selected behavior in the business-level execution summary. Do not choose a monitoring mode silently.

Do not combine requestId with fields for a new submission. Reject arrays, CSV, spreadsheets, and multi-request input.

2. Resolve and validate the target

Bind the run to exactly one Fusion environment. Validate only the fields the user supplied. Resolve a supplied country name, alias, or common misspelling through ora-resource/ora_reference_lookups.md, then send only its normalized uppercase two-letter code to ESS. Require both dates when either is supplied. Parse UI-style M/D/YY or MM/DD/YY as a real calendar date, interpret a two-digit year as 20YY, accept ISO YYYY-MM-DD as already normalized, and serialize both ESS date arguments strictly as ISO YYYY-MM-DD. Compare the normalized dates and ensure the start date is not later than the end date. Never pass slash-formatted dates to ESS. Perform this task-specific normalization as part of the skill's validation and mapping workflow; do not add task-local executable code or modify the shared ESS submitter.

Show the resolved country and code in the informational execution summary. If the resolver corrected spelling, disclose it without asking for confirmation when the match is uniquely high confidence. Ask a short clarification question instead of submitting when the input is unknown or ambiguous.

Do not ask the user to confirm that geocoding is enabled for the intended country or countries. Treat that configuration, along with active and verified address status, as Fusion selection criteria rather than manual approval gates. Disclose briefly that Fusion processes only eligible addresses in countries already enabled for geocoding and that a successful request can legitimately select no rows.

Let Fusion enforce the declared ESS privilege at submission and classify an access rejection as auth_or_authorization.

3. Confirm execution intent without a second approval

Treat a direct imperative request to run geocode generation as authorization for one submission after validation and readiness checks pass. Do not ask the user to approve the environment, dependency, payload, or core skill again. After the user answers any required scope and monitoring questions, continue directly to one submission in the same flow. The execution preview is informational and must not pause the flow. Never ask the user to reply Approve, Confirm, or equivalent when the original request was a direct imperative.

Before execution, give a short business-level update naming the environment, whether optional filters are being used, and whether the skill will return only the request ID or monitor status. If regeneration is Y, warn that already populated coordinates may be processed again. Reveal the technical payload only when the user asks for it. When dates are supplied, show their normalized ISO values in the informational summary so the user can verify the effective range.

If the request is advisory, hypothetical, or ambiguous about whether to run, stop before submission and ask one short execution-intent question.

4. Submit or monitor through the core ESS skill

Invoke core.fusion-api.ess-job-submitter; do not call Scheduler REST directly and do not add task-local authentication or polling code.

For a new request, use the fixed job definition and mapping in ora-resource/ora_rest_execution.md, including application CrmEss. Submit exactly once with no automatic POST retry and capture the returned requestId. When monitoring_choice=request_id_only, use submit-only mode and return immediately. When monitoring_choice=monitor_status, poll the same request with bounded defaults of wait_seconds=300 and poll_interval=10 unless valid overrides are supplied.

For an existing requestId, use the core tracking path and never submit a replacement request.

5. Report the outcome

On terminal success, report the environment, request ID, and terminal status. State that the scheduled process completed; do not claim that every selected address received coordinates.

On polling timeout, report that the process is still nonterminal, preserve the request ID and last status, and resume the same request later. On failure, return the failure class, available ESS status and ECID, and the recommended next action. A new submission after failure requires a new direct run request.

Persistence

When project_id is explicitly supplied or the user explicitly requests durable project output, persist redacted validation, preview, request ID, terminal or last-known status, diagnostics, skill-run, and token-usage records under the manifest paths. Otherwise run transiently: do not create a draft implementation project, audit workspace, run workspace, artifact, or token-usage record, and do not pause submission for persistence approval. Never persist credentials, bearer tokens, client secrets, token-cache contents, private keys, or sensitive payloads.

Error and Retry Policy

  • Allow only the shared cached-token refresh behavior for a 401 or 403.
  • Never retry a new ESS POST automatically.
  • Treat a missing request ID after POST as an uncertain outcome; do not resubmit.
  • Treat a polling timeout as nonterminal and resume the same request ID.
  • Classify failures using governance/error-handling-guidelines.md.

Refusal Rules

  • Do not submit without one exact environment and direct execution intent.
  • Do not invent a country code outside the documented resolver or silently repair an ambiguous country or invalid date range.
  • Do not default regeneration to Y.
  • Do not submit again when Fusion rejects the required privilege.
  • Do not issue more than one POST or replace an uncertain or timed-out request.
  • Do not report success before a terminal successful ESS status.

Golden Scenarios

ScenarioExpected Result
User says "Run geocode generation" without stating scopeAsk whether to run for all eligible addresses in geocoding-enabled countries or narrow the run
User chooses all eligible addressesResolve parameterless, ask for monitoring behavior when missing, and submit once without a second approval prompt
User directly requests a run, then selects all addresses and monitoringShow a short informational summary and submit immediately; never ask for Approve submission
No project ID or durable-output request is suppliedRun transiently without creating or requesting approval for a project workspace
User chooses all eligible addresses but has not confirmed country setupDo not ask for setup confirmation; explain that Fusion automatically limits processing to eligible addresses in geocoding-enabled countries
User supplies one or more supported filtersInfer parameterized, validate the supplied values, and do not ask for omitted optional filters
User says AustraliaResolve and disclose Australia (AU), then pass AU as submit.argument1
User says austrailaResolve the unique adjacent-letter spelling correction to Australia (AU), disclose it, and pass AU
Country text has no unique high-confidence matchAsk the user to choose from the closest documented candidates; do not submit
User asks for filters but supplies noneShow the friendly parameter list and allow none to select parameterless execution
User does not state a monitoring preferenceBefore preview, ask whether to return only the request ID or monitor status here
User chooses request ID onlySubmit once in submit-only mode, return the request ID, and end without polling
User chooses monitor statusSubmit once, return the request ID, and poll that same request using the selected timeout
User supplies US, a valid date pair, N, and batch 50Use the normalized ordered values and submit once according to the selected monitoring behavior
User supplies batch 150Normalize to 100, disclose the change, and continue under the original direct execution intent
User supplies only a start dateStop as input_validation and request the end date
User supplies 8/4/26 through 8/6/26Accept the UI-style input, show 2026-08-04 through 2026-08-06, and pass those ISO values as submit.argument2 and submit.argument3
User supplies 08/04/26Never pass it unchanged to ESS; normalize it to 2026-08-04
User supplies an invalid calendar date such as 2/30/26Stop as input_validation; do not submit
User supplies regeneration YWarn that already geocoded locations may be processed again before submission
User supplies an existing request IDMonitor that request without a POST
Polling times outPreserve the request ID and resume it later; do not submit again

Source Boundaries

  • Process guidance: https://docs.oracle.com/en/cloud/saas/sales/fauss/populate-location-latitude-and-longitude-information.html
  • Geocoding setup: https://docs.oracle.com/en/cloud/saas/applications-common/26b/facia/set-up-geocoding.html
  • Scheduler REST contract: https://docs.oracle.com/en/cloud/saas/applications-common/26c/farca/op-ess-rest-scheduler-v1-requests-post.html
  • Internal job metadata: https://confluence.oraclecorp.com/confluence/pages/viewpage.action?pageId=7210249295
  • Effective task catalog: knowledge/setup-task-catalog/effective/setupTasksAll.json

Use the parent skill cx.customer-data-management.enterprise-profile for functional-area scope and sequencing.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Run Geocode Generation AI skill do?

Submits and monitors the Oracle Fusion Populate Location Latitude and Longitude Information ESS process for CX Customer Data Management. Use when a user asks to run, schedule, monitor, or resume geocode generation for eligible active and verified addresses.

Why use Run Geocode Generation on TypingMind?

Because you install it once and use it with any model. Run Geocode Generation is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Run Geocode Generation in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/oracle/Fusion-Setup-Configuration-Registry/tree/main/pillars/cx/customer-data-management/enterprise-profile/run-geocode-generation. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Run Geocode Generation?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Run Geocode Generation?

As many as you like. As long as a model supports skills, you can use Run Geocode Generation with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Run Geocode Generation AI skill free?

Yes. It is published on GitHub by oracle under the UPL-1.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇