Skip to main content
Back to Prompt Library
Build the complete application

Implementation brief

Inspect the original prompt language first, then copy or adapt it once you know how it fits your workflow.

Linked challenge: Build a Legacy API Modernization Assistant

Format
Code-aware
Lines
59
Sections
11
Linked challenge
Build a Legacy API Modernization Assistant

Prompt source

Original prompt text with formatting preserved for inspection.

59 lines
11 sections
No variables
1 code block
## Who Uses It
An integration engineer replacing a legacy service.

## What You Will Build
Build an agent that reads a legacy service contract and generates a modern API specification, a data adapter, and migration notes. Give engineers a workspace to review mappings and replay sample requests.

## Inputs
- Legacy field contract
- Example requests and responses
- Target field rules

## Workflow
1. Inspect source types and identify ambiguous mappings.
2. Propose a target schema for review.
3. Generate the adapter and API specification.
4. Replay sample records and report differences.

## Interface
A mapping editor with source-to-target fields, a request replay panel, and downloadable generated code.

## Working Demo
Generate the contract and adapter, then replay both customer records without losing identifier formatting or null semantics.

## Deliverables
- A working local application with the specified review interface.
- Source code, dependency lockfile, and setup commands.
- A recorded end-to-end demo using the supplied starter data.
- Example outputs, action logs, and automated tests.

## Starter Data
These fictional records are a small development fixture, not a production dataset. Implement the mock services described in the brief.

```json
{
  "request": "Modernize the customer lookup contract.",
  "legacy_fields": {
    "CustomerId": "string",
    "Balance": "decimal-string",
    "Nickname": "optional-nullable-string"
  },
  "target_fields": {
    "CustomerId": "customer_id",
    "Balance": "balance",
    "Nickname": "nickname"
  },
  "records": [
    {
      "CustomerId": "0012",
      "Balance": "100.05"
    },
    {
      "CustomerId": "0013",
      "Balance": "0.00",
      "Nickname": null
    }
  ]
}
```

## Constraints
Use a local service and disposable data. Do not migrate a live schema.
Choose an available model that supports your implementation. Record its identifier and version.

## Evaluation
Review the complete application, not only the starter-case answers.
- Customer identifier 0012 remains a string.
- The decimal value remains exact.
- Missing nickname and null nickname remain distinct.
Add one normal case, one incomplete-input case, and one failure-recovery case.

Adaptation plan

Keep the source stable, then change the prompt in a predictable order so the next run is easier to evaluate.

Keep stable

Preserve the source structure until you know which part of the prompt is actually driving the result quality.

Tune next

Change domain facts, examples, and tool context first before you rewrite the instruction scaffold.

Verify after

Validate one failure mode at a time so prompt changes stay attributable instead of getting noisy.