SkillAgentSearch skills...

plain

Read and write Plain support: find and upsert customers, list threads, create and reply to support threads. Trigger phrases: plain, support tickets.

Install / Use

npx skills add Anil-matcha/awesome-muse-connectors --skill plain

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

83/100

Category

Marketing

Supported Platforms

Universal

Our assessment of plain

plain scores 83/100 on our quality scale, 468th of 566 Marketing skills we index.

Its SKILL.md is 2.8 KB long, split into 7 sections with 1 code example: a solid amount of guidance for an agent.

With 1,321 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
15/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 20 days ago, so plain is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

plain compared with similar skills

All 4 of these similar skills score higher than plain; compare them before choosing.

SkillScoreStarsUpdatedFormat
plain (this skill)by Anil-matcha831.3k20d agoSKILL.md
Agent-Reachby Panniantong100102.2ktodayCLAUDE.md
headroomby headroomlabs-ai10077.8k1d agoCLAUDE.md
Scraplingby D4Vinci10089.7k3d agoMCP Server
crawl4aiby unclecode10086.2k3d agoMCP Server

Frequently asked questions

How do I install plain?
Run npx skills add Anil-matcha/awesome-muse-connectors --skill plain. The install tabs above show the steps for each supported agent.
Which AI agents does plain work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is plain safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is plain still maintained?
The repository was last updated 20 days ago, so plain is actively maintained.

name: "plain" description: "Read and write Plain support: find and upsert customers, list threads, create and reply to support threads. Trigger phrases: plain, support tickets." metadata: { "includeInPrompt": true } tagline: "Find customers, manage support threads." catalog_auth: "Machine-user API key" catalog_hosts: ["core-api.uk.plain.com"]

Plain

Purpose

Manage the user's Plain support inbox: find and upsert customers, list support threads, open new threads, and reply to threads. Use when the user mentions Plain or support tickets.

Tooling

All commands go through bin/plain.py:

bin/plain.py auth                                     # verify the Machine User API key
bin/plain.py customer-find --email "them@example.com" # find a customer by email
bin/plain.py threads --limit 25                       # list threads (Relay cursor pagination, max 100 per page)
bin/plain.py customer-upsert --email "them@example.com" --name "Them"  # create or update a customer
bin/plain.py thread-create --customer-id c_abc123 --title "Bug report" --text "Details here"  # open a support thread
bin/plain.py thread-reply --thread-id t_abc123 --text "We are on it"  # reply to a thread

Plain's endpoint is UK-hosted (core-api.uk.plain.com); latency is normal for a cross-region call.

Schema reference: every operation is a minimal GraphQL query or mutation against Plain's published schema at https://core-api.uk.plain.com/graphql/v1/schema.graphql. Field selection in the CLI is conservative on purpose (id on node types, standard Relay pageInfo), and all parsing is defensive (.get with defaults), so a schema difference surfaces as a GraphQL error rather than a crash. If an operation errors on field names, check the schema URL above and adjust.

Auth

  • Provider id: plain (credential is collected as custom.plain)
  • Collection: Machine User API key via the secure credential flow (credentials.request_api_access); created in Plain under Settings > Machine Users
  • Allowed hosts: core-api.uk.plain.com
  • Status check: bin/plain.py auth (must return "ok": true)

Operating Rules

  1. customer-upsert, thread-create, and thread-reply are writes: confirm the customer and thread involved, and show the exact message text, before running, unless standing permission exists.
  2. Reading (customer-find, threads) needs no confirmation.
  3. Plain paginates threads with Relay cursors (first/after, edges/node, max 100 per page): use --limit and follow pageInfo.hasNextPage for larger sweeps.
  4. Plain applies API rate limits; back off on 429s.
  5. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the key value.

Files

  • SKILL.md
  • bin/plain.py

Maturity

🧪 Draft: written from Plain's public API docs; not yet live-tested end-to-end.

Related Skills

View on GitHub
GitHub Stars1.3k
CategoryMarketing
Updated20d ago
Forks305

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions