Every command
Twenty-seven commands: seven that need no account, and twenty that work in your workspace. This page says what each one does, what it needs from you, what it changes, and the mistake people most often make with it.
How a command is written
Every command has the same shape: the name, then what it should work on, then any flags. Most commands take one argument: a web address, a subject, or an idea in your own words.
/plgn month "Q3 launch" --dry-run ^ command ^ argument ^ flag
If a command needs an argument and you did not give one, it asks, it never invents a website, a brand or a subject to fill the gap. Quotation marks are only needed when your argument has spaces in it.
The two flags
| Flag | What it does | Accepted by |
|---|---|---|
--dry-run | Show the plan, write nothing at all, and say plainly that nothing was written. | Every command that writes. |
--yes | Skip the confirmation question and go straight to doing it. | Only /plgn post and /plgn topics. |
--yes is refused everywhere else, and the refusal is deliberate. A command that spends points, writes in bulk, or removes something should not be runnable without a person reading the plan first. The commands that refuse it are setup, month, images, visuals, assets, brandkit, undo, repurpose, refresh, library, brand, knowledge, campaign, queue, import-store and product-sheet. report and why write nothing and take no flags.
A flag it does not recognise is reported back to you, never ignored. A typo cannot quietly change what happens.
How it asks before it writes
Reading is free. Creating thirty posts is not. Any command that creates, changes, schedules or removes anything shows its plan and waits for a clear yes. The plan always says what will be written, how many, and where.
| When it is asking about | The question looks like |
|---|---|
| A list of things | yes / pick / no, pick lets you drop items or whole groups |
| One thing | yes / edit / no, edit means change it and show me again |
| Removing or archiving something | It asks by name, never by number. "Delete 3?" is not a question anyone can answer safely. |
| Making pictures | The point cost is inside the question, because it spends from a real balance. |
Silence is not a yes. If your answer is unclear, it asks again rather than guessing.
The seven free commands
These contact no server, need no account, and see none of your saved work, see why the split exists. They read public web pages and write into your terminal. Each one ends with a short line about what connecting would add: once per session, not after every command.
/plgn help
Prints every command in one list, grouped, with a line each. It calls nothing and asks nothing. Use it when you cannot remember a name.
/plgn demo <url>
The command to run first. It reads the site, works out how the brand sounds, picks the three strongest things it should be talking about, and writes seven complete posts across LinkedIn, X and Instagram.
- Full text, always. You can copy any of the seven and publish it unchanged.
- It says up front that the voice is its read of your homepage and about page, not a saved profile.
- It never scores or criticises your marketing. That is
/plgn audit. A demo produces work rather than judgement. - If a topic turns out thin it returns fewer than seven and says why, rather than padding to hit a number.
/plgn audit <url>
Scores a brand's content presence out of 100 across six weighted areas, then names the three fixes worth doing first. The weights are fixed on purpose: two audits are comparable, this client against that one, this quarter against last.
| Area | Weight | What it measures |
|---|---|---|
| Clear message | 25% | Can a stranger tell what this is and who it is for, fast |
| Steady publishing | 20% | Is there a recognisable rhythm and a repeating theme |
| Fits the platform | 20% | Is the content shaped for where it appears, or copied across |
| Clear audience | 15% | Is a specific person addressed, or everyone |
| Visual identity | 10% | Is the brand recognisable without reading the name |
| Path to act | 10% | Can an interested reader act, and is the next step obvious |
/plgn strategy <url>
Turns a website into positioning and three to five topics a month of posts can be built from, with the evidence behind each one and the gaps competitors leave open. Use it before writing anything, when you do not yet know what the brand should be saying.
/plgn voice <url>
Builds a voice guide from a site: tone, the words the brand uses for its own things, sentence rhythm, words it should refuse, and before-and-after rewrites. Its output is shaped to paste straight into /plgn setup.
/plgn competitors <url>
Reads three to five competitors at the same time and reports what they all say, and, more usefully, what none of them says. Where a whole market repeats the same three claims, the fourth one is unclaimed.
/plgn calendar <subject>
Lays out a 30-day plan: a date, a platform, a topic, a hook and a one-line brief for each slot. It plans; it does not write the posts. Useful for agreeing the shape of a month with someone before any writing happens.
Setting a brand up
/plgn setup
Run once per brand. It checks the connection, tells you which workspace and plan you are on, asks which brand to prepare, reads your website, and drafts four things: voice, audience, what you sell, and the words the brand refuses.
- It shows all four in full and waits. Nothing is saved before you say yes.
- The refused words go on the brand's own record, not into general knowledge. That is what makes the server able to enforce them.
- It asks for your languages and your timezone together, because they are the same decision: where this brand publishes.
- Safe to run twice. On a brand that is already set up it says what exists and offers to update rather than adding a second copy.
/plgn brandkit <url>
The long version of setup. It reads your site and your own published posts, then drafts the whole profile at once: voice, audience, positioning, what you sell with each benefit spelled out, your look, your competitors one by one, your topics, and the lines and hashtag groups you already reuse.
- It asks at most five questions, and each arrives with an answer already drafted. A beginner reads five answered questions and says yes; an expert edits four and finishes just as fast.
- Anything past the fifth question is printed as a stated assumption instead of asked, so you can correct it.
- It spends no points. Nothing here makes a picture.
- Safe to run twice: it compares against what is saved and marks each thing new, changed or unchanged.
/plgn brand
List, create, rename, archive and restore the brands in a workspace. Agencies live in this command; everyone else touches it once. With no argument it lists what exists and says which brands are missing something.
- It offers no deletion at all. Archiving already does what people want: out of the way, and reversible.
- Archiving and restoring are confirmed by typing the brand name. A mistyped number archives the wrong client; a mistyped name archives nothing.
- Renaming a brand does not touch its posts, its topics or anything saved about it, and the command says so.
/plgn knowledge
Checks what is saved about a brand and fixes what is missing, out of date or contradicting itself. This is the command to run when posts start sounding wrong. The cause is almost always here.
- It reports each part of the brand profile as fine, thin or missing, and a "thin" always carries its reason.
- Where two saved entries disagree it shows both readings and asks which is true, rather than picking.
- It can tell you when something changed and who changed it, along with the note they left.
- It never invents. If your site is gone and you cannot describe the brand, it says the entry cannot be filled responsibly.
/plgn visuals <refs>
Works out how your pictures look from pictures you have already published, colours, framing, light, medium, subject, finish, and what they never contain, then saves it so every image made afterwards matches.
- Three references is the minimum for a pattern. With one or two it says plainly that the result is a sample, not a direction.
- If your references fall into two different looks, it shows both groups and asks which is current. It never averages them, an averaged identity belongs to nobody.
- It spends no points. This command reads pictures;
/plgn imagesmakes them. - It never invents a look. With nothing readable it says so and stops, because everything downstream would obey a made-up direction.
/plgn assets
Saves the real things your brand owns: its logo, a character, people, places, product shots and badges. Pictures are then built around your own things instead of invented ones. With no argument it shows every shelf, full or empty, and says which gaps matter for this brand.
- It looks at every picture before it saves it. It never names a thing from a file name.
- A real person's face is never used in a made picture until you say that person agreed to it. It asks in words and never assumes, not even for the founder.
- A photo of something you sell goes on that product, not here, so the product's own pictures use it.
- It spends no points and refuses
--yes. These are the brand's own things, so each one is shown to you first.
/plgn import-store
Brings a brand's products in from its own online store, Shopify, WooCommerce or EasyOrders, with names, descriptions, prices, variants and up to five pictures each. It lists the store's products, asks which to import, and imports only those.
- Safe to run again: it updates what it imported before and never deletes.
- Run it after
/plgn brandkiton a brand with a shop, so every product carries its real description and price. - It spends no points.
--dry-runshows what would be imported.
/plgn product-sheet
Builds one product variant's reference sheets: one picture that shows it from every useful side, and one that shows how it opens and is used. It checks every cell against the real photo and hands the sheet over for your approval. Every later picture takes the product from an approved sheet instead of inventing it.
- It works from the real photos only. A cell it cannot match to the source is marked as not usable.
- The points cost is stated before anything is spent, and
--dry-runshows the plan. - Use it when pictures keep inventing the product.
Making content
/plgn campaign
A campaign is one thing you are saying for a while, with dates: Ramadan, a launch, a season. It carries a key message, the words to reach for and the words to avoid, and every post written inside it inherits them.
- With no argument it shows what is running now and what has finished.
- It works out what you meant from your words: "start a Ramadan campaign", "mark the launch done", "what's in Ramadan" all do different things with no flag needed.
- It asks for dates if you did not give them. A campaign with no window never becomes current, so nothing inherits it.
- It never offers to delete one. Archiving is what "we are finished with this" means, and deleting would unlink it from every post that named it.
/plgn month <subject>
The flagship. It reads your brand, looks at what topics already exist, plans a month, asks once, then writes the posts in parallel, makes the pictures, and schedules everything.
Topics: Migration stories · Pricing without traps · Founder notes Campaign: none Platforms: LinkedIn, X, Instagram Languages: en, ar Posting: 7/week, 28 posts total Images: 24 to make: 48 points, leaving 152 Dates: Sep 1 → Sep 28, Africa/Cairo Create these 28 posts? yes / pick / no
- It reuses topics you already have instead of creating a second copy under the same name.
- Four lines of that plan exist to be corrected: the topics, the languages, the timezone and the point cost. Languages and timezone come from the brand, not from your conversation, and both are invisible when wrong.
- It asks once. It does not stop for each of the thirty posts. That is what the plan was for.
- One post failing never stops the run. Twenty-nine good posts and one honest hand-off is a successful run.
- If a picture takes too long it leaves that post without one and carries on, a missing picture never blocks scheduling.
/plgn post <idea>
One idea in, one post out. This is the command people run ten times a day, so it stays fast and quiet: a silent check, one draft, one question, one line back.
- It asks which platform if you did not say. The same idea is a different post on each one, so it never picks quietly.
- It accepts
--yes, because one post is cheap and easy to delete. - It saves as a draft. It schedules only if you ask, or say yes to one short offer.
- It never produces three posts from one idea. That is
/plgn repurpose.
/plgn repurpose <url>
Turns one article, case study, talk or block of pasted text into a set of posts, and saves the reusable pieces as snippets so the next month can draw on them.
- It pulls out the ideas that stand on their own, each with its own evidence, and tells you what it found before writing anything.
- A 2,000-word article usually holds three to five separate ideas. If it seems to hold ten, most are the same point said again.
- One idea can become one post per platform. One idea never becomes three posts on the same platform. That is the repetition this command exists to avoid.
- It saves drafts, not scheduled posts. Scheduling is a deliberate pass of its own.
/plgn refresh
Finds published posts older than ninety days that still hold up, rewrites the strongest few, and reschedules them after you approve each one.
- It is a rewrite, not a repost: a new opening, the current voice, and updated names and numbers.
- It saves each refresh as a new post and never overwrites the original. The original is your record of what was said when.
- It takes three to six per run. Refreshing thirty is republishing the archive, which is what makes a feed feel automated.
- It never claims a post did well. plgn cannot see likes or reach, so it says "points that still hold" instead.
/plgn images
Finds posts with no picture, decides which ones actually deserve one, states the point cost, and makes them after you agree.
- Not every post should have a picture. It says which ones it is skipping and why, rather than quietly leaving them out.
- The cost is in the question, "Make 5 images? That's 10 points, leaving 190", never afterwards.
- It starts every picture first and then checks on them. Making them one at a time would turn a ninety-second wait into half an hour.
- After about ninety seconds it stops waiting. A picture still in the queue is reported as still running, not as failed, so you can check it later. That post waits without a picture for now, and the run carries on.
- Every attached picture gets alt text for screen readers.
/plgn undo
Takes back the last batch of posts a bulk command created. Every bulk run stamps its posts so this command can find them again as a group.
- It shows exactly what would go, grouped by topic, with how many are scheduled, how many are drafts and how many have pictures, never just a count.
- It offers two ways back. Unscheduling keeps the writing and stops anything going out; deleting removes the posts permanently.
- It recommends unscheduling, because people undoing a run are usually reacting to timing rather than to the writing.
- It never touches a published post, and says how many it excluded for that reason.
- One run per invocation. Undoing three at once is how people lose work they meant to keep.
Keeping it healthy
/plgn queue
Goes through everything waiting and sorts it into four groups: blocked, no picture, says too little, and ready. Then it fixes what can be fixed.
- It reads every post in the period, not a sample. It must never say "all good" from a partial look.
- "Says too little" is a judgement no automatic check makes. A post can pass every rule and still be forty characters that make no point.
- For each blocked post it suggests the actual replacement wording, not "make this shorter".
- It never makes pictures. It hands those to
/plgn images, which is the command you chose for spending points.
/plgn topics
Reports which topics are repeating themselves, which have too few posts, and which are healthy: judged from the posts, not from the topic list.
- A topic that repeats itself is not fixed by posting more. Volume is what wore it out. It suggests a narrower version, or retiring it, and it changes the topic you already have rather than making a second copy.
- A topic with too few posts gets a reason: "this needs two customer results before it can carry posts" is something you can act on.
- It checks the mix across recent posts: roughly half that help whether or not the reader buys, a third proof, a fifth direct asks, and flags a feed where nearly every post asks for something.
- It accepts
--yes, because creating a topic is cheap and easy to undo.
/plgn library
Tidies saved snippets and hashtag sets: near-duplicates, overlapping sets, sets grown too big to work, and pieces tied to something that has passed.
- Past about ten tags a set stops targeting and starts spraying, and the specific tags get diluted by the broad ones.
- A merge keeps the better wording and both pieces of evidence, rather than throwing one away.
- It updates before deleting, always. If the update fails, nothing is lost.
- Unused is not worthless. A snippet that duplicates nothing is left alone and reported as unused.
/plgn report
Summarises a period: what went out, how the topics balanced, how the plan held, what the checks caught, and what to do next. Read-only, so it takes no flags.
- It is written to be pasted into an email unchanged: no internal names, no hedging.
- It keeps facts and readings apart. "This topic got 2 posts" is a fact; "this topic lacks proof" is a reading of it.
- Each suggestion names the evidence behind it.
/plgn why <post>
Explains why a picture looks the way it does: the idea behind it, the ideas that lost and why, what carried each frame, and what the brand profile said on the day it was made. Use it months later, when someone asks what the thinking was.
- It is read-only. It writes nothing and takes no flags.
- It shows each saved entry under the name it had on that day, even if it was renamed since.
- A picture made before plgn kept this record has nothing to read back, and it says so in one line. It never writes the story after the fact.
- If your words match several posts, it asks which one. It never guesses.
All twenty-seven at a glance
| Command | Account | Writes | --dry-run | --yes |
|---|---|---|---|---|
/plgn help | No | Nothing | - | - |
/plgn demo <url> | No | Nothing | - | - |
/plgn audit <url> | No | Nothing | - | - |
/plgn strategy <url> | No | Nothing | - | - |
/plgn voice <url> | No | Nothing | - | - |
/plgn competitors <url> | No | Nothing | - | - |
/plgn calendar <subject> | No | Nothing | - | - |
/plgn setup | Yes | Brand profile | Yes | No |
/plgn brandkit <url> | Yes | Whole brand profile | Yes | No |
/plgn brand | Yes | Brands | Yes | No |
/plgn knowledge | Yes | Brand profile | Yes | No |
/plgn visuals <refs> | Yes | The brand's look | Yes | No |
/plgn assets | Yes | The brand's own things | Yes | No |
/plgn import-store | Yes | Products, from your store | Yes | No |
/plgn product-sheet | Yes | Product sheets: spends points | Yes | No |
/plgn campaign | Yes | Campaigns | Yes | No |
/plgn month <subject> | Yes | Posts, topics, pictures | Yes | No |
/plgn post <idea> | Yes | One post | Yes | Yes |
/plgn repurpose <url> | Yes | Posts and snippets | Yes | No |
/plgn refresh | Yes | Posts | Yes | No |
/plgn images | Yes | Pictures: spends points | Yes | No |
/plgn undo | Yes | Removes posts | Yes | No |
/plgn queue | Yes | Fixes posts | Yes | No |
/plgn topics | Yes | Topics | Yes | Yes |
/plgn library | Yes | Snippets and hashtag sets | Yes | No |
/plgn report | Yes | Nothing: read only | - | - |
/plgn why <post> | Yes | Nothing: read only | - | - |