@link.me/cli-darwin-x64 0.3.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/linkme +2 -2
  2. package/package.json +1 -1
  3. package/skills/{agents/cli → linkme-cli}/SKILL.md +65 -10
  4. package/skills/linkme-cli/agents/openai.yaml +4 -0
  5. package/skills/{agents/claude-code → linkme-cli-claude-code}/SKILL.md +4 -4
  6. package/skills/linkme-cli-codex/SKILL.md +14 -0
  7. package/skills/linkme-cli-codex/agents/openai.yaml +4 -0
  8. package/skills/{agents/cowork → linkme-cli-cowork}/SKILL.md +4 -4
  9. package/skills/{agents/openclaw → linkme-cli-openclaw}/SKILL.md +3 -3
  10. package/skills/{email/lists → linkme-email-campaigns}/SKILL.md +4 -2
  11. package/skills/linkme-email-campaigns/agents/openai.yaml +4 -0
  12. package/skills/{automations/instagram → linkme-instagram-automations}/SKILL.md +4 -2
  13. package/skills/linkme-instagram-automations/agents/openai.yaml +4 -0
  14. package/skills/linkme-manage-commerce/SKILL.md +106 -0
  15. package/skills/linkme-manage-commerce/agents/openai.yaml +4 -0
  16. package/skills/linkme-manage-media/SKILL.md +67 -0
  17. package/skills/linkme-manage-media/agents/openai.yaml +4 -0
  18. package/skills/linkme-manage-merch/SKILL.md +118 -0
  19. package/skills/linkme-manage-merch/agents/openai.yaml +4 -0
  20. package/skills/linkme-polish-profile/SKILL.md +95 -0
  21. package/skills/linkme-polish-profile/agents/openai.yaml +4 -0
  22. package/skills/linkme-publish-content/SKILL.md +86 -0
  23. package/skills/linkme-publish-content/agents/openai.yaml +4 -0
  24. package/skills/linkme-recover-auth/SKILL.md +78 -0
  25. package/skills/linkme-recover-auth/agents/openai.yaml +4 -0
  26. package/skills/linkme-review-analytics/SKILL.md +77 -0
  27. package/skills/linkme-review-analytics/agents/openai.yaml +4 -0
  28. package/skills/agents/codex/SKILL.md +0 -14
  29. package/skills/ap/create-post/SKILL.md +0 -134
  30. package/skills/commerce/merch/SKILL.md +0 -34
  31. package/skills/profile/make-it-look-good/SKILL.md +0 -311
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: linkme-polish-profile
3
+ description: Audit and improve a Linkme public profile. Use when a user wants stronger positioning, featured or social links, gallery, theme or custom fonts, link style, sections, contact details, vCard, age gate, forms, events, video, or conversion-focused profile changes.
4
+ ---
5
+
6
+ # Polish a Profile
7
+
8
+ Improve the public profile as a coherent visitor journey. Preserve identity fields unless the user explicitly wants a rename or rebrand.
9
+
10
+ Prefer connected Linkme MCP tools. Their names mirror CLI paths with underscores; use the shell commands below as fallback and discovery examples.
11
+
12
+ ## Audit before editing
13
+
14
+ Read the current surface with structured output:
15
+
16
+ ```bash
17
+ linkme profile --json
18
+ linkme featured list --json
19
+ linkme links list --json
20
+ linkme gallery list --json
21
+ linkme profile sections list --json
22
+ linkme profile contact list --json
23
+ linkme profile link-style --json
24
+ linkme profile age-gate --json
25
+ ```
26
+
27
+ Identify the intended audience and primary conversion goal. Then propose a short, prioritized change set instead of changing every available setting.
28
+
29
+ ## Apply high-impact changes
30
+
31
+ Work in this order:
32
+
33
+ 1. Clarify the bio and profile image with `linkme profile edit`.
34
+ 2. Put the primary calls to action in `linkme featured`.
35
+ 3. Correct supporting links and social links in `linkme links`.
36
+ 4. Add visual proof through `linkme gallery`.
37
+ 5. Align `linkme profile theme` and `linkme profile link-style` with the existing brand.
38
+ 6. Add a conversion module only when it serves the goal: contact info, vCard, form, event, shop, or profile video.
39
+ 7. Configure `linkme profile age-gate` only when the user has an actual age-restriction requirement.
40
+ 8. Enable and reorder sections after their content exists.
41
+
42
+ Discover exact mutation flags with the narrowest help command, for example:
43
+
44
+ ```bash
45
+ linkme featured add --help
46
+ linkme links set --help
47
+ linkme profile forms create --help
48
+ linkme profile events add --help
49
+ linkme profile sections move --help
50
+ linkme profile theme --help
51
+ linkme profile vcard --help
52
+ ```
53
+
54
+ ## Useful patterns
55
+
56
+ Update positioning without renaming:
57
+
58
+ ```bash
59
+ linkme profile edit \
60
+ --bio "Tour dates, music drops, merch, and fan links in one place." \
61
+ --image ./avatar.jpg \
62
+ --public-search
63
+ ```
64
+
65
+ Set direct contact paths:
66
+
67
+ ```bash
68
+ linkme profile contact set email bookings@example.com
69
+ linkme profile contact set website https://example.com
70
+ ```
71
+
72
+ Structure the public page:
73
+
74
+ ```bash
75
+ linkme profile sections enable featured_links
76
+ linkme profile sections enable contact_info
77
+ linkme profile sections move featured_links 1
78
+ linkme profile sections move contact_info 2
79
+ ```
80
+
81
+ ## Verify
82
+
83
+ Re-read every area changed and compare it with the proposed outcome. Report:
84
+
85
+ - what changed
86
+ - the resulting order or visibility
87
+ - anything skipped because content, media, plan access, or approval was missing
88
+
89
+ ## Guardrails
90
+
91
+ - Do not change username, display name, email, tracking pixels, public-search visibility, or age-gate policy without a clear user request.
92
+ - Read before deleting, reordering, or replacing media.
93
+ - Do not fill forms, events, or contact fields with invented business details.
94
+ - Chat, shouts, and notifications are outside this skill. A visible section key is not authorization to create or manage its content.
95
+ - Use `$linkme-manage-media` for upload constraints and `$linkme-review-analytics` to measure impact.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Polish Linkme Profile"
3
+ short_description: "Audit and improve a Linkme profile"
4
+ default_prompt: "Use $linkme-polish-profile to audit my profile and propose the highest-impact improvements."
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: linkme-publish-content
3
+ description: Draft, schedule, publish, and monitor video, image, carousel, or text posts across Linkme AP social accounts. Use when a user wants to post media or text, reuse an uploaded media key, inspect target status, retry, reschedule, or cancel a post.
4
+ ---
5
+
6
+ # Publish Content
7
+
8
+ Use Linkme AP to publish video, image, carousel, or text posts to connected social accounts. Treat `ap post create` as an external side effect because an unscheduled post can be queued immediately. Prepare and show the intended parameters first; invoke it only when the user requested publication or approved the exact targets and timing.
9
+
10
+ Prefer connected Linkme MCP tools. Their names mirror CLI paths with underscores; use the shell commands below as fallback and discovery examples.
11
+
12
+ ## Choose the media path
13
+
14
+ - Local CLI video: pass a local video to `linkme ap post create --video ./clip.mp4`, or upload once with `linkme ap upload ./clip.mp4` and reuse the returned AP key.
15
+ - Image: use `--image ./photo.jpg` or `--format image --upload-asset-id <id>`. AP accepts JPEG, PNG, WebP, GIF, AVIF, HEIC, and HEIF up to 8 MiB and normalizes to still JPEG. Images need finalized asset IDs, not bare R2 keys.
16
+ - Carousel: repeat `--media` in order, using files or `asset:<id>` references. It requires distinct assets: 2–10 on Instagram/Facebook, 2–20 on Threads/LinkedIn, 2–35 on TikTok, 2–4 on X. Only Instagram and Threads accept video items.
17
+ - Text: use `--format text --caption "..." --platforms threads,x`, with no media. Facebook, X, Threads, and LinkedIn support text. Images/carousels additionally support Instagram and TikTok; YouTube remains video-only.
18
+ - Media captions are optional; text needs a nonblank caption.
19
+ - Hosted MCP: call `linkme_capabilities` and inspect the tool schema. Use `video`, `image`, or ordered `media` file inputs, their allowlisted URL alternatives, or platform references. `imageReference` takes `asset:<id>`; `mediaReference` takes an ordered array of those references. `uploadAssetId` plus `format: "image"` also works. For mixed sources, upload each new file with `ap_upload`, then create using all asset IDs. Do not send local paths.
20
+ - Do not infer that an HTTPS URL is uploadable. Use only the file/reference fields exposed by the selected tool schema.
21
+
22
+ ## Prepare
23
+
24
+ Inspect connected accounts:
25
+
26
+ ```bash
27
+ linkme ap accounts --json
28
+ ```
29
+
30
+ If the requested provider is missing, start its connection flow with `linkme ap connect <provider>` and return the authorization step to the user.
31
+
32
+ Confirm:
33
+
34
+ - target providers and account availability
35
+ - caption and provider-specific title/privacy fields
36
+ - immediate versus scheduled publication
37
+ - schedule timestamp and timezone
38
+ - post format and ordered media sources (none for text)
39
+
40
+ ## Create and verify
41
+
42
+ Create from a local file:
43
+
44
+ ```bash
45
+ linkme ap post create \
46
+ --video ./clip.mp4 \
47
+ --caption "New drop. Out now." \
48
+ --platforms youtube,tiktok,instagram
49
+ ```
50
+
51
+ Create from an existing AP key:
52
+
53
+ ```bash
54
+ linkme ap post create \
55
+ --video u/42/my-video \
56
+ --caption "Tonight at 8." \
57
+ --platforms youtube,tiktok \
58
+ --schedule 2026-04-23T20:00:00Z
59
+ ```
60
+
61
+ Use `--json` for structured handoff and retain the returned post id. Immediately inspect it:
62
+
63
+ ```bash
64
+ linkme ap post status <post-id> --json
65
+ ```
66
+
67
+ Report per-target state and errors. A created post is not proof that every provider published it.
68
+
69
+ ## Operate an existing post
70
+
71
+ - Wait through processing: `linkme ap post watch <post-id>`
72
+ - Publish now: `linkme ap post publish <post-id>`
73
+ - Cancel: `linkme ap post cancel <post-id>`
74
+ - Retry failed targets: `linkme ap post retry <post-id>`
75
+ - Change schedule: `linkme ap post reschedule <post-id> --help`
76
+ - Review one target's results: `linkme ap post insights <post-id> <target-id>`
77
+ - Review one target's comments: `linkme ap post comments <post-id> <target-id>`
78
+
79
+ Re-read status after every publish, retry, cancel, or schedule change.
80
+
81
+ ## Guardrails
82
+
83
+ - Never invent an AP object key or platform id.
84
+ - Never report success from a zero exit code alone; verify target states.
85
+ - Surface platform-specific failures instead of flattening them into a single post status.
86
+ - If the user did not authorize publication, stop before `ap post create` and present the exact command or tool inputs that would be used.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Publish Linkme Content"
3
+ short_description: "Publish and monitor social posts"
4
+ default_prompt: "Use $linkme-publish-content to prepare this post for my connected social accounts."
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: linkme-recover-auth
3
+ description: Establish or recover Linkme authentication for an agent, local CLI, or hosted MCP connection. Use for login, expired sessions, wrong-profile problems, manual browser auth, session revocation, connector reconnection, or missing credentials.
4
+ ---
5
+
6
+ # Recover Authentication
7
+
8
+ Diagnose the runtime before changing credentials. Keep tokens and passwords out of prompts, command output, logs, and committed files.
9
+
10
+ Use the host connection for hosted MCP and the `linkme` commands below only for a local CLI installation.
11
+
12
+ ## Verify identity
13
+
14
+ For the local CLI:
15
+
16
+ ```bash
17
+ linkme whoami --json
18
+ ```
19
+
20
+ If the identity is correct, do not reauthenticate. If the wrong local profile is active, inspect and switch:
21
+
22
+ ```bash
23
+ linkme auth switch
24
+ linkme whoami --json
25
+ ```
26
+
27
+ ## Local CLI login
28
+
29
+ Prefer the manual browser flow for agents:
30
+
31
+ ```bash
32
+ linkme auth login --manual
33
+ ```
34
+
35
+ Give the printed authorization URL to the user. After they approve it:
36
+
37
+ ```bash
38
+ linkme auth resume
39
+ linkme whoami --json
40
+ ```
41
+
42
+ If pending state is missing or expired, start a new manual flow. Do not guess or reconstruct its state.
43
+
44
+ For CI, accept `LINKME_TOKEN` through the environment. Do not persist, print, or pass the token as a command-line argument.
45
+
46
+ ## Hosted MCP login
47
+
48
+ Hosted MCP authenticates through the host's Linkme connector. Local-only tools such as login, logout, resume, config mutation, and profile switching are intentionally unavailable.
49
+
50
+ If hosted authentication expires or points at the wrong account:
51
+
52
+ 1. stop the mutation
53
+ 2. ask the user to reconnect or change the Linkme connection in the host
54
+ 3. retry a read-only identity or resource call
55
+ 4. continue only after the expected account is confirmed
56
+
57
+ ## Session safety
58
+
59
+ Inspect active local sessions with:
60
+
61
+ ```bash
62
+ linkme auth sessions --json
63
+ ```
64
+
65
+ Revoke only the session id the user identified:
66
+
67
+ ```bash
68
+ linkme auth sessions revoke <session-id>
69
+ ```
70
+
71
+ Re-run the session list and verify the target disappeared.
72
+
73
+ ## Boundaries
74
+
75
+ - The CLI does not provide password-reset or account-recovery administration. Route those cases to Linkme's supported account recovery flow.
76
+ - Never ask the user to paste a bearer or refresh token into chat.
77
+ - Never log signed connector URLs or authorization codes.
78
+ - Do not log out, revoke a session, or switch profiles merely to test authentication.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Recover Linkme Authentication"
3
+ short_description: "Recover Linkme agent authentication"
4
+ default_prompt: "Use $linkme-recover-auth to diagnose why this Linkme connection is not authenticated."
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: linkme-review-analytics
3
+ description: Analyze Linkme profile traffic, link performance, and audience demographics. Use for date-range reports, visits, clicks, CTR, referrers, devices, geography, age or gender breakdowns, realtime activity, local exports, period comparisons, or deciding what profile content to improve.
4
+ ---
5
+
6
+ # Review Analytics
7
+
8
+ Turn Linkme analytics into an evidence-based summary. Use explicit date ranges for repeatable reports.
9
+
10
+ Prefer connected Linkme MCP tools. Their names mirror CLI paths with underscores; use the shell commands below as fallback and discovery examples.
11
+
12
+ ## Collect the relevant views
13
+
14
+ ```bash
15
+ linkme analytics overview --from YYYY-MM-DD --to YYYY-MM-DD --json
16
+ linkme analytics visits --from YYYY-MM-DD --to YYYY-MM-DD --json
17
+ linkme analytics links --from YYYY-MM-DD --to YYYY-MM-DD --sort clicks --json
18
+ linkme analytics geo --from YYYY-MM-DD --to YYYY-MM-DD --json
19
+ linkme analytics audience --from YYYY-MM-DD --to YYYY-MM-DD --json
20
+ ```
21
+
22
+ Use `linkme analytics realtime --json` only for current activity; do not mix it into a historical period total.
23
+
24
+ Select the smallest useful set:
25
+
26
+ - overview for visits, unique visitors, clicks, and CTR
27
+ - visits for sources, devices, and referrers
28
+ - links for destination performance and click share
29
+ - geo for countries and cities
30
+ - audience for historical age and gender distributions
31
+ - realtime for current active visitors
32
+
33
+ Use `analytics export` only when the user wants a local JSON artifact:
34
+
35
+ ```bash
36
+ linkme analytics export \
37
+ --dataset audience \
38
+ --output ./audience.json \
39
+ --from YYYY-MM-DD \
40
+ --to YYYY-MM-DD
41
+ ```
42
+
43
+ `analytics export` writes to the local filesystem, asks before create or
44
+ overwrite, and is not available on hosted MCP. In a hosted session, return the
45
+ structured result from `analytics audience` or another read instead.
46
+
47
+ ## Compare periods
48
+
49
+ Run each required command twice with equal-length, non-overlapping date windows. Label both windows explicitly. Calculate:
50
+
51
+ ```text
52
+ absolute change = current - previous
53
+ percent change = (current - previous) / previous * 100
54
+ ```
55
+
56
+ When the previous value is zero, report the absolute change and mark percentage change as undefined instead of dividing by zero.
57
+
58
+ ## Interpret carefully
59
+
60
+ - Report totals and rates with their denominators.
61
+ - Separate observations from hypotheses.
62
+ - Do not infer causation from a traffic or click correlation.
63
+ - Call out incomplete ranges, low counts, missing values, and timezone ambiguity.
64
+ - Treat demographic buckets as aggregate estimates; do not identify or infer traits about an individual visitor.
65
+ - Connect findings to a concrete profile action only when the data supports it.
66
+
67
+ ## Deliver
68
+
69
+ Summarize:
70
+
71
+ 1. date range and comparison range
72
+ 2. visits, unique visitors, clicks, and CTR
73
+ 3. strongest and weakest links
74
+ 4. meaningful source, device, or geographic changes
75
+ 5. up to three recommended actions
76
+
77
+ Keep raw JSON available for handoff, but present the user-facing result in plain language.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Review Linkme Analytics"
3
+ short_description: "Analyze Linkme traffic and audiences"
4
+ default_prompt: "Use $linkme-review-analytics to compare my Linkme performance across these date ranges."
@@ -1,14 +0,0 @@
1
- ---
2
- name: linkme_cli_codex
3
- description: Use the Linkme CLI from Codex to manage profile content, links, AP publishing, analytics, automations, email, forms, gallery, and commerce workflows.
4
- ---
5
-
6
- # Linkme CLI for Codex
7
-
8
- See the canonical **`agents/cli`** skill (`linkme_cli`) for install, authentication, output contracts (`--json`/`--quiet`/human), and the full command-area reference. This file only covers what's specific to running the CLI from Codex.
9
-
10
- ## Codex Specifics
11
-
12
- - Codex sandboxes commonly restrict network access by default. Installing `@link.me/cli` via `npm install -g` and any `linkme` command that talks to the Linkme API requires network approval — request it explicitly rather than assuming it is already granted.
13
- - Prefer non-interactive flags over prompts: use `linkme auth login --manual` + `linkme auth resume` instead of the default interactive browser flow, and use `--json`/`--quiet` instead of relying on TTY-formatted human output.
14
- - Codex does not have a bundled MCP integration for this CLI — always invoke `linkme` as a subprocess.
@@ -1,134 +0,0 @@
1
- ---
2
- name: linkme_ap_create_post
3
- description: Create and publish a Post on All (AP) post with the Linkme CLI. Use when the user wants to upload one short-form video, target connected social platforms, check processing or publish status, or wait until publishing completes.
4
- ---
5
-
6
- # AP Create Post
7
-
8
- ## When To Use
9
-
10
- Use this skill when the user wants to publish one video across AP-connected platforms such as YouTube, TikTok, Instagram, Facebook, X, Threads, LinkedIn, or Snapchat.
11
-
12
- ## Preconditions
13
-
14
- - The user must already be authenticated with `linkme`.
15
- - At least one AP provider account must be connected.
16
-
17
- Check connected accounts first:
18
-
19
- ```bash
20
- linkme ap accounts
21
- ```
22
-
23
- If no account is connected, connect one provider at a time:
24
-
25
- ```bash
26
- linkme ap connect youtube
27
- linkme ap connect instagram
28
- linkme ap connect tiktok
29
- ```
30
-
31
- ## Core Workflow
32
-
33
- ### 1. Upload the video if needed
34
-
35
- If the user has a local file, upload it and capture the returned R2 key:
36
-
37
- ```bash
38
- linkme ap upload ./clip.mp4
39
- ```
40
-
41
- The upload command prints a reusable AP video key like `u/42/my-video`.
42
-
43
- Skip this step if the user already has an AP R2 key.
44
-
45
- ### 2. Create the AP post
46
-
47
- Create the post with either a local file path or an existing AP R2 key:
48
-
49
- ```bash
50
- linkme ap post create \
51
- --video ./clip.mp4 \
52
- --caption "New drop. Out now." \
53
- --platforms youtube,tiktok,instagram
54
- ```
55
-
56
- Or with an uploaded key:
57
-
58
- ```bash
59
- linkme ap post create \
60
- --video u/42/my-video \
61
- --caption "New drop. Out now." \
62
- --platforms youtube,tiktok,instagram
63
- ```
64
-
65
- Optional scheduling:
66
-
67
- ```bash
68
- linkme ap post create \
69
- --video u/42/my-video \
70
- --caption "Tonight at 8." \
71
- --platforms youtube,tiktok \
72
- --schedule 2026-04-23T20:00:00Z
73
- ```
74
-
75
- Optional TikTok privacy:
76
-
77
- ```bash
78
- linkme ap post create \
79
- --video u/42/my-video \
80
- --caption "Behind the scenes" \
81
- --platforms tiktok \
82
- --tiktok-privacy PUBLIC_TO_EVERYONE
83
- ```
84
-
85
- ### 3. Inspect the post snapshot
86
-
87
- After creation, check the current state:
88
-
89
- ```bash
90
- linkme ap post status <post-id>
91
- ```
92
-
93
- Use this for a one-shot summary of media processing, per-platform target state, published URLs, and errors.
94
-
95
- ### 4. Watch live progress
96
-
97
- To stream live updates until the post is fully published:
98
-
99
- ```bash
100
- linkme ap post watch <post-id>
101
- ```
102
-
103
- `watch` is the live command. It exits automatically once the post reaches fully published state.
104
-
105
- ### 5. Publish immediately if needed
106
-
107
- If the post exists but still needs to be pushed now:
108
-
109
- ```bash
110
- linkme ap post publish <post-id>
111
- ```
112
-
113
- Then re-check with:
114
-
115
- ```bash
116
- linkme ap post status <post-id>
117
- linkme ap post watch <post-id>
118
- ```
119
-
120
- ## Operating Rules
121
-
122
- - Prefer `linkme ap accounts` before creating a post if provider connectivity is unclear.
123
- - Prefer `linkme ap upload <file>` first when the same video may be reused.
124
- - Prefer `linkme ap post status <id>` for a one-shot answer.
125
- - Prefer `linkme ap post watch <id>` when the user wants to wait through processing and publishing.
126
- - Use `--json` when another tool needs structured output.
127
-
128
- ## Minimal Happy Path
129
-
130
- ```bash
131
- linkme ap upload ./launch.mp4
132
- linkme ap post create --video u/42/launch --caption "Shipping today" --platforms youtube,tiktok,instagram
133
- linkme ap post watch <post-id>
134
- ```
@@ -1,34 +0,0 @@
1
- ---
2
- name: linkme_commerce_merch
3
- description: Use when you need to inspect merch templates or manage merch categories from the Linkme CLI.
4
- ---
5
-
6
- # Merch
7
-
8
- Use `linkme commerce merch` for merch templates and category housekeeping.
9
-
10
- ## Quick checks
11
-
12
- - `linkme whoami`
13
- - `linkme commerce --help`
14
- - `linkme commerce merch --help`
15
-
16
- ## Merch templates
17
-
18
- - List templates: `linkme commerce merch list`
19
- - Structured output: `linkme commerce merch list --json`
20
- - The current CLI surface is inspect-only for merch templates; create or edit flows are not exposed here
21
-
22
- ## Merch categories
23
-
24
- - List categories: `linkme commerce merch categories`
25
- - Create a category: `linkme commerce merch categories --create "Apparel"`
26
- - Delete a category with confirmation bypass: `linkme commerce merch categories --delete 8 --force`
27
- - Without `--force`, deletion prompts for confirmation
28
- - Add `--json` when another tool needs the raw category payload
29
-
30
- ## Discovery
31
-
32
- - If the user wants broader commerce features, inspect `linkme commerce products --help`
33
- - If the user wants actual storefront products or categories, inspect `linkme shop products --help` and `linkme shop categories --help`
34
- - If the exact flag shape is unclear, run `linkme commerce merch <subcommand> --help` first