AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Asana

skill-kernel8901-ai-agent-skills-classification-asana · by Kernel8901

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).

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-kernel8901-ai-agent-skills-classification-asana

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-kernel8901-ai-agent-skills-classification-asana)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Asana? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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:

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:

node scripts/oauth_oob.mjs authorize

2) Open the printed URL, click Allow, copy the code. 3) Exchange code and save tokens locally:

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-assignedtasks-assigned --assignee me
  • “list tasks assigned to me” → tasks-assigned --assignee me
  • “list all tasks in ” → resolve ` to a project gid, then tasks-in-project --project `
  • “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):

node scripts/asana_api.mjs me

List workspaces:

node scripts/asana_api.mjs workspaces

Set a default workspace (optional):

node scripts/asana_api.mjs set-default-workspace --workspace 

After that, you can omit --workspace for commands that support it.

List projects in a workspace (explicit):

node scripts/asana_api.mjs projects --workspace 

List projects using the default workspace:

node scripts/asana_api.mjs projects

List tasks in a project:

node scripts/asana_api.mjs tasks-in-project --project 

List tasks assigned to me (workspace required by Asana):

node scripts/asana_api.mjs tasks-assigned --workspace  --assignee me

Or using the default workspace:

node scripts/asana_api.mjs tasks-assigned --assignee me

Search tasks (advanced search):

node scripts/asana_api.mjs search-tasks --workspace  --text "release" --assignee me
# also supports convenience: --project 

View a task:

node scripts/asana_api.mjs task 

Mark a task complete:

node scripts/asana_api.mjs complete-task 

Update a task:

node scripts/asana_api.mjs update-task  --name "New title" --due_on 2026-02-01

Comment on a task:

node scripts/asana_api.mjs comment  --text "Update: shipped"

Create a task:

node scripts/asana_api.mjs create-task --workspace  --name "Test task" --notes "from clawdbot" --projects 

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.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.