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 CHANGED
@@ -1,17 +1,18 @@
1
1
  <p align="center">
2
- <img src="banner.svg" alt="mktg agent-native marketing playbook CLI" width="100%">
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/mktg/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-49-10b981" alt="49 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/badge/tests-extensive-10b981" alt="Extensive test suite">
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 gives AI agents a complete CMO brain brand memory, parallel research, and 49 composable marketing skills.</b>
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
- **mktg fixes this.** One install turns your agent into a marketing department that remembers everything, researches in parallel, and gets sharper with every session.
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 mktg works — animated explainer" width="720">
33
+ <img src="explainer.gif" alt="How marketing-cli works" width="720">
33
34
  </p>
34
35
  ---
35
36
 
36
- ## The Ecosystem what you actually install
37
+ ## The Ecosystem: What You Actually Install
37
38
 
38
- `mktg init` isn't just a CLI install. It bootstraps a layered agent-native marketing workstation.
39
+ `mktg init` bootstraps the full workstation.
39
40
 
40
- ### Core always installed
41
+ ### Core (always installed)
41
42
 
42
43
  | | |
43
44
  |---|---|
44
- | **`mktg` CLI** | 15 commands, 21/21 Agent DX score, JSON-by-default |
45
- | **49 marketing skills** | The playbook, copied to `~/.claude/skills/` |
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 external tools mktg orchestrates
51
+ ### Chained-in CLIs (external tools mktg orchestrates)
51
52
 
52
- These are **not bundled**. They're external binaries mktg's skills know how to use. `mktg doctor` detects them and surfaces the gap with an install hint. Install the ones you need skills that require them use them when present and degrade gracefully when missing.
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 clean markdown for LLMs | `npm i -g firecrawl` + `FIRECRAWL_API_KEY` |
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 TL;DR, digest, key points | `npm i -g @steipete/summarize` |
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 how-to-use-a-tool knowledge
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
- **mktg orchestrates, it doesn't reimplement.** When a good tool exists, we chain it in and ship a best-practices skill alongside it. mktg stays focused on marketing playbooks not reimplementing video encoders, browsers, or scraping engines. Every chained-in tool is a distinct, load-bearing piece of the marketing workstation.
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 mktg && mktg init
82
+ npm i -g marketing-cli && mktg init
82
83
  ```
83
84
 
84
- That's it. `init` detects your project, scaffolds `brand/`, installs 49 skills to `~/.claude/skills/`, installs 5 marketing agents to `~/.claude/agents/`, and runs `doctor` to verify everything works.
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, understands what's been done and what's missing, and routes to the right skill. It's not a menu — it's a strategic partner.
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 and wish you luck. **mktg is infrastructure.**
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 mktg && mktg init` | `git clone` + manually copy files |
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 starts from scratch every time |
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** | Extensive Bun tests (real file I/O, no mocks) | 0 |
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. So why build a real CLI around them?
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
- **Because skills alone can't answer "what's the state of my marketing?"**
133
+ The CLI gives agents what skills can't:
133
134
 
134
- Without infrastructure, your agent has no way to know which skills are installed, whether brand files exist, if API keys are configured, or what's been done vs. what's missing. It reads a skill, does one thing, and forgets. There's no continuity, no health checks, no lifecycle.
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
- The CLI gives agents something skills can't:
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
- This is mktg's secret weapon. The `brand/` directory holds ten files that compound across sessions:
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. No other marketing skill system does this.
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** brand voice extraction, audience persona building, and competitor teardown all writing back to `brand/` simultaneously.
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 (49)
169
+ ## Skills (50)
173
170
 
174
- Organized by marketing layer foundation builds up to distribution.
171
+ Organized by marketing layer; foundation builds up to distribution.
175
172
 
176
173
  <details>
177
- <summary><b>Foundation (9 skills)</b> Brand identity, audience research, competitive intelligence</summary>
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 49 skills. Routing table, disambiguation, guardrails. |
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> Keywords, pricing, launch timing, plan strengthening</summary>
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> Copy, content, SEO, creative, conversion optimization</summary>
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> Email, social, newsletters, third-party integrations</summary>
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 launches all 3 research agents **in parallel** — brand, audience, and competitors simultaneously. Results write back to `brand/` so every future session benefits.
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 49 skills with install status and metadata |
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 supports `--json` for agent consumption, `--dry-run` for safe previews, and `--fields` for selective output.
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** before routing, not mid-execution:
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, never blockers progressive enhancement means every skill works at zero config.
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/ # 49 SKILL.md files → installed to ~/.claude/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** Every skill works at zero context. Brand memory enhances, never gates.
336
- 2. **Agent-Native** JSON output, structured errors, exit codes 0–6, `--dry-run`, schema introspection.
337
- 3. **Self-Bootstrapping** `mktg init` installs everything on any machine. No manual setup.
338
- 4. **Drop-In Skills** Add a skill by dropping `SKILL.md` + updating `skills-manifest.json`.
339
- 5. **Skills Never Call Skills** Skills read/write files. `/cmo` orchestrates. No implicit chains.
340
- 6. **Parallel by Default** Foundation building spawns 3 research agents simultaneously.
341
- 7. **Warn, Never Gate** Missing dependencies produce warnings, not blockers.
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/mktg.git
349
- cd mktg
345
+ git clone https://github.com/MoizIbnYousaf/marketing-cli.git
346
+ cd marketing-cli
350
347
 
351
- bun install # Install dependencies
348
+ bun install
352
349
  bun run dev doctor # Run locally
353
- bun test # Extensive Bun test suite, real file I/O, no mocks
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/` CLI source (TypeScript, ~8,500 lines)
361
- - `skills/` 49 SKILL.md files (~65,000 lines of marketing expertise)
362
- - `agents/` 5 agent definitions
363
- - `tests/` Bun test suite for CLI and runtime behavior
364
- - `website/` Next.js marketing site
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** Drop a `SKILL.md` in `skills/<name>/` and add an entry to `skills-manifest.json`
374
- 2. **Improve existing skills** Better prompts, more examples, edge case handling
375
- 3. **Add tests** Real file I/O in isolated temp dirs, no mocks
376
- 4. **Report issues** [github.com/MoizIbnYousaf/mktg/issues](https://github.com/MoizIbnYousaf/mktg/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) Use freely. Build on it.
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) the breadth skill collection that inspired many of mktg's 49 skills
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
+ }