with one click
mlai-points
// Manage MLAI points system - check balance, book coworking, claim tasks, redeem rewards
// Manage MLAI points system - check balance, book coworking, claim tasks, redeem rewards
| name | mlai-points |
| description | Manage MLAI points system - check balance, book coworking, claim tasks, redeem rewards |
| trigger_keywords | ["points","balance","coworking","book","task","tasks","reward","rewards","topup","top-up","top up","buy points","buy roo points","purchase points","purchase roo points","pay for points","add points","add roo points"] |
This skill enables Roo to interact with the MLAI Points System via API, allowing members to check their balance, book coworking days, browse open and assigned task queues, claim and submit structured tasks, and redeem rewards.
admin, committee, or portfolio_lead role)ROO-0042unclaim is only allowed before any submission existsU05QPB483K9)Each Points Admin has a weekly allowance limiting how many points they can award. The allowance resets every Monday (ISO week).
When an admin attempts to award points:
Example responses:
topup_points; one of topup_5, topup_10, or topup_2542 or ROO-0042) for task-related actionsParse user messages to identify the action and parameters:
| Pattern | Action | Example |
|---|---|---|
points, balance | balance | "What's my points balance?", "@Roo points" |
topup, top up Roo Points, buy <n> Roo Points, purchase <n> Roo Points, pay for Roo Points, add Roo Points, I need more points | topup_points | "@Roo buy 10 Roo Points" |
request <n> points for <reason> | request_points | "Request 5 points for helping at the event" |
points earn | list_tasks | "How do I earn points?", "@Roo points earn" |
tasks, tasks open | list_tasks | "What can I claim right now?" |
tasks mine | list_tasks | "Show me my tasks" |
tasks review | list_tasks | "Show me tasks waiting for my review" |
tasks all | list_tasks | "Show me all tasks" |
task claim <id/code> | claim_task | "Task claim 42", "Task claim ROO-0042" |
task unclaim <id/code> | unclaim_task | "Unclaim ROO-0042" |
task submit <id/code> <text> | submit_task | "Task submit 42 fixed the typo" |
coworking check <date> | check_coworking | "Is there space on Dec 20?" |
coworking report from <start> to <end> | coworking_report | "Coworking report from 2026-01-01 to 2026-03-31" |
coworking report <start> <end> | coworking_report | "Coworking report 2026-01-01 2026-03-31" |
coworking report this week | coworking_report | "How many people used the coworking space this week?" |
coworking report last week | coworking_report | "How many people used the coworking space last week?" |
coworking compare ... | coworking_report | "How did coworking usage last week compare to the week prior?" |
coworking busiest/quietest ... | coworking_report | "Which day was busiest for coworking last month?" |
coworking trends/recommendations ... | coworking_report | "Show coworking trends for the last 3 months and recommendations" |
coworking report last 3/6 months | coworking_report | "Coworking report last 3 months" |
coworking report last year | coworking_report | "Coworking report last year" |
coworking book <date/today> | book_coworking | "Book me in", "Book me in for today", "@Roo coworking book" |
check/book <@USER> in <date/today> | admin_checkin_coworking | (Admin) "Check <@U123> in", "Book <@U123> in today" |
coworking cancel <date> | cancel_coworking | "Cancel my booking for Friday", "@Roo coworking cancel" |
rewards, points rewards | list_rewards | "What rewards are available?", "@Roo points rewards" |
reward request <code> | request_reward | "I want to get the HOTDESK_DAY reward" |
buy a <item> | request_reward | "Can I buy a sticker?" (LLM infers code) |
task create <title> ... | create_task | (Admin) "Create task called 'Fix docs' with 3 points" |
create a task ... | create_task | (Admin) "Create a task called 'Update README' and assign 5 points" |
task edit <id/code> ... | edit_task | (Admin) "Edit ROO-0042 and set points to 12" |
task update <id/code> ... | edit_task | (Admin) "Update task 42 and change reviewer to <@U123>" |
task cancel <id/code> | cancel_task | (Admin) "Cancel ROO-0042" |
delete task <id/code> | cancel_task | (Admin) "Delete task 42" maps to cancel/archive |
task approve <id/code> | approve_task | (Admin) "Task approve 42", "Task approve ROO-0042" |
task reject <id/code> | reject_task | (Admin) "Task reject ROO-0042 and ask for tests" |
points award @user +5 reason | award_points | (Admin) "Give @sam 5 points for helping out" |
reward @user for <activity> | award_points | (Admin) "Reward @sam for newsletter" (suggests points from rate card) |
promote <@USER> to roo points admin | promote_points_admin | (Super Admin) "Promote <@U123> to roo points admin" |
make <@USER> a roo points admin | promote_points_admin | (Super Admin) "Make <@U123> a roo points admin" |
revoke <@USER> as roo points admin | revoke_points_admin | (Super Admin) "Revoke <@U123> as roo points admin" |
remove <@USER> as roo points admin | revoke_points_admin | (Super Admin) "Remove <@U123> as roo points admin" |
set <@USER> weekly points allowance to <n> | set_points_admin_allowance | (Super Admin) "Set <@U123> weekly points allowance to 150" |
change <@USER> weekly points allowance to <n> | set_points_admin_allowance | (Super Admin) "Change <@U123> weekly points allowance to 150" |
increase the number of points <@USER> can give out weekly to <n> | set_points_admin_allowance | (Super Admin) "Increase the number of points <@U123> can give out weekly to 48" |
update how many points <@USER> can give out weekly to <n> | set_points_admin_allowance | (Super Admin) "Update how many points <@U123> can give out weekly to 60" |
Parse the user's message to determine which action they want:
ROO-xxxx task codesrequest ... points for ... as request_points, not award_pointsaward_points, and require a positive numeric allowance when changing allowanceFor full admin-only actions (create, edit, cancel, approve, reject, award):
For admin coworking check-ins:
For super admin actions (promote admin, revoke admin, change allowance):
U05QPB483K9For coworking report actions:
status=booked), not cancelled bookingsCall the appropriate MLAIBackendClient method with extracted parameters.
slack_user_id from the Slack eventGenerate friendly response with relevant information:
Allowed fixed packs:
topup_5: 5 Top-up Roo Points - A$19.99topup_10: 10 Top-up Roo Points - A$36.99topup_25: 25 Top-up Roo Points - A$63.99Top-up Roo Points are MLAI's internal community reward points. They are not money, have no cash value, cannot be converted to cash, and cannot be sold or transferred. The price of Top-up Roo Points does not represent a monetary value for Roo Points.
Top-up Roo Points are optional and do not count toward lifetime earned contribution.
G'day mate! Here's your points summary:
š° **Current Balance:** 15 points
š **Lifetime Earned:** 42 points
š **Lifetime Spent:** 27 points
š **Lifetime Purchased:** 10 points
Nice work! Check out "@Roo tasks" to earn more š¦
š **Available Roo Rewards**
Your balance: **12 points**
Lifetime earned: **42 points**
⢠**Sticker** (`STICKER`) - 1 point
_Merch; admin approval; you can redeem this now_
⢠**1 Day Hot-desk** (`COWORKING_DAY`) - 4 points
_Coworking; instant redemption; you can redeem this now_
⢠**Free Workshop Ticket** (`WORKSHOP_FREE`) - 42 points
_Events (Limited Stock); 5 left; admin approval; need 30 more points_
**Other ways to use Roo Points**
⢠SEO article generation costs 4 Roo Points.
⢠MLAI sometimes auctions merch, cool items, or experiences for a variable Roo Points bid. Highest bidder wins.
**How lifetime earned Roo Points matter**
⢠Bounties and paid work generally go to members with the highest lifetime earned Roo Points.
⢠To be voted into the MLAI committee, you need at least 100 lifetime earned Roo Points.
Request one with `reward request <CODE>`.
For coworking, `coworking book YYYY-MM-DD` is usually the quickest path.
Here are the open tasks up for grabs:
1. **ROO-0042 - Fix typos in README** (3 pts) š tech
2. **ROO-0043 - Design event banner** (5 pts) š marketing
3. **ROO-0044 - Help with workshop setup** (2 pts) š events
Keen to help? Just say "task claim ROO-0042" to get started!
You beauty! š
Booked you in for **20 Dec 2025** at the coworking space.
Cost: 1 point (Balance remaining: 14 points)
See you there, legend!
Ah sorry mate, looks like you're a bit short on points.
You need 1 point for coworking, but you've got 0.
Here are some ways to earn points:
⢠Check out open tasks with "@Roo tasks"
⢠Volunteer at upcoming events
⢠Help out fellow community members
No worries, you'll get there! šŖ
Sorry mate, you'll need to be a Points Admin to do that.
If you reckon you should have access, have a chat with the committee. š¤
I found a match in the Rate Card: 'Draft newsletter edition' is worth 12 points. Should I award 12 points to @alice?
or for distinct matches:
That sounds like it could be 'Draft newsletter edition' (12 pts) or 'Newsletter full production' (24 pts). Which one is it?
| Error | Response |
|---|---|
| User not found | "Hmm, I can't find your account. Have you linked your Slack? Check with the team." |
| Insufficient balance | Show balance, explain cost, suggest earning opportunities |
| Task not open | "That task isn't available to claim right now (status: {status})" |
| Task cannot be unclaimed | "That task already has submitted work on it, so it can't be released back to the queue." |
| No availability | "No spots left on {date}. Want to check another day?" |
| Network error | "Having trouble reaching the points system. Mind trying again in a tick?" |
| Permission denied | Friendly explanation, point to admins if they need help |
[HINT] Download the complete skill directory including SKILL.md and all related files