asana

Integrate Asana with Clawdbot via the Asana REST API. Use when you need to list/search/create/update Asana tasks/projects/workspaces, or to set up Asana OAuth (authorization code grant) for a personal local-only integration (OOB/manual code paste).

7 stars

Best use case

asana is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Integrate Asana with Clawdbot via the Asana REST API. Use when you need to list/search/create/update Asana tasks/projects/workspaces, or to set up Asana OAuth (authorization code grant) for a personal local-only integration (OOB/manual code paste).

Teams using asana should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/asana/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/k0nkupa/asana/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/asana/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How asana Compares

Feature / AgentasanaStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Integrate Asana with Clawdbot via the Asana REST API. Use when you need to list/search/create/update Asana tasks/projects/workspaces, or to set up Asana OAuth (authorization code grant) for a personal local-only integration (OOB/manual code paste).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Asana (Clawdbot skill)

This skill is designed for a **personal local-only** Asana integration using **OAuth** with an **out-of-band/manual code paste** flow.

## What this skill provides
- A small Node CLI to:
  - generate the Asana authorize URL
  - exchange an authorization code for access/refresh tokens
  - auto-refresh the access token
  - make basic API calls (e.g. `/users/me`, `/workspaces`, tasks)

## Setup (OAuth, OOB/manual code)

### 0) Create an Asana app
In Asana Developer Console (My apps):
- Create app
- Enable scopes you will need (typical: `tasks:read`, `tasks:write`, `projects:read`)
- Set redirect URI to the OOB value (manual code):
  - `urn:ietf:wg:oauth:2.0:oob`

### 1) Provide credentials (two options)

**Option A (recommended for Clawdbot):** save to a local credentials file:
```bash
node scripts/configure.mjs --client-id "..." --client-secret "..."
```
This writes `~/.clawdbot/asana/credentials.json`.

**Option B:** set environment variables (shell/session):
- `ASANA_CLIENT_ID`
- `ASANA_CLIENT_SECRET`

### 2) Run OAuth
From the repo root:

1) Print the authorize URL:
```bash
node scripts/oauth_oob.mjs authorize
```
2) Open the printed URL, click **Allow**, copy the code.
3) Exchange code and save tokens locally:
```bash
node scripts/oauth_oob.mjs token --code "PASTE_CODE_HERE"
```

Tokens are stored at:
- `~/.clawdbot/asana/token.json`

## Chat usage (support both explicit + natural language)

You can use either:
- **Explicit commands**: start the message with `/asana ...`
- **Natural language**: e.g. “list tasks assigned to me”

For Clawdbot, implement the mapping by translating the user request into the appropriate `asana_api.mjs` command.

Examples:
- `/asana tasks-assigned` → `tasks-assigned --assignee me`
- “list tasks assigned to me” → `tasks-assigned --assignee me`
- “list all tasks in <project>” → resolve `<project>` to a project gid, then `tasks-in-project --project <gid>`
- “list tasks due date from 2026-01-01 to 2026-01-15” → `search-tasks --assignee me --due_on.after 2026-01-01 --due_on.before 2026-01-15`

(Optional helper) `scripts/asana_chat.mjs` can map common phrases to a command skeleton.

## Using the API helper

Sanity check (who am I):
```bash
node scripts/asana_api.mjs me
```

List workspaces:
```bash
node scripts/asana_api.mjs workspaces
```

Set a default workspace (optional):
```bash
node scripts/asana_api.mjs set-default-workspace --workspace <workspace_gid>
```
After that, you can omit `--workspace` for commands that support it.

List projects in a workspace (explicit):
```bash
node scripts/asana_api.mjs projects --workspace <workspace_gid>
```
List projects using the default workspace:
```bash
node scripts/asana_api.mjs projects
```

List tasks in a project:
```bash
node scripts/asana_api.mjs tasks-in-project --project <project_gid>
```

List tasks assigned to me (workspace required by Asana):
```bash
node scripts/asana_api.mjs tasks-assigned --workspace <workspace_gid> --assignee me
```
Or using the default workspace:
```bash
node scripts/asana_api.mjs tasks-assigned --assignee me
```

Search tasks (advanced search):
```bash
node scripts/asana_api.mjs search-tasks --workspace <workspace_gid> --text "release" --assignee me
# also supports convenience: --project <project_gid>
```

View a task:
```bash
node scripts/asana_api.mjs task <task_gid>
```

Mark a task complete:
```bash
node scripts/asana_api.mjs complete-task <task_gid>
```

Update a task:
```bash
node scripts/asana_api.mjs update-task <task_gid> --name "New title" --due_on 2026-02-01
```

Comment on a task:
```bash
node scripts/asana_api.mjs comment <task_gid> --text "Update: shipped"
```

Create a task:
```bash
node scripts/asana_api.mjs create-task --workspace <workspace_gid> --name "Test task" --notes "from clawdbot" --projects <project_gid>
```

## Notes / gotchas
- OAuth access tokens expire; refresh tokens are used to obtain new access tokens.
- If you later want multi-user support, replace OOB with a real redirect/callback.
- Don’t log tokens.

Related Skills

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.

surf-check

7
from Demerzels-lab/elsamultiskillagent

Surf forecast decision engine.

jinko-flight-search

7
from Demerzels-lab/elsamultiskillagent

Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.

mlx-whisper

7
from Demerzels-lab/elsamultiskillagent

Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).