Claude
Skills
Sign in
Back

describe-repo

Included with Lifetime
$97 forever

Add or update repository metadata and description

General

What this skill does


# Describe Repository

This skill adds or updates metadata for the current repository.

## Instructions for Agent

### 1. Identify Repository

- Detect current repository path: `git rev-parse --show-toplevel`
- Extract repository name from path
- Get remote URL: `git remote get-url origin`
- Determine category (work/personal) based on remote URL:
  - Contains "dev.azure.com" or company domain → work
  - Contains "github.com/yoshiwatanabe" → personal

### 2. Collect Metadata

From user's description, extract:
- **Main description**: What the repository contains/does
- **Team information**: If mentioned
- **Approval process**: If mentioned (e.g., "needs Core-Platform approval")
- **Special notes**: Any important context
- **Tags**: From user parameter or inferred from description

Get current machine and OS context:
- Machine: `hostname` (lowercase)
- OS: Windows/WSL/Linux

### 3. Call Python Script

Get configuration repository path:
- Read `YW_CONFIG_REPO_PATH` environment variable (required)
- If not set, return error: "Please set YW_CONFIG_REPO_PATH in ~/.claude/settings.json. See installation guide for WSL path requirements."

Execute the script from plugin directory:

```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

$PYTHON_CMD scripts/manage_memory.py describe-repo \
  --config-repo "$YW_CONFIG_REPO_PATH" \
  --repo-path {repo_path} \
  --description "{description}" \
  --tags "{tags}" \
  --machine {machine} \
  --os {os}
```

### 4. Handle Result

Parse the JSON output:
```json
{
  "success": true,
  "repo_slug": "dynamics-solutions",
  "filepath": "memory/repositories/dynamics-solutions.md"
}
```

Return confirmation to the user:
```
Repository metadata updated!
- Repository: dynamics-solutions
- Description: [user's description]
- Tags: [tags if any]
- Synced to remote: Yes
```

## Example Usage

**User:** "Hey, this repo contains Dynamics solution packages. We need Core-Platform approval for PRs."

**Agent:**
1. Identifies current repository
2. Extracts key information from description
3. Calls manage_memory.py describe-repo
4. Confirms metadata was saved

Related in General