Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add YCyrus/asana-sweep --skill asana-to-harnessgit clone --depth 1 https://github.com/YCyrus/asana-sweepWrote 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/skills/ycyrus/asana-sweep/asana-to-harness)<a href="https://agentmods.dev/skills/ycyrus/asana-sweep/asana-to-harness"><img src="https://agentmods.dev/badge/skills/ycyrus/asana-sweep/asana-to-harness/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/skills/ycyrus/asana-sweep/asana-to-harness"><img src="https://agentmods.dev/badge/skills/ycyrus/asana-sweep/asana-to-harness.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.00068 | $0.00968 |
| Opus 5 | $0.00034 | $0.00484 |
| Sonnet 5 | $0.00014 | $0.00194 |
| Haiku 4.5 | $0.00007 | $0.00097 |
Grade A, and why
asana-to-harness scanned grade A with 1 finding 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 12d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Also fetch image attachments for the task (and its parent) with the plugin's bundled helper, then Read every path it prints: `asana-fetch-attachments <task_gid>` — screenshots and annotated printouts frequently carry t How it starts
The opening of the file, as written. The whole thing — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Asana task → harness plan → issue + trigger comment
Convert a single Asana task into a plan an AI coding harness can execute directly, then open a GitLab issue and trigger the harness. Usually invoked with a task number/keyword (interactive) or a resolved spec (from asana-sweep).
Configuration
Read asana-sweep.config.json in the repository root (same file the sweep skill uses):
gitlab.project— GitLab project path for issues.gitlab.base_branch— branch new work starts from; state it in the plan.harness.trigger_comment— the comment text that wakes the harness (e.g.@claude please implement per the issue description above). Know your harness's trigger rule: many harnesses (including GitLab webhook-based ones) only fire on comments (notes) — a mention inside the issue description does nothing. So the flow is always "create issue (description = plan) → post a separate trigger comment".plans_dir— where local plan drafts are stored.
Flow
1. Read the Asana task
- Find the task by number/keyword and get its
gid(on free workspaces useasana_get_my_tasks+ filtering; search endpoints require a paid workspace). - Fetch it with
notes,html_notes,permalink_urlplus its stories/comments — client clarifications and links to prior MRs often live in comments, not the description. - Also fetch image attachments for the task (and its parent) with the plugin's bundled helper, then Read every path it prints:
asana-fetch-attachments <task_gid>— screenshots and annotated printouts frequently carry the real spec (exact dimensions, layouts). The helper readsASANA_PATinternally; don't probe the environment and don't hand-roll curl with$VARexpansion (both get denied in headless allowlists). If it exits non-zero (PAT missing / command not found), proceed without images. Quote image-derived values explicitly in the plan so reviewers can verify them.
2. Write the plan
- If the user has a dedicated planner agent, delegate to it; otherwise draft the plan yourself. Either way the plan must contain:
- Goal — what the change does, in one paragraph, traceable to the Asana text.
- Scope — files/modules expected to change; explicitly list anything that must NOT change.
- Base — the
gitlab.base_branchto branch from, plus any numbering/sequence caveats. - Definition of Done — verifiable checks a reviewer can run.
- Useful lead: if this is a "same series, one more of X" task, find the precedent commit (
git log --all --oneline -S '<keyword>'or--grep) and tell the planner/harness to copy its shape. Not every task has a precedent — plan normally when there isn't one. - Save a local draft under
plans_dirfor the record.
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.
- 12d ago First seen · 47 lines · 68 tokens per session scan A e9e8f1e0f58e
asana-to-harness is a skill published in the GitHub repository YCyrus/asana-sweep (2 stars, last pushed 5d ago), licensed MIT. It adds 68 tokens to every session and 968 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
gitlab-group
GitLab group operations via API. ALWAYS use this skill when user wants to: (1) list/view groups, (2) create/update/delete groups, (3) manage group members, (4) list subgroups or group projects, (5) share projects with groups.
gitlab-issue
GitLab issue operations. ALWAYS use this skill when user wants to: (1) list issues, (2) view issue details, (3) create new issues, (4) update/close/reopen issues, (5) add comments/notes to issues.
gitlab-mr
GitLab merge request operations. ALWAYS use this skill when user wants to: (1) list merge requests, (2) view MR details, (3) create new MRs, (4) approve/merge MRs, (5) checkout MR branches, (6) add notes/comments, (7) rebase MRs.
gitlab-wiki
GitLab wiki operations via API. ALWAYS use this skill when user wants to: (1) list wiki pages, (2) read wiki content, (3) create/update/delete wiki pages, (4) upload wiki attachments.
gitlab-label
GitLab label operations. ALWAYS use this skill when user wants to: (1) list project labels, (2) create new labels, (3) manage label colors and descriptions.
gitlab-milestone
GitLab milestone operations. ALWAYS use this skill when user wants to: (1) list milestones, (2) create new milestones, (3) manage sprints or iterations.