Agent skill View raw .md

name: accoil-tools

description: Read and operate an Accoil Tools account at staging.tools.accoil.com — Atlassian Marketplace apps, their licences and transactions, the lifecycle events synthesized from them (trial started, converted, renewed, churned), and the analytics destinations those events are delivered to. Use when the user asks about their Marketplace app's trials, conversions, renewals or churn; a sync run that failed or is stuck; dead letters or contract anomalies; event delivery to Accoil, Segment, PostHog, Amplitude, Mixpanel or a REST endpoint; or anything hosted at staging.tools.accoil.com.

Accoil Tools

An agent-native platform at https://staging.tools.accoil.com. Every page serves three representations of the same RESTful URL: HTML for humans, Markdown for you, OpenAPI for your writes. There is no separate API to learn — the app is the API.

Marketplace Events, its first tool, watches an Atlassian Marketplace app's licences and transactions, synthesizes canonical lifecycle events, and delivers them to the customer's analytics stack.

Authenticate

Send a bearer token on every request. A human mints one at Settings → Agent (/<account_slug>/settings/agent); you cannot mint your own.

Authorization: Bearer accoil_pat_…
Accept: text/markdown
  • Tokens are read-scoped by default. A read token that attempts any POST/PATCH/ PUT/DELETE gets 403 — that check is keyed on HTTP method and cannot be skipped.
  • A token never grants more than its owner's role in an account. Suspended accounts are read-only for everyone.
  • No token yet? https://staging.tools.accoil.com/agent and https://staging.tools.accoil.com/skill.md are readable without one, and say how to get one.

Read

Append .md or send Accept: text/markdown to any URL.

  • Start at https://staging.tools.accoil.com/agent and navigate by following links. Do not guess or construct URLs — every page carries the links that are relevant next, and the set of accounts and tools you can reach is not knowable in advance.
  • Add ?detail=full for teaching prose, payload samples and field-level notes. The default is a skimmable summary; ask for full when a page's summary left you guessing.
  • Unfamiliar term? Every page links the concepts it uses (/concepts/<id>). Read the concept once rather than inferring from the table.
  • Paginated pages project their pagination as links. Follow them; do not raise the page size to swallow a whole table.

Write

Every write affordance in a Markdown page names its method, path, and an OpenAPI slice:

Start a sync → POST /acme/amp_events/products/42/syncs
spec: /specs/amp_events/create_sync

Fetch that slice for the exact request body. Whole documents live at /specs/platform/openapi (auth, accounts, members, tokens, billing, /system) and /specs/amp_events/openapi (Marketplace Events).

Confirm with the user before any write that starts a sync, changes or deletes a destination, revokes a token, or removes a member. A sync spends the account's event quota and delivers to a live analytics pipeline; a changed destination silently redirects a customer's production data.

What lives where

Surface Path What you'll find
Front door /agent How to authenticate, your accounts, everything below
Account /<slug> Dashboard and table of contents for one account
Marketplace Events /<slug>/amp_events Products, and the tool's own dashboard
A product /<slug>/amp_events/products/<id> Overview, licences, transactions, events, runs, problems, settings
Destinations …/products/<id>/connections Where synthesized events are delivered
Runs …/products/<id>/runs Every sync attempt, its status and counts
Problems …/products/<id>/problems Dead letters (failed deliveries) and contract anomalies
Notifications /<slug>/amp_events/notifications Webhook/email streams for state changes
Members /<slug>/members Who is in the account, and their role
Settings /<slug>/settings Account, profile, billing, API tokens, agent handoff
Operators /system Cross-account surface — app admins only

Rules

  • Follow links; don't construct URLs. A path you assembled from this table may 404 because the account lacks that tool — entitlement makes a tool absent, not disabled.
  • A 404 on an account-scoped page means "not a member or does not exist" — the two are deliberately indistinguishable. Do not probe to tell them apart.
  • Numbers on these pages are facts, not placeholders. "Events 0" means zero events.
  • Report what a page says, not what you expected it to say. A sync that shows failed with a dead letter has a cause on its own page; read it before theorising.
  • Don't cache the map. Products, destinations and entitlements change; re-read the page rather than reusing what you saw in an earlier session.