Borrowing it
Nothing to install: this file belongs to workato-devs/recipe-skills. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/workato-devs/recipe-skills/main/.claude/commands/asana-recipes.mdgit clone --depth 1 https://github.com/workato-devs/recipe-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/workato-devs/recipe-skills/asana-recipes)<a href="https://agentmods.dev/commands/workato-devs/recipe-skills/asana-recipes"><img src="https://agentmods.dev/badge/commands/workato-devs/recipe-skills/asana-recipes/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/workato-devs/recipe-skills/asana-recipes"><img src="https://agentmods.dev/badge/commands/workato-devs/recipe-skills/asana-recipes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00943 |
| Opus 5 | $0.00000 | $0.00472 |
| Sonnet 5 | $0.00000 | $0.00189 |
| Haiku 4.5 | $0.00000 | $0.00094 |
Grade A, and why
asana-recipes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Asana Recipes Skill
DEPENDENCY: Run
/workato-recipesfirst if not already loaded. This skill requires the base Workato knowledge for triggers, control flow, datapills, and recipe structure.
You are now equipped with Asana-specific knowledge for writing Workato recipes. This skill extends the workato-recipes base skill and focuses on Asana-specific patterns.
Capabilities
With this skill loaded, you can:
- Create, read, update, and delete tasks with full field support
- Search tasks in a workspace with filters
- Manage projects, portfolios, goals, and sections
- Handle team memberships and user assignments
- React to Asana events via the
new_eventwebhook trigger - Use adhoc HTTP for 200+ uncovered Asana REST API operations
Trigger Type Selection
Ask the user which trigger type they need:
- API Endpoint (
workato_api_platform) - External HTTP access - Callable Recipe (
workato_recipe_function) - Internal recipe calls - Asana Event (
new_event) - React to Asana changes (requiresdynamicPickListSelection)
See workato-recipes skill for trigger implementation details.
Asana-Specific Knowledge
GIDs Are Strings (CRITICAL)
All Asana resource identifiers are GID strings, not integers. Always type as "type": "string":
{ "name": "task_gid", "type": "string", "label": "Task GID", "optional": false }
Datapill Paths (CRITICAL)
Asana does NOT use the ["body"] wrapper in datapill paths:
// CORRECT for Asana
"path": ["gid"]
"path": ["name"]
"path": ["assignee", "gid"]
// WRONG - Do NOT use for Asana
"path": ["body", "gid"]
Get vs Search vs List
Three distinct retrieval patterns:
get_*_by_id- Use when you already have the resource GIDsearch_*- Use when filtering by criteria (name, assignee, workspace)list_*- Use when enumerating all items in a scope (project tasks, workspace members)
opt_fields Parameter
Most Asana GET endpoints accept opt_fields to select which fields are returned. Include this to get the specific data you need.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 105 lines · 0 tokens per session scan A 4be9cdf003e9
asana-recipes is a command published in the GitHub repository workato-devs/recipe-skills (18 stars, last pushed 12d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 943 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
template
Manage issue templates for streamlined issue creation.
sync-linear
Sync current work with Linear ticket status.
add-note
Add an internal or external note to a ConnectWise PSA ticket.
fest-show
Show festival progression (in-progress tasks, roadmap, and dependency view).
dispatcher
Pick the next-best repo to work on across the portfolio — rank free repos, recommend one, claim its lease atomically, and route to the entry command.
workpm
A project-management workflow for coordinating multiple AI workers through five stages. It includes task assignment, shared activity logs, worker replacement, and final checks.