home / skills / michalvavra / agents / asncli

asncli skill

/skills/asncli

This skill helps you manage Asana projects and tasks from the command line with quick, accurate commands and parseable output.

npx playbooks add skill michalvavra/agents --skill asncli

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.0 KB
---
name: asncli
description: CLI for Asana. Manage projects and tasks.
compatibility: Requires asn CLI (github.com/michalvavra/asncli). Run `asn auth login` to authenticate.
---

# asncli

CLI for Asana via [michalvavra/asncli](https://github.com/michalvavra/asncli).

## Examples

```bash
asn auth login
asn auth status
asn config set-workspace

asn projects list [--workspace=GID] [--archived] [--limit=N]
asn projects get <gid>

asn custom-fields list [--workspace=GID] [--limit=N]

asn tasks list --project=GID [--limit=N]
asn tasks list --assignee=me [--workspace=GID] [--completed-since=RFC3339]
asn tasks get <gid>
asn tasks create --name="Task name" [--project=GID] [--assignee=me] [--notes="..."] [--due-on=YYYY-MM-DD]
asn tasks update <gid> [--name="..."] [--notes="..."] [--assignee=GID] [--due-on=YYYY-MM-DD] [--completed]

asn tasks search [--text=STRING] [--assignee-any=GID,...] [--projects-any=GID,...] [--due-on-before=YYYY-MM-DD] [--completed] [--sort-by=due_date] [--limit=N]
```

Use `--json` for parseable output, `--help` on any command for options.

Overview

This skill provides a command-line interface to Asana for managing workspaces, projects, custom fields, and tasks. It exposes common Asana operations—authentication, listing and retrieving projects, creating and updating tasks—designed for scripting and terminal workflows. Output can be made machine-parseable with JSON for automation.

How this skill works

The CLI wraps Asana API calls into simple commands like auth, projects, custom-fields, and tasks. Commands support flags for workspace and project selection, filtering (assignee, due dates, completed state), and produce human-readable or JSON output. Use --help on any command to see options and --json to get parseable results for pipelines.

When to use it

  • Quickly create, update, or inspect tasks from a terminal or shell script.
  • Automate task reporting or export Asana data in CI/CD or scheduled jobs.
  • Manage multiple workspaces or projects without the web UI.
  • Integrate Asana operations into local developer workflows or task-sync scripts.
  • Run searches and filtered lists to feed dashboards or notifications.

Best practices

  • Authenticate once with asn auth login and verify with asn auth status before scripting.
  • Use --json when you intend to parse output programmatically.
  • Set a default workspace with asn config set-workspace to avoid repeating flags.
  • Limit results with --limit when listing to reduce payload and speed up scripts.
  • Use explicit IDs (GIDs) for projects, tasks, and assignees to avoid ambiguity.

Example use cases

  • Create a new task from a commit hook: asn tasks create --name="Fix bug" --project=GID --assignee=me --notes="Linked to commit"
  • Generate a daily list of overdue tasks for a team by running asn tasks search with --due-on-before and --assignee-any
  • Sync custom field options into another system by exporting with asn custom-fields list --workspace=GID --json
  • Fetch a project summary for a stand-up script using asn projects list and asn tasks list --project=GID --limit=50 --json
  • Mark tasks as completed from a script: asn tasks update <gid> --completed

FAQ

How do I get machine-readable output?

Add the --json flag to most commands to receive JSON suitable for parsing.

Can I avoid passing workspace for every command?

Yes. Run asn config set-workspace to set a default workspace for subsequent commands.