agentleFS
joslatjoslat/maf-doctor/.github/skills/maf-migration-guide/SKILL.md

maf-migration-guide

Skill14 starsChanged 3 months agoMITView on GitHub

Version-aware navigator for Microsoft Agent Framework migrations. Load this skill for ordered upgrade paths, exact package versions, breaking API recipes, behavioral changes, or guide citations across every tracked MAF release.

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 5 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read maf://constraints before proposing code changes.

    line 14
  2. Very specific:

    Call MafMigrationPath(currentVer, targetVer).

    line 18
  3. Very specific:

    Read each returned guides/maf-X.Y.Z-migration-guide.md file in order.

    line 20
  4. Very specific:

    Use MafRegistryLookup or MafRunCs0618Hunt for an exact symbol recipe, then restore, build, and run the relevant behavior tests.

    line 22
  5. Distinctive:

    If a requested path crosses 1.4 or 1.5, surface the draft status and verify those steps against the exact assemblies and official tag …

    line 52
  6. Distinctive:

    Every watcher-generated guide has protected package/release evidence followed by four reviewed analysis sections:

    line 58
  7. Distinctive:

    Treat package maturity as part of the contract.

    line 69
  8. Distinctive:

    Run targeted runtime tests for session continuity, checkpoint restore, streaming completion/error paths, tool approval, fan-out/fan-in, and …

    line 108
  9. Distinctive:

    Keep before/after recipes scoped to the exact release where they apply.

    line 113

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

MAF Migration Guide — Version-Aware Navigator

MAF migrations are cumulative. Never jump directly to the newest guide and assume it contains earlier changes. Determine the source and target versions, then apply every intervening per-version guide in ascending order.

Start Here

  1. Read maf://constraints before proposing code changes.
  2. Identify the exact installed MAF package versions from the project and its resolved dependency graph. Do not infer them from a solution name or a bare release-train number.
  3. Call MafMigrationPath(currentVer, targetVer). Its ordered result is the authoritative set of per-version guide sections for the migration.
  4. Read each returned guides/maf-X.Y.Z-migration-guide.md file in order. For a single-step upgrade, read that target version's file directly.
  5. Use MafRegistryLookup or MafRunCs0618Hunt for an exact symbol recipe, then restore, build, and run the relevant behavior tests.

The tracked target is recorded in .maf-version; do not hard-code the newest version into automation. guides/maf-current-migration-guide.md is the generated cumulative reading copy. Edit a per-version source guide, never the cumulative file, and regenerate it with:

python .github/scripts/gen_guide_section.py --cumulative-only

Guide Inventory

Target versionSource guideStatus / primary purpose
1.3.0guides/maf-1.3.0-migration-guide.mdComplete foundational guide: agents, sessions, executors, workflows, streaming, hosting, and source generation.
1.4.0guides/maf-1.4.0-migration-guide.mdDraft evidence; verify unfilled human analysis before relying on it.
1.5.0guides/maf-1.5.0-migration-guide.mdDraft evidence; verify unfilled human analysis before relying on it.
1.6.1guides/maf-1.6.1-migration-guide.mdReviewed 1.5-to-1.6.1 delta.
1.10.0guides/maf-1.10.0-migration-guide.mdReviewed 1.6.1-to-1.10 delta.
1.11.0guides/maf-1.11.0-migration-guide.mdReviewed 1.10-to-1.11 delta.
1.11.1guides/maf-1.11.1-migration-guide.mdReviewed servicing delta.
1.12.0guides/maf-1.12.0-migration-guide.mdReviewed 1.11.1-to-1.12 delta.
1.13.0guides/maf-1.13.0-migration-guide.mdReviewed file-store and file-access migration.
1.14.0guides/maf-1.14.0-migration-guide.mdReviewed agent/session, approval, Harness, AG-UI, Copilot, and Shell migration.
1.15.0guides/maf-1.15.0-migration-guide.mdReviewed Hosting session-store and workflow behavior migration.
1.16.0guides/maf-1.16.0-migration-guide.mdReviewed VectorData 10.7, Magentic, persistence, hosting, and security-boundary migration.
1.17.0guides/maf-1.17.0-migration-guide.mdReviewed declarative failure/redaction and durable-extension lifecycle migration.

If a requested path crosses 1.4 or 1.5, surface the draft status and verify those steps against the exact assemblies and official tag before applying them. Do not silently omit those versions.

How Each Per-Version Guide Is Organized

Every watcher-generated guide has protected package/release evidence followed by four reviewed analysis sections:

  • Breaking Changes — source, binary, dependency, and behavior compatibility work required for that step.
  • New Patterns — exact package versions, lifecycle transitions, and current usage recipes.
  • Obsolete APIs Added — new compiler-warning migrations for that release.
  • Known Misalignments — release-note, package, source, or documentation gaps that an API diff alone cannot explain.

Treat package maturity as part of the contract. Stable, preview, release candidate, and alpha packages in one MAF train can have different exact versions. A package split, externalization, or independent release cadence is not permission to invent a coordinated version or rename a package reference.

Route by Question

Question or symptomUse
“What do I read from A to B?”MafMigrationPath(A, B), then the returned guides in order.
CS0618, CS0246, CS1503, or a removed memberMafRunCs0618Hunt, then MafRegistryLookup for the matching entry.
Exact package/framework compatibilityMafCompatibility(targetVersion) plus docs/compatibility-matrix.md.
Public API change between two artifactsMafDiffPackage with the exact published versions.
Empty response, hung workflow, lost state, or changed failure behaviorThe target guide's Breaking Changes, New Patterns, and Known Misalignments; add a runtime regression test.
A security-sensitive fixmaf://constraints, docs/security.md, and the relevant guide's trust-boundary notes.
A 1.2-to-1.3 executor/session migrationThe full 1.3 guide's sections 6, 9, 15, 17, and 20.

Current High-Risk Checkpoints

  • 1.14: agent/session lifecycle changes, approval semantics, explicit Harness file/shell composition, AG-UI package split, Copilot function declarations, and the binary-breaking ShellPolicy constructor.
  • 1.15: preview Hosting conversationId: named arguments become sessionStoreId:, custom stores implement DeleteSessionAsync, and session snapshots/checkpoints have stronger isolation and ordering contracts.
  • 1.16: the VectorData floor moves from 9.7 to 10.7; first-party MAF API diffs remain mostly additive, but transitive source/provider migrations and several persistence/hosting behavior checks are required.
  • 1.17: public APIs and dependency floors are clean, while declarative agent errors become terminal and Foundry failure detail remains subject to host redaction. Durable Task and Azure Functions retain their package IDs but move to an independently versioned extension repository.

Verification Contract

  • Pin repository-supported dotnet-inspect exactly as required by maf://constraints; reject truncated or structurally invalid diff output.
  • Build the real solution with warnings visible. The compiler is authoritative for overload resolution and project-local or transitive obsolete usage.
  • Run targeted runtime tests for session continuity, checkpoint restore, streaming completion/error paths, tool approval, fan-out/fan-in, and hosting boundaries touched by the selected guides.
  • Re-run MAF Doctor after edits and report scan_truncated or other incomplete evidence rather than presenting a partial scan as clean.
  • Keep before/after recipes scoped to the exact release where they apply. A correct 1.3 replacement can itself require migration in a later step.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.