Existing Project Migrant Walkthrough¶
You have an existing .claude/ directory with manually created skills, commands, agents, and other artifacts. You want to bring them into SkillMeat to benefit from centralized management, versioning, and team sharing.
This walkthrough guides you through discovering what you have, reviewing your artifacts, importing them into a collection, organizing them with tags and groups, syncing with source control, and verifying your setup.
Prerequisites¶
Before you start, you need:
- An existing
.claude/directory in a project with artifacts (skills, commands, agents, hooks, MCP servers, or workflows) - SkillMeat installed (see Quickstart Guide for installation)
- The SkillMeat web UI running (
skillmeat web dev) - Git repository for your project (optional, but recommended for sync and version tracking)
Phase 1: Initialize Your Collection¶
If you don't have a collection yet, create one. Skip this if you already have a collection.
Output:
- Open
http://localhost:8080(after runningskillmeat web dev) - Click Create Collection on the home page
- Choose a name for your collection (e.g., "my-project-artifacts")
- Click Initialize
Verification: Your collection exists and shows 0 artifacts. You're ready to scan.
Phase 2: Scan Your Existing .claude/ Directory¶
Scanning discovers all artifacts in your project's .claude/ directory and identifies which ones match artifacts already in your collection (by SHA). Unmatched artifacts are queued for your manual approval.
# Preview what would be scanned and linked (dry-run first)
skillmeat sync-pull . --auto-link --dry-run
Output example:
Scanning ./.claude/ for artifacts...
Found 12 artifacts to review:
Auto-Matched & Linked (SHA match):
✓ canvas-design (skill) — matched to collection version
✓ document-tools (skill) — matched to collection version
✓ research-assistant (skill) — matched to collection version
Queued for Manual Review:
• github-helper (command) — no matching collection artifact
• deploy-script (command) — no matching collection artifact
• code-reviewer (agent) — no matching collection artifact
• ci-integration (workflow) — no matching collection artifact
Run 'skillmeat sync-pull . --auto-link' to apply, then 'skillmeat import list' to review queued artifacts.
Once you're satisfied with the dry-run results, perform the actual scan and auto-link:
Then check what's queued for review:
- Open the Artifacts page
- Click the Discovery tab
- Click Scan Project to start scanning
./.claude/ - SkillMeat scans your
.claude/directory and automatically links any artifacts that match by SHA - Review the summary showing auto-matched artifacts and queued artifacts
Verification: Scan completes and displays auto-matched and queued artifacts. Note the queued count — you'll approve or reject these in Phase 3.
Phase 3: Import Unmatched Artifacts to Collection¶
After scanning, you have two options for artifacts that didn't auto-match: approve them via the queue, or import them directly to your collection. The direct import path is recommended for fastest migration.
Import unmatched artifacts directly to your collection in a single step:
# Run sync-pull again with --import-to-collection to bypass the approval queue
skillmeat sync-pull . --auto-link --import-to-collection
Output example:
Scanning ./.claude/ for artifacts...
Auto-Matched & Linked (SHA match):
✓ canvas-design (skill) — matched to collection version
Importing to Collection (bypassing queue):
✓ github-helper (command) — imported to collection
✓ deploy-script (command) — imported to collection
✓ code-reviewer (agent) — imported to collection
Summary: Imported: 3 | Linked: 1 | Skipped: 0
This option imports unmatched artifacts directly to your collection without manual approval steps.
- Open the Artifacts page
- Find an artifact in your project that hasn't been imported yet
- Click the artifact to open its detail panel
- Go to the Collection tab
- Click Import to Collection to add it directly to your collection, or
- Click Link to Existing to find a matching artifact in your collection and link to it
If you prefer to review each artifact before importing, use the approval queue:
Output example:
Pending imports (5 artifacts):
[1] github-helper (command)
Path: ./.claude/commands/github-helper.yaml
Status: pending_approval
[2] deploy-script (command)
Path: ./.claude/commands/deploy-script.yaml
Status: pending_approval
[3] code-reviewer (agent)
Path: ./.claude/agents/code-reviewer.yaml
Status: pending_approval
[4] ci-integration (workflow)
Path: ./.claude/workflows/ci-integration.yaml
Status: pending_approval
[5] experimental-tool (skill)
Path: ./.claude/skills/experimental-tool.yaml
Status: pending_approval
Inspect any artifact in detail before approving or rejecting:
Verification: All unmatched artifacts are either imported to your collection or queued for review. You're ready to organize them in Phase 5.
Phase 4: Approve or Reject Queued Artifacts (Optional)¶
If you chose the queue-based import path in Phase 3, approve the artifacts you want to add to your collection, and reject any you don't need.
# Approve specific artifacts by name
skillmeat import approve github-helper
skillmeat import approve deploy-script
Output example:
✓ github-helper (command) — approved and registered
✓ deploy-script (command) — approved and registered
Or reject artifacts you don't want:
Output example:
Approved artifacts are now part of your collection.
- In the Imports or Discovery tab, navigate through queued artifacts
- For each artifact:
- Click Approve to register it in your collection, or
- Click Reject to decline it without importing
- Review the summary showing approved and rejected counts
- Approved artifacts now appear in your Artifacts page
Note: Skip this phase if you used --import-to-collection in Phase 3 — those artifacts were imported directly and do not appear in the queue.
Verification: All queued artifacts (if any) have been either approved or rejected. Approved artifacts now appear in your collection and can be seen with skillmeat list or in the web UI Artifacts page.
Phase 5: Organize with Tags and Groups¶
Now that your artifacts are in the collection, organize them for easy discovery and sharing. Use tags to categorize by domain, purpose, or team. Use groups to create logical collections.
- Open the Artifacts page and find an artifact to organize
- Click the artifact to open its detail panel
- In the Tags section, click + Add tag and type tag names (e.g., "design", "ui", "research")
- Press Enter to save each tag
- To create a group:
- Click Groups in the left sidebar
- Click Create Group
- Enter a name and description (e.g., "Design Tools")
- Click Add Members and select artifacts to include
Tags and groups are currently managed through the web UI and API. To update tags via API:
# Find the artifact ID via API
ARTIFACT_ID=$(curl -s http://localhost:8080/api/v1/artifacts?search=canvas-design \
| jq -r '.items[0].id')
# Update tags via API
curl -X PATCH http://localhost:8080/api/v1/artifacts/$ARTIFACT_ID \
-H "Content-Type: application/json" \
-d '{"tags": ["design", "ui", "frontend"]}'
Artifact details and tags can be viewed via CLI:
Verification: Your artifacts have tags assigned (visible in web UI and via skillmeat show). Groups are visible in the Groups section of the web UI.
Phase 6: Sync Your Project with Collection¶
Sync ensures your project artifacts stay in sync with your collection. The sync model is pull-based: you can pull changes from your project back to your collection, and check for drift between the two.
Output example:
Sync status for ./.claude/:
Last synced: 2026-05-24T14:32:00Z
Artifacts in collection: 8
Artifacts in project: 10
Status: drift detected
Mismatches:
• new-skill (project-only) — found in project but not in collection
• old-command (collection-only) — in collection but not in project
Pull changes from your project back to your collection:
Preview what would be synced without applying changes:
After syncing, commit collection changes:
- Open Settings > Sync (if available) or Artifacts page
- Click Check Sync Status to view drift between project and collection
- Review any mismatches (project-only, collection-only, or version mismatches)
- Click Sync Project to pull changes from your project to collection
- Go to your Git repository and commit changes:
git add ~/.skillmeat/collection/manifest.tomlgit commit -m "chore: sync imported artifacts"git push
Verification: Sync status shows all artifacts are in sync. Your repository has a new commit with the manifest and lock file updates (if there were changes).
Phase 7: Verify Versions and Understand Rollback¶
Verify that your artifacts have consistent versions recorded and understand how to roll back if needed.
Output example:
Collection Artifacts:
Skills:
• canvas-design (v1.0.0)
• research-assistant (v2.1.0)
• document-tools (v1.2.3)
Commands:
• github-helper (v1.0.0)
• deploy-script (v1.5.0)
Agents:
• code-reviewer (v1.0.0)
To view version history and available snapshots:
Output example:
Available snapshots:
[1] snapshot-2026-05-24-143200
Created: 2026-05-24 14:32:00 UTC
Artifacts: 8
Status: stable
[2] snapshot-2026-05-23-090000
Created: 2026-05-23 09:00:00 UTC
Artifacts: 7
Status: stable
If you need to rollback to a previous snapshot:
- Open Artifacts page to see all imported artifacts
- Click an artifact to view its Version field
- Under Settings > Snapshots (if available), view available rollback points
- Each snapshot shows:
- Creation timestamp
- Number of artifacts at that time
- Stability status
- To rollback:
- Click a snapshot
- Click Restore and confirm
- Your collection will revert to that snapshot's state
Verification: All artifacts show consistent version numbers. You've identified available snapshots for future recovery if needed. See Sync/Version/Rollback Guide for detailed version management procedures.
What You've Accomplished¶
✓ Scanned your existing .claude/ directory for artifacts
✓ Reviewed discovered artifacts and chose what to import
✓ Imported artifacts into a centralized SkillMeat collection
✓ Organized artifacts with tags and groups
✓ Synced your collection to version control
✓ Verified artifact versions and rollback options
Your artifacts are now centralized, versioned, and ready to share with your team.
Next Steps¶
- Deploy artifacts to projects: Use Deploying Artifacts Guide to apply your artifacts to new or existing projects
- Add new artifacts: Learn to add from marketplace sources with Adding Artifacts Guide
- Deep dive on scanning and post-import organization: Read Scan & Import Guide for advanced options like filtering and bulk operations
- Understand sync and rollback in detail: See Sync/Version/Rollback Guide for version pinning, breaking changes, and recovery (coming in v1 docs rollout)
- Share with your team: Check Marketplace Guide to publish your artifacts for team reuse
Troubleshooting¶
Scan found 0 artifacts
- Verify your .claude/ directory exists at the root of your project
- Check that artifact files are in valid format (.yaml or .json)
- Ensure the directory structure matches SkillMeat's expected layout (e.g., ./.claude/skills/, ./.claude/commands/)
- Try a dry-run first: skillmeat sync-pull . --auto-link --dry-run to preview what would be found
No queued artifacts after scan
- All discovered artifacts matched collection artifacts by SHA and were auto-linked
- This is normal if you're re-scanning a project you've already synced
- To see auto-linked artifacts in your collection: skillmeat list
Approval/rejection of queued artifacts failed
- Check that the artifact name is correct: skillmeat import list shows exact names
- Verify the artifact hasn't already been approved or rejected: skillmeat import list shows current status
- See the error message for details on validation errors
Artifact not appearing after approval
- Ensure approval completed successfully (check command output)
- Refresh the web UI or run skillmeat list in CLI
- Verify the artifact was approved, not rejected: skillmeat import list shows final status
Sync shows drift between project and collection
- This is normal if you've made local changes to your project's .claude/ directory
- Run skillmeat sync-pull . --auto-link --dry-run to preview changes before applying
- Run skillmeat sync-pull . --auto-link to update your collection with project changes
- Commit collection changes afterward: git add ~/.skillmeat/collection/ && git commit -m "chore: sync"
Cannot rollback to a snapshot
- Verify the snapshot ID is correct: skillmeat snapshot list shows available IDs
- Check that you have write permissions to your collection directory
- See Sync/Version/Rollback Guide for detailed recovery procedures
Ready to dive deeper? Explore the User Guides section for task-oriented documentation on every SkillMeat feature.