Geo Fundamentals
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.
$ npx skills add usenotra/notra --skill autumn-catalog -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install usenotra/notra autumn-catalog --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/autumn-catalog .claude/skills/autumn-catalog && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "autumn-catalog" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalog into .claude/skills/autumn-catalog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-catalog", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalogType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add usenotra/notra --skill autumn-catalog -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install usenotra/notra autumn-catalog --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/autumn-catalog .agents/skills/autumn-catalog && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "autumn-catalog" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalog into .agents/skills/autumn-catalog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-catalog", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add usenotra/notra --skill autumn-catalog -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install usenotra/notra autumn-catalog --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/autumn-catalog .cursor/skills/autumn-catalog && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "autumn-catalog" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalog into .cursor/skills/autumn-catalog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-catalog", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/usenotra/notra.git --path .agents/skills/autumn-catalog--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add usenotra/notra --skill autumn-catalog -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install usenotra/notra autumn-catalog --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/autumn-catalog .gemini/skills/autumn-catalog && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "autumn-catalog" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalog into .gemini/skills/autumn-catalog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-catalog", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install usenotra/notra autumn-catalogInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add usenotra/notra --skill autumn-catalog -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/autumn-catalog .github/skills/autumn-catalog && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "autumn-catalog" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalog into .github/skills/autumn-catalog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-catalog", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add usenotra/notra --skill autumn-catalog -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install usenotra/notra autumn-catalog --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/autumn-catalog .opencode/skills/autumn-catalog && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "autumn-catalog" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-catalog into .opencode/skills/autumn-catalog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-catalog", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
autumn-catalogModeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.
Autumn Catalog is an agent skill from usenotra/notra. Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers. Use when the user describes their pricing or asks to model, change, or push a catalog.
Its SKILL.md is about 6.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including reference files (for example `references/add-ons.md`, `references/atmn.md` and `references/auto-top-ups.md`).
It sits in Marketing & SEO. The repository describes itself as: Notra is a modern GEO tool that asks ChatGPT, Claude and Gemini the questions your buyers ask. See if you show up, who shows up instead and how to fix it. The licence is AGPL-3.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dceb2a7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Autumn Catalog loads about 6.1k tokens when it runs, and up to ~39k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 3,350 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from usenotra/notra at commit dceb2a7, republished under its AGPL-3.0 licence (© usenotra). 3,350 words, ~6,064 tokens.
.claude/skills/autumn-catalog/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.Before using this skill, first load the autumn-concepts skill — it defines Autumn's data model — features, plans, plan items, balances — which every modeling decision builds on.
amount: 180. $0.01 per credit is amount: 0.01. If any amount you wrote is 100× the user's number, it is wrong.Building, or iterating on a live catalog? What matters is whether customers are on these plans — not whether a config file exists. Still setting up (even across sessions, with a half-built autumn.config.ts) → the workflow below; edit the draft freely. Already running Autumn with customers, now changing prices/plans → that's an update with real stakes (versioning, migrations, grandfathering) — read references/catalog-update.md first. Unsure → check for customers (atmn pull / the org) or ask.
Turning pricing into a catalog is two jobs:
Do Shape fully before Fill. Take numbers whenever the user mentions them, but never chase numbers during Shape — the one exception is "is this the same on every plan?", which is a structure question.
Copy this checklist into your first message and keep it up to date. It is the only structure the user ever sees — never say "step", "pass", "decide", or "fork" to them. If you skip an item, say why in one line.
Work the four steps below in order, one at a time — each says when it's done. While collecting, make only the small calls each step allows; leave the big ones (marked ↦ Decide) for after.
Done when you can list every plan they sell, including free, add-ons, and enterprise.
Have them describe what they charge for or limit, in their own words. Pick a type per feature:
| They say | Feature type |
|---|---|
| "Pro has SSO" | boolean (on/off) |
| "500 messages a month" | metered, resets |
| "10 team members" | metered, no reset (held, not used up) |
| "credits" / "tokens" / "wallet" | credit system — always, even if only one action uses it today. They will add more actions; a single mapped action is fine. Their app tracks the actions (chat, image), never the credit balance itself. |
Note top-ups ("buy more when you run out", "auto-recharge") ↦ Decide (top-up placement).
This step usually means explaining Autumn to the user in plain words. Do.
free_trial on the paid plan. No card → a separate free trial plan (pro_trial: no price, the paid plan's items, auto-enabled when everyone starts on it); the paid plan stays untouched, since a default plan can never be paid. For trial modeling details — trial-behavior on plans, read references/plan.md in the autumn-concepts skill.Done when you know what attaches where, who consumes what, and how trials and signup work.
Triggered whenever the customer pays per unit of some entity — seats, workspaces, projects, sites, members: "each X is $10/month", "comes with 3 X". When you see one, always ask: what does one X come with? Never skip this because the user didn't say "seat". For modeling a license — the concept: child plan, license link, customize, read references/licenses.md in the autumn-concepts skill.
For deciding between a per-unit item, licenses, and entity-attached plans for a countable paid unit, read references/fork-licenses.md.
Only after your questions are answered — never announce it in advance, and never restate facts nobody has confirmed yet. One short message: the plans, what's metered, what attaches where, who shares what. Let the user correct it. A wrong fact here is much cheaper than a wrong structure later.
If the user gave you everything up front and you asked nothing, skip the separate restate — the structure message (checklist item 5) does that job.
Resolve these with all facts in hand. Each has a default — when the facts genuinely don't settle it, show both options in one line each and ask.
Variant or separate plan? A variant can change the price, swap items in or out, and change the trial — nothing else.
For deciding whether volume buckets/tiers are variants of the plan or one prepaid volume-tiered item — the tells, the trap, when variants are forced, read references/fork-variants.md.
Add-on, or part of the plan? Two independent questions: is the purchase priced/bundled per plan (→ item on each plan) or one offer across plans (→ one add-on plan, sizes as tiers on its prepaid item)? And does a plan exist at the level its balance is shared at (→ item there) or are all plans entity-attached (→ a customer-level add-on is forced)? Auto-recharge needs the prepaid item to exist — add it in Shape, it's structural.
For modeling packs, top-ups, or any purchase bought on top of a plan — add-on vs plan item, and what level it sits at, read references/fork-addon.md.
Where do balances and purchases live?
The rule: purchases and balance at the customer; usage tracking and caps at the entity. Grants "shared across…" entities → pooled (pooled: true on the item); separate per-entity balances → no pooling; overage stays on the entity's plan either way.
For deciding where balances and purchases live — pooled grants, per-entity balances, customer-level packs, overage placement, read references/fork-pooled.md.
Groups? Can one customer hold two plans at once from different lines (a support plan AND a sales plan)? → one group per line. Within a group, attaching a plan replaces the current one; that's what makes upgrades work.
One-off? "Lifetime deal", "one-time pack" → a plan with a one-off price: single invoice, no subscription, balances never reset.
Compare the structure against the shapes in references/cases.md. If their pricing matches a known shape but your structure differs, either say why or fix it.
Shortcuts that are usually wrong — catch yourself before Show:
| You're thinking | Check first |
|---|---|
| "seats + credits → licenses" | Are the credits per seat, or one shared pot? Shared → per-unit seats + pooled balance, no licenses. |
| "annual pricing → separate plan" | Same features? → variant. |
| "tiers → one plan with tiers" | Does overage or anything else differ per tier? → plan per tier. |
| "they said credits but it's one action → plain meter" | Credits are always a credit system. |
| "packs belong on the plan" | Are they shared across entities or plans? → add-on. |
| "everyone starts on a Pro trial → trial + auto-enable on Pro" | A default plan can never be paid. → separate free pro_trial plan (Pro's items, no price, auto-enabled); Pro untouched. |
| "several top-up sizes → one add-on plan per size" | Do the sizes differ only in quantity and price? → volume tiers on one prepaid item, one add-on plan. |
| "the pack is priced per plan → an add-on per plan" | Per-plan pricing IS plan differentiation → a prepaid item on each base plan, no add-ons. Add-ons are for one offer shared across plans, or when no plan exists at the shared level. |
| "the seat differs per plan → one seat plan per parent" | ONE child plan carrying the mainline take; each differing parent's license carries its own diff via customize. Never a <parent>_seat plan per parent. |
For checking the derived structure against known-good shapes, read references/cases.md.
Present the structure in the "Showing the catalog" format below — the same one used for every catalog display, catalog inside a fenced code block. Numbers you don't have yet stay open, never invented: write the line without them ("AI messages per month — amount TBD"). Structure notes go in parentheses on the line they describe. The whole message:
Here's the structure I'd build:
```
Features: AI credits (credit system — chat and image messages draw from it) · SSO (on/off)
Free — no price, everyone starts here
- 100 AI credits per month
Pro — $20/month, or annual (same features)
- AI credits per month — amount TBD
- SSO
Credit pack (add-on) — price TBD, shared across all workspaces
```
I assumed: credits reset monthly, no rollover. Anything wrong?List every assumption. Get a clear yes — "sounds good" without reading is not a yes. But if the user already told you to go ahead without review ("no need to ask", "just build it"), show the structure and keep going — don't stop to wait. If a late fact changes the structure, redo the affected decision, update the structure, and show what changed in one line.
Structure agreed — now finish it. Four moves, in order.
1 — Fill in what's known. Everything the user already said goes straight into the draft. Never re-ask a confirmed fact.
2 — Ask for missing essentials. Values with no sane default: base prices, included amounts, per-unit prices, tier boundaries, trial length. Never invent one — a missing number is a question. Batch per the how-to-ask rules.
3 — Sweep the options. Ask each of these once for the whole catalog, in plain words — never item by item. The answer distributes to every item it touches ("carry over on both plans, or just Growth?" only if they hint at a difference). Raise a bucket only when the structure makes it relevant; skip anything already answered.
The sweep exists so the user hears what's configurable without being marched through every item. Behind it, check every knob yourself — this list is internal, never show it:
billingControls on the plan)Landing a guardrail answer means picking the right control — windowed cap vs overage ceiling vs alert vs allow-past-balance vs auto-recharge are different knobs with different fields. What each one is, the three overage knobs, and the plan→customer inheritance are the autumn-concepts skill's billing-controls reference — read it before writing billingControls. The flow rules here:
autoTopups control.4 — Propose, then finalize. One message: the full catalog in the format below, then "I assumed:" listing every knob you defaulted. Fold corrections in. Then write the config — and before saving, re-read every amount in it: dollars, never cents ($600 is 600, not 60000). Validate with atmn push (a preview; nothing is applied until --yes), fix what it flags, and show the final catalog — same format, no assumptions list. Done means the config is written and valid — a summary is not done.
Use exactly this format every time you show the catalog — the Show structure message, the Fill proposal, and the done message alike. Never a markdown table, never a different layout per message. Send it as a fenced code block (```) so the indentation survives markdown rendering — plan names on bare lines otherwise get folded into the previous plan's list. It's the same grammar the dashboard renders. Features first with their kind, then plans, one line per item:
Features: AI messages (usage, resets) · Seats (held, not used up) · Credits (credit system — 1 message = 1 credit) · SSO (on/off)
Pro — $20/month
- 500 AI messages per month
· unused carry over, up to 500, for 1 month
- 500 AI messages per month, then $0.01 per message
- $10 per 1,000 credits
- 5,000 credits for $50 per month
- 3 seats included, then $10 per seat
- $18 - $15 per seat
- Unlimited projects
- SSO
- 100 credits per seat per month
Team — $500/month
- 5 seats included, then $40 per seat per month
each seat gets:
· 100 summaries per month
· SSO
Credit pack (add-on) — $10 for 1,000 credits, buy anytimeThe Features line names every feature and its kind in plain words: (usage, resets) for consumable meters, (held, not used up) for non-consumable ones like seats, (credit system — …) with its action mappings, (on/off) for boolean. Item lines, top to bottom: plain allowance · allowance with overage · pure usage price (per billing unit) · prepaid bucket · included + prepaid per-unit · tiered rate shown first-to-last · unlimited · boolean (name only, never "enabled") · per-entity grant · one-off add-on. Numbers get commas; "then …" says what happens after the included runs out; annual variants go inline ("or $200/year — messages still reset monthly").
Configured item properties — carry-over, purchase caps, top-up behavior — are never their own - lines: indent them under the item they belong to as · lines, one behavior each, so the hierarchy is visible. Only show what's configured; defaults (like usage simply stopping when no overage price is set) get no line.
Billing controls follow the same rule: · lines under the item they guard, in plain words — · max 200 per day · · overage capped at 20% over · · overage tracked, not billed · · warned at 80% · · auto-buys 1,000 credits when below 100. Never the schema names (usage_limits, spend_limits) in user-facing text.
flatAmounts, unit prices: $20 is 20, never 2000, and a $100 tier is flatAmount: 100, never 10000. Re-check every number before writing; cents is the most common wrong config.to — the first tier's to must exceed included.billingUnits rounds usage up when billing.billingMethod and interval on every item price, tierBehavior on tiered prices, and every trial field (durationLength, durationType, cardRequired, onEnd). Explicit defaults cause no spurious diffs.max and maxPercentage are mutually exclusive; expiryDurationType is required.billingControls is a plain object on the plan with camelCase fields like the rest of the config (featureId, overageLimit); each control list replaces wholesale on update.pooled: true on the entity plan's item. Concluding "shared across workspaces" in Shape and then omitting the flag is the classic miss.included: 0) carries the overage. A pooled item can't itself be usage-priced.proration — leave it out and take server defaults.freeTrial.onEnd: "bill" (default) charges when the trial ends, "revert" expires it and restores the previous plan.versionSlug and active, and every variant row and license link versionSlug. A plan's rows are its versions — exactly one active: true — and a version row left out of plans is deleted. How rows express versions, renames and drafts: references/atmn.md.The config uses the builders feature, plan, variant, license as plain function calls with object arguments; items are plain objects inside a plan, and the file's default export is atmn({...}) naming every collection. Never guess other functions or fields; the full shapes are in references/atmn.md.
import { atmn, feature, plan } from "atmn";
export const credits = feature({
featureId: "credits",
name: "Credits",
type: "credit_system",
creditSchema: [{ meteredFeatureId: "messages", creditCost: 1 }],
});
export const pro = plan({
planId: "pro",
versionSlug: "v1",
active: true,
name: "Pro",
price: { amount: 20, interval: "month" },
items: [
{ featureId: credits.featureId, included: 500, reset: { interval: "month" } },
],
});
export default atmn({ features: [credits], plans: [pro] });Pattern deep-dives, split one file per pattern under references/ — read the matching one when filling that pattern's details:
For usage overage pricing, read references/usage-based-pricing.md.
For prepaid quantities (seats, packs, buckets), read references/prepaid-pricing.md.
For volume-tiered prices, read references/volume-based-tiers.md.
For $X per unit, read references/per-unit-pricing.md.
For billing vs reset intervals, read references/recurring.md.
For one-off purchases / top-ups, read references/one-off-purchases.md.
For auto-recharge, read references/auto-top-ups.md.
For carry-over, read references/rollovers.md.
For trial details, read references/trials.md.
For entity plans and license attach flows, read references/entity-plans.md.
For credit schemas and mappings, read references/credit-systems.md.
For default plans / auto-enable, read references/free-plans.md.
For add-on balance stacking, read references/add-ons.md.
For what variants can change, read references/plan-variants.md.
pro_plan, chat_messages.entityFeatureId is deprecated. Never mention or use it unless the user's existing config already has it.Before finishing: re-check the STRICT RULES at the top against the config you wrote.
For using atmn, autumn.config.ts, or headless push flows, read references/atmn.md.
For changing an existing catalog: previewing, versioning, migrations, variant propagation, read references/catalog-update.md.
For creating or changing coupons, promo codes, feature grants, or referral programs, read references/rewards.md.
© usenotra, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 22 other files (references) in .agents/skills/autumn-catalog of usenotra/notra.
Open the folder on GitHubat commit dceb2a7
Autumn Catalog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Autumn Catalog this skillusenotra/notra | 260 | — | ~6.1k | Automated safety check: Pass | AGPL-3.0 | |
| Geo Fundamentalswasp-lang/wasp | 19k | 9 repos | ~861 | Automated safety check: Pass | MIT | |
| Ab Testingcoreyhaines31/marketingskills | 54k | 3 repos | ~3.1k | Automated safety check: Pass | MIT | |
| Hreflang and International SEOAgriciDaniel/claude-seo | 19k | 5 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Referralscoreyhaines31/marketingskills | 54k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 |
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program.
AgriciDaniel/claude-seo
Audits, validates and generates hreflang tags for multi-language and multi-region sites in HTML, HTTP headers or XML sitemaps, flagging common code and return-tag mistakes.
coreyhaines31/marketingskills
When the user wants to create, optimize, or analyze a referral program, affiliate program, or word-of-mouth strategy.
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
LeoYeAI/openclaw-marketing-skills
When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform.
usenotra/notra
Quick-reference card for all ponytail modes, skills, and commands.
usenotra/notra
Guides and best practices for working with Lakebase Postgres, the database behind Neon.
usenotra/notra
Expert guidance for Satori, the library that converts JSX/HTML and CSS into SVG (the engine behind dynamic Open Graph images and social cards).
usenotra/notra
A skill your agent uses when the user is implementing, embedding, or debugging a WorkOS Widget — specifically the User Management, User Profile, Admin Portal SSO Connection, or Admin Portal Domain…
usenotra/notra
Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra.
usenotra/notra
Fetch and inspect recent local server logs in repos that use openlogs or the ol CLI.
Categories
Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers. Autumn Catalog is an agent skill from usenotra/notra. Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.
Autumn Catalog fits situations like: the user describes their pricing.
Run `npx skills add usenotra/notra --skill autumn-catalog -a claude-code`. Or copy the skill folder (.agents/skills/autumn-catalog in usenotra/notra) into .claude/skills/autumn-catalog in your project. Claude Code loads it when a task matches its description.
Run `npx skills add usenotra/notra --skill autumn-catalog -a codex`. Or copy the skill folder (.agents/skills/autumn-catalog in usenotra/notra) into .agents/skills/autumn-catalog in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add usenotra/notra --skill autumn-catalog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/autumn-catalog, .gemini/skills/autumn-catalog, .github/skills/autumn-catalog and .opencode/skills/autumn-catalog in your project.
SKILL.md names no scripts, command-line tools or credentials: Autumn Catalog is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Autumn Catalog is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.1k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 33k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Autumn Catalog: Geo Fundamentals (wasp-lang/wasp, 19k stars), Ab Testing (coreyhaines31/marketingskills, 54k stars), Hreflang and International SEO (AgriciDaniel/claude-seo, 19k stars) and Referrals (coreyhaines31/marketingskills, 54k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
usenotra (a GitHub organization) maintains it in usenotra/notra, which has 260 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 11, 2026.
Source: usenotra/notra on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.