marketing-cli 0.1.0 → 0.2.0
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/README.md +72 -76
- package/catalogs-manifest.json +24 -0
- package/dist/cli.js +1186 -153
- package/package.json +6 -5
- package/skills/cmo/SKILL.md +73 -7
- package/skills/cmo/rules/brand-file-map.md +193 -0
- package/skills/cmo/rules/command-reference.md +143 -0
- package/skills/cmo/rules/context-switch.md +34 -0
- package/skills/cmo/rules/ecosystem.md +127 -0
- package/skills/cmo/rules/error-recovery.md +94 -0
- package/skills/cmo/rules/learning-loop.md +168 -0
- package/skills/cmo/rules/playbooks.md +215 -0
- package/skills/cmo/rules/progressive-enhancement.md +167 -0
- package/skills/cmo/rules/quality-gate.md +55 -0
- package/skills/cmo/rules/sub-agents.md +135 -0
- package/skills/deepen-plan/SKILL.md +1 -1
- package/skills/direct-response-copy/SKILL.md +1 -1
- package/skills/email-sequences/SKILL.md +1 -1
- package/skills/firecrawl/.skill-meta.json +2 -2
- package/skills/keyword-research/SKILL.md +1 -1
- package/skills/launch-strategy/SKILL.md +2 -2
- package/skills/marketing-psychology/SKILL.md +1 -1
- package/skills/mktg-x/.skill-meta.json +2 -2
- package/skills/positioning-angles/SKILL.md +1 -1
- package/skills/postiz/SKILL.md +248 -0
- package/skills/seo-content/SKILL.md +7 -5
- package/skills/social-campaign/SKILL.md +65 -0
- package/skills-manifest.json +27 -0
package/README.md
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="banner.svg" alt="
|
|
2
|
+
<img src="banner.svg" alt="marketing-cli: agent-native marketing playbook" width="100%">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="https://github.com/MoizIbnYousaf/
|
|
7
|
-
<img src="https://img.shields.io/badge/skills-
|
|
6
|
+
<a href="https://github.com/MoizIbnYousaf/marketing-cli/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-10b981" alt="MIT License"></a>
|
|
7
|
+
<img src="https://img.shields.io/badge/skills-50-10b981" alt="50 Skills">
|
|
8
8
|
<img src="https://img.shields.io/badge/agents-5-10b981" alt="5 Agents">
|
|
9
|
-
<img src="https://img.shields.io/
|
|
9
|
+
<a href="https://www.npmjs.com/package/marketing-cli"><img src="https://img.shields.io/npm/v/marketing-cli?color=10b981" alt="npm"></a>
|
|
10
|
+
<img src="https://img.shields.io/badge/tests-2,371-10b981" alt="2,371 tests">
|
|
10
11
|
<img src="https://img.shields.io/badge/TypeScript-strict-3178c6" alt="TypeScript Strict">
|
|
11
12
|
</p>
|
|
12
13
|
|
|
13
14
|
<p align="center">
|
|
14
|
-
<b>One install
|
|
15
|
+
<b>One install. A full marketing department for your agent: 50 skills, 5 agents, 10 brand memory files.</b>
|
|
15
16
|
</p>
|
|
16
17
|
|
|
17
18
|
---
|
|
@@ -22,48 +23,48 @@ You have a product. You need marketing. You ask your AI agent to help.
|
|
|
22
23
|
|
|
23
24
|
It writes generic copy. It doesn't know your voice. It forgets your audience by next session. It can't research competitors, plan keywords, or coordinate a launch. Every conversation starts from zero.
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
One install turns your agent into a marketing department that remembers everything, researches in parallel, and gets sharper with every session.
|
|
26
27
|
|
|
27
28
|
---
|
|
28
29
|
|
|
29
30
|
## How It Works
|
|
30
31
|
|
|
31
32
|
<p align="center">
|
|
32
|
-
<img src="explainer.gif" alt="How
|
|
33
|
+
<img src="explainer.gif" alt="How marketing-cli works" width="720">
|
|
33
34
|
</p>
|
|
34
35
|
---
|
|
35
36
|
|
|
36
|
-
## The Ecosystem
|
|
37
|
+
## The Ecosystem: What You Actually Install
|
|
37
38
|
|
|
38
|
-
`mktg init`
|
|
39
|
+
`mktg init` bootstraps the full workstation.
|
|
39
40
|
|
|
40
|
-
### Core
|
|
41
|
+
### Core (always installed)
|
|
41
42
|
|
|
42
43
|
| | |
|
|
43
44
|
|---|---|
|
|
44
|
-
| **`mktg` CLI** |
|
|
45
|
-
| **
|
|
45
|
+
| **`mktg` CLI** | 16 commands, 21/21 Agent DX score, JSON-by-default |
|
|
46
|
+
| **50 marketing skills** | The playbook, copied to `~/.claude/skills/` |
|
|
46
47
|
| **5 research + review agents** | Parallel sub-agents in `~/.claude/agents/` |
|
|
47
48
|
| **10 brand files** | Persistent marketing memory in your project's `brand/` |
|
|
48
49
|
| **`/cmo` orchestrator** | The brain that routes every request to the right skill |
|
|
49
50
|
|
|
50
|
-
### Chained-in CLIs
|
|
51
|
+
### Chained-in CLIs (external tools mktg orchestrates)
|
|
51
52
|
|
|
52
|
-
These are
|
|
53
|
+
Not bundled. These are external binaries that mktg's skills know how to call. `mktg doctor` detects what's missing and tells you how to install it. Skills fall back when a tool isn't present.
|
|
53
54
|
|
|
54
55
|
| CLI | Role | Install |
|
|
55
56
|
|---|---|---|
|
|
56
|
-
| [`firecrawl`](https://github.com/firecrawl/cli) | Web scrape, search, crawl
|
|
57
|
+
| [`firecrawl`](https://github.com/firecrawl/cli) | Web scrape, search, and crawl; outputs clean markdown for LLMs | `npm i -g firecrawl` + `FIRECRAWL_API_KEY` |
|
|
57
58
|
| `ffmpeg` | Video assembly, encoding, frame extraction | `brew install ffmpeg` |
|
|
58
59
|
| [`remotion`](https://remotion.dev) | Programmatic React video rendering | `npm i -g @remotion/cli` |
|
|
59
60
|
| [`playwright-cli`](https://playwright.dev) | Browser automation for demo capture, scraping, CRO audits | `npm i -g @playwright/cli` |
|
|
60
61
|
| [`gh`](https://cli.github.com) | GitHub CLI for launches, PR workflows, issue intelligence | `brew install gh` |
|
|
61
62
|
| `whisper-cli` | Speech-to-text via whisper.cpp | `brew install whisper-cpp` |
|
|
62
63
|
| `yt-dlp` | Media download from YouTube/TikTok/podcasts | `brew install yt-dlp` |
|
|
63
|
-
| [`summarize`](https://github.com/steipete/summarize) | Text compression
|
|
64
|
+
| [`summarize`](https://github.com/steipete/summarize) | Text compression: TL;DR, digest, key points | `npm i -g @steipete/summarize` |
|
|
64
65
|
| Exa MCP | Parallel deep research (default for agent web queries) | MCP config in `.mcp.json` |
|
|
65
66
|
|
|
66
|
-
### Best-practices skills
|
|
67
|
+
### Best-practices skills (how-to-use-a-tool knowledge)
|
|
67
68
|
|
|
68
69
|
When a chained-in CLI needs usage discipline (security, rate limiting, efficiency patterns), mktg ships a **best-practices skill** alongside it. These are reference SKILL.md files with a `rules/` subdirectory for depth.
|
|
69
70
|
|
|
@@ -71,17 +72,17 @@ Currently shipping: **`firecrawl`** (wraps the firecrawl CLI with `rules/install
|
|
|
71
72
|
|
|
72
73
|
### The orchestration philosophy
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
mktg orchestrates; it does not reimplement. When a good tool exists, we chain it in and ship a best-practices skill alongside it. mktg ships marketing playbooks, not video encoders.
|
|
75
76
|
|
|
76
77
|
---
|
|
77
78
|
|
|
78
79
|
## Quick Start
|
|
79
80
|
|
|
80
81
|
```bash
|
|
81
|
-
npm i -g
|
|
82
|
+
npm i -g marketing-cli && mktg init
|
|
82
83
|
```
|
|
83
84
|
|
|
84
|
-
That's it. `init` detects your project, scaffolds `brand/`,
|
|
85
|
+
That's it. `init` detects your project, scaffolds `brand/`, prefers `ai-agent-skills` for installing the 50 marketing skills when it is available on PATH, falls back to direct install into `~/.claude/skills/` when it is not, installs 5 marketing agents to `~/.claude/agents/`, and runs `doctor` to verify everything works.
|
|
85
86
|
|
|
86
87
|
Then use `/cmo` in Claude Code:
|
|
87
88
|
|
|
@@ -98,7 +99,7 @@ a content engine.
|
|
|
98
99
|
Want to start there?
|
|
99
100
|
```
|
|
100
101
|
|
|
101
|
-
`/cmo` reads your project's marketing state,
|
|
102
|
+
`/cmo` reads your project's marketing state, knows what's done and what's missing, and routes to the right skill.
|
|
102
103
|
|
|
103
104
|
### Requirements
|
|
104
105
|
|
|
@@ -109,45 +110,41 @@ Want to start there?
|
|
|
109
110
|
|
|
110
111
|
## How It's Different
|
|
111
112
|
|
|
112
|
-
Other marketing skill repos give you a folder of markdown files
|
|
113
|
+
Other marketing skill repos give you a folder of markdown files. mktg is infrastructure.
|
|
113
114
|
|
|
114
115
|
| | mktg | Other skill repos |
|
|
115
116
|
|---|---|---|
|
|
116
|
-
| **Install** | `npm i -g
|
|
117
|
+
| **Install** | `npm i -g marketing-cli && mktg init` | `git clone` + manually copy files |
|
|
117
118
|
| **CLI** | 15 top-level commands, JSON output, exit codes, `--dry-run` | None |
|
|
118
|
-
| **Memory** | 10 brand files that compound across sessions | Stateless
|
|
119
|
+
| **Memory** | 10 brand files that compound across sessions | Stateless; starts from scratch every time |
|
|
119
120
|
| **Health checks** | `mktg doctor` with pass/warn/fail diagnostics | None |
|
|
120
121
|
| **Skill lifecycle** | Dependency DAG, freshness tracking, versioning | Flat directory of markdown |
|
|
121
122
|
| **Integration checks** | Proactive env var verification before routing | Fails mid-execution |
|
|
122
123
|
| **Schema introspection** | `mktg schema --json` for agent self-discovery | None |
|
|
123
|
-
| **Tests** |
|
|
124
|
+
| **Tests** | 2,371 tests (real file I/O, no mocks) | 0 |
|
|
124
125
|
| **Orchestrator** | `/cmo` with routing table, disambiguation, guardrails | Command menus |
|
|
125
126
|
|
|
126
127
|
---
|
|
127
128
|
|
|
128
129
|
## Why a CLI?
|
|
129
130
|
|
|
130
|
-
Marketing skills are just markdown files.
|
|
131
|
+
Marketing skills are just markdown files. Without infrastructure, an agent can't tell which skills are installed, whether brand files exist, or if API keys are set. It reads a skill, does one thing, and forgets.
|
|
131
132
|
|
|
132
|
-
|
|
133
|
+
The CLI gives agents what skills can't:
|
|
133
134
|
|
|
134
|
-
|
|
135
|
+
- **`mktg init`**: One command bootstraps everything. Detects your project, scaffolds `brand/`, prefers `ai-agent-skills` for skill installation when available, installs agents directly, and runs doctor. Works on any machine, every time.
|
|
136
|
+
- **`mktg status --json`**: A structured snapshot of your marketing state. `/cmo` reads this on every activation to know what exists, what's stale, and what to suggest next.
|
|
137
|
+
- **`mktg doctor --json`**: Health checks with pass/warn/fail. Are skills installed? Are brand files populated? Are API keys set? The agent knows before it tries, rather than failing mid-execution.
|
|
138
|
+
- **`mktg update`**: Skill versioning. When skills improve, one command updates them all without touching your brand memory.
|
|
139
|
+
- **`mktg schema --json`**: Self-discovery. The agent can introspect every command, flag, and output shape at runtime.
|
|
135
140
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
- **`mktg init`** — One command bootstraps everything. Detects your project, scaffolds `brand/`, installs skills and agents, runs doctor. Works on any machine, every time.
|
|
139
|
-
- **`mktg status --json`** — A structured snapshot of your marketing state. `/cmo` reads this on every activation to know what exists, what's stale, and what to suggest next.
|
|
140
|
-
- **`mktg doctor --json`** — Health checks with pass/warn/fail. Are skills installed? Are brand files populated? Are API keys set? The agent knows before it tries — instead of failing mid-execution.
|
|
141
|
-
- **`mktg update`** — Skill versioning. When skills improve, one command updates them all without touching your brand memory.
|
|
142
|
-
- **`mktg schema --json`** — Self-discovery. The agent can introspect every command, flag, and output shape at runtime.
|
|
143
|
-
|
|
144
|
-
The pattern: **skills are knowledge, the CLI is infrastructure.** Skills teach your agent *how* to do marketing. The CLI tells it *where things are*, *what's ready*, and *what's broken*. Together they create a feedback loop that gets smarter every session.
|
|
141
|
+
Skills are knowledge; the CLI is infrastructure. Together they create a feedback loop that gets sharper every session.
|
|
145
142
|
|
|
146
143
|
---
|
|
147
144
|
|
|
148
145
|
## Brand Memory
|
|
149
146
|
|
|
150
|
-
|
|
147
|
+
The `brand/` directory holds ten files that compound across sessions:
|
|
151
148
|
|
|
152
149
|
```
|
|
153
150
|
brand/
|
|
@@ -163,22 +160,22 @@ brand/
|
|
|
163
160
|
└── learnings.md # What worked, what didn't (append-only)
|
|
164
161
|
```
|
|
165
162
|
|
|
166
|
-
**Session 1:** Research from scratch. **Session 10:** Your agent knows your voice, audience, competitors, keyword gaps, and what's worked before.
|
|
163
|
+
**Session 1:** Research from scratch. **Session 10:** Your agent knows your voice, audience, competitors, keyword gaps, and what's worked before.
|
|
167
164
|
|
|
168
|
-
Foundation research launches 3 agents **in parallel
|
|
165
|
+
Foundation research launches 3 agents **in parallel**: brand voice extraction, audience persona building, and competitor teardown, all writing back to `brand/` simultaneously.
|
|
169
166
|
|
|
170
167
|
---
|
|
171
168
|
|
|
172
|
-
## Skills (
|
|
169
|
+
## Skills (50)
|
|
173
170
|
|
|
174
|
-
Organized by marketing layer
|
|
171
|
+
Organized by marketing layer; foundation builds up to distribution.
|
|
175
172
|
|
|
176
173
|
<details>
|
|
177
|
-
<summary><b>Foundation (9 skills)</b
|
|
174
|
+
<summary><b>Foundation (9 skills)</b>: Brand identity, audience research, competitive intelligence</summary>
|
|
178
175
|
|
|
179
176
|
| Skill | What it does |
|
|
180
177
|
|-------|-------------|
|
|
181
|
-
| **cmo** | Orchestrates all
|
|
178
|
+
| **cmo** | Orchestrates all 50 skills. Routing table, disambiguation, guardrails. |
|
|
182
179
|
| **brand-voice** | Define or extract brand voice from existing content |
|
|
183
180
|
| **audience-research** | Build buyer personas with parallel web research |
|
|
184
181
|
| **competitive-intel** | Analyze competitors with real-time web intelligence |
|
|
@@ -191,7 +188,7 @@ Organized by marketing layer — foundation builds up to distribution.
|
|
|
191
188
|
</details>
|
|
192
189
|
|
|
193
190
|
<details>
|
|
194
|
-
<summary><b>Strategy (4 skills)</b
|
|
191
|
+
<summary><b>Strategy (4 skills)</b>: Keywords, pricing, launch timing, plan strengthening</summary>
|
|
195
192
|
|
|
196
193
|
| Skill | What it does |
|
|
197
194
|
|-------|-------------|
|
|
@@ -203,7 +200,7 @@ Organized by marketing layer — foundation builds up to distribution.
|
|
|
203
200
|
</details>
|
|
204
201
|
|
|
205
202
|
<details>
|
|
206
|
-
<summary><b>Execution (19 skills)</b
|
|
203
|
+
<summary><b>Execution (19 skills)</b>: Copy, content, SEO, creative, conversion optimization</summary>
|
|
207
204
|
|
|
208
205
|
| Skill | What it does |
|
|
209
206
|
|-------|-------------|
|
|
@@ -230,7 +227,7 @@ Organized by marketing layer — foundation builds up to distribution.
|
|
|
230
227
|
</details>
|
|
231
228
|
|
|
232
229
|
<details>
|
|
233
|
-
<summary><b>Distribution (9 skills)</b
|
|
230
|
+
<summary><b>Distribution (9 skills)</b>: Email, social, newsletters, third-party integrations</summary>
|
|
234
231
|
|
|
235
232
|
| Skill | What it does |
|
|
236
233
|
|-------|-------------|
|
|
@@ -260,7 +257,7 @@ Parallel sub-agents for research and review. Spawned by `/cmo` during foundation
|
|
|
260
257
|
| **content-reviewer** | Quality review for any marketing output |
|
|
261
258
|
| **seo-analyst** | SEO audit for content and pages |
|
|
262
259
|
|
|
263
|
-
Foundation research
|
|
260
|
+
Foundation research runs all 3 research agents **in parallel**. Results write back to `brand/` so every future session starts ahead.
|
|
264
261
|
|
|
265
262
|
---
|
|
266
263
|
|
|
@@ -271,7 +268,7 @@ Foundation research launches all 3 research agents **in parallel** — brand, au
|
|
|
271
268
|
| `mktg init` | Scaffold `brand/` + install skills + install agents |
|
|
272
269
|
| `mktg status` | Project marketing state snapshot |
|
|
273
270
|
| `mktg doctor` | Health checks: brand files, skills, agents, CLI tools, integrations |
|
|
274
|
-
| `mktg list` | Show all
|
|
271
|
+
| `mktg list` | Show all 50 skills with install status and metadata |
|
|
275
272
|
| `mktg update` | Re-install skills from latest package version |
|
|
276
273
|
| `mktg schema` | Introspect all commands, flags, and output shapes |
|
|
277
274
|
| `mktg skill` | Inspect, validate, register, analyze, and chain external skills |
|
|
@@ -285,13 +282,13 @@ Foundation research launches all 3 research agents **in parallel** — brand, au
|
|
|
285
282
|
| `mktg dashboard` | Local command center: snapshot, actions, launch |
|
|
286
283
|
| `mktg transcribe` | Audio/video → transcript via whisper.cpp (YouTube, TikTok, podcasts, local files) |
|
|
287
284
|
|
|
288
|
-
Every command
|
|
285
|
+
Every command ships `--json`, `--dry-run`, and `--fields`.
|
|
289
286
|
|
|
290
287
|
---
|
|
291
288
|
|
|
292
289
|
## Integration Checks
|
|
293
290
|
|
|
294
|
-
Third-party skills (Typefully, Resend) need API keys. mktg checks **proactively
|
|
291
|
+
Third-party skills (Typefully, Resend) need API keys. mktg checks **proactively**, before routing rather than mid-execution:
|
|
295
292
|
|
|
296
293
|
```bash
|
|
297
294
|
$ mktg doctor --json | jq '.checks[] | select(.name | startswith("integration"))'
|
|
@@ -303,7 +300,7 @@ $ mktg doctor --json | jq '.checks[] | select(.name | startswith("integration"))
|
|
|
303
300
|
}
|
|
304
301
|
```
|
|
305
302
|
|
|
306
|
-
`/cmo` reads this and guides setup before routing to a skill that needs the key. Missing integrations produce warnings,
|
|
303
|
+
`/cmo` reads this and guides setup before routing to a skill that needs the key. Missing integrations produce warnings, not errors. Every skill works at zero config.
|
|
307
304
|
|
|
308
305
|
---
|
|
309
306
|
|
|
@@ -316,7 +313,7 @@ src/
|
|
|
316
313
|
├── commands/ # 15 top-level commands (init, doctor, status, list, update, schema, skill, brand, run, context, plan, publish, compete, dashboard, transcribe)
|
|
317
314
|
└── core/ # Shared modules (output, errors, brand, skills, agents, integrations)
|
|
318
315
|
|
|
319
|
-
skills/ #
|
|
316
|
+
skills/ # 50 SKILL.md files → manifest-backed subset installed via ai-agent-skills or directly
|
|
320
317
|
├── cmo/ # Orchestrator with rules/, references/
|
|
321
318
|
├── brand-voice/
|
|
322
319
|
├── direct-response-copy/
|
|
@@ -332,37 +329,36 @@ agents-manifest.json # Source of truth for agent metadata
|
|
|
332
329
|
|
|
333
330
|
### Design Principles
|
|
334
331
|
|
|
335
|
-
1. **Progressive Enhancement
|
|
336
|
-
2. **Agent-Native
|
|
337
|
-
3. **Self-Bootstrapping
|
|
338
|
-
4. **Drop-In Skills
|
|
339
|
-
5. **Skills Never Call Skills
|
|
340
|
-
6. **Parallel by Default
|
|
341
|
-
7. **Warn, Never Gate
|
|
332
|
+
1. **Progressive Enhancement**: Every skill works at zero context. Brand memory enhances, never gates.
|
|
333
|
+
2. **Agent-Native**: JSON output, structured errors, exit codes 0–6, `--dry-run`, schema introspection.
|
|
334
|
+
3. **Self-Bootstrapping**: `mktg init` installs everything on any machine. It prefers `ai-agent-skills` as the installer/catalog layer when available and falls back to direct install when it is not.
|
|
335
|
+
4. **Drop-In Skills**: Add a skill by dropping `SKILL.md` + updating `skills-manifest.json`.
|
|
336
|
+
5. **Skills Never Call Skills**: Skills read/write files. `/cmo` orchestrates. No implicit chains.
|
|
337
|
+
6. **Parallel by Default**: Foundation building spawns 3 research agents simultaneously.
|
|
338
|
+
7. **Warn, Never Gate**: Missing dependencies produce warnings, not blockers.
|
|
342
339
|
|
|
343
340
|
---
|
|
344
341
|
|
|
345
342
|
## Development
|
|
346
343
|
|
|
347
344
|
```bash
|
|
348
|
-
git clone https://github.com/MoizIbnYousaf/
|
|
349
|
-
cd
|
|
345
|
+
git clone https://github.com/MoizIbnYousaf/marketing-cli.git
|
|
346
|
+
cd marketing-cli
|
|
350
347
|
|
|
351
|
-
bun install
|
|
348
|
+
bun install
|
|
352
349
|
bun run dev doctor # Run locally
|
|
353
|
-
bun test #
|
|
350
|
+
bun test # 2,371 tests, real file I/O, no mocks
|
|
354
351
|
bun x tsc --noEmit # Type check
|
|
355
352
|
bun run build # Build
|
|
356
353
|
```
|
|
357
354
|
|
|
358
355
|
### Project Structure
|
|
359
356
|
|
|
360
|
-
- `src
|
|
361
|
-
- `skills
|
|
362
|
-
- `agents
|
|
363
|
-
- `tests
|
|
364
|
-
- `
|
|
365
|
-
- `docs/` — Reference docs (`EXIT_CODES.md`, `skill-contract.md`)
|
|
357
|
+
- `src/`: CLI source (TypeScript, ~10,700 lines)
|
|
358
|
+
- `skills/`: 50 SKILL.md files (manifest-backed)
|
|
359
|
+
- `agents/`: 5 agent definitions
|
|
360
|
+
- `tests/`: 2,371 tests (real file I/O, no mocks)
|
|
361
|
+
- `docs/`: Reference docs (`EXIT_CODES.md`, `skill-contract.md`)
|
|
366
362
|
|
|
367
363
|
---
|
|
368
364
|
|
|
@@ -370,19 +366,19 @@ bun run build # Build
|
|
|
370
366
|
|
|
371
367
|
Contributions welcome. The easiest ways to help:
|
|
372
368
|
|
|
373
|
-
1. **Add a skill
|
|
374
|
-
2. **Improve existing skills
|
|
375
|
-
3. **Add tests
|
|
376
|
-
4. **Report issues
|
|
369
|
+
1. **Add a skill**: Drop a `SKILL.md` in `skills/<name>/` and add an entry to `skills-manifest.json`
|
|
370
|
+
2. **Improve existing skills**: Better prompts, more examples, edge case handling
|
|
371
|
+
3. **Add tests**: Real file I/O in isolated temp dirs, no mocks
|
|
372
|
+
4. **Report issues**: [github.com/MoizIbnYousaf/marketing-cli/issues](https://github.com/MoizIbnYousaf/marketing-cli/issues)
|
|
377
373
|
|
|
378
374
|
---
|
|
379
375
|
|
|
380
376
|
## License
|
|
381
377
|
|
|
382
|
-
[MIT](LICENSE)
|
|
378
|
+
[MIT](LICENSE). Use freely. Build on it.
|
|
383
379
|
|
|
384
380
|
---
|
|
385
381
|
|
|
386
382
|
## Acknowledgments
|
|
387
383
|
|
|
388
|
-
- [Corey Haines' Marketing Skills](https://github.com/coreyhaines31/marketingskills)
|
|
384
|
+
- [Corey Haines' Marketing Skills](https://github.com/coreyhaines31/marketingskills): the breadth skill collection that inspired many of mktg's 50 skills
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"catalogs": {
|
|
4
|
+
"postiz": {
|
|
5
|
+
"name": "postiz",
|
|
6
|
+
"repo_url": "https://github.com/gitroomhq/postiz-app",
|
|
7
|
+
"docs_url": "https://docs.postiz.com",
|
|
8
|
+
"license": "AGPL-3.0",
|
|
9
|
+
"version_pinned": "v2.21.6",
|
|
10
|
+
"capabilities": {
|
|
11
|
+
"publish_adapters": ["postiz"]
|
|
12
|
+
},
|
|
13
|
+
"transport": "http",
|
|
14
|
+
"sdk_reference": null,
|
|
15
|
+
"auth": {
|
|
16
|
+
"style": "bearer",
|
|
17
|
+
"base_env": "POSTIZ_API_BASE",
|
|
18
|
+
"credential_envs": ["POSTIZ_API_KEY"],
|
|
19
|
+
"header_format": "bare"
|
|
20
|
+
},
|
|
21
|
+
"skills": ["postiz"]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|