# CLI commands

> All 298 xholic CLI commands by area, with their flags: post, schedule, run Workers and Signals, send DMs and read analytics from your terminal.

Source: https://docs.xholic.ai/cli/commands/

Every action is a command: `xholic <area> <action>`. Required flags are in **bold**. Every command also takes the [global flags](/cli/#flags) (`--json`, `--account`, and `--dry-run`, `--estimate` where they apply). The linked reference lists each flag's type and meaning.

## Your profile

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic me get`](/actions/me/#who-i-am-on-x) | None | Load this before writing anything for the user. |

## Accounts

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic accounts list`](/actions/accounts/#connected-x-accounts) | None | List the X accounts this connection can act on (own, added and shared), with your role on each and which one is the default. |

## Context and voice

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic context writing-kit`](/actions/context/#writing-kit) | `--topic` `--limit` | Material for writing posts in the user's voice: real posts that worked (their own winners, their circle this week, bookmarks, library outliers) to build each new post from, fresh facts and takes, and what they posted lately so you don't repeat it. |
| [`xholic context update`](/actions/context/#update-account-context) | `--target-audience` `--content-goals` `--product-context` `--selected-topics` `--account-rules` | Change the account's audience, goals, product context, topics or rules that every Xholic writer reads. |
| [`xholic context products`](/actions/context/#products-and-context) | None | The account's saved products with their facts (what it is, audience, features, proof), analysis limits and removal notices. |
| [`xholic context bio-product-suggestion`](/actions/context/#product-from-the-bio-link) | None | The link in the account's X bio when it isn't a saved product yet, so it can be added with context.add_product. |
| [`xholic context add-product`](/actions/context/#add-a-product) | **`--url`** | Add a product by its website URL. |
| [`xholic context refresh-product`](/actions/context/#refresh-a-product) | **`--product-id`** | Read the product's website again and update its facts. |
| [`xholic context set-product-auto-refresh`](/actions/context/#product-auto-refresh) | **`--product-id`** **`--when-edited`** | Choose whether a product keeps refreshing automatically after its facts were edited by hand. |
| [`xholic context update-product`](/actions/context/#edit-product-facts) | **`--product-id`** **`--structured-facts`** | Replace a product's facts. |
| [`xholic context delete-product`](/actions/context/#remove-a-product) | **`--product-id`** | Remove a product from the account's context. |
| [`xholic context dismiss-product-notice`](/actions/context/#dismiss-a-removal-notice) | **`--product-id`** | Hide the notice that a product was removed automatically. |

## Profile check

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic profile check`](/actions/profile/#profile-check) | None | Check the account's X profile (bio, pinned post, banner, link) against what makes strangers follow, with concrete fixes. |

## Updates

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic events updates`](/actions/events/#what-happened-since-last-time) | `--since` `--limit` | Call at the start of a conversation. |

## Insights

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic insights whats-working`](/actions/insights/#whats-working) | `--range` `--timezone` | What worked for the account over a period and why: best posts, formats, topics and times, compared with their normal. |
| [`xholic insights bank`](/actions/insights/#insight-bank) | `--area-id` `--limit` | The account's knowledge areas and the insights Xholic mined from their posts, for teaching posts. |

## Niche

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic niche now`](/actions/niche/#whats-working-in-my-niche) | `--kind` `--topic` `--limit` | Posts proven this week in the account's circle and niche, plus bookmarks, likes and library outliers. |

## Engage

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic engage who-to-engage`](/actions/engage/#who-to-engage-now) | `--limit` | People worth replying to right now and why: unanswered mentions, the account's reply circle, and warm Signals leads. |
| [`xholic engage reply-circle`](/actions/engage/#reply-circle) | `--limit` | The people the account trades replies with most, and who to reply to next to grow. |
| [`xholic engage get-consent`](/actions/engage/#engage-guidelines-status) | None | Whether the user accepted Engage's guidelines. |
| [`xholic engage accept-consent`](/actions/engage/#accept-engage-guidelines) | **`--version`** | Record that the user accepted Engage's guidelines for engaging on X. |
| [`xholic engage list-feeds`](/actions/engage/#engage-feeds) | `--placement` | The account's saved Engage feeds (FEEDS) or extension timelines (TIMELINE). |
| [`xholic engage create-feed`](/actions/engage/#create-an-engage-feed) | **`--name`** **`--type`** `--placement` `--query` `--contact-list-id` `--x-list-id` `--excluded-handles` `--excluded-terms` | Save a feed of posts to engage with: a topic, a contact list, an X list, or one account (timelines only). |
| [`xholic engage create-feeds`](/actions/engage/#create-several-engage-feeds) | **`--feeds`** | Save up to 8 Engage feeds in one call. |
| [`xholic engage update-feed`](/actions/engage/#edit-an-engage-feed) | **`--id`** **`--name`** **`--type`** `--placement` `--query` `--contact-list-id` `--x-list-id` `--excluded-handles` `--excluded-terms` | Change a saved feed. |
| [`xholic engage delete-feed`](/actions/engage/#delete-an-engage-feed) | **`--id`** | Delete a saved Engage feed. |
| [`xholic engage feed`](/actions/engage/#read-an-engage-feed) | `--feed-id` `--type` `--query` `--sort` `--cursor` `--hide-replied` | Posts to engage with from a saved feed (feedId) or an ad-hoc topic search (type TOPIC + query), top or latest. |
| [`xholic engage set-item-state`](/actions/engage/#hide-or-mark-a-post-replied) | **`--tweet-id`** `--hidden` `--replied` `--account-id` | Hide a post from Engage feeds (a skip), or mark it replied or not replied. |
| [`xholic engage clear-skips`](/actions/engage/#clear-hidden-posts) | None | Bring back every post the account hid from Engage feeds. |

## Mentions

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic mentions list`](/actions/mentions/#mentions) | `--kind` `--hide-replied` | The account's latest mentions and replies to its posts, synced by Xholic. |

## Replies

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic replies mine`](/actions/replies/#my-replies) | `--sort` | Replies the account sent, newest or best first. |
| [`xholic replies prefetch`](/actions/replies/#warm-up-a-reply) | **`--tweet-id`** | Load an X post and its thread ahead of drafting a reply with Xholic's reply writer. |
| [`xholic replies select-draft`](/actions/replies/#pick-another-reply-draft) | **`--tweet-id`** **`--generation-id`** **`--index`** | Switch a reply generation to one of its other drafts (already paid for, free). |
| [`xholic replies get-settings`](/actions/replies/#reply-writer-settings) | None | The reply writer's custom instructions and whether replies may use the author's name. |
| [`xholic replies update-settings`](/actions/replies/#update-reply-writer-settings) | `--custom-instructions` `--include-author-name` | Change the reply writer's custom instructions or whether replies may use the author's name. |

## People

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic people get`](/actions/people/#look-up-a-person) | **`--username`** | Everything about one X account: profile, recent posts, and the history with the user (replies, DMs, notes, lead status). |

## Posts

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic posts get`](/actions/posts/#look-up-a-post) | **`--tweet-id`** | Any X post by id or URL with its numbers and context. |
| [`xholic posts conversation`](/actions/posts/#post-conversation) | **`--tweet-id`** | A post's thread and replies. |
| [`xholic posts schedule`](/actions/posts/#schedule-a-post) | **`--text`** `--thread-parts` **`--scheduled-at`** **`--timezone`** `--media` `--automation` | Schedule a post or thread on X at a time. |
| [`xholic posts publish-now`](/actions/posts/#post-now) | **`--text`** `--thread-parts` `--media` `--automation` | Post to X immediately. |

## X search

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic x search`](/actions/x/#search-x) | **`--query`** `--sort` | Live X search, one page of up to 20 posts. |

## Inspiration

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic inspiration search`](/actions/inspiration/#search-the-inspiration-library) | **`--query`** `--time-range` `--limit` | Search Xholic's library of proven posts by idea, with outlier scores (how far a post beat its author's normal). |
| [`xholic inspiration explain-structure`](/actions/inspiration/#explain-a-posts-structure) | **`--tweet-id`** | Xholic AI breaks down why an Inspiration post works: hook, structure and reusable pattern. |

## Library

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic library saved`](/actions/library/#saved-posts) | `--query` `--kind` `--questions-only` `--limit` | The account's X bookmarks and likes mirrored by Xholic, plus saved posts. |
| [`xholic library save`](/actions/library/#save-a-post) | **`--tweet-id`** | Save an X post to the user's library by its id. |
| [`xholic library save-by-url`](/actions/library/#save-a-post-by-url) | **`--url`** | Save an X post to the user's library from its URL. |
| [`xholic library unsave`](/actions/library/#remove-a-saved-post) | **`--tweet-id`** | Remove a post from the user's library. |

## Creators

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic creators top-posts`](/actions/creators/#a-creators-top-posts) | **`--username`** `--range` `--limit` | Another creator's best posts over a period. |

## Drafts

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic drafts check`](/actions/drafts/#check-a-draft) | **`--text`** `--thread-parts` `--source-text` | Free checks before posting: length for the account's X tier, links (Xholic drafts never contain links), near-copies of a source post, repeats of what the account posted recently, and thread structure. |
| [`xholic drafts save`](/actions/drafts/#save-a-draft) | **`--text`** `--thread-parts` `--timezone` | Save a post or thread as a draft in Xholic. |
| [`xholic drafts with-xholic`](/actions/drafts/#write-with-xholics-writer) | `--count` `--angles` `--source-post-ids` `--like-post-id` `--topic` | Only when the user explicitly asks for Xholic's writer. |
| [`xholic drafts reply-with-xholic`](/actions/drafts/#reply-with-xholics-reply-writer) | **`--tweet-id`** `--instructions` | Only when the user explicitly asks for Xholic's reply writer. |

## Queue

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic queue list`](/actions/queue/#queue-and-drafts) | `--view` `--limit` | Scheduled posts and drafts, soonest first. |
| [`xholic queue reschedule`](/actions/queue/#reschedule-a-post) | **`--post-id`** **`--scheduled-at`** **`--timezone`** | Move a queued post to a new time. |
| [`xholic queue unschedule`](/actions/queue/#unschedule-a-post) | **`--post-id`** | Take a scheduled post out of the queue and keep it as a draft. |
| [`xholic queue edit`](/actions/queue/#edit-a-queued-post) | **`--post-id`** **`--text`** `--thread-parts` `--media` `--automation` | Change the text, thread, media or automations of a draft or scheduled post. |
| [`xholic queue delete`](/actions/queue/#delete-a-draft-or-scheduled-post) | **`--post-id`** | Delete a draft or scheduled post from Xholic. |
| [`xholic queue counts`](/actions/queue/#queue-counts) | None | How many posts are queued, drafted, posted and failed. |
| [`xholic queue get-post`](/actions/queue/#get-a-queued-post) | **`--post-id`** | One draft, scheduled, posted or failed post in Xholic with its text, thread, media, automations and status. |
| [`xholic queue post-now`](/actions/queue/#post-a-queued-post-now) | **`--post-id`** **`--text`** `--thread-parts` `--media` `--automation` `--expected-updated-at` | Publish an existing draft or scheduled post to X right away. |
| [`xholic queue cancel`](/actions/queue/#cancel-a-post) | **`--post-id`** | Cancel a draft, scheduled or failed post so it never goes out. |
| [`xholic queue share-draft`](/actions/queue/#share-a-draft-link) | **`--post-id`** | Create a public read-only link to a draft so someone without Xholic can review it. |
| [`xholic queue revoke-share`](/actions/queue/#turn-off-draft-links) | **`--post-id`** | Turn off every public link to a draft. |
| [`xholic queue add-automation-step`](/actions/queue/#add-an-automation-to-a-live-post) | **`--post-id`** **`--type`** `--delay-minutes` `--views-threshold` `--likes-threshold` `--template-name` `--template-text` `--monitoring-window-minutes` `--reply-keyword` `--require-repost` `--max-recipients` `--message-template` | Add one automation step to a post that is already live: repost, unrepost, delete, a plug reply after enough likes, or DMs to people who reply with a keyword. |
| [`xholic queue update-automation-step`](/actions/queue/#edit-a-live-posts-automation) | **`--post-id`** **`--rule-id`** **`--type`** `--delay-minutes` `--views-threshold` `--likes-threshold` `--template-name` `--template-text` `--monitoring-window-minutes` `--reply-keyword` `--require-repost` `--max-recipients` `--message-template` | Change a pending automation step on a live post. |
| [`xholic queue remove-automation-step`](/actions/queue/#remove-a-live-posts-automation) | **`--post-id`** **`--rule-id`** | Remove a pending automation step from a live post before it runs. |

## Media

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic media create-upload`](/actions/media/#upload-media) | **`--original-filename`** **`--mime-type`** **`--byte-size`** **`--kind`** | Start a media upload (image, GIF or video). |
| [`xholic media complete-upload`](/actions/media/#finish-a-media-upload) | **`--media-id`** `--parts` | Mark an upload finished after the bytes were PUT to the upload URL. |
| [`xholic media get`](/actions/media/#media-status) | **`--media-id`** | One uploaded media item's state. |
| [`xholic media preview`](/actions/media/#media-preview-link) | **`--media-id`** | A short-lived URL to view an uploaded media item. |
| [`xholic media delete`](/actions/media/#delete-uploaded-media) | **`--media-id`** | Delete an uploaded media item that no post uses. |
| [`xholic media browse-klipy`](/actions/media/#find-a-gif-or-meme) | **`--type`** `--q` `--page` | Search or browse KLIPY GIFs and memes to attach to a post. |
| [`xholic media import-klipy`](/actions/media/#import-a-gif-or-meme) | **`--type`** **`--slug`** | Copy a KLIPY GIF or meme into the account's media. |

## Content export

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic content export`](/actions/content/#export-content) | `--range` `--timezone` | The account's posts with their numbers for a period, as data you can analyse. |

## Analytics

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic analytics summary`](/actions/analytics/#analytics) | `--range` `--timezone` | Totals and a daily series for a period: impressions, engagement, followers, posts and replies counted separately. |
| [`xholic analytics content`](/actions/analytics/#how-posts-did) | `--range` `--timezone` `--search` `--sort` `--limit` | How the account's posts performed, compared with its normal. |
| [`xholic analytics growth`](/actions/analytics/#growth-funnel) | None | The follower funnel for the last 7 and 30 days (impressions to profile visits to follows), its weakest step and the profile check score. |
| [`xholic analytics import-status`](/actions/analytics/#analytics-sync-status) | None | Whether the account's post history is still importing, up to date or delayed, and how far it got. |
| [`xholic analytics export-posts-csv`](/actions/analytics/#export-post-stats-csv) | `--range` `--timezone` `--kind` `--origin` `--format` `--search` `--sort` `--direction` `--from` `--to` | Every post in a period with its numbers as CSV text (up to 5,000 rows). |
| [`xholic analytics export-daily-csv`](/actions/analytics/#export-daily-stats-csv) | `--range` `--timezone` | Daily totals for a period (posts, impressions, engagement, follower change) as CSV text. |
| [`xholic analytics list-imports`](/actions/analytics/#analytics-imports) | None | X analytics CSV files imported into this account, with the days each one covered. |
| [`xholic analytics import-csv`](/actions/analytics/#import-x-analytics-csv) | **`--csv`** `--confirm-ownership` | Import the account overview CSV exported from X analytics to fill in past days. |
| [`xholic analytics delete-import`](/actions/analytics/#remove-an-analytics-import) | **`--id`** | Remove an imported analytics file and the days it wrote. |

## Memory

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic memory remember`](/actions/memory/#remember) | **`--fact`** **`--kind`** | Save a fact, writing preference or answer about the user to the memory every Xholic writer reads. |
| [`xholic memory forget`](/actions/memory/#forget) | **`--memory-id`** `--fact` | Remove a memory the user says is wrong or outdated. |
| [`xholic memory list`](/actions/memory/#saved-memories) | None | Everything the user told Xholic to remember. |

## Workers

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic workers list`](/actions/workers/#workers) | None | The account's Workers (always-on AI writers): settings, schedule and status. |
| [`xholic workers drafts`](/actions/workers/#worker-drafts) | `--neuron-id` `--limit` | Drafts a Worker wrote that are waiting for review. |
| [`xholic workers overview`](/actions/workers/#growth-overview) | None | The account's growth overview: milestones, Workers and what they produced. |
| [`xholic workers find-creators`](/actions/workers/#find-creators-for-a-worker) | `--query` | Find X creators whose style a Worker can learn from. |
| [`xholic workers create`](/actions/workers/#create-a-worker) | **`--name`** `--status` **`--voice-mode`** `--creator-xids` `--instructions` `--apply-account-rules` `--mirror-proven-posts` **`--topic-mode`** `--custom-topic` `--product-ids` **`--output-count`** **`--schedule-mode`** `--schedule-time-minutes` `--schedule-day-of-week` | Create a Worker that writes posts on a schedule or on demand. |
| [`xholic workers update`](/actions/workers/#edit-a-worker) | **`--worker-id`** **`--changes`** | Change a Worker's instructions, voice, topics, products, size or schedule. |
| [`xholic workers set-status`](/actions/workers/#pause-or-resume-a-worker) | **`--worker-id`** **`--status`** | Pause or resume a Worker. |
| [`xholic workers run`](/actions/workers/#run-a-worker-now) | **`--neuron-id`** | Queue a Worker to write a new batch now with Xholic's writer. |
| [`xholic workers create-ready-made`](/actions/workers/#create-the-ready-made-worker) | None | Create the preset Worker built from the account's context (voice, creators it already has posts for, products). |
| [`xholic workers rebuild-ready-made`](/actions/workers/#rebuild-the-ready-made-worker) | **`--id`** `--keep-instructions` | Refresh the ready-made Worker's creators and brief from the account's current context. |
| [`xholic workers cancel-queued-run`](/actions/workers/#stop-a-queued-worker-run) | **`--id`** | Stop a Worker run that is queued and hasn't started yet. |
| [`xholic workers runs`](/actions/workers/#worker-runs) | `--limit` | Recent Worker runs, newest first: status, trigger, credits and why a run failed or was skipped. |
| [`xholic workers voice`](/actions/workers/#takes-and-expertise) | None | The account's takes (opinions) and expertise areas that Workers write from, each marked as mined or added by the user. |
| [`xholic workers add-take`](/actions/workers/#add-a-take) | **`--text`** | Add an opinion the user holds, in their words, for Workers to write from. |
| [`xholic workers remove-take`](/actions/workers/#remove-a-take) | **`--id`** | Remove a take so Workers stop writing from it. |
| [`xholic workers add-expertise`](/actions/workers/#add-an-expertise-area) | **`--name`** | Add a subject the account teaches, so Workers write knowledge posts about it. |
| [`xholic workers remove-expertise`](/actions/workers/#remove-an-expertise-area) | **`--id`** | Remove an expertise area and its insight cards. |
| [`xholic workers review-draft`](/actions/workers/#review-a-worker-draft) | **`--id`** **`--status`** `--reason` | Move a Worker draft: DRAFT keeps it in the user's drafts, DISMISSED throws it away, TO_REVIEW puts it back in review. |
| [`xholic workers draft-feedback`](/actions/workers/#more-or-less-like-this) | **`--id`** **`--action`** | Tell the Workers to write more or fewer drafts like this one. |
| [`xholic workers draft-meme`](/actions/workers/#worker-meme-image) | **`--id`** | The reaction image (GIF or meme) attached to a Worker meme draft. |
| [`xholic workers set-draft-meme`](/actions/workers/#change-a-worker-meme-image) | **`--id`** **`--kind`** **`--pick`** | Swap or remove the reaction image on a Worker meme draft. |

## Leads

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic leads list`](/actions/leads/#leads) | `--agent-id` `--status` `--limit` | Leads found by the account's Signals agents, hottest first, with why each one fits. |
| [`xholic leads set-status`](/actions/leads/#mark-a-lead) | **`--id`** **`--status`** `--suppress` | Mark a lead COLLECTED (keep), CONTACTED (reached out) or DISMISSED (not now). |
| [`xholic leads rate`](/actions/leads/#rate-a-lead) | **`--id`** **`--verdict`** `--reason` | Mark a lead as a FIT or NOT_FIT, with an optional short reason, so the Signals agent learns who to find. |

## Signals

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic signals automation-setup`](/actions/signals/#agents-set-up-on-the-account) | None | Every Worker and Signals agent with its settings, for planning changes. |
| [`xholic signals customer-brief`](/actions/signals/#customer-brief) | None | Who the account's customers are, what they ask, and where to find them, from Signals. |
| [`xholic signals draft-audience`](/actions/signals/#draft-a-lead-audience) | **`--mode`** `--product-id` `--url` `--audience-description` | Draft who a Signals agent should find, from a product, a URL or a description. |
| [`xholic signals suggest-sources`](/actions/signals/#suggest-lead-sources) | **`--audience-description`** `--rubric` `--product-id` `--existing` | Suggest keywords, profiles and lists a Signals agent should watch. |
| [`xholic signals test-searches`](/actions/signals/#test-lead-searches) | **`--queries`** | Try search queries on live X before an agent uses them. |
| [`xholic signals create-agent`](/actions/signals/#create-a-signals-agent) | **`--name`** `--product-id` **`--audience-description`** `--exclusions` `--rubric` `--strictness` `--dm-policy` `--destination-list-id` `--baseline-mode` `--interval-hours` `--status` **`--sources`** `--new-list-name` | Create an always-on agent that finds leads on X from sources and an audience description. |
| [`xholic signals find-customers`](/actions/signals/#find-customers-for-a-product) | **`--product-id`** `--replace-agent-id` | One-click agent that finds people asking for what a product does, and its competitors' customers. |
| [`xholic signals update-agent`](/actions/signals/#edit-a-signals-agent) | **`--agent-id`** **`--changes`** | Change a Signals agent's audience, sources, rubric or schedule. |
| [`xholic signals set-status`](/actions/signals/#pause-or-resume-a-signals-agent) | **`--agent-id`** **`--status`** | Pause or resume a Signals agent. |
| [`xholic signals dashboard`](/actions/signals/#signals-overview) | None | Every Signals agent with its status, sources, last run and lead counts, plus the month's scoring quota and any ready-made or product agent that needs a rebuild. |
| [`xholic signals search-profiles`](/actions/signals/#find-accounts-to-watch) | **`--q`** | Search X accounts by name or handle to watch in a Signals agent (Profile or Followers sources). |
| [`xholic signals source-details`](/actions/signals/#watched-source-details) | `--usernames` `--list-ids` | Names and avatars for X accounts and X lists a Signals agent watches. |
| [`xholic signals create-ready-made`](/actions/signals/#create-the-ready-made-signals-agent) | None | Create the one-click Signals agent built from the account's context and tested searches. |
| [`xholic signals rebuild-ready-made`](/actions/signals/#rebuild-the-ready-made-signals-agent) | **`--id`** `--keep-targeting` | Refresh the ready-made Signals agent from the account's current context. |
| [`xholic signals expand-ready-made`](/actions/signals/#add-searches-to-the-ready-made-agent) | **`--id`** | Top the ready-made Signals agent up to the paid plan's size with more searches from the profile, keeping its current ones. |
| [`xholic signals dismiss-expand`](/actions/signals/#hide-the-add-searches-offer) | **`--id`** | Hide the offer to add more searches to the ready-made Signals agent, for good. |
| [`xholic signals rebuild-product-agent`](/actions/signals/#update-a-find-customers-agent) | **`--id`** | Rebuild a product's Find customers agent after the product changed. |
| [`xholic signals run-agent`](/actions/signals/#run-a-signals-agent-now) | **`--id`** | Queue a Signals agent to search for leads now instead of waiting for its schedule. |
| [`xholic signals runs`](/actions/signals/#signals-runs) | `--limit` | Recent Signals agent runs, newest first, with what each found and scored. |
| [`xholic signals agent-brief`](/actions/signals/#agents-customer-brief) | **`--id`** | One Signals agent's weekly brief: themes, questions and competitors its leads talk about, with the people and posts behind each. |
| [`xholic signals market-brief`](/actions/signals/#market-brief) | None | The weekly brief across all of the account's Signals agents: one view of what the market asks for and who to reply to. |
| [`xholic signals products`](/actions/signals/#products-and-their-customer-agents) | None | The account's products, each with its Find customers agent (and build progress) and competitors. |

## Competitors

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic competitors list`](/actions/competitors/#product-competitors) | **`--product-id`** `--discover` | A product's competitors, optionally discovering new ones. |
| [`xholic competitors add`](/actions/competitors/#add-a-competitor) | **`--product-id`** **`--entry`** | Add a competitor to a product. |
| [`xholic competitors discover`](/actions/competitors/#discover-competitors) | **`--product-id`** | Find a product's competitors and add them as suggestions to accept or dismiss. |
| [`xholic competitors set-status`](/actions/competitors/#accept-or-remove-a-competitor) | **`--product-id`** **`--competitor-id`** **`--status`** | ACCEPTED keeps a suggested competitor; DISMISSED removes any competitor. |

## Contacts

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic contacts list`](/actions/contacts/#contacts) | `--list-id` `--search` `--minimum-score` `--intent` `--limit` | Contacts and lists: search, filter by score or intent. |
| [`xholic contacts export`](/actions/contacts/#export-contacts) | `--list-id` `--search` | Contacts in a list as data. |
| [`xholic contacts add-to-list`](/actions/contacts/#add-someone-to-a-contact-list) | **`--list-id`** **`--handle`** | Add an X account to a contact list by handle. |
| [`xholic contacts add`](/actions/contacts/#add-a-known-person-to-a-list) | **`--list-id`** **`--creator-id`** | Add a person Xholic already has (by X user id, e.g. |
| [`xholic contacts update`](/actions/contacts/#update-a-contact) | **`--id`** `--status` `--note` | Change a contact's status (NEW, SAVED, CONTACTED, DISMISSED) or its note. |
| [`xholic contacts remove`](/actions/contacts/#remove-from-a-list) | **`--id`** | Remove a contact from its list. |
| [`xholic contacts save-note`](/actions/contacts/#save-a-note-on-a-person) | **`--creator-id`** `--id` **`--note`** | Add a note about a person, or edit one by passing its id. |
| [`xholic contacts delete-note`](/actions/contacts/#delete-a-note) | **`--id`** | Delete a note about a person. |
| [`xholic contacts search-profiles`](/actions/contacts/#find-people-to-add) | **`--q`** **`--list-id`** | Search X accounts by name or handle to add to a contact list. |
| [`xholic contacts profile`](/actions/contacts/#contact-profile) | **`--id`** `--lead-id` | Everything Xholic knows about one person: profile, lists, notes, engagement with the account, DMs and, with leadId, why they were found as a lead. |
| [`xholic contacts follower-import`](/actions/contacts/#follower-import-status) | None | Whether the account's own followers have been imported into Contacts, and the latest import's progress. |
| [`xholic contacts import-followers`](/actions/contacts/#import-my-followers) | None | Queue an import of the account's own X followers into Contacts. |
| [`xholic contacts imports`](/actions/contacts/#contact-imports) | None | X list imports into contact lists, with their progress. |
| [`xholic contacts import-x-list`](/actions/contacts/#import-an-x-list) | **`--list-id`** **`--url`** | Queue an import of a public X list's members into a contact list. |
| [`xholic contacts cancel-import`](/actions/contacts/#stop-a-contact-import) | **`--id`** | Stop a running X list import. |

## Audience

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic audience dataset`](/actions/audience/#audience-dataset) | **`--source`** **`--source-id`** `--usernames` `--open-dms-only` | Collect a post's repliers, quoters or reposters, or an X list's members, as people you can filter, research and message. |

## Ask Xholic

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic ask start`](/actions/ask/#hand-a-job-to-xholic) | **`--task`** `--model` | Hand a long job to Xholic's own agent, e.g. |
| [`xholic ask task`](/actions/ask/#ask-job-status) | **`--task-id`** | Status and answer of a job started with ask_xholic or draft_with_xholic. |
| [`xholic ask conversations`](/actions/ask/#ask-conversations) | `--search` `--cursor` `--limit` `--status` | The user's past Ask conversations, newest first, with search and paging. |
| [`xholic ask conversation`](/actions/ask/#ask-conversation) | **`--id`** | One Ask conversation with its messages and drafts. |
| [`xholic ask catalog`](/actions/ask/#ask-models-and-skills) | None | Ask's models the plan can use, its built-in skills (playbooks) and the user's custom skills. |
| [`xholic ask create-skill`](/actions/ask/#create-an-ask-skill) | **`--title`** `--description` **`--prompt`** `--model` | Save a reusable Ask skill: a named prompt the user can run again. |
| [`xholic ask update-skill`](/actions/ask/#edit-an-ask-skill) | **`--skill-id`** **`--title`** `--description` **`--prompt`** `--model` | Replace a custom Ask skill's title, description, prompt and model. |
| [`xholic ask delete-skill`](/actions/ask/#delete-an-ask-skill) | **`--skill-id`** | Delete a custom Ask skill. |

## Action catalog

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic actions find`](/actions/actions/#find-an-action) | **`--query`** `--limit` | Search everything Xholic can do (about 150 actions) and the docs. |

## Docs

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic docs read`](/actions/docs/#read-a-docs-page) | **`--path`** | Read a page of the Xholic docs by path, e.g. |

## Scheduler

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic scheduler get-settings`](/actions/scheduler/#scheduler-settings) | None | The account's scheduler settings: timezone, posting window, quote fallback and default post automations with saved templates. |
| [`xholic scheduler update-settings`](/actions/scheduler/#update-scheduler-settings) | **`--timezone`** **`--automation`** | Replace the scheduler timezone and default post automations (with templates). |
| [`xholic scheduler set-posting-window`](/actions/scheduler/#set-the-posting-window) | **`--timezone`** **`--posting-window`** | Set the hours of the day posts may go out at, or clear it with null. |
| [`xholic scheduler set-quote-fallback`](/actions/scheduler/#set-the-quote-fallback) | **`--timezone`** **`--quote-unavailable-action`** | Choose what happens when a scheduled quote post's original is gone at publish time: post without the quote, or fail the post. |
| [`xholic scheduler lookup-quote`](/actions/scheduler/#look-up-a-post-to-quote) | **`--url`** | Preview the X post behind a URL before quoting it: author, text, time and media. |
| [`xholic scheduler parse-time`](/actions/scheduler/#parse-a-schedule-time) | **`--input`** **`--timezone`** | Turn words like "tomorrow 9am" or "next friday at noon" into an exact ISO time in the account's timezone. |
| [`xholic scheduler schedule-view`](/actions/scheduler/#calendar-view) | `--tag-ids` `--timezone` `--days` `--start-date` | The posting calendar day by day: scheduled posts, open slots and best times, for up to 42 days. |
| [`xholic scheduler dashboard-summary`](/actions/scheduler/#scheduler-summary) | None | What needs attention in the scheduler: failed posts, failed automations and what's coming up next. |
| [`xholic scheduler acknowledge-alert`](/actions/scheduler/#dismiss-a-scheduler-alert) | **`--kind`** **`--post-id`** `--rule-id` | Mark a failed post or failed automation alert from scheduler.dashboard_summary as seen so it stops showing. |
| [`xholic scheduler best-times`](/actions/scheduler/#best-times-to-post) | `--timezone` `--slot-count` `--window-start-minutes` `--window-end-minutes` | The best upcoming times for this account to post, from when its audience engages. |
| [`xholic scheduler list-slots`](/actions/scheduler/#weekly-posting-slots) | None | The account's weekly posting slots that "next slot" scheduling fills. |
| [`xholic scheduler replace-slots`](/actions/scheduler/#replace-weekly-posting-slots) | **`--slots`** | Replace every weekly posting slot with this list. |

## Tags

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic tags list`](/actions/tags/#list-tags) | None | The account's post tags (name, color, id). |
| [`xholic tags create`](/actions/tags/#create-a-tag) | **`--name`** **`--color`** | Create a post tag. |
| [`xholic tags import-starter`](/actions/tags/#add-the-starter-tags) | None | Add Xholic's starter tag set (missing ones only). |
| [`xholic tags update`](/actions/tags/#edit-a-tag) | **`--tag-id`** **`--name`** **`--color`** | Rename a tag or change its color. |
| [`xholic tags delete`](/actions/tags/#delete-a-tag) | **`--tag-id`** | Delete a tag. |

## Composer

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic composer rewrite`](/actions/composer/#rewrite-with-xholic-ai) | **`--text`** **`--instruction`** `--context` **`--mode`** `--max-characters` | Only when the user explicitly asks for Xholic's rewriter. |
| [`xholic composer originality`](/actions/composer/#originality-check-with-xholic-ai) | **`--parts`** `--source-text` | Only when the user explicitly asks. |
| [`xholic composer mention-suggestions`](/actions/composer/#suggest-mentions) | **`--q`** `--remote` | X accounts matching a partial handle, from Xholic's data first. |

## Remix

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic remix generate`](/actions/remix/#remix-a-post-with-xholic-ai) | **`--tweet-id`** **`--closeness`** `--custom-instructions` `--remix-action` `--max-length` `--product-id` `--product-context-intent` `--current-draft` | Only when the user explicitly asks for Xholic's remixer. |
| [`xholic remix select-draft`](/actions/remix/#pick-another-remix-draft) | **`--remix-id`** **`--index`** | Switch a remix to another of its drafts. |
| [`xholic remix post`](/actions/remix/#post-a-remix) | **`--remix-id`** `--remixed-text` | Post a remix to X now, optionally with edited text. |
| [`xholic remix history`](/actions/remix/#remix-history) | `--cursor` `--limit` | Past remixes with their source posts and drafts, newest first. |
| [`xholic remix list-presets`](/actions/remix/#remix-presets) | None | The account's saved custom instructions for remixing. |
| [`xholic remix create-preset`](/actions/remix/#save-a-remix-preset) | **`--label`** **`--instruction`** | Save a named custom instruction for remixing. |
| [`xholic remix update-preset`](/actions/remix/#edit-a-remix-preset) | **`--preset-id`** **`--label`** **`--instruction`** | Change a remix preset's label and instruction. |
| [`xholic remix delete-preset`](/actions/remix/#delete-a-remix-preset) | **`--preset-id`** | Delete a remix preset. |

## Collections

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic collections list`](/actions/collections/#collections) | None | The user's saved-post collections with counts. |
| [`xholic collections create`](/actions/collections/#create-a-collection) | **`--name`** `--emoji` | Create a collection for saved posts. |
| [`xholic collections hooks`](/actions/collections/#hooks-collection) | None | Get the user's Hooks collection (for saved hook ideas), creating it if it doesn't exist. |
| [`xholic collections move`](/actions/collections/#move-a-saved-post) | **`--tweet-id`** **`--collection-id`** | Put a saved post in a collection, or take it out with collectionId null. |
| [`xholic collections reorder`](/actions/collections/#reorder-collections) | **`--ordered-collection-ids`** | Set the display order of collections, by id. |
| [`xholic collections rename`](/actions/collections/#rename-a-collection) | **`--id`** **`--name`** `--emoji` | Rename a collection or change its emoji (null removes it). |
| [`xholic collections delete`](/actions/collections/#delete-a-collection) | **`--id`** | Delete a collection. |

## Articles

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic articles list`](/actions/articles/#articles) | `--status` `--search` `--limit` `--cursor` | The account's X Articles (drafts, scheduled, published), newest first. |
| [`xholic articles create`](/actions/articles/#create-an-article) | `--title` | Start a new X Article draft with a title. |
| [`xholic articles eligibility`](/actions/articles/#can-this-account-publish-articles) | None | Whether the X account can publish Articles (X requires Premium) and why not. |
| [`xholic articles cover-usage`](/actions/articles/#ai-cover-allowance) | None | How many AI article covers are left today and this period. |
| [`xholic articles get`](/actions/articles/#get-an-article) | **`--id`** | One article with its title, subtitle, document, assets, status and version. |
| [`xholic articles update`](/actions/articles/#edit-an-article) | **`--id`** `--title` `--subtitle` `--document` **`--version`** | Save an article's title, subtitle or body. |
| [`xholic articles delete`](/actions/articles/#delete-an-article) | **`--id`** | Delete an article from Xholic. |
| [`xholic articles duplicate`](/actions/articles/#duplicate-an-article) | **`--id`** | Copy an article into a new draft. |
| [`xholic articles ai-run`](/actions/articles/#article-ai) | **`--id`** **`--kind`** `--model` `--instructions` `--selected-text` `--cover-style` `--source-asset-id` | Only when the user explicitly asks for Xholic's article AI. |
| [`xholic articles create-asset-upload`](/actions/articles/#upload-an-article-image) | **`--id`** **`--kind`** **`--filename`** **`--mime-type`** **`--byte-size`** `--width` `--height` `--alt-text` | Start an image upload for an article cover or inline image. |
| [`xholic articles finalize-asset`](/actions/articles/#finish-an-article-image-upload) | **`--id`** **`--asset-id`** | Mark an article image upload finished after the bytes were PUT to the upload URL. |
| [`xholic articles import-klipy`](/actions/articles/#add-a-gif-or-meme-to-an-article) | **`--id`** **`--kind`** **`--type`** **`--slug`** `--alt-text` | Copy a KLIPY GIF or meme (from media.browse_klipy) into an article as its cover or an inline image. |
| [`xholic articles delete-asset`](/actions/articles/#remove-an-article-image) | **`--id`** **`--asset-id`** | Remove an image from an article. |
| [`xholic articles schedule`](/actions/articles/#schedule-an-article) | **`--id`** **`--scheduled-at`** **`--timezone`** **`--version`** | Schedule an article to publish on X at a time. |
| [`xholic articles publish`](/actions/articles/#publish-an-article-now) | **`--id`** **`--version`** | Publish an article to X now. |
| [`xholic articles cancel-schedule`](/actions/articles/#unschedule-an-article) | **`--id`** | Take a scheduled article out of the queue; it stays a draft. |

## Contact lists

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic contact-lists list`](/actions/contact-lists/#contact-lists) | None | The account's contact lists with member counts, including which one is the close-accounts list. |
| [`xholic contact-lists create`](/actions/contact-lists/#create-a-contact-list) | **`--name`** `--description` | Create a contact list. |
| [`xholic contact-lists rename`](/actions/contact-lists/#rename-a-contact-list) | **`--id`** **`--name`** | Rename a contact list. |
| [`xholic contact-lists delete`](/actions/contact-lists/#delete-a-contact-list) | **`--id`** | Delete a contact list and its memberships. |
| [`xholic contact-lists set-close-accounts`](/actions/contact-lists/#use-a-list-as-close-accounts) | **`--id`** **`--enabled`** | Turn a list into the account's close-accounts list (people whose posts Home and Engage surface first), or turn that off. |

## Direct messages

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic dm dashboard`](/actions/dm/#dm-overview) | None | Direct messages at a glance: sender state (paused, stopped, needs reconnect), today's usage and limits, active campaigns and unread replies. |
| [`xholic dm preview-recipients`](/actions/dm/#find-people-to-dm) | **`--type`** `--tweet-url` `--include-replies` `--include-reposts` `--keyword` `--exclude-messaged-for-post` `--continuation` `--query` `--handles` `--list-id` `--list-url` `--days` `--skip-queued` `--skip-cooldown` | Find people to message from a post's repliers, a search, handles, an X list, recent interactions or a contact list, with whether each can be messaged. |
| [`xholic dm quick-send`](/actions/dm/#send-dms-now) | `--name` **`--message-template`** **`--confirmed-consent`** **`--recipients`** | Send one message to up to 500 people found with dm.preview_recipients, paced safely from the user's X account. |
| [`xholic dm control-queue`](/actions/dm/#pause-or-resume-all-dms) | **`--action`** | PAUSE_ALL holds every queued DM, RESUME_ALL continues, CANCEL_ALL_PENDING cancels everything not sent yet, ENABLE_SENDING turns DMs back on after a stop. |
| [`xholic dm stop-all`](/actions/dm/#stop-all-dms) | None | Emergency stop: cancel every pending DM and stop sending until turned back on with dm.control_queue ENABLE_SENDING. |
| [`xholic dm campaigns`](/actions/dm/#dm-campaigns) | `--status` `--limit` `--offset` | The account's DM campaigns with status and totals, newest first. |
| [`xholic dm create-campaign`](/actions/dm/#create-a-dm-campaign) | `--name` `--contact-list-id` `--delivery-mode` | Create a draft DM campaign for a contact list. |
| [`xholic dm campaign`](/actions/dm/#dm-campaign-details) | **`--id`** | One DM campaign: steps, variants, schedule, rules and totals. |
| [`xholic dm update-campaign`](/actions/dm/#edit-a-dm-campaign) | **`--id`** **`--name`** **`--delivery-mode`** **`--contact-list-id`** **`--steps`** **`--schedule`** **`--rules`** | Replace a draft campaign's settings: send the whole draft (read it with dm.campaign first). |
| [`xholic dm control-campaign`](/actions/dm/#pause-or-resume-a-campaign) | **`--id`** **`--action`** | PAUSE or RESUME a running campaign, or CANCEL_PENDING to cancel its unsent messages. |
| [`xholic dm delete-campaign`](/actions/dm/#delete-a-draft-campaign) | **`--id`** | Delete a DM campaign that hasn't launched. |
| [`xholic dm review-campaign`](/actions/dm/#check-a-campaign-before-launch) | **`--id`** | Check a draft campaign before launch: who can be messaged, who is skipped and why, missing variables, and the outreach guidelines the user must accept. |
| [`xholic dm launch-campaign`](/actions/dm/#launch-a-dm-campaign) | **`--id`** **`--confirmed-consent`** | Launch a reviewed campaign: its messages start sending on its schedule. |
| [`xholic dm preview-campaign`](/actions/dm/#preview-campaign-messages) | **`--id`** `--offset` `--limit` `--step-position` `--variant-label` `--generate-ai-line` | Render a campaign step's message for a few recipients exactly as it will be sent. |
| [`xholic dm duplicate-campaign`](/actions/dm/#duplicate-a-campaign) | **`--id`** | Copy a campaign's steps and settings into a new draft. |
| [`xholic dm campaign-recipients`](/actions/dm/#campaign-recipients) | **`--id`** `--status` `--step` `--q` `--limit` `--offset` | A campaign's recipients with each one's status, step and reply. |
| [`xholic dm campaign-stats`](/actions/dm/#dm-campaign-results) | **`--id`** | How a campaign is doing: sent, replied, interested and booked, by step and A/B variant. |
| [`xholic dm export-campaign`](/actions/dm/#export-a-campaign) | **`--id`** | A campaign's recipients and results as CSV. |
| [`xholic dm today`](/actions/dm/#assisted-dms-for-today) | None | Messages from ASSISTED campaigns ready for the user to send by hand today, with the rendered text and a link to each person's DMs. |
| [`xholic dm mark-assisted-sent`](/actions/dm/#mark-an-assisted-dm-sent) | **`--id`** | Record that the user sent an assisted DM by hand. |
| [`xholic dm undo-assisted-sent`](/actions/dm/#undo-marking-an-assisted-dm-sent) | **`--id`** | Put an assisted DM back in today's queue within a minute of marking it sent. |
| [`xholic dm skip-recipient`](/actions/dm/#skip-a-recipient) | **`--id`** | Skip one person in a campaign so they aren't messaged. |
| [`xholic dm cancel-recipient`](/actions/dm/#cancel-a-pending-dm) | **`--id`** | Cancel a DM that is queued but not sent yet. |
| [`xholic dm inbox`](/actions/dm/#dm-inbox) | `--lead-status` `--campaign-id` `--unread` `--limit` `--offset` | DM conversations with replies, newest first, with each person's lead status. |
| [`xholic dm thread`](/actions/dm/#dm-conversation) | **`--creator-id`** | The full DM conversation with one person. |
| [`xholic dm update-conversation`](/actions/dm/#update-a-dm-conversation) | **`--creator-id`** `--lead-status` `--unread` | Set a conversation's lead status (e.g. |
| [`xholic dm reply`](/actions/dm/#reply-to-a-dm) | **`--creator-id`** **`--text`** | Send a DM reply in a conversation from the user's X account. |
| [`xholic dm suggest-reply`](/actions/dm/#suggest-a-dm-reply-with-xholic) | **`--creator-id`** | Have Xholic's AI suggest a reply in a DM conversation. |
| [`xholic dm lists`](/actions/dm/#dm-lists) | None | Contact lists available for DM campaigns, with sizes, custom fields and how many can be messaged. |
| [`xholic dm estimate-import`](/actions/dm/#estimate-a-lead-import) | **`--source`** `--filters` **`--max-profiles`** | Estimate how many profiles an import (followers, following, keyword posters, X list, post engagers or handles) would bring in and what it uses of the plan's import pool. |
| [`xholic dm queue-import`](/actions/dm/#import-leads-for-dms) | **`--source`** `--filters` **`--max-profiles`** `--list-id` `--new-list-name` | Queue an import of X profiles into a contact list for DM campaigns. |
| [`xholic dm import-csv`](/actions/dm/#import-a-csv-of-leads) | **`--csv`** `--handle-column` `--field-map` `--list-id` `--new-list-name` | Import handles and custom fields from CSV text (up to 200 KB) into a contact list. |
| [`xholic dm imports`](/actions/dm/#dm-lead-imports) | `--list-id` | Lead imports with their progress, optionally for one list. |
| [`xholic dm cancel-import`](/actions/dm/#stop-a-lead-import) | **`--id`** | Stop a running lead import. |
| [`xholic dm settings`](/actions/dm/#dm-settings) | None | Default delivery mode, schedule and rules for new campaigns, the assisted daily limit and opt-out phrases. |
| [`xholic dm update-settings`](/actions/dm/#change-dm-settings) | **`--defaults`** **`--assisted-daily-limit`** **`--opt-out-phrases`** | Replace the DM settings: send all of them (read them with dm.settings first). |
| [`xholic dm suppressions`](/actions/dm/#do-not-message-list) | `--q` `--limit` `--offset` | People the account will never DM. |
| [`xholic dm suppress`](/actions/dm/#never-dm-someone) | **`--creator-id`** `--reason` | Add a person to the do-not-message list and cancel their pending DMs. |
| [`xholic dm bulk-suppress`](/actions/dm/#never-dm-these-people) | **`--handles`** `--reason` | Add many handles to the do-not-message list at once and cancel their pending DMs. |
| [`xholic dm unsuppress`](/actions/dm/#allow-dms-to-someone-again) | **`--creator-id`** | Remove a person from the do-not-message list. |
| [`xholic dm inbound-rules`](/actions/dm/#keyword-auto-replies) | None | Keyword rules that DM people automatically when they message or reply with a word like GUIDE. |
| [`xholic dm create-inbound-rule`](/actions/dm/#add-a-keyword-auto-reply) | **`--keyword`** **`--reply-template`** `--active` | Add a rule that automatically DMs replyTemplate to anyone who sends the keyword. |
| [`xholic dm update-inbound-rule`](/actions/dm/#edit-a-keyword-auto-reply) | **`--id`** **`--keyword`** **`--reply-template`** `--active` | Replace a keyword rule's keyword, reply or active state. |
| [`xholic dm delete-inbound-rule`](/actions/dm/#delete-a-keyword-auto-reply) | **`--id`** | Delete a keyword rule. |

## Home

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic home feed`](/actions/home/#home-for-you-today) | None | The account's Home: overview numbers, the welcome drafts after sign-up, and up to five ranked cards for today (mentions to answer, leads, queue gaps, posts taking off, trends). |
| [`xholic home card-action`](/actions/home/#done-dismiss-or-snooze-a-home-card) | **`--workspace-id`** **`--key`** **`--type`** **`--action`** `--tweet-ids` | Mark a Home card done, dismiss it, snooze it or restore it, by the key and type home.feed returned. |
| [`xholic home welcome-action`](/actions/home/#welcome-drafts) | **`--workspace-id`** **`--action`** `--position` | Act on the welcome drafts shown after sign-up: dismiss-message hides the intro, dismiss-draft or restore-draft one draft by position, retry rebuilds drafts that failed. |

## Settings

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic settings account`](/actions/settings/#xholic-account) | None | The signed-in Xholic user's account: name, email, avatar and whether their main X login is still connected. |
| [`xholic settings reply-preferences`](/actions/settings/#reply-rules) | None | The account's custom rules for reply drafts (what every Xholic reply writer must follow). |
| [`xholic settings update-reply-preferences`](/actions/settings/#update-reply-rules) | `--custom-rules` | Replace the account's custom reply rules. |
| [`xholic settings about-you`](/actions/settings/#about-you-settings) | None | The account's About You settings as Stark shows them: the free-text description, selected topics and tones. |
| [`xholic settings set-account-type`](/actions/settings/#set-account-type) | **`--override`** | Tell Xholic whether the account is a person, a brand or a topic page, which changes the voice every writer uses. |
| [`xholic settings suggest-interests`](/actions/settings/#suggest-topics) | None | Suggest About You topics from the account's recent posts. |
| [`xholic settings personalization`](/actions/settings/#personalization-settings) | None | The account's audience override, style vocabulary override and global rules that every writer reads, plus the generated style guide. |
| [`xholic settings update-personalization`](/actions/settings/#update-personalization) | `--audience-override` `--style-vocabulary-override` `--global-rules` | Replace the audience override, style vocabulary override and global rules. |
| [`xholic settings regenerate-style-guide`](/actions/settings/#rebuild-the-style-guide) | None | Rebuild the account's writing style guide from its posts and style creators. |
| [`xholic settings style-creators`](/actions/settings/#style-creators) | None | The up to 3 creators the account writes like (favourite creators), with the current count. |
| [`xholic settings search-style-creators`](/actions/settings/#find-style-creators) | **`--q`** | Search X creators to write like, by name or handle (at least 2 characters). |
| [`xholic settings add-style-creator`](/actions/settings/#add-a-style-creator) | **`--creator-id`** | Add one creator to write like (up to 3). |
| [`xholic settings save-style-creators`](/actions/settings/#set-style-creators) | **`--creator-ids`** | Replace the creators to write like with this list (up to 3). |
| [`xholic settings usage`](/actions/settings/#x-data-usage) | `--days` | The user's external X data usage per feature over the last few days (default 30). |
| [`xholic settings quota`](/actions/settings/#daily-limits) | `--details` | What the plan allows today per feature and how much is used. |

## Billing

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic billing status`](/actions/billing/#plan-and-subscription) | None | The user's plan and subscription state, including trial dates. |
| [`xholic billing details`](/actions/billing/#billing-details) | None | The billing details on file for the subscription. |
| [`xholic billing payments`](/actions/billing/#payment-history) | None | Past payments and invoices. |
| [`xholic billing credit-packs`](/actions/billing/#ai-credit-packs) | None | The AI credit packs the user can buy and their prices. |
| [`xholic billing trial-eligibility`](/actions/billing/#trial-eligibility) | None | Whether a checkout would still include the free trial for this user. |

## Sharing

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic sharing list`](/actions/sharing/#account-sharing) | None | Who the user shared their X accounts with and which accounts others shared with them, with roles and pending invites. |

## Free tools

| Command | Flags | What it does |
| --- | --- | --- |
| [`xholic free-tools profile-report`](/actions/free-tools/#x-profile-report) | **`--handle`** **`--report`** `--timezone` | A free report on any public X account. |
| [`xholic free-tools shadowban-check`](/actions/free-tools/#shadowban-check) | **`--handle`** | Check whether a public X account looks shadowbanned or limited in search, replies and suggestions. |
| [`xholic free-tools trend-regions`](/actions/free-tools/#x-trend-regions) | None | The regions X trends are available for, with their region slugs for x_trends. |
| [`xholic free-tools trends`](/actions/free-tools/#x-trends) | **`--region`** | What is trending on X in a region right now (from Xholic's recent snapshot). |
| [`xholic free-tools read-thread`](/actions/free-tools/#read-a-thread) | **`--url`** | Unroll an X thread from the link to any of its posts into one readable piece, with its media. |
| [`xholic free-tools card-preview`](/actions/free-tools/#link-card-preview) | **`--url`** | Show how a link will look as a card on X (title, description, image, card type) and what is missing from its tags. |
| [`xholic free-tools post-media`](/actions/free-tools/#post-media-links) | **`--tweet-url`** **`--type`** | Get download links for the video, GIF or images in a public X post. |
| [`xholic free-tools username-check`](/actions/free-tools/#username-check) | **`--handle`** | Whether an X username is available, with similar available suggestions when it is taken. |
| [`xholic free-tools x-id-convert`](/actions/free-tools/#x-id-converter) | **`--input`** | Convert between an X username and its numeric user id, in either direction. |
| [`xholic free-tools follower-count`](/actions/free-tools/#follower-count) | **`--handle`** | The current follower and following counts of a public X account. |
| [`xholic free-tools account-worth`](/actions/free-tools/#account-worth) | **`--handle`** | An estimate of what a public X account is worth, from its followers, views and engagement on recent posts. |
| [`xholic free-tools engagement-calculator`](/actions/free-tools/#engagement-rate-calculator) | **`--followers-count`** **`--impressions`** **`--likes`** **`--replies`** **`--reposts`** **`--quotes`** | Calculate engagement rates from numbers you already have (followers, impressions, likes, replies, reposts, quotes). |
