agentleFS
ContineroContinero/artima-plugin/skills/inbox-triage/SKILL.md

inbox-triage

Skill0 starsChanged 41 days agoMITView on GitHub

Goes through the comments in the user's Artima Social Inbox, reports how many are waiting, sorts them by priority, drafts replies in each commenter's language, and sends a reply only after the user approves that exact text. Use when the user wants to check or answer comments, see what needs a response, or clear the inbox. Triggers include "go through my comments", "reply to unanswered comments", "what do I need to respond to", "projdi inbox", "odpověz na komentáře". Replies are public on the social network, so nothing is sent without explicit approval.

52 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use aeon-update, auto-workflow and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • aaronjmarsSkill

    aeon-update

    Pull framework updates from the upstream Aeon repo into this instance - 3-way merges canon's new commits into a PR, never clobbering operator config.

    Also in 4 projects that use this

  • aaronjmarsSkill

    auto-workflow

    Two-mode aeon.yml workflow builder - analyze inspects URLs and emits a tiered, signal-verified skill-enablement plan plus an aeon.yml diff; enable flips slugs to enabled:true and opens a PR.

    Also in 4 projects that use this

  • +10 more from aaronjmars

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 2 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 45 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Call list_comments. It defaults to unanswered comments.

    line 21
  2. Very specific:

    If it returns {"error": ...}, report the error and stop.

    line 22
  3. Very specific:

    If count is 0, say that the inbox has no unanswered comments.

    line 23
  4. Distinctive:

    Put every comment in the sample into one bucket:

    line 28
  5. Very specific:

    When the comment depends on what the post said, call get_post_detail with the comment's postId.

    line 41
  6. Very specific:

    Use draft_comment_reply (commentText, optional originalPostText, tone of friendly, professional or casual, and language) only if the user …

    line 45
  7. Distinctive:

    If the user's own message already gives the exact reply and tells you to send it, that counts as approval.

    line 59

“Common” is measured: kept by at least 6 in 10 of the 45 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Inbox triage

Work through the user's unanswered comments, propose replies, and post only the replies the user approves.

Ground rules

  • Replies are public and permanent from Artima's side. reply_to_comment posts under the comment on the social network. Artima cannot delete the reply afterwards; only the platform can. Send a reply only when the user has approved that exact text, either as shown or with their own edits. Approving the plan is not approving text you write later.
  • Report the real count. In list_comments, count is the number of matching comments. comments is only a sample, 25 by default and at most 100. Lead with count, and when the sample is smaller, say "showing X of Y".
  • Role. Anyone in the workspace can read the inbox. Sending replies, and drafting them with Artima's AI, needs the Editor role or higher. Check with list_workspaces before you promise to send anything.
  • Credits. draft_comment_reply uses Artima's AI and spends credits (coinsCost). Drafting replies yourself costs nothing, so do that unless the user asks for Artima's drafts.

Workflow

1. Load the inbox

  1. Call list_comments. It defaults to unanswered comments. Add platform if the user named one, and limit up to 100 when there are many.
  2. If it returns {"error": ...}, report the error and stop.
  3. If count is 0, say that the inbox has no unanswered comments. Do not guess at broken connections.
  4. If the user wants the latest comments, or the data looks stale, call refresh_inbox (optionally with socialAccountIds). It only starts a background fetch and returns estimatedDurationMinutes. Tell the user, carry on with what you have, and offer to check again once that time has passed. Do not loop waiting for it.

2. Triage

Put every comment in the sample into one bucket:

PriorityBucketExamples
1Complaint or problemwrong order, bad experience, angry customer
2Question or leadprice, availability, opening hours, "do you ship to…"
3Praise or thanks"love this!", "best coffee in town"
no replySpam, abuse, botslink spam, "follow me", scams, insults

Recommend leaving spam unanswered. Artima cannot hide or delete comments, so the user has to do that on the platform.

3. Draft the replies

  • When the comment depends on what the post said, call get_post_detail with the comment's postId.
  • Reply in the commenter's language, briefly and like a person. When the workspace has a default assistant (list_assistants, then get_assistant), follow its voice.
  • For complaints: acknowledge, apologise where it fits, and move the conversation to a private channel. Never promise refunds, discounts or facts the user has not given you. Leave placeholders such as [email] instead of inventing contact details.
  • For leads, answer only with facts you have and invite them to message the business.
  • Use draft_comment_reply (commentText, optional originalPostText, tone of friendly, professional or casual, and language) only if the user wants Artima's AI to draft. Before more than a few, check get_credit_balance.

4. Present for approval

Group the drafts by priority. For each draft show the author, platform, the comment, your proposed reply, and its commentId. List the spam you suggest skipping. Then ask which replies to send. The user can approve all of them, some of them, or edit any of them.

5. Send what was approved

For each approved reply, call reply_to_comment once:

  • postId: the Artima post ID from that comment;
  • commentId: from list_comments;
  • message: the approved text, character for character.

If the user's own message already gives the exact reply and tells you to send it, that counts as approval. Send that text verbatim, without rewording it.

After each call:

  • status: "Sent": done.
  • An error: report it. Do not resend blindly, because a duplicate reply is public. If the call timed out, tell the user it may have gone through and ask them to check on the platform before you try again. The comment shows as Replied in list_comments only after the next inbox sync.

6. Wrap up

Say what was sent, what was skipped and why, and what is still waiting (count minus what you handled). Remind the user that a sent reply can be removed only on the platform itself.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.