This skill should be used when the user asks to "add arguments to a task", "use @angreal.argument", "add flags to command", "make argument required", "add optional parameter", "use python_type", "handle multiple values", or needs guidance on the @argument decorator, argument types, flags, default values, or CLI argument handling in angreal tasks.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/angreal/angreal/blob/main/plugin/skills/angreal-arguments/SKILL.md -a claude-code --skill angreal-argumentsInstallation paths:
.claude/skills/angreal-arguments/# Angreal Arguments
Add command-line arguments to angreal tasks using the `@argument` decorator.
## Basic Usage
```python
import angreal
@angreal.command(name="greet", about="Greet someone")
@angreal.argument(name="name", long="name", help="Name to greet")
def greet(name="World"):
print(f"Hello, {name}!")
```
CLI: `angreal greet --name Alice`
## Decorator Order
**Critical**: `@argument` must come AFTER `@command`:
```python
# Correct
@angreal.command(name="build", about="Build project")
@angreal.argument(name="release", long="release", is_flag=True, takes_value=False)
def build(release=False):
pass
# Wrong - will fail
@angreal.argument(name="release", is_flag=True) # Error!
@angreal.command(name="build", about="Build project")
def build(release=False):
pass
```
## The @argument Decorator
```python
@angreal.argument(
name, # Required: must match function parameter
short=None, # Short flag: "v" for -v
long=None, # Long flag: "verbose" for --verbose
help=None, # Help text for --help
long_help=None, # Extended help text (shown with --help)
required=None, # Is argument required?
default_value=None, # Default (must be string)
takes_value=True, # Takes a value? (default True)
is_flag=False, # Boolean flag? (default False)
python_type="str", # Type: "str", "int", "float"
multiple_values=None, # Can be repeated?
require_equals=None, # Require --arg=value syntax
number_of_values=None, # Exact number of values required
min_values=None, # Minimum values when multiple
max_values=None, # Maximum values when multiple
)
```
### Parameter Details
| Parameter | Type | Description |
|-----------|------|-------------|
| `name` | str | **Required**. Must match function parameter name |
| `short` | str | Single character for short flag (e.g., `"v"` for `-v`) |
| `long` | str | Long flag n