@tidyfactor/marketing 1.3.0 → 1.6.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/.tidyfactor +53 -52
- package/CHANGELOG.md +47 -0
- package/README.ar.md +20 -9
- package/README.md +20 -9
- package/SKILL.md +46 -30
- package/bin/add-skill.js +65 -50
- package/brand.json +67 -67
- package/brand.yaml +55 -0
- package/manifest.json +256 -0
- package/package.json +5 -1
- package/references/commands/audit.md +34 -0
- package/references/commands/brief.md +7 -5
- package/references/memory/20-brain-baas-integration.md +89 -0
- package/references/memory/ad-copy-templates.md +94 -93
- package/references/memory/arabic-writing.md +1 -1
- package/references/memory/campaign-mindmap.md +85 -0
- package/references/memory/decision-points.md +74 -73
- package/references/memory/frameworks.md +87 -86
- package/references/memory/lifecycle-flows.md +107 -106
- package/references/memory/metrics-benchmarks.md +71 -70
- package/references/memory/naming-conventions.md +75 -0
- package/references/memory/philosophy.md +2 -0
- package/references/memory/platform-specs.md +76 -75
- package/references/memory/promotions-math.md +57 -56
- package/references/memory/quality-bar.md +56 -55
- package/references/workflows/brief.md +74 -35
- package/references/workflows/campaign-launch.md +1 -1
- package/references/workflows/content-engine.md +1 -1
- package/references/workflows/email-lifecycle.md +1 -1
- package/references/workflows/paid-acquisition.md +1 -1
- package/references/workflows/promo-conversion.md +1 -1
- package/references/workflows/social-growth.md +1 -1
- package/references/workflows/viral-retention.md +1 -1
- package/scripts/audit_copy.py +112 -0
- package/scripts/calc_promo_math.py +69 -0
- package/scripts/clean_orphaned_assets.py +108 -0
- package/tests/scenarios.md +87 -0
- package/tools/build-skill.js +4 -0
- package/tools/validate_skill.py +265 -112
- package/assets/og-default.png +0 -0
package/.tidyfactor
CHANGED
|
@@ -1,52 +1,53 @@
|
|
|
1
|
-
{
|
|
2
|
-
"ecosystem": "tidyfactor",
|
|
3
|
-
"track": "marketing",
|
|
4
|
-
"name": "tidyfactor-marketing",
|
|
5
|
-
"version": "1.
|
|
6
|
-
"npmPackage": "@alwkala/tidyfactor-marketing",
|
|
7
|
-
"github": "https://github.com/TidyFactor/Marketing",
|
|
8
|
-
"skillFile": "../tidyfactor-marketing-v1.
|
|
9
|
-
"category": "marketing-engine",
|
|
10
|
-
"type": "direct-response-growth",
|
|
11
|
-
"outputs": [
|
|
12
|
-
"campaigns/",
|
|
13
|
-
"content/",
|
|
14
|
-
"ads/",
|
|
15
|
-
"funnels/",
|
|
16
|
-
"lifecycle/"
|
|
17
|
-
],
|
|
18
|
-
"pillars": [
|
|
19
|
-
"strategy",
|
|
20
|
-
"content",
|
|
21
|
-
"social",
|
|
22
|
-
"email",
|
|
23
|
-
"advertising",
|
|
24
|
-
"promotions",
|
|
25
|
-
"growth"
|
|
26
|
-
],
|
|
27
|
-
"commands": [
|
|
28
|
-
"brief",
|
|
29
|
-
"strategy",
|
|
30
|
-
"content",
|
|
31
|
-
"social",
|
|
32
|
-
"email",
|
|
33
|
-
"advertising",
|
|
34
|
-
"promotions",
|
|
35
|
-
"growth"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
"tidyfactor-
|
|
41
|
-
"tidyfactor-
|
|
42
|
-
"tidyfactor-
|
|
43
|
-
"tidyfactor-
|
|
44
|
-
"tidyfactor-
|
|
45
|
-
"tidyfactor-
|
|
46
|
-
"tidyfactor-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
1
|
+
{
|
|
2
|
+
"ecosystem": "tidyfactor",
|
|
3
|
+
"track": "marketing",
|
|
4
|
+
"name": "tidyfactor-marketing",
|
|
5
|
+
"version": "1.6.0",
|
|
6
|
+
"npmPackage": "@alwkala/tidyfactor-marketing",
|
|
7
|
+
"github": "https://github.com/TidyFactor/Marketing",
|
|
8
|
+
"skillFile": "../tidyfactor-marketing-v1.6.0.skill",
|
|
9
|
+
"category": "marketing-engine",
|
|
10
|
+
"type": "direct-response-growth",
|
|
11
|
+
"outputs": [
|
|
12
|
+
"campaigns/",
|
|
13
|
+
"content/",
|
|
14
|
+
"ads/",
|
|
15
|
+
"funnels/",
|
|
16
|
+
"lifecycle/"
|
|
17
|
+
],
|
|
18
|
+
"pillars": [
|
|
19
|
+
"strategy",
|
|
20
|
+
"content",
|
|
21
|
+
"social",
|
|
22
|
+
"email",
|
|
23
|
+
"advertising",
|
|
24
|
+
"promotions",
|
|
25
|
+
"growth"
|
|
26
|
+
],
|
|
27
|
+
"commands": [
|
|
28
|
+
"brief",
|
|
29
|
+
"strategy",
|
|
30
|
+
"content",
|
|
31
|
+
"social",
|
|
32
|
+
"email",
|
|
33
|
+
"advertising",
|
|
34
|
+
"promotions",
|
|
35
|
+
"growth",
|
|
36
|
+
"audit"
|
|
37
|
+
],
|
|
38
|
+
"visionRef": "../TidyFactor-VISION.md",
|
|
39
|
+
"sibling": [
|
|
40
|
+
"tidyfactor-design",
|
|
41
|
+
"tidyfactor-cinematic",
|
|
42
|
+
"tidyfactor-html",
|
|
43
|
+
"tidyfactor-php",
|
|
44
|
+
"tidyfactor-js",
|
|
45
|
+
"tidyfactor-htmx",
|
|
46
|
+
"tidyfactor-nextjs-saas",
|
|
47
|
+
"tidyfactor-styler"
|
|
48
|
+
],
|
|
49
|
+
"commercialPartner": "alwkala",
|
|
50
|
+
"website": "https://tidyfactor.com",
|
|
51
|
+
"docs": "https://tidyfactor.com/documentation",
|
|
52
|
+
"license": "Apache-2.0"
|
|
53
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the **[@tidyfactor/marketing](https://www.npmjs.com/package/@tidyfactor/marketing)** package will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.6.0] - 2026-09-09
|
|
6
|
+
|
|
7
|
+
### 🏛️ Added — 6-Axis Periodic Review Protocol, YAML Primacy & Asset Hygiene
|
|
8
|
+
- **Command & CDL v2.0 Upgrades (`Axis 1`)**:
|
|
9
|
+
- Registered `references/commands/audit.md` for direct-response copy auditing and AI cliché detection.
|
|
10
|
+
- Enhanced `references/commands/brief.md` and `references/workflows/brief.md` with CDL v2.0 Native Modal Wizard (`ask_question`) and `/debate` trigger for relentless marketing stress-testing.
|
|
11
|
+
- **Single Outcome & Workflow Checklists (`Axis 2`)**:
|
|
12
|
+
- Enforced mandatory `## Validation checklist` across all 8 workflow files with binary pass/fail criteria.
|
|
13
|
+
- **Rule 15 YAML Primacy & Operational Memory (`Axis 3`)**:
|
|
14
|
+
- Introduced `brand.yaml` for ~40% token efficiency over JSON; updated manifest discovery to prioritize YAML.
|
|
15
|
+
- Added `references/memory/naming-conventions.md` establishing universal 5-token campaign taxonomy and lowercase UTM rules.
|
|
16
|
+
- Added `references/memory/campaign-mindmap.md` containing Mermaid architectures for the 7 marketing pillars and lead flow.
|
|
17
|
+
- Refreshed freshness stamp on `references/memory/philosophy.md`.
|
|
18
|
+
- **Deterministic Tooling & Asset Hygiene Engine (`Axis 4`)**:
|
|
19
|
+
- Added `scripts/clean_orphaned_assets.py` detecting SHA-256 binary duplicate assets and unreferenced orphan files.
|
|
20
|
+
- Upgraded `tools/validate_skill.py` to 13-point comprehensive release validator.
|
|
21
|
+
- **Governance & Evaluation Scenarios (`Axis 5`)**:
|
|
22
|
+
- Added `tests/scenarios.md` with 4 production evaluation scenarios (GCC flash sale, B2B SaaS launch, Egypt abandoned cart, copy linter).
|
|
23
|
+
- Synchronized SemVer `1.6.0` atomically across all metadata.
|
|
24
|
+
- **Asset Bloat Elimination (`Axis 6`)**:
|
|
25
|
+
- Deleted duplicate `assets/og-default.png` (245.5 KB) and root orphan `image.jpg` (64.9 KB), reclaiming ~310 KB in package archive.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## [1.5.0] - 2026-09-02
|
|
30
|
+
|
|
31
|
+
### 🧠 Added — Contextual Decision Layer (CDL v1.1.0) & Declarative Decision Gates
|
|
32
|
+
- **Declarative Decision Gates (`manifest.json`)**: Added formal `decision_gates[]` declaration for the `brief` command conforming to manifest schema v1.1.0, defining `target_market`, `brand_voice`, `funnel_stage`, and `core_offer` with `track_staleness: true`.
|
|
33
|
+
- **Context Delta Resolution Engine (`references/workflows/brief.md`)**: Upgraded brief workflow to evaluate the mechanical Delta formula:
|
|
34
|
+
$$\text{Unknowns} = \text{Required Decisions} - (\text{Discovered Facts} \cup \text{Brain KIs})$$
|
|
35
|
+
- **Interactive Disclosure & User Agency First**: Surfacing all genuine Unknowns interactively with structured A/B/C/D choices and recommended defaults, prioritizing rich user engagement.
|
|
36
|
+
- **Anti-Dual-Write Architecture**: Enforcing local `.tidyfactor/marketing-brief.md` as sole SSOT, with one-way outbound cloud sync via `--sync-brain`.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## [1.4.0] - 2026-09-02
|
|
41
|
+
|
|
42
|
+
### 🧠 Added — Sovereign Brain MCP Integration, Copy Auditor & Fail-Open Protocol
|
|
43
|
+
- **Brain Integration Contract (`references/memory/20-brain-baas-integration.md`)**: Operational specification defining sovereign self-hosted architecture, isolated client SQLite database scoping, and Marketing Strategy Knowledge Item (KI) payload schemas.
|
|
44
|
+
- **Fail-Open Resolution Protocol (`references/workflows/brief.md`)**: Embedded deterministic context discovery: (1) Local workspace auto-sensing first, (2) Optional Brain MCP context acceleration (`search_knowledge_base`) when active, (3) Instant 0ms silent fallback to 3-question structured interview with zero robotic preamble.
|
|
45
|
+
- **Runtime Tooling Manifest & Quality Engine (`manifest.json`)**: Declared portable `audit_copy` and `calc_promo_math` tools with schema validation for direct CLI and MCP `run_skill_tool` execution.
|
|
46
|
+
- **Automated Copy Quality Auditor (`scripts/audit_copy.py`)**: Standalone and MCP-compatible CLI engine scanning copy for AI cliches, banned fluff, and 7-axis pre-emit critique stamps.
|
|
47
|
+
- **Unit Economics & Margin Calculator (`scripts/calc_promo_math.py`)**: Deterministic calculations for gross margin safety, break-even ROAS targets, and discount compression.
|
|
48
|
+
- **Anti-Triggers & Tooling Scope**: Enriched `SKILL.md` with explicit Rule 10 Tooling Scope and anti-triggers.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
5
52
|
## [1.3.0] - 2026-08-29
|
|
6
53
|
|
|
7
54
|
### Added - Arabic Direct-Response & MENA Intelligence Engine
|
package/README.ar.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center" dir="rtl">
|
|
2
2
|
|
|
3
|
-
# 🚀 محرك تايدي فاكتور للتسويق المباشر والنمو `TidyFactor Marketing v1.
|
|
3
|
+
# 🚀 محرك تايدي فاكتور للتسويق المباشر والنمو `TidyFactor Marketing v1.6.0`
|
|
4
4
|
### هندسة التسويق المباشر، طبقة القرارات السياقية (CDL)، ونظام كتابة المحتوى عالي التحويل
|
|
5
5
|
|
|
6
6
|
**الأساس التسويقي الرسمي لمنظومة تايدي فاكتور (TidyFactor Ecosystem) والشريك الاستراتيجي وكالة الوكالة (Alwkala).**
|
|
@@ -190,19 +190,30 @@ tidyfactor-marketing/
|
|
|
190
190
|
|
|
191
191
|
---
|
|
192
192
|
|
|
193
|
-
## 🚀
|
|
193
|
+
## 🚀 التثبيت والبدء السريع
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
اختر طريقة التثبيت المناسبة لمشروعك:
|
|
196
|
+
|
|
197
|
+
### الخيار (أ): عبر TidyFactor CLI الرسمي (الموصى به)
|
|
198
|
+
التثبيت الفوري دون الحاجة لتثبيت الأداة عالمياً في بيئة عملك النشطة:
|
|
199
|
+
```bash
|
|
200
|
+
npx @tidyfactor/cli add marketing
|
|
201
|
+
```
|
|
202
|
+
*أو في حال كانت الأداة مثبتة لديك عالمياً (`npm i -g @tidyfactor/cli`):*
|
|
203
|
+
```bash
|
|
204
|
+
tidyfactor add marketing
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### الخيار (ب): عبر معيار مهارات الوكلاء المفتوح (skills.sh)
|
|
208
|
+
التثبيت العالمي المتوافق مع كافة بيئات الوكلاء ومحررات الذكاء الاصطناعي (Antigravity, Cursor, Claude Code, Windsurf, Codex):
|
|
197
209
|
```bash
|
|
198
|
-
npx
|
|
210
|
+
npx skills add tidyfactor/marketing
|
|
199
211
|
```
|
|
200
|
-
*يطلب منك تحديد مجال المشروع، والسوق المستهدف (عالمي أو عربي)، والتركيز الأساسي (B2B أو متاجر إلكترونية أو المنظومة الشاملة).*
|
|
201
212
|
|
|
202
|
-
### الخيار
|
|
203
|
-
|
|
213
|
+
### الخيار (ج): التثبيت المباشر الفردي عبر NPM
|
|
214
|
+
تشغيل مثبت المهارة المستقل مباشرة مع تجاوز الذاكرة المخبأة وضمان أحدث إصدار:
|
|
204
215
|
```bash
|
|
205
|
-
npx @tidyfactor/
|
|
216
|
+
npx @tidyfactor/marketing@latest
|
|
206
217
|
```
|
|
207
218
|
|
|
208
219
|
### الخيار 3: أوامر Slash للوكلاء الأذكياء (Claude, Antigravity, Cursor)
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
# 🚀 TidyFactor Marketing `v1.
|
|
3
|
+
# 🚀 TidyFactor Marketing `v1.6.0`
|
|
4
4
|
### AI Direct-Response Marketing, Contextual Decision Layer & Anti-Slop Content Suite
|
|
5
5
|
|
|
6
6
|
**The official marketing & customer acquisition foundation for the TidyFactor Ecosystem.**
|
|
@@ -198,19 +198,30 @@ Every sentence generated by **TidyFactor Marketing** must pass the **Mechanism R
|
|
|
198
198
|
|
|
199
199
|
---
|
|
200
200
|
|
|
201
|
-
## 🚀
|
|
201
|
+
## 🚀 Installation & Quick Start
|
|
202
202
|
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
Choose your preferred installation method:
|
|
204
|
+
|
|
205
|
+
### Option A: Via TidyFactor CLI (Recommended)
|
|
206
|
+
Install directly using the official ecosystem package runner into your active workspace:
|
|
207
|
+
```bash
|
|
208
|
+
npx @tidyfactor/cli add marketing
|
|
209
|
+
```
|
|
210
|
+
*Or if you have the CLI installed globally (`npm i -g @tidyfactor/cli`):*
|
|
211
|
+
```bash
|
|
212
|
+
tidyfactor add marketing
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Option B: Via Open Agent Skills Ecosystem (skills.sh / Vercel Labs)
|
|
216
|
+
Install using the universal multi-agent standard across all supported IDEs (Cursor, Antigravity, Claude Code, Windsurf, Trae, Codex):
|
|
205
217
|
```bash
|
|
206
|
-
npx
|
|
218
|
+
npx skills add tidyfactor/marketing
|
|
207
219
|
```
|
|
208
|
-
*Prompts you for project niche, primary target market (Global vs MENA), and growth focus (B2B, E-Commerce, or 360° Suite).*
|
|
209
220
|
|
|
210
|
-
### Option
|
|
211
|
-
|
|
221
|
+
### Option C: Standalone Zero-Dependency Runner (NPM Direct)
|
|
222
|
+
Run the dedicated skill installer directly with automatic cache invalidation:
|
|
212
223
|
```bash
|
|
213
|
-
npx @tidyfactor/
|
|
224
|
+
npx @tidyfactor/marketing@latest
|
|
214
225
|
```
|
|
215
226
|
|
|
216
227
|
### Option 3: AI Agent Slash Commands (Claude, Antigravity, Cursor)
|
package/SKILL.md
CHANGED
|
@@ -1,30 +1,46 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tidyfactor-marketing
|
|
3
|
-
description: "Production-grade AI marketing and growth engine with Contextual Decision Layer (CDL) & MENA Intelligence. Handles 7 pillars and 28 capabilities: brand voice, campaign strategy, product launches, SEO pillar-clusters, social media, email lifecycles, and
|
|
4
|
-
---
|
|
5
|
-
# TidyFactor Marketing Engine
|
|
6
|
-
|
|
7
|
-
A command dispatcher. This file routes marketing and growth intents to
|
|
8
|
-
|
|
9
|
-
## Commands
|
|
10
|
-
|
|
11
|
-
| User Intent
|
|
12
|
-
|---|---|---|
|
|
13
|
-
| **Discovery**:
|
|
14
|
-
| **Strategy**: Brand voice
|
|
15
|
-
| **Content**:
|
|
16
|
-
| **Social
|
|
17
|
-
| **Email**:
|
|
18
|
-
| **Advertising**:
|
|
19
|
-
| **Promotions**:
|
|
20
|
-
| **Growth**:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
---
|
|
2
|
+
name: tidyfactor-marketing
|
|
3
|
+
description: "Production-grade AI marketing and growth engine with Contextual Decision Layer (CDL) & MENA Intelligence. Handles 7 pillars and 28 capabilities: brand voice, campaign strategy, product launches, SEO pillar-clusters, social media, email lifecycles, paid ads, and copy auditing. Trigger on commands 'brief', 'strategy', 'content', 'social', 'email', 'advertising', 'promotions', 'growth', 'audit', or requests for marketing plans, ad copy, and launch campaigns."
|
|
4
|
+
---
|
|
5
|
+
# TidyFactor Marketing Engine
|
|
6
|
+
|
|
7
|
+
A command dispatcher. This file routes marketing and growth intents to corresponding command, workflow, and memory modules with zero procedural execution logic.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
| User Intent | Command | What It Loads |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| **Discovery**: Strategic brief & baseline caching | `references/commands/brief.md` | `references/workflows/brief.md` + `references/memory/decision-points.md` |
|
|
14
|
+
| **Strategy**: Brand voice, positioning & launch | `references/commands/strategy.md` | `references/workflows/campaign-launch.md` + `references/memory/frameworks.md` |
|
|
15
|
+
| **Content**: SEO pillar-clusters & publishing | `references/commands/content.md` | `references/workflows/content-engine.md` + `references/memory/arabic-writing.md` |
|
|
16
|
+
| **Social**: Founder branding & platform playbooks | `references/commands/social.md` | `references/workflows/social-growth.md` + `references/memory/platform-specs.md` |
|
|
17
|
+
| **Email**: Welcome, cart recovery & win-back | `references/commands/email.md` | `references/workflows/email-lifecycle.md` + `references/memory/lifecycle-flows.md` |
|
|
18
|
+
| **Advertising**: 3-angle copy & CRO wireframes | `references/commands/advertising.md` | `references/workflows/paid-acquisition.md` + `references/memory/ad-copy-templates.md` |
|
|
19
|
+
| **Promotions**: Flash sales, decoy pricing & math | `references/commands/promotions.md` | `references/workflows/promo-conversion.md` + `references/memory/promotions-math.md` |
|
|
20
|
+
| **Growth**: Referral loops, viral growth & retention | `references/commands/growth.md` | `references/workflows/viral-retention.md` + `references/memory/20-brain-baas-integration.md` |
|
|
21
|
+
| **Audit**: Copy quality audit & cliché detection | `references/commands/audit.md` | `scripts/audit_copy.py` + `references/memory/quality-bar.md` |
|
|
22
|
+
|
|
23
|
+
## Non-Negotiable Quality Constraints
|
|
24
|
+
|
|
25
|
+
1. **CDL v2.0 & Debate Mode**: Auto-sense parameters before prompting; present genuine Unknowns via `ask_question`.
|
|
26
|
+
2. **Zero Robotic Preamble**: Never output conversational monologue dumps, textbook essays, or greetings.
|
|
27
|
+
3. **7-Axis Pre-Emit Critique**: All copy must self-audit against P5 H5 E5 S5 R5 V5 D5 (`references/memory/quality-bar.md`).
|
|
28
|
+
4. **Multi-Angle Requirement**: Ad generation must produce 3 psychological angles (Pain, ROI, Proof).
|
|
29
|
+
5. **Margin Protection Rule**: Promos must verify gross margins with `calc_promo_math.py`.
|
|
30
|
+
6. **Bilingual MENA Direct Response**: Compose Arabic copy natively per `references/memory/arabic-writing.md`.
|
|
31
|
+
|
|
32
|
+
## Anti-Triggers
|
|
33
|
+
|
|
34
|
+
- Do NOT use for generic text formatting or non-commercial writing.
|
|
35
|
+
- Do NOT use for backend database operations or platform infrastructure.
|
|
36
|
+
|
|
37
|
+
## Tooling Scope (Rule 10)
|
|
38
|
+
|
|
39
|
+
- `audit_copy` (`scripts/audit_copy.py`): Sub-second AST & cliché linter.
|
|
40
|
+
- `calc_promo_math` (`scripts/calc_promo_math.py`): Break-even ROAS & margin math.
|
|
41
|
+
- `clean_orphaned_assets` (`scripts/clean_orphaned_assets.py`): SHA-256 duplicate & orphan cleaner.
|
|
42
|
+
|
|
43
|
+
## Skill vs MCP Boundary (Rule 12)
|
|
44
|
+
|
|
45
|
+
- **Inside Skill**: Static marketing frameworks, copy matrices, Arabic tone rubrics, and local auditing tools.
|
|
46
|
+
- **MCP Layer**: Sovereign Brain persistence (`search_knowledge_base`, `extract_knowledge_item`) operating under Fail-Open protocol.
|
package/bin/add-skill.js
CHANGED
|
@@ -1,50 +1,65 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* bin/add-skill.js — Multi-Agent Skill Installer Wrapper for tidyfactor-marketing
|
|
4
|
+
* Supports Trae, Cursor, Windsurf, Antigravity, GitHub Copilot, RooCode, OpenCode, KiloCode, Warp, and Universal.
|
|
5
|
+
*
|
|
6
|
+
* @license Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const os = require('os');
|
|
12
|
+
|
|
13
|
+
const targetDir = process.cwd();
|
|
14
|
+
const skillSource = path.resolve(__dirname, '..');
|
|
15
|
+
const skillName = 'tidyfactor-marketing';
|
|
16
|
+
|
|
17
|
+
const AGENT_MAP = [
|
|
18
|
+
{ name: 'Trae AI IDE', dir: path.join(targetDir, '.trae', 'skills', skillName), test: path.join(targetDir, '.trae') },
|
|
19
|
+
{ name: 'Cursor IDE', dir: path.join(targetDir, '.cursor', 'skills', skillName), test: path.join(targetDir, '.cursor') },
|
|
20
|
+
{ name: 'Windsurf Cascade', dir: path.join(targetDir, '.windsurf', 'skills', skillName), test: path.join(targetDir, '.windsurf') },
|
|
21
|
+
{ name: 'GitHub Copilot', dir: path.join(targetDir, '.github', 'prompts', skillName), test: path.join(targetDir, '.github') },
|
|
22
|
+
{ name: 'RooCode', dir: path.join(targetDir, '.roo', 'skills', skillName), test: path.join(targetDir, '.roo') },
|
|
23
|
+
{ name: 'OpenCode / Zen', dir: path.join(targetDir, '.opencode', 'skills', skillName), test: path.join(targetDir, '.opencode') },
|
|
24
|
+
{ name: 'KiloCode', dir: path.join(targetDir, '.kilocode', 'skills', skillName), test: path.join(targetDir, '.kilocode') },
|
|
25
|
+
{ name: 'Warp Terminal', dir: path.join(targetDir, '.warp', 'skills', skillName), test: path.join(targetDir, '.warp') },
|
|
26
|
+
{ name: 'Kiro Spec IDE', dir: path.join(targetDir, '.kiro', 'skills', skillName), test: path.join(targetDir, '.kiro') },
|
|
27
|
+
{ name: 'Claude Code', dir: path.join(targetDir, '.claude', 'skills', skillName), test: path.join(targetDir, '.claude') },
|
|
28
|
+
{ name: 'Zed AI Agent', dir: path.join(targetDir, '.zed', 'skills', skillName), test: path.join(targetDir, '.zed') },
|
|
29
|
+
{ name: 'Google Antigravity/Gemini', dir: path.join(targetDir, '.agents', 'skills', skillName), test: path.join(targetDir, '.agents') },
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
function copyRecursive(src, dest) {
|
|
33
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
34
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
35
|
+
for (const entry of entries) {
|
|
36
|
+
const srcPath = path.join(src, entry.name);
|
|
37
|
+
const destPath = path.join(dest, entry.name);
|
|
38
|
+
if (['.git', 'node_modules', 'dist'].includes(entry.name)) continue;
|
|
39
|
+
if (entry.isDirectory()) {
|
|
40
|
+
copyRecursive(srcPath, destPath);
|
|
41
|
+
} else {
|
|
42
|
+
fs.copyFileSync(srcPath, destPath);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Determine installation targets
|
|
48
|
+
let mountedTargets = [];
|
|
49
|
+
|
|
50
|
+
for (const agent of AGENT_MAP) {
|
|
51
|
+
if (fs.existsSync(agent.test)) {
|
|
52
|
+
copyRecursive(skillSource, agent.dir);
|
|
53
|
+
mountedTargets.push(agent.name + ' (' + path.relative(targetDir, agent.dir) + ')');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Always ensure universal fallback in .agents/skills/
|
|
58
|
+
const defaultDir = path.join(targetDir, '.agents', 'skills', skillName);
|
|
59
|
+
copyRecursive(skillSource, defaultDir);
|
|
60
|
+
if (!mountedTargets.some(t => t.includes('.agents'))) {
|
|
61
|
+
mountedTargets.push('Universal Default (.agents/skills/' + skillName + ')');
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
console.log('✨ Successfully injected ' + skillName + ' into:');
|
|
65
|
+
mountedTargets.forEach(t => console.log(' • ' + t));
|
package/brand.json
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "TidyFactor Marketing",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"schemaVersion": "brand-core-v2",
|
|
5
|
-
"meta": {
|
|
6
|
-
"product": "TidyFactor Marketing Engine",
|
|
7
|
-
"tagline": "AI Direct Response & 360° Growth Marketing Engine",
|
|
8
|
-
"description": "A production-grade, AI-native marketing and growth engine following TidyFactor Skill architecture. Handles 7 pillars and 28 capabilities with zero fluff, data-backed metrics, quantitative benchmarks, and platform-native direct-response conversion frameworks.",
|
|
9
|
-
"version": "1.
|
|
10
|
-
"lastUpdated": "2026-
|
|
11
|
-
},
|
|
12
|
-
"identity": {
|
|
13
|
-
"logo": {
|
|
14
|
-
"full": "assets/logo.svg",
|
|
15
|
-
"fullDark": "assets/logo-dark.svg",
|
|
16
|
-
"mark": "assets/logo-mark.svg",
|
|
17
|
-
"favicon": "assets/favicon.svg",
|
|
18
|
-
"minClearSpace": "1x logo-mark height on all sides",
|
|
19
|
-
"minSizePx": 24
|
|
20
|
-
},
|
|
21
|
-
"socialPreview": {
|
|
22
|
-
"ogImage": "assets/
|
|
23
|
-
"ogDimensions": "1200x630"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"voice": {
|
|
27
|
-
"tone": "direct, evidence-first, quantitative, authentic, teacher-practitioner",
|
|
28
|
-
"vocabulary": {
|
|
29
|
-
"preferred": [
|
|
30
|
-
"direct response",
|
|
31
|
-
"conversion rate",
|
|
32
|
-
"margin protection",
|
|
33
|
-
"CAC payback",
|
|
34
|
-
"LTV:CAC",
|
|
35
|
-
"ROAS",
|
|
36
|
-
"anti-cliché",
|
|
37
|
-
"pillar-cluster",
|
|
38
|
-
"search intent",
|
|
39
|
-
"retention loop"
|
|
40
|
-
],
|
|
41
|
-
"banned": [
|
|
42
|
-
"cutting-edge",
|
|
43
|
-
"seamless experience",
|
|
44
|
-
"innovative solutions",
|
|
45
|
-
"take your business to the next level",
|
|
46
|
-
"one-stop shop",
|
|
47
|
-
"نسعى دائماً لتقديم الأفضل",
|
|
48
|
-
"فريق من الخبراء",
|
|
49
|
-
"حلول متكاملة ومبتكرة"
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
"principles": [
|
|
53
|
-
"Every sentence must carry a mechanism, a concrete number, or a verifiable proof point.",
|
|
54
|
-
"Never price cut without calculating unit gross margin impact.",
|
|
55
|
-
"Respect audience attention with high-signal, zero-throat-clearing direct copy."
|
|
56
|
-
]
|
|
57
|
-
},
|
|
58
|
-
"pillars": {
|
|
59
|
-
"1_strategy": "Brand Voice, Positioning Statement, Competitive Differentiation, Phased Launch (T-30 to T+14)",
|
|
60
|
-
"2_content": "Pillar + Cluster SEO, Multi-Platform Posts, Publishing Grids, Newsletters",
|
|
61
|
-
"3_social": "LinkedIn B2B & Founder Personal Branding, Instagram/TikTok 0-3s Hooks, 0-1k Roadmap",
|
|
62
|
-
"4_email": "Lead Magnet Mechanics, 5-Email Welcome Flow, 3-Stage Cart Recovery, Win-Back Sequences",
|
|
63
|
-
"5_advertising": "3-Angle Ad Copy Matrices, 7-Dimension CRO Landing Page Wireframes, Meta & Google Ads",
|
|
64
|
-
"6_promotions": "72-Hour Flash Sales, Decoy Pricing Architecture, Viral Contests, Margin-Safe Coupons",
|
|
65
|
-
"7_growth": "2-Sided Viral Referral Loops, Influencer Vetting & Cold Outreach, Retention & Churn Diagnosis"
|
|
66
|
-
}
|
|
67
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "TidyFactor Marketing",
|
|
3
|
+
"version": "1.6.0",
|
|
4
|
+
"schemaVersion": "brand-core-v2",
|
|
5
|
+
"meta": {
|
|
6
|
+
"product": "TidyFactor Marketing Engine",
|
|
7
|
+
"tagline": "AI Direct Response & 360° Growth Marketing Engine",
|
|
8
|
+
"description": "A production-grade, AI-native marketing and growth engine following TidyFactor Skill architecture. Handles 7 pillars and 28 capabilities with zero fluff, data-backed metrics, quantitative benchmarks, and platform-native direct-response conversion frameworks.",
|
|
9
|
+
"version": "1.6.0",
|
|
10
|
+
"lastUpdated": "2026-09-09"
|
|
11
|
+
},
|
|
12
|
+
"identity": {
|
|
13
|
+
"logo": {
|
|
14
|
+
"full": "assets/logo.svg",
|
|
15
|
+
"fullDark": "assets/logo-dark.svg",
|
|
16
|
+
"mark": "assets/logo-mark.svg",
|
|
17
|
+
"favicon": "assets/favicon.svg",
|
|
18
|
+
"minClearSpace": "1x logo-mark height on all sides",
|
|
19
|
+
"minSizePx": 24
|
|
20
|
+
},
|
|
21
|
+
"socialPreview": {
|
|
22
|
+
"ogImage": "assets/hero-banner.png",
|
|
23
|
+
"ogDimensions": "1200x630"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"voice": {
|
|
27
|
+
"tone": "direct, evidence-first, quantitative, authentic, teacher-practitioner",
|
|
28
|
+
"vocabulary": {
|
|
29
|
+
"preferred": [
|
|
30
|
+
"direct response",
|
|
31
|
+
"conversion rate",
|
|
32
|
+
"margin protection",
|
|
33
|
+
"CAC payback",
|
|
34
|
+
"LTV:CAC",
|
|
35
|
+
"ROAS",
|
|
36
|
+
"anti-cliché",
|
|
37
|
+
"pillar-cluster",
|
|
38
|
+
"search intent",
|
|
39
|
+
"retention loop"
|
|
40
|
+
],
|
|
41
|
+
"banned": [
|
|
42
|
+
"cutting-edge",
|
|
43
|
+
"seamless experience",
|
|
44
|
+
"innovative solutions",
|
|
45
|
+
"take your business to the next level",
|
|
46
|
+
"one-stop shop",
|
|
47
|
+
"نسعى دائماً لتقديم الأفضل",
|
|
48
|
+
"فريق من الخبراء",
|
|
49
|
+
"حلول متكاملة ومبتكرة"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"principles": [
|
|
53
|
+
"Every sentence must carry a mechanism, a concrete number, or a verifiable proof point.",
|
|
54
|
+
"Never price cut without calculating unit gross margin impact.",
|
|
55
|
+
"Respect audience attention with high-signal, zero-throat-clearing direct copy."
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"pillars": {
|
|
59
|
+
"1_strategy": "Brand Voice, Positioning Statement, Competitive Differentiation, Phased Launch (T-30 to T+14)",
|
|
60
|
+
"2_content": "Pillar + Cluster SEO, Multi-Platform Posts, Publishing Grids, Newsletters",
|
|
61
|
+
"3_social": "LinkedIn B2B & Founder Personal Branding, Instagram/TikTok 0-3s Hooks, 0-1k Roadmap",
|
|
62
|
+
"4_email": "Lead Magnet Mechanics, 5-Email Welcome Flow, 3-Stage Cart Recovery, Win-Back Sequences",
|
|
63
|
+
"5_advertising": "3-Angle Ad Copy Matrices, 7-Dimension CRO Landing Page Wireframes, Meta & Google Ads",
|
|
64
|
+
"6_promotions": "72-Hour Flash Sales, Decoy Pricing Architecture, Viral Contests, Margin-Safe Coupons",
|
|
65
|
+
"7_growth": "2-Sided Viral Referral Loops, Influencer Vetting & Cold Outreach, Retention & Churn Diagnosis"
|
|
66
|
+
}
|
|
67
|
+
}
|