# Revit Template Migration

> >

- **Type:** Skill
- **Install:** `agentstack add skill-nice3point-revit-skills-revit-template-migration`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Nice3point](https://agentstack.voostack.com/s/nice3point)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Nice3point](https://github.com/Nice3point)
- **Source:** https://github.com/Nice3point/revit-skills/tree/main/plugins/revit-solution/skills/revit-template-migration

## Install

```sh
agentstack add skill-nice3point-revit-skills-revit-template-migration
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Revit Template Migration

The dotnet template engine has no in-place upgrader.
Generate an equivalent project from the target template version, then use the diff between that generated project and the current project as the migration plan.
The generated output is the source of truth for the selected template version and options.

## When to use

- Upgrading a scaffolded add-in, module, benchmark, test project, or solution to a newer template or SDK version.
- Adding a template option such as a bundle, installer, tests, or CI to an existing scaffold.

## When not to use

- Starting a new project from scratch — that is `scaffolding-revit-projects`.
- Adding or removing a supported Revit year within an existing project — that is `revit-multi-version-configuration`.

## Workflow

### Step 1: Record the current template shape

Use `scaffolding-revit-projects` to identify the current template short name and options.
Record them with the installed template version and project or solution name.

### Step 2: Generate an equivalent target reference

Install a new templates version.
Create the same template type with the same name and options in an empty temporary directory.

```shell
dotnet new install Nice3point.Revit.Templates
dotnet new  --name  --output  
```

Matching the name avoids namespace and generated-path noise.
Matching options ensures every diff comes from the target template rather than a different project shape.

### Step 3: Review the generated diff

Compare the reference directory with the current project or solution.

```shell
git diff --no-index --  
```

Treat every difference as a review item.
Take template-generated infrastructure and configuration changes that the current project needs.
Keep project identity, business logic, and deliberate product-specific customization unless the target template requires a compatible rewrite.

### Step 4: Apply the reviewed changes

Update each project only from the matching generated template type.
Keep `.addin`, deployment, launch, GUIDs, and dynamic-loading configuration in the manifest-owning add-in or application project.
Do not copy those settings into a module, benchmark, or test project.

### Step 5: Verify

Build every declared `Debug.RNN` and `Release.RNN` configuration.
Run every generated pipeline path selected by the project: tests, installer, bundle, or release preparation.

## Validation

- [ ] The reference uses the exact target template version, short name, name, and options.
- [ ] The generated reference was compared with the current project or solution before changes were applied.
- [ ] Only reviewed template changes were transferred.
- [ ] Project identity and business logic were preserved.
- [ ] Every declared configuration and selected output path succeeds.

## Common Pitfalls

| Pitfall | Correct approach |
|---|---|
| Generating the latest template instead of the target version | Install and generate the exact target version before comparing. |
| Comparing different template options | Match every current option so the diff is meaningful. |
| Copying a generated tree over the existing project | Transfer reviewed changes selectively and preserve project-owned code. |
| Applying an application configuration to a module | Compare each project with its own template type. |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Nice3point](https://github.com/Nice3point)
- **Source:** [Nice3point/revit-skills](https://github.com/Nice3point/revit-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-nice3point-revit-skills-revit-template-migration
- Seller: https://agentstack.voostack.com/s/nice3point
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
