SKILLEMALL.ai

CF xero

Xero API integration with managed OAuth. Manage contacts, invoices, payments, accounts, and run financial reports. Use this skill when users want to interact with Xero accounting data. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Xero connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Xero action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Xero examples; they add no Xero capability - Xero is not an event source, a trigger cannot read Xero data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

ClawHub Agent Skills author: byungkyu v1.2.2 MIT-0 11 files body ≈ 11 842 tokens Open the sourceclawhub.ai analyzed 9 h ago

Xero API integration with managed OAuth.

As a process F 53/100 · Will not run — References files that are not bundled: references/<source>/triggers.md, references/{source}/triggers.md

IntegrationStripeNotionSlackGmailFinancetype and topics are labelled automatically from the skill text
JSON
Technical rating
C
67/100
safety, quality, tests
Safety 60%
85
Quality 40%
40
Run on models
none yet
Process rating
F
53/100
Will not run
References files that are not bundled: references/<source>/triggers.md, references/{source}/triggers.md
Tools and files w 18
0
Inputs and preconditions w 11
0
Running it twice w 4
30
the three weakest of ten parameters · all ten

What is at stake

Medium-severity findings: the skill is probably honest, but read what alarmed the scanner.

Broad scope medium severity

Below is the worst case for this category. The finding here is medium: the guard saw a sign, not a proof.

If you install

The skill asks for more than the task needs: broad tool access, credential environment variables, binaries. Every extra permission widens the damage from a mistake or a compromise.

For the author

Narrow allowed-tools and the variable list to the minimum; replace binaries with readable sources or scripts.

How to improve

  1. Shorten the description to 1024 characters.
  2. The SKILL.md body is over 5,000 tokens: move reference detail into references/ and load it when needed.
  3. The text references files that are not there: add them or drop the references.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 11

✓ No critical or high findings

Medium and low: 11
  • medium Broad scope meta-broad-allowed-tools SKILL.md:1
    Broad tool permissions pre-approved: Bash
    allowed-tools: Bash Read Grep Glob
  • low Secrets in code secret-high-entropy-token references/github/triggers.md:1139
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "node_id": "MDIz…DU3"
    quoted
  • low Secrets in code secret-high-entropy-token references/github/triggers.md:1313
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "node_id": "MDEw…jY5",
    quoted
  • low Obfuscation obf-base64-blob references/slack/triggers.md:73
    Long base64-looking blob (quoted — discussed, not commanded)
    "event_context": "4-ey…ifQ",
    quoted
  • low Obfuscation obf-base64-blob references/slack/triggers.md:133
    Long base64-looking blob (quoted — discussed, not commanded)
    "event_context": "4-ey…ifQ",
    quoted
  • low Obfuscation obf-base64-blob references/slack/triggers.md:179
    Long base64-looking blob (quoted — discussed, not commanded)
    "event_context": "4-ey…In0",
    quoted
  • low Secrets in code secret-high-entropy-token references/stripe/triggers.md:41
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "balance_transaction": "txn_…GxW",
    quoted
  • low Secrets in code secret-high-entropy-token references/stripe/triggers.md:117
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "id": "evt_…qVg",
    quoted
  • low Secrets in code secret-high-entropy-token references/stripe/triggers.md:144
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "subscription": "sub_…qSY"
    quoted
  • low Secrets in code secret-high-entropy-token references/stripe/triggers.md:180
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "subscription": "sub_…qSY",
    quoted
  • low Secrets in code secret-high-entropy-token references/stripe/triggers.md:194
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "subscription": "sub_…qSY",
    quoted

Files scanned: 11. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • error description-long description is 1469 chars, limit 1024
  • warning body-long SKILL.md body ≈ 11842 tokens (recommended < 5000); move details to references/
  • warning missing-ref reference to a missing file: references/<source>/triggers.md
  • warning missing-ref reference to a missing file: references/{source}/triggers.md
  • note edit-residue the text marks something as outdated (lines 686): check that old rules are not kept next to new ones — the full check reads the text for contradictions

Process rating: all ten parameters 53/100

Will not run. References files that are not bundled: references/<source>/triggers.md, references/{source}/triggers.md
  • 0Tools and files. 2 referenced file(s) missing: references/<source>/triggers.md, references/{source}/triggers.md
  • 0Inputs and preconditions. Does not say what the process needs to start
  • 30Running it twice. 82 mutating operations with no state check
  • 40Execution cost. Instruction body is 11842 tokens: crowds the task out of the window
  • 50When it triggers. No condition that starts the skill
  • 60Result and completion. Output format stated, no completion criterion
  • 100Steps. 65 steps
  • 100Failures and branches. 3 branches, has a failure section
  • 100Consistency. Name and required fields are in place
  • 100Progress reporting. Reports progress
  • medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
  • low 14 top-level sections: this looks like several domains in one skill

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +5Description has no quoted example phrases that should trigger the skill
  • +4Description does not say when NOT to use the skill (false activations)
  • +3Description length 1468: 120–800 characters recommended
  • +1No license
  • +2Single-language instructions
  • +4Structure: 103 headings
  • +3Step-by-step instructions: 65 items
  • +3Output format is stated explicitly
  • +4Has examples (99 code blocks)

Quality base 70; lint remarks subtract, signals add up to 100. Result: 40.

External checks

ClawHub: clean
This Xero skill is a disclosed Maton-based accounting integration with meaningful financial and automation risks, but its behavior is purpose-aligned and guarded by explicit approval instructions.
LLM: benign (high) · VirusTotal: · 13 Sept 2026