Back to Skills

angreal-init

verified

This skill should be used when the user asks to "create an angreal project", "initialize angreal", "set up angreal", "add angreal to project", "start new angreal project", "create .angreal directory", or needs guidance on setting up angreal in a new or existing project, project templates, or initial task file structure.

View on GitHub

Marketplace

angreal-angreal

angreal/angreal

Plugin

angreal

Repository

angreal/angreal
10stars

plugin/skills/angreal-init/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/angreal/angreal/blob/main/plugin/skills/angreal-init/SKILL.md -a claude-code --skill angreal-init

Installation paths:

Claude
.claude/skills/angreal-init/
Powered by add-skill CLI

Instructions

# Initializing Angreal Projects

Set up angreal task automation in a new or existing project.

## What is an Angreal Project?

An angreal project is any directory containing a `.angreal/` subdirectory with task files. Angreal provides development task automation - think of it as your project's `make` or `npm run`.

## Quick Setup

### 1. Create the .angreal Directory

```bash
mkdir .angreal
```

### 2. Create Your First Task File

```python
# .angreal/task_dev.py
import angreal

@angreal.command(name="hello", about="Test angreal setup")
def hello():
    print("Angreal is working!")
    return 0
```

### 3. Verify Setup

```bash
angreal tree    # Should show: hello - Test angreal setup
angreal hello   # Should print: Angreal is working!
```

## Recommended Project Structure

### Minimal Setup

```
my-project/
├── .angreal/
│   └── task_dev.py      # Start with one task file
├── src/
└── ...
```

### Standard Setup

```
my-project/
├── .angreal/
│   ├── task_dev.py      # Development utilities
│   ├── task_test.py     # Testing commands
│   ├── task_build.py    # Build commands
│   └── task_docs.py     # Documentation commands
├── src/
└── ...
```

### With Shared Utilities

```
my-project/
├── .angreal/
│   ├── utils.py         # Shared helper functions
│   ├── task_dev.py
│   ├── task_test.py
│   └── task_build.py
├── src/
└── ...
```

## Starter Templates

### Development Utilities

```python
# .angreal/task_dev.py
import angreal
import subprocess
import os

@angreal.command(name="check-deps", about="Verify development tools")
def check_deps():
    """Check that required tools are installed."""
    tools = ["python", "git"]
    missing = []

    for tool in tools:
        result = subprocess.run(
            ["which", tool],
            capture_output=True
        )
        if result.returncode != 0:
            missing.append(tool)

    if missing:
        print(f"Missing tools: {', '.join(missing)}")
        return 1

    print("All tools available!")
    return 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
5637 chars