productivity
Nifty CLI for AI Agents
Use the Nifty CLI from KosmoKrator to call Nifty tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Nifty CLI Setup
Nifty can be configured headlessly with `kosmokrator integrations:configure nifty`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure nifty --set access_token="$NIFTY_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor nifty --json
kosmokrator integrations:status --json Credentials
Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | NIFTY_ACCESS_TOKEN | Secret secret | yes | Access Token |
url | NIFTY_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call nifty.nifty_list_projects '{"limit":1,"offset":1}' --json kosmo integrations:nifty nifty_list_projects '{"limit":1,"offset":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs nifty --json
kosmo integrations:docs nifty.nifty_list_projects --json
kosmo integrations:schema nifty.nifty_list_projects --json
kosmo integrations:search "Nifty" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
nifty.nifty_list_projects
List all projects in Nifty. Returns project IDs, names, and metadata that can be used to query tasks.
read - Parameters
- limit, offset
kosmo integrations:call nifty.nifty_list_projects '{"limit":1,"offset":1}' --json kosmo integrations:nifty nifty_list_projects '{"limit":1,"offset":1}' --json nifty.nifty_get_project
Get details of a specific Nifty project by its ID, including name, description, status, and task lists.
read - Parameters
- project_id
kosmo integrations:call nifty.nifty_get_project '{"project_id":"example_project_id"}' --json kosmo integrations:nifty nifty_get_project '{"project_id":"example_project_id"}' --json nifty.nifty_list_tasks
List tasks in Nifty with optional filters. Filter by project, status, assignee, or other criteria. Returns task IDs, titles, statuses, and assignees.
read - Parameters
- project_id, status, assignee_id, milestone_id, task_list_id, limit, offset
kosmo integrations:call nifty.nifty_list_tasks '{"project_id":"example_project_id","status":"example_status","assignee_id":"example_assignee_id","milestone_id":"example_milestone_id","task_list_id":"example_task_list_id","limit":1,"offset":1}' --json kosmo integrations:nifty nifty_list_tasks '{"project_id":"example_project_id","status":"example_status","assignee_id":"example_assignee_id","milestone_id":"example_milestone_id","task_list_id":"example_task_list_id","limit":1,"offset":1}' --json nifty.nifty_get_task
Get details of a specific Nifty task by its ID, including title, description, status, assignee, and due date.
read - Parameters
- task_id
kosmo integrations:call nifty.nifty_get_task '{"task_id":"example_task_id"}' --json kosmo integrations:nifty nifty_get_task '{"task_id":"example_task_id"}' --json nifty.nifty_create_task
Create a new task in a Nifty project. Requires a title and project ID. Optionally include a description, task list, assignee, and due date.
write - Parameters
- title, project_id, description, task_list_id, assignee_id, due_date, priority, labels
kosmo integrations:call nifty.nifty_create_task '{"title":"example_title","project_id":"example_project_id","description":"example_description","task_list_id":"example_task_list_id","assignee_id":"example_assignee_id","due_date":"example_due_date","priority":"example_priority","labels":"example_labels"}' --json kosmo integrations:nifty nifty_create_task '{"title":"example_title","project_id":"example_project_id","description":"example_description","task_list_id":"example_task_list_id","assignee_id":"example_assignee_id","due_date":"example_due_date","priority":"example_priority","labels":"example_labels"}' --json nifty.nifty_get_current_user
Get the profile of the currently authenticated Nifty user, including name, email, and workspace membership.
read - Parameters
- none
kosmo integrations:call nifty.nifty_get_current_user '{}' --json kosmo integrations:nifty nifty_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
nifty.nifty_list_projects 2 parameters
kosmo integrations:schema nifty.nifty_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of projects to return. |
offset | integer | no | Number of projects to skip for pagination. |
nifty.nifty_get_project 1 parameters
kosmo integrations:schema nifty.nifty_get_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The ID of the project to retrieve. |
nifty.nifty_list_tasks 7 parameters
kosmo integrations:schema nifty.nifty_list_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | no | Filter tasks by project ID. |
status | string | no | Filter by task status (e.g., "open", "in_progress", "completed"). |
assignee_id | string | no | Filter by assignee user ID. |
milestone_id | string | no | Filter by milestone ID. |
task_list_id | string | no | Filter by task list ID. |
limit | integer | no | Maximum number of tasks to return. |
offset | integer | no | Number of tasks to skip for pagination. |
nifty.nifty_get_task 1 parameters
kosmo integrations:schema nifty.nifty_get_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | yes | The ID of the task to retrieve. |
nifty.nifty_create_task 8 parameters
kosmo integrations:schema nifty.nifty_create_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | The title of the task. |
project_id | string | yes | The ID of the project to create the task in. |
description | string | no | A detailed description of the task (supports markdown). |
task_list_id | string | no | The ID of the task list to add the task to. |
assignee_id | string | no | The user ID of the person to assign the task to. |
due_date | string | no | Due date for the task (ISO 8601 format, e.g., "2025-12-31"). |
priority | string | no | Task priority level (e.g., "low", "medium", "high", "urgent"). |
labels | array | no | Array of label names to apply to the task. |
nifty.nifty_get_current_user 0 parameters
kosmo integrations:schema nifty.nifty_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.