Skip to content

Migrating from Manual Configs

Manual configs drift.

If you use more than one provider, you end up repeating the same work in multiple formats:

  • MCP server definitions
  • permissions / approval settings
  • long-form instructions
  • skill references

AgentStack’s current answer is:

  • one canonical profile
  • one local hub runtime
  • provider-native materialization when needed

If you already use one provider, import it:

Import from Codex
agentstack import \
--from codex \
--source ~/.codex/config.toml \
--profile-file ~/.agentstack/profiles/main/agentstack.yaml

Or start interactively:

Interactive init
agentstack init --profile main

Open the generated profile and check:

  • enabled providers
  • instructions
  • MCP servers
  • skills
  • provider overrides

Current v3 lives at:

~/.agentstack/profiles/main/agentstack.yaml
Activate the profile
agentstack profile activate main

This switches active-profile, generates hub SKILL.md files, and wires supported tool skill directories.

Validate profile and hub state
agentstack doctor \
--profile-file ~/.agentstack/profiles/main/agentstack.yaml

Step 5 — Materialize the providers you actually use

Section titled “Step 5 — Materialize the providers you actually use”
Apply to Claude Code
agentstack apply \
--profile-file ~/.agentstack/profiles/main/agentstack.yaml \
--to claude
Apply to OpenCode
agentstack apply \
--profile-file ~/.agentstack/profiles/main/agentstack.yaml \
--to opencode

Once you migrate, stop editing every provider config by hand.

Instead:

  1. update the AgentStack profile
  2. activate if hub behavior changed
  3. apply to the providers you want to use

Step 7 — Move toward package-first profiles

Section titled “Step 7 — Move toward package-first profiles”

The current v3 model still centers on one manifest, but the direction is to keep each profile as a package/repo with instructions, skills, MCP wrappers, env examples, and docs next to the manifest.

See Profile Packages for that direction.