Methodology
A recording of today's work.
A Skill agents can run.
Freeze a redacted recording of the source app, map every step to an MCP tool already included in your project, and publish a governed Skill pack. Steps execute through those tools, not by replaying browser clicks.
Constructed reference
Create a sample category
2/2 operations bound. Typed values are redacted. You choose the tool for each step — the model does not.
Binds
binds.json
- Open the new category form.list_categories · GET /categories · operator-explicit
- Enter the category name. | Submit the new category.create_category · POST /categories · operator-explicit
Limits
What this sample shows
This is a constructed reference, not a production run. Steps call the mapped MCP tools. They do not replay the source UI or invent new REST tools.
SKILL.md
create-a-sample-category
--- name: create-a-sample-category description: "Document how an operator creates an inventory category." metadata: derived_from: workflow_capture source_id: "sample-category" project_id: "constructed-reference" dataset_hash: "sha256:4d0bb3d7ce4b40388740e973df3a9cc080a6b3b928e4a07192b6161a96f27bc6" compiler_version: "1.0.0" --- ## Summary Document how an operator creates an inventory category. ## Trigger Conditions Use this skill when the operator needs this outcome: The source system shows the new sample category. ## Inputs Required - Category name ## Outputs The source system shows the new sample category. ## Tool Sequence 1. Open the new category form. — call `list_categories` 2. Enter the category name. | Submit the new category. — call `create_category` ## Honesty Engagement observed. Recalibrates with your data.
binds.json
[
{
"operationId": "workflow_fixture:op_1",
"mappingId": "map-list-categories",
"mcpToolName": "list_categories",
"restPath": "/categories",
"restMethod": "GET",
"bindBasis": "operator-explicit",
"acceptedAt": "2026-08-16T18:05:00.000Z",
"acceptedByActorId": "constructed-reference"
},
{
"operationId": "workflow_fixture:op_2",
"mappingId": "map-create-category",
"mcpToolName": "create_category",
"restPath": "/categories",
"restMethod": "POST",
"bindBasis": "operator-explicit",
"acceptedAt": "2026-08-16T18:05:00.000Z",
"acceptedByActorId": "constructed-reference"
}
]dataset.json
Schema migrateforce.workflow-dataset.v1. Input values are [REDACTED].
{
"schema": "migrateforce.workflow-dataset.v1",
"exportedAt": "2026-08-16T18:00:00.000Z",
"generator": {
"name": "MigrateForce",
"version": "0.1.0"
},
"sessions": [
{
"id": "workflow_fixture",
"schemaVersion": "1",
"createdAt": "2026-08-16T18:00:00.000Z",
"updatedAt": "2026-08-16T18:00:00.000Z",
"reviewedAt": "2026-08-16T18:00:00.000Z",
"operator": {
"displayName": "Migration analyst",
"locale": "en-US"
},
"permission": {
"basis": "organization-owned",
"attestedAt": "2026-08-16T18:00:00.000Z",
"statementVersion": "1",
"accepted": true
},
"source": {
"origin": "https://legacy.example",
"applicationName": "Legacy inventory"
},
"task": {
"title": "Create a sample category",
"goal": "Document how an operator creates an inventory category.",
"expectedOutcome": "The source system shows the new sample category.",
"tags": [
"inventory"
]
},
"capture": {
"startedAt": "2026-08-16T18:00:00.000Z",
"endedAt": "2026-08-16T18:00:00.000Z",
"timezone": "UTC"
},
"steps": [
{
"id": "step_nav",
"index": 1,
"timestamp": "2026-08-16T18:00:00.000Z",
"elapsedMs": 0,
"eventType": "navigation",
"page": {
"url": "https://legacy.example/categories",
"title": "Categories"
},
"annotation": {
"intent": ""
},
"redactions": []
},
{
"id": "step_open",
"index": 2,
"timestamp": "2026-08-16T18:00:00.000Z",
"elapsedMs": 400,
"eventType": "click",
"page": {
"url": "https://legacy.example/categories",
"title": "Categories"
},
"target": {
"tag": "button",
"role": "button",
"label": "New category"
},
"annotation": {
"intent": "Open the new category form."
},
"redactions": []
},
{
"id": "step_nav_form",
"index": 3,
"timestamp": "2026-08-16T18:00:00.000Z",
"elapsedMs": 800,
"eventType": "navigation",
"page": {
"url": "https://legacy.example/categories/new",
"title": "New category"
},
"annotation": {
"intent": ""
},
"redactions": []
},
{
"id": "step_input",
"index": 4,
"timestamp": "2026-08-16T18:00:00.000Z",
"elapsedMs": 1000,
"eventType": "input",
"page": {
"url": "https://legacy.example/categories/new"
},
"target": {
"tag": "input",
"role": "textbox",
"label": "Category name",
"inputType": "text"
},
"data": {
"value": "[REDACTED]"
},
"annotation": {
"intent": "Enter the category name."
},
"redactions": [
"input-value"
]
},
{
"id": "step_submit",
"index": 6,
"timestamp": "2026-08-16T18:00:00.000Z",
"elapsedMs": 2000,
"eventType": "submit",
"page": {
"url": "https://legacy.example/categories/new"
},
"target": {
"tag": "form",
"role": "form",
"label": "Create category"
},
"annotation": {
"intent": "Submit the new category."
},
"redactions": [
"form-values"
]
}
],
"outcome": {
"status": "success",
"summary": "The source system showed the new sample category."
},
"quality": {
"score": 100,
"issues": [],
"assessedAt": "2026-08-16T18:00:00.000Z"
}
}
]
}