@link.me/cli-linux-arm64 0.2.56 → 0.3.1
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.
- package/linkme +0 -0
- package/package.json +3 -2
- package/skills/agents/claude-code/SKILL.md +14 -0
- package/skills/agents/cli/SKILL.md +118 -0
- package/skills/agents/codex/SKILL.md +14 -0
- package/skills/agents/cowork/SKILL.md +14 -0
- package/skills/agents/openclaw/SKILL.md +14 -0
- package/skills/ap/create-post/SKILL.md +134 -0
- package/skills/automations/instagram/SKILL.md +68 -0
- package/skills/commerce/merch/SKILL.md +34 -0
- package/skills/email/lists/SKILL.md +59 -0
- package/skills/profile/make-it-look-good/SKILL.md +311 -0
package/linkme
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@link.me/cli-linux-arm64",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Platform binary for @link.me/cli (linux-arm64)",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"os": [
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"linkme": "./linkme"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"linkme"
|
|
16
|
+
"linkme",
|
|
17
|
+
"skills/**/*"
|
|
17
18
|
]
|
|
18
19
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_cli_claude_code
|
|
3
|
+
description: Use the Linkme CLI from Claude Code for Linkme profile editing, AP publishing, analytics, links, forms, gallery, automations, email, and merch workflows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Linkme CLI for Claude Code
|
|
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 Claude Code.
|
|
9
|
+
|
|
10
|
+
## Claude Code Specifics
|
|
11
|
+
|
|
12
|
+
- This repo ships a Claude Code plugin (`.claude-plugin/plugin.json` + `.claude-plugin/marketplace.json`) that bundles this whole `skills/` tree and an MCP server (`@link.me/mcp`, binary `linkme-mcp`). If the plugin/MCP server is already installed and enabled, prefer its MCP tools over shelling out to `linkme` — they cover the same commands with structured input/output and no subprocess overhead.
|
|
13
|
+
- If the MCP server is not available, fall back to installing and shelling out to the CLI as described in `agents/cli`.
|
|
14
|
+
- Use the `Bash` tool for CLI invocations and prefer `--json` output when you intend to parse the result programmatically in the same turn.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_cli
|
|
3
|
+
description: Canonical reference for using the Linkme CLI (`linkme`) to manage Linkme profile editing, AP (Post on All Platforms) publishing, analytics, links, forms, gallery, automations, email, and commerce workflows. Other agent-specific skills point back to this file.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Linkme CLI
|
|
7
|
+
|
|
8
|
+
This is the canonical skill for operating the Linkme platform through the `linkme` CLI. The per-agent skills under `agents/` (`claude-code`, `codex`, `cowork`, `openclaw`) are thin pointers to this file — read this one for install, auth, output contracts, and the full area reference, then check the per-agent file only for sandbox-specific notes.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
If `linkme` is missing, install it into a writable local prefix (most agent sandboxes do not have root):
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
mkdir -p /tmp/npm-global
|
|
16
|
+
npm config set prefix /tmp/npm-global
|
|
17
|
+
npm install -g @link.me/cli
|
|
18
|
+
export PATH="/tmp/npm-global/bin:$PATH"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If `PATH` changes do not persist, call the binary directly:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
/tmp/npm-global/bin/linkme --help
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Update later with:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g @link.me/cli@latest
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Authenticate
|
|
34
|
+
|
|
35
|
+
Use the manual, non-blocking browser flow:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
linkme auth login --manual
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This prints an authorization URL and exits immediately — it does not wait. Share the URL with the user and ask them to open it and approve access. Once they confirm, finish the flow:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
linkme auth resume
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Verify identity:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
linkme whoami --json
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
For fully non-interactive contexts (CI, headless), skip the browser flow entirely and set `LINKME_TOKEN` in the environment instead.
|
|
54
|
+
|
|
55
|
+
## Output Contracts
|
|
56
|
+
|
|
57
|
+
Every `linkme` command supports three output modes:
|
|
58
|
+
|
|
59
|
+
- **Human** (default) — optimized for reading, includes tables and formatting
|
|
60
|
+
- **`--quiet`** — emits only the single most useful machine-readable scalar
|
|
61
|
+
- **`--json`** — emits a stable, structured DTO for piping and parsing
|
|
62
|
+
|
|
63
|
+
Rules of thumb:
|
|
64
|
+
|
|
65
|
+
- Use `--json` whenever the output will be parsed, filtered, or fed into another step (`| jq ...`).
|
|
66
|
+
- Use `--quiet` when you only need one id, count, or status value.
|
|
67
|
+
- Use human output for the final summary shown to the user.
|
|
68
|
+
- Discover flags and subcommands with `--help` before acting on anything unfamiliar — do not guess a command shape.
|
|
69
|
+
|
|
70
|
+
## Areas
|
|
71
|
+
|
|
72
|
+
The authoritative command surface is always `linkme --help`. The table below is a map, not an exhaustive contract:
|
|
73
|
+
|
|
74
|
+
| Area | Covers |
|
|
75
|
+
|------|--------|
|
|
76
|
+
| `auth` | Login (browser or manual), resume, logout, sessions, profile switching |
|
|
77
|
+
| `ap` | Post on All Platforms: `accounts`, `connect`/`disconnect`, `upload`, `limits`, `analytics` |
|
|
78
|
+
| `ap post` | `create`, `list`, `calendar`, `status`, `watch`, `insights`, `comments`, `publish`, `cancel`, `retry`, `reschedule` |
|
|
79
|
+
| `profile` | View/edit profile, `theme`, `sections`, `contact`, `forms`, `events`, `bands-in-town`, `video`, `pixels`, `linkme-icon`, `deeplink`, `add-to-contacts` |
|
|
80
|
+
| `links` | Custom + platform links: `list`, `add`, `edit`, `delete`, `reorder`, `set <platform> <url>` / `unset <platform>`, `schedule` |
|
|
81
|
+
| `featured` | Featured links, `headers`, `multilinks` |
|
|
82
|
+
| `gallery` | Upload, list, delete, reorder gallery media |
|
|
83
|
+
| `automations` | Instagram automations: connection, authorize, config, posts, create/update/publish, metrics/analytics/monitor |
|
|
84
|
+
| `courses` | Author courses and lesson video uploads |
|
|
85
|
+
| `contacts` | Collected contacts and stats |
|
|
86
|
+
| `search` | Search Linkme users by username or name |
|
|
87
|
+
| `username` | Check username validity/availability |
|
|
88
|
+
| `waitlist` | Check/join gated feature waitlists |
|
|
89
|
+
| `email` | Templates, sending domains, send/test, history, detail, cancel, upload-image |
|
|
90
|
+
| `analytics` | Overview, visits, links, geo, realtime |
|
|
91
|
+
| `commerce` | Digital products/orders (`products`), print-on-demand merch (`merch`) |
|
|
92
|
+
| `shop` | Physical/storefront products and categories |
|
|
93
|
+
| `agency` | Create agencies, invite/manage members, switch managed-user context |
|
|
94
|
+
| `feeds` | Subscribe to and poll provider feeds |
|
|
95
|
+
| `reviews` | Subscribe to and inspect review sources |
|
|
96
|
+
| `upgrade` | Generate Linkme Pro upgrade links |
|
|
97
|
+
| `config` | Show/set/reset CLI configuration and profiles |
|
|
98
|
+
| `whoami` | Current identity |
|
|
99
|
+
| `skill` | List/inspect bundled agent skills (this file included) |
|
|
100
|
+
|
|
101
|
+
Note: there is no top-level `social` area. Social network links live under `links` (`links set <platform> <url>`, `links unset <platform>`, and `links list` shows both custom and platform links).
|
|
102
|
+
|
|
103
|
+
## Discovery Pattern
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
linkme --help
|
|
107
|
+
linkme <area> --help
|
|
108
|
+
linkme <area> <subcommand> --help
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Start broad, then drill into the specific area for the task at hand rather than memorizing flags.
|
|
112
|
+
|
|
113
|
+
## Good Defaults
|
|
114
|
+
|
|
115
|
+
- **Read before you write.** For profile-improvement tasks, inspect current state first: `profile`, `links list`, `featured list`, `gallery list`, `profile sections`, `profile theme`, `profile forms`.
|
|
116
|
+
- **Publishing flow.** Connect accounts (`ap connect <provider>`) → create the post (`ap post create`) → confirm with `ap post status <id>` or stream with `ap post watch <id>`.
|
|
117
|
+
- **Reporting flow.** Request `--json`, extract fields with `jq`, and summarize the numbers for the user in human language.
|
|
118
|
+
- **Re-read after high-impact writes** (deletes, publishes, schedule changes) to confirm the change landed.
|
|
@@ -0,0 +1,14 @@
|
|
|
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.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_cli_cowork
|
|
3
|
+
description: Use the Linkme CLI from Cowork to manage Linkme profiles, links, publishing, analytics, forms, gallery, email, automations, and shop workflows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Linkme CLI for Cowork
|
|
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 Cowork.
|
|
9
|
+
|
|
10
|
+
## Cowork Specifics
|
|
11
|
+
|
|
12
|
+
- Cowork sandboxes usually do not have root, so always install to a local prefix (`npm config set prefix /tmp/npm-global`) as described in `agents/cli`. The executable is `linkme`, not `link.me`.
|
|
13
|
+
- Cowork sessions may not persist `PATH` changes across separate task invocations — call `/tmp/npm-global/bin/linkme` directly if a fresh task can't find `linkme` on `PATH`.
|
|
14
|
+
- For publishing workflows, always verify the final state with `linkme ap post status <id>` or `linkme ap post watch <id>` before reporting success to the user.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_cli_openclaw
|
|
3
|
+
description: Use the Linkme CLI from OpenClaw to manage profiles, publishing, analytics, links, forms, gallery, automations, email, and commerce workflows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Linkme CLI for OpenClaw
|
|
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 OpenClaw.
|
|
9
|
+
|
|
10
|
+
## OpenClaw Specifics
|
|
11
|
+
|
|
12
|
+
- Login is a strictly two-step manual flow in OpenClaw sandboxes: run `linkme auth login --manual`, hand the printed URL to the user, wait for their confirmation, then run `linkme auth resume`. Do not background the login step or attempt to poll for completion any other way.
|
|
13
|
+
- If `PATH` changes from the local-prefix install do not persist, call `/tmp/npm-global/bin/linkme` directly.
|
|
14
|
+
- If a command changes state (delete, publish, reorder), confirm success from the command's own output or by re-reading the affected resource — do not assume success from a zero exit code alone when reporting back to the user.
|
|
@@ -0,0 +1,134 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_automations_instagram
|
|
3
|
+
description: Use when you need to connect Instagram, inspect posts and automations, or create, update, publish, and monitor Linkme Instagram automations from the CLI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Instagram Automations
|
|
7
|
+
|
|
8
|
+
Use `linkme automations` for Instagram comment and DM automations.
|
|
9
|
+
|
|
10
|
+
## Quick checks
|
|
11
|
+
|
|
12
|
+
- `linkme whoami`
|
|
13
|
+
- `linkme automations --help`
|
|
14
|
+
- `linkme automations connection`
|
|
15
|
+
- `linkme automations config`
|
|
16
|
+
|
|
17
|
+
## Connect Instagram
|
|
18
|
+
|
|
19
|
+
- Start OAuth: `linkme automations authorize`
|
|
20
|
+
- Finish the callback after approval: `linkme automations callback --code "<code>" --state "<state>"`
|
|
21
|
+
- Disconnect the current Instagram account: `linkme automations disconnect`
|
|
22
|
+
|
|
23
|
+
## Inspect posts and automations
|
|
24
|
+
|
|
25
|
+
- List available Instagram posts: `linkme automations posts --limit 20`
|
|
26
|
+
- List automations: `linkme automations list --status active --limit 25`
|
|
27
|
+
- Filter further when needed: `--search`, `--trigger-mode`, `--automation-type`, `--start-date`, `--end-date`
|
|
28
|
+
- Inspect one automation: `linkme automations get <automation-id>`
|
|
29
|
+
- Add `--json` when another tool needs structured output
|
|
30
|
+
|
|
31
|
+
## Create and publish
|
|
32
|
+
|
|
33
|
+
- Prefer `--file` for repeatable drafts and `--json` for inspection
|
|
34
|
+
- Create from flags:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
linkme automations create \
|
|
38
|
+
--name "Spring DM" \
|
|
39
|
+
--type comment \
|
|
40
|
+
--post 1234567890 \
|
|
41
|
+
--trigger-mode keywords \
|
|
42
|
+
--keyword spring \
|
|
43
|
+
--auto-reply \
|
|
44
|
+
--reply "Check your DMs" \
|
|
45
|
+
--dm-text "Here is the link" \
|
|
46
|
+
--dm-link-label "Open" \
|
|
47
|
+
--dm-link-url "https://link.me/you"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
- Create from a spec file: `linkme automations create --file ./automation.json`
|
|
51
|
+
- Update a draft: `linkme automations update <automation-id> --file ./automation.json`
|
|
52
|
+
- Publish a draft: `linkme automations publish <automation-id>`
|
|
53
|
+
- Duplicate an automation: `linkme automations duplicate <automation-id>`
|
|
54
|
+
- Deactivate a live automation: `linkme automations deactivate <automation-id>`
|
|
55
|
+
- Delete an automation: `linkme automations delete <automation-id>`
|
|
56
|
+
|
|
57
|
+
## Monitor performance
|
|
58
|
+
|
|
59
|
+
- Current metrics: `linkme automations metrics <automation-id>`
|
|
60
|
+
- Poll metrics: `linkme automations monitor <automation-id> --interval 10 --count 12`
|
|
61
|
+
- Per-automation link analytics: `linkme automations analytics <automation-id> --start-date 2026-04-01 --end-date 2026-04-30`
|
|
62
|
+
- Dashboard totals: `linkme automations dashboard-stats`
|
|
63
|
+
- Dashboard link analytics: `linkme automations dashboard-link-analytics --timezone UTC`
|
|
64
|
+
|
|
65
|
+
## Working rules
|
|
66
|
+
|
|
67
|
+
- If the payload shape is unclear, start with `linkme automations <subcommand> --help`
|
|
68
|
+
- Before mutating, inspect existing drafts with `linkme automations list --json` or `linkme automations get <id> --json`
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_email_lists
|
|
3
|
+
description: Use when you need to manage contact-backed email lists, templates, assets, test sends, and campaigns from the Linkme CLI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Email Lists And Campaigns
|
|
7
|
+
|
|
8
|
+
Use `linkme email` for templates, assets, test sends, and campaign delivery. Use `linkme contacts` to inspect the audience behind campaigns.
|
|
9
|
+
|
|
10
|
+
## Quick checks
|
|
11
|
+
|
|
12
|
+
- `linkme whoami`
|
|
13
|
+
- `linkme email --help`
|
|
14
|
+
- `linkme contacts --help`
|
|
15
|
+
- `linkme email domains`
|
|
16
|
+
|
|
17
|
+
## Inspect the audience
|
|
18
|
+
|
|
19
|
+
- Contact summary: `linkme contacts stats`
|
|
20
|
+
- Paginated contacts: `linkme contacts list --page 1 --limit 50`
|
|
21
|
+
- Use `--json` if you need structured contact data for follow-up steps
|
|
22
|
+
|
|
23
|
+
## Templates and assets
|
|
24
|
+
|
|
25
|
+
- List templates: `linkme email templates list`
|
|
26
|
+
- Filter by category: `linkme email templates list --category onboarding`
|
|
27
|
+
- Create from HTML file:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
linkme email templates create \
|
|
31
|
+
--name "April Newsletter" \
|
|
32
|
+
--subject "April updates" \
|
|
33
|
+
--file ./newsletter.html \
|
|
34
|
+
--category newsletter
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- Create from inline HTML: `linkme email templates create --name "Welcome" --subject "Hello" --body "<h1>Hi</h1>" --category onboarding`
|
|
38
|
+
- Delete a template: `linkme email templates delete <template-id> --force`
|
|
39
|
+
- Upload an image for template HTML: `linkme email upload-image ./hero.png`
|
|
40
|
+
|
|
41
|
+
## Test and send
|
|
42
|
+
|
|
43
|
+
- Send a test email: `linkme email test --to fan@example.com --template tmpl_123 --from news.example.com`
|
|
44
|
+
- Send to all active contacts: `linkme email send --template tmpl_123 --from news.example.com --audience all`
|
|
45
|
+
- Send to specific recipient ids: `linkme email send --template tmpl_123 --from news.example.com --audience ids --recipient-ids "1,2,3"`
|
|
46
|
+
- Schedule a campaign: `linkme email send --template tmpl_123 --from news.example.com --audience all --schedule 2026-05-01T15:00:00Z`
|
|
47
|
+
- Override the subject line: add `--subject "Flash sale"`
|
|
48
|
+
|
|
49
|
+
## Track and control campaigns
|
|
50
|
+
|
|
51
|
+
- Campaign history: `linkme email history --page 1 --limit 25`
|
|
52
|
+
- Campaign detail: `linkme email detail <campaign-id>`
|
|
53
|
+
- Cancel a scheduled campaign: `linkme email cancel <campaign-id>`
|
|
54
|
+
|
|
55
|
+
## Working rules
|
|
56
|
+
|
|
57
|
+
- If multiple verified domains exist, pass `--from`
|
|
58
|
+
- If a command shape is unclear, run `linkme email <subcommand> --help` first
|
|
59
|
+
- Prefer `--json` for agent-to-agent handoff or downstream parsing
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: linkme_profile_make_it_look_good
|
|
3
|
+
description: Polish a Linkme profile with the Linkme CLI. Use when the user wants to improve profile presentation, especially featured links, links, social links, gallery, sections, theme, and high-conversion profile modules.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Make Profile Look Good
|
|
7
|
+
|
|
8
|
+
## When To Use
|
|
9
|
+
|
|
10
|
+
Use this skill when the user wants their Linkme profile to look cleaner, more complete, and more conversion-focused from the CLI.
|
|
11
|
+
|
|
12
|
+
This skill is grounded in the current Linkme CLI surface. The main profile polish surface is not just `linkme profile`. It also includes `linkme featured`, `linkme links`, and `linkme gallery`.
|
|
13
|
+
|
|
14
|
+
## Start Here
|
|
15
|
+
|
|
16
|
+
Inspect the current profile and public content first:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
linkme profile view
|
|
20
|
+
linkme featured list
|
|
21
|
+
linkme links list
|
|
22
|
+
linkme gallery list
|
|
23
|
+
linkme profile sections list
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Core Polish
|
|
27
|
+
|
|
28
|
+
### Featured links first
|
|
29
|
+
|
|
30
|
+
Featured links are usually the most important conversion surface on a Linkme profile. Treat them as the main polish step unless the user asked for something narrower.
|
|
31
|
+
|
|
32
|
+
What to do:
|
|
33
|
+
|
|
34
|
+
- make sure the best call-to-action links exist
|
|
35
|
+
- remove weak or outdated featured items
|
|
36
|
+
- reorder featured links so the highest-value destination is first
|
|
37
|
+
- use headers or multilinks when they improve structure
|
|
38
|
+
|
|
39
|
+
Commands:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
linkme featured list
|
|
43
|
+
linkme featured add --help
|
|
44
|
+
linkme featured edit --help
|
|
45
|
+
linkme featured reorder --help
|
|
46
|
+
linkme featured headers --help
|
|
47
|
+
linkme featured multilinks --help
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Then polish normal links, socials, and gallery
|
|
51
|
+
|
|
52
|
+
Use the rest of the public profile surface to support the featured links.
|
|
53
|
+
|
|
54
|
+
Commands:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
linkme links list
|
|
58
|
+
linkme links add --help
|
|
59
|
+
linkme links set --help
|
|
60
|
+
linkme links edit --help
|
|
61
|
+
linkme gallery list
|
|
62
|
+
linkme gallery upload --help
|
|
63
|
+
linkme gallery reorder --help
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
What each area does:
|
|
67
|
+
|
|
68
|
+
- `featured`: primary calls to action, headers, smart links
|
|
69
|
+
- `links`: broader profile destinations, platform presence, and supporting links
|
|
70
|
+
- `gallery`: visual proof, brand texture, product shots, creator imagery
|
|
71
|
+
|
|
72
|
+
### Profile edit without unnecessary renaming
|
|
73
|
+
|
|
74
|
+
Use `profile edit` to improve the first impression, but do not recommend changing `--username` or `--name` by default. Only touch those if the user explicitly asked, is rebranding, or there is a clear correctness issue.
|
|
75
|
+
|
|
76
|
+
What it controls:
|
|
77
|
+
|
|
78
|
+
- `--name`: public display name
|
|
79
|
+
- `--username`: public handle
|
|
80
|
+
- `--bio`: short positioning statement
|
|
81
|
+
- `--image`: avatar or brand image
|
|
82
|
+
- `--public-search`: whether the profile can appear in search
|
|
83
|
+
- `--display-name-option`: display style, `user_name` or `brand_logo`
|
|
84
|
+
|
|
85
|
+
Example:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
linkme profile edit \
|
|
89
|
+
--bio "Tour dates, music drops, merch, and fan links in one place." \
|
|
90
|
+
--image ./avatar.jpg \
|
|
91
|
+
--public-search \
|
|
92
|
+
--display-name-option user_name
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Default guidance:
|
|
96
|
+
|
|
97
|
+
- improve bio clarity before changing identity fields
|
|
98
|
+
- improve image quality before renaming anything
|
|
99
|
+
- preserve established username/display name unless the user wants a change
|
|
100
|
+
|
|
101
|
+
### Theme
|
|
102
|
+
|
|
103
|
+
Use `profile theme` to create a coherent visual system.
|
|
104
|
+
|
|
105
|
+
What it controls:
|
|
106
|
+
|
|
107
|
+
- `--primary`: main text color
|
|
108
|
+
- `--background`: background color
|
|
109
|
+
- `--font`: custom profile font
|
|
110
|
+
|
|
111
|
+
Example:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
linkme profile theme \
|
|
115
|
+
--primary "#F6F1E8" \
|
|
116
|
+
--background "#111111" \
|
|
117
|
+
--font "Space Grotesk"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Presentation Toggles
|
|
121
|
+
|
|
122
|
+
Use these to control profile chrome and conversion helpers:
|
|
123
|
+
|
|
124
|
+
- `linkme profile linkme-icon --enable`
|
|
125
|
+
Shows the Linkme icon on profile.
|
|
126
|
+
- `linkme profile deeplink --enable`
|
|
127
|
+
Shows the deeplink banner.
|
|
128
|
+
- `linkme profile add-to-contacts --show`
|
|
129
|
+
Shows the Add to Contacts button.
|
|
130
|
+
- `linkme profile pixels --meta <id> --tiktok <id> --google-analytics <id>`
|
|
131
|
+
Adds tracking pixels. This requires Linkme Pro.
|
|
132
|
+
|
|
133
|
+
Example:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
linkme profile linkme-icon --enable
|
|
137
|
+
linkme profile deeplink --enable
|
|
138
|
+
linkme profile add-to-contacts --show
|
|
139
|
+
linkme profile pixels --meta 1234567890 --tiktok TT-ABC123 --google-analytics G-ABCD1234
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Contact And Section Structure
|
|
143
|
+
|
|
144
|
+
### Contact info
|
|
145
|
+
|
|
146
|
+
Use profile contact info for direct conversion paths.
|
|
147
|
+
|
|
148
|
+
- `email`: business or booking inbox
|
|
149
|
+
- `phone`: booking or support number
|
|
150
|
+
- `website`: canonical site or store
|
|
151
|
+
- `address`: physical location
|
|
152
|
+
|
|
153
|
+
Commands:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
linkme profile contact list
|
|
157
|
+
linkme profile contact set email bookings@example.com
|
|
158
|
+
linkme profile contact set website https://example.com
|
|
159
|
+
linkme profile contact set phone "+1 555 123 4567"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Section visibility and order
|
|
163
|
+
|
|
164
|
+
Use sections to decide what visitors see first.
|
|
165
|
+
|
|
166
|
+
Commands:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
linkme profile sections list
|
|
170
|
+
linkme profile sections enable featured_links
|
|
171
|
+
linkme profile sections enable contact_info
|
|
172
|
+
linkme profile sections enable forms
|
|
173
|
+
linkme profile sections move featured_links 1
|
|
174
|
+
linkme profile sections move forms 2
|
|
175
|
+
linkme profile sections move custom_events 3
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Useful section keys exposed by the CLI include:
|
|
179
|
+
|
|
180
|
+
- `featured_links`
|
|
181
|
+
- `forms`
|
|
182
|
+
- `bandsintown`
|
|
183
|
+
- `custom_events`
|
|
184
|
+
- `gallery`
|
|
185
|
+
- `contact_info`
|
|
186
|
+
- `instagram_videos`
|
|
187
|
+
- `tiktok_videos`
|
|
188
|
+
- `shop`
|
|
189
|
+
- `bio`
|
|
190
|
+
|
|
191
|
+
## High-Impact Modules
|
|
192
|
+
|
|
193
|
+
### Custom events
|
|
194
|
+
|
|
195
|
+
Use custom events when the profile should highlight launches, appearances, or tour stops.
|
|
196
|
+
|
|
197
|
+
Commands:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
linkme profile events list
|
|
201
|
+
linkme profile events add \
|
|
202
|
+
--title "Album Release Show" \
|
|
203
|
+
--location "Los Angeles, CA" \
|
|
204
|
+
--starts-at 2026-05-01T20:00:00Z \
|
|
205
|
+
--ticket-url https://tickets.example.com/release-show \
|
|
206
|
+
--venue "The Regent" \
|
|
207
|
+
--pinned
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
What this module does:
|
|
211
|
+
|
|
212
|
+
- surfaces time-sensitive events on profile
|
|
213
|
+
- supports pinned events
|
|
214
|
+
- supports sold-out and all-day state
|
|
215
|
+
- supports per-event colors with `--text-color`, `--bg-color1`, `--bg-color2`
|
|
216
|
+
|
|
217
|
+
### Forms
|
|
218
|
+
|
|
219
|
+
Use forms for lead capture, waitlists, booking inquiries, or fan signups.
|
|
220
|
+
|
|
221
|
+
Commands:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
linkme profile forms list
|
|
225
|
+
linkme profile forms create \
|
|
226
|
+
--name "VIP Waitlist" \
|
|
227
|
+
--description "Get first access to tickets and merch." \
|
|
228
|
+
--field "Name:text:required" \
|
|
229
|
+
--field "Email:email:required" \
|
|
230
|
+
--field "City:text:optional" \
|
|
231
|
+
--text-color "#FFFFFF" \
|
|
232
|
+
--bg-color-1 "#1F2937" \
|
|
233
|
+
--bg-color-2 "#111827"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
What this module does:
|
|
237
|
+
|
|
238
|
+
- creates conversion-focused forms directly on profile
|
|
239
|
+
- supports typed fields with required or optional rules
|
|
240
|
+
- supports form theming
|
|
241
|
+
- supports submission review and CSV export
|
|
242
|
+
|
|
243
|
+
Useful follow-ups:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
linkme profile forms submissions <form-id>
|
|
247
|
+
linkme profile forms export <form-id>
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Profile video
|
|
251
|
+
|
|
252
|
+
Use profile video when motion will improve the page header.
|
|
253
|
+
|
|
254
|
+
Commands:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
linkme profile video set --file ./intro.mp4 --variation 4 --ping-pong
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
What this module does:
|
|
261
|
+
|
|
262
|
+
- uploads a hero-style profile video
|
|
263
|
+
- applies a style variation
|
|
264
|
+
- supports seamless looping with `--ping-pong`
|
|
265
|
+
|
|
266
|
+
Remove it with:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
linkme profile video remove
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### BandsInTown
|
|
273
|
+
|
|
274
|
+
Use BandsInTown when the user is an artist and wants live event sync.
|
|
275
|
+
|
|
276
|
+
Commands:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
linkme profile bands-in-town show
|
|
280
|
+
linkme profile bands-in-town sync --api-key <bandsintown-api-key> --artist "The Midnight Arcade"
|
|
281
|
+
linkme profile bands-in-town events
|
|
282
|
+
linkme profile bands-in-town colors --text-color "#FFFFFF" --bg-color-1 "#7C3AED" --bg-color-2 "#1D4ED8"
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
What this module does:
|
|
286
|
+
|
|
287
|
+
- syncs artist events from BandsInTown
|
|
288
|
+
- exposes synced events on profile
|
|
289
|
+
- updates colors across all synced events
|
|
290
|
+
|
|
291
|
+
## Recommended Order
|
|
292
|
+
|
|
293
|
+
1. `linkme profile view`
|
|
294
|
+
2. `linkme featured list`
|
|
295
|
+
3. `linkme links list`, `linkme gallery list`
|
|
296
|
+
4. `linkme profile edit ...` for bio/image/search settings
|
|
297
|
+
5. `linkme profile theme ...`
|
|
298
|
+
6. `linkme profile contact set ...`
|
|
299
|
+
7. `linkme profile forms create ...` or `linkme profile events add ...`
|
|
300
|
+
8. `linkme profile sections move ...`
|
|
301
|
+
9. `linkme profile video set ...`
|
|
302
|
+
|
|
303
|
+
## Operating Rules
|
|
304
|
+
|
|
305
|
+
- Start by inspecting the current profile before changing it.
|
|
306
|
+
- Start with featured links and public-facing content before deeper profile modules.
|
|
307
|
+
- Prefer a short, concrete bio over a generic one.
|
|
308
|
+
- Do not recommend changing username or display name unless the user asked or there is a strong reason.
|
|
309
|
+
- Add at least one conversion module: contact info, a form, an event, or profile video.
|
|
310
|
+
- Reorder sections after adding content so the strongest conversion block appears near the top.
|
|
311
|
+
- Use `--json` when another tool needs structured output.
|