Skip to main content
Glama

migrate_project_layout

Destructive

Preview or migrate selected legacy project facts, rules, and skills into shared repository storage, with dry-run preview and private exclusions before applying changes.

Instructions

Preview or migrate selected legacy project facts, rules, and skills into shared repository storage. Use to expose curated existing content; initialize_project creates new storage and share_skill shares one skill. Requires legacy content and filesystem access. dry_run=true previews without modifying content. false writes shared content and migration state, then rewrites the legacy facts file to remove migrated or already- shared facts; private, global, and conflicting facts remain local. Writes use the safe snapshot/audit pipeline. Returns the migration plan/results and warnings. Review private exclusions and source changes before applying: shared content can become visible to repository collaborators.

Input Schema

NameRequiredDescriptionDefault
dry_runNotrue (default) previews without modifying content. false applies shared writes and rewrites the legacy facts file to remove migrated/already-shared facts.
includeNoContent kinds to migrate. Omitted or empty selects facts, rules, and skills.
target_layoutNoDestination layout. Only shared is supported. Applying migration removes migrated/already-shared facts from the legacy facts file; private/global/conflicting facts remain.shared
private_fact_idsNoFact IDs to retain privately instead of copying into shared content; omitted or empty excludes none explicitly.
private_skill_slugsNoSkill slugs to retain privately; omitted or empty excludes none explicitly.
shared_operational_skill_slugsNoExplicit operational skill slugs allowed into shared content; omitted or empty grants no such exceptions.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.6.4
    • addedInput schema / properties / dry_run / description
      Added value: +"true (default) previews without modifying content. false applies shared writes and rewrites the legacy facts file to remove migrated/already-shared facts."
    • addedInput schema / properties / include / description
      Added value: +"Content kinds to migrate. Omitted or empty selects facts, rules, and skills."
    • addedInput schema / properties / private_fact_ids / description
      Added value: +"Fact IDs to retain privately instead of copying into shared content; omitted or empty excludes none explicitly."
    • addedInput schema / properties / private_skill_slugs / description
      Added value: +"Skill slugs to retain privately; omitted or empty excludes none explicitly."
    • addedInput schema / properties / shared_operational_skill_slugs / description
      Added value: +"Explicit operational skill slugs allowed into shared content; omitted or empty grants no such exceptions."
    • addedInput schema / properties / target_layout / description
      Added value: +"Destination layout. Only shared is supported. Applying migration removes migrated/already-shared facts from the legacy facts file; private/global/conflicting facts remain."
  2. First observedv0.4.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, and the description goes well beyond them: it specifies exactly what is destroyed (migrated/already-shared facts are removed from the legacy facts file), what survives (private, global, conflicting facts stay local), that writes go through a snapshot/audit pipeline, and that shared content becomes visible to collaborators. That is precisely the behavioral context an agent needs before invoking a destructive migration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and alternatives, then moves to prerequisites, dry-run semantics, and side effects in a logical order. It is dense but slightly redundant, re-explaining dry_run=false behavior that the schema description already covers in near-identical wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, zero-required-parameter migration tool with an output schema, the description covers prerequisites, preview vs. apply, what is rewritten, what is preserved, safety pipeline, and the collaborator-visibility consequence. Nothing material is left for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns extra by explaining the consequence of the exclusion parameters ('private, global, and conflicting facts remain local') and the dry-run write path in outcome terms rather than restating types. It does not individually explain shared_operational_skill_slugs in the prose, leaving that to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair and resource set: 'Preview or migrate selected legacy project facts, rules, and skills into shared repository storage.' It immediately distinguishes itself from initialize_project (creates new storage) and share_skill (shares one skill), so an agent can pick it out of a 38-tool sibling list without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names two concrete alternatives and the condition that selects them, plus a prerequisite ('Requires legacy content and filesystem access') and a pre-flight instruction ('Review private exclusions and source changes before applying'). The only minor gap is the absence of an explicit 'do not use when' clause, but the sibling contrasts effectively cover it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.