Claude
Skills
Sign in
Back

unarchive-repo

Included with Lifetime
$97 forever

Restore an archived repository to active queries

General

What this skill does


# Unarchive Repository

This skill restores an archived repository so it appears in query results again.

## Instructions for Agent

### 1. Identify Repository

- Get repository name/slug from user parameter
- If user refers to "current repo" or "this repo", extract from git:
  - `git rev-parse --show-toplevel` to get repo path
  - Normalize path to slug format

### 2. Call Python Script

Execute the manage_memory.py script:

```bash
cd "${CLAUDE_PLUGIN_ROOT}"

# Detect Python command (python3 on Linux, python on Windows)
PYTHON_CMD=$(command -v python3 || command -v python)

# Try to use venv if available, create if needed, skip if venv creation fails
if [ -d "venv" ]; then
  # Activate venv (cross-platform)
  if [ -f "venv/bin/activate" ]; then
    source venv/bin/activate
  elif [ -f "venv/Scripts/activate" ]; then
    source venv/Scripts/activate
  fi
elif $PYTHON_CMD -m venv venv 2>/dev/null; then
  echo "Setting up Python environment (first time)..."
  if [ -f "venv/bin/activate" ]; then
    source venv/bin/activate
  elif [ -f "venv/Scripts/activate" ]; then
    source venv/Scripts/activate
  fi
  pip install -r requirements.txt
else
  echo "Note: Using system Python (venv creation not available)"
fi
source venv/bin/activate  # or venv\Scripts\Activate.ps1 on Windows
# Use python3 on Linux/WSL, python on Windows
$PYTHON_CMD scripts/manage_memory.py unarchive-repo \
  --config-repo "$YW_CONFIG_REPO_PATH" \
  --repo-name {repo_name}
```

### 3. Handle Result

Parse the JSON output:
```json
{
  "success": true,
  "repo_slug": "revived-project",
  "archived": false,
  "filepath": "domains/dev/memory/repositories/revived-project.md"
}
```

Return confirmation to the user:
```
Repository restored!
- Repository: revived-project
- Status: Now visible in queries
- Synced to remote: Yes
```

If error occurs:
```json
{
  "success": false,
  "error": "Repository 'xyz' not found in memory system"
}
```

Inform user that the repository doesn't exist in the memory system.

## Example Usage

**User:** "unarchive the legacy-api repo, we're using it again"

**Agent:**
1. Identifies repository name: legacy-api
2. Calls manage_memory.py unarchive-repo
3. Confirms repository was restored

**User:** "restore this repo to my active list"

**Agent:**
1. Gets current repository path
2. Calls manage_memory.py unarchive-repo
3. Confirms repository was unarchived

Related in General