# Habits command reference

Create habits, record progress and manage habit reminders in Discord.

HTML reference: https://www.productivity-bot.com/docs/habits/

A question mark after an option means it is optional.

## /habit add

Create a habit with an optional reminder.

```text
/habit add habit description? reminder? destination? visibility?
```

### Options

- `habit` (Required): The habit to create, view, edit, mark, or manage.
- `description` (Optional): Optional extra details that explain the item more clearly than the short title alone.
- `reminder` (Optional): The reminder text or the existing reminder you want to view, edit, pause, resume, or remove.
- `destination` (Optional): Where reminder or habit notifications are delivered, such as your DMs or a server channel. When listing reminders, selects which destination to show. This is separate from visibility, which controls who sees the command response.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /habit list

List habits by status, sort order, or scope.

```text
/habit list status? sort? scope? visibility?
```

### Options

- `status` (Optional): Filters by status or sets the current state of an item, depending on the command. For example: active, paused, completed, pending, or skipped.
- `sort` (Optional): Changes the order of the returned items, such as newest first, oldest first, due date, status, or other supported sorting modes.
- `scope` (Optional): Selects which personal or channel items or lists the command works with. This is separate from who can see the bot's response.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /habit show

View habit details and progress.

```text
/habit show habit visibility?
```

### Options

- `habit` (Required): The habit to create, view, edit, mark, or manage.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /habit mark

Mark a habit for a specific date.

```text
/habit mark habit status? date? visibility?
```

### Options

- `habit` (Required): The habit to create, view, edit, mark, or manage.
- `status` (Optional): Filters by status or sets the current state of an item, depending on the command. For example: active, paused, completed, pending, or skipped.
- `date` (Optional): The date to apply the habit mark to. Useful when updating progress for a previous day.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /habit edit

Edit a habit.

```text
/habit edit habit visibility?
```

### Options

- `habit` (Required): The habit to create, view, edit, mark, or manage.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.

## /habit delete

Delete a habit.

```text
/habit delete habit visibility?
```

### Options

- `habit` (Required): The habit to create, view, edit, mark, or manage.
- `visibility` (Optional): Controls who can see the bot's response. In a server, Private (only me) shows the reply only to you; Public (channel) shows it in the channel. It does not change task scope or send the reply by DM.
