@opendirectory.dev/skills 0.1.65 → 0.1.67
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/package.json +1 -1
- package/skills/blog-cover-image-cli/README.md +112 -1
- package/skills/brand-alchemy/README.md +31 -1
- package/skills/claude-md-generator/README.md +73 -1
- package/skills/cold-email-verifier/README.md +41 -1
- package/skills/competitor-pr-finder/README.md +69 -1
- package/skills/cook-the-blog/README.md +82 -1
- package/skills/dependency-update-bot/README.md +96 -1
- package/skills/docs-from-code/README.md +93 -1
- package/skills/email-newsletter/README.md +72 -1
- package/skills/explain-this-pr/README.md +69 -1
- package/skills/gh-issue-to-demand-signal/README.md +95 -4
- package/skills/google-trends-api-skills/README.md +74 -1
- package/skills/graphic-case-study/README.md +97 -3
- package/skills/graphic-chart/README.md +0 -19
- package/skills/graphic-ebook/README.md +99 -3
- package/skills/graphic-gif/README.md +0 -19
- package/skills/graphic-slide-deck/README.md +104 -2
- package/skills/hackernews-intel/README.md +156 -1
- package/skills/human-tone/README.md +43 -1
- package/skills/kill-the-standup/README.md +79 -1
- package/skills/linkedin-job-post-to-buyer-pain-map/README.md +3 -3
- package/skills/linkedin-post-generator/README.md +103 -1
- package/skills/llms-txt-generator/README.md +138 -1
- package/skills/luma-attendees-scraper/README.md +0 -21
- package/skills/map-your-market/README.md +121 -1
- package/skills/meeting-brief-generator/README.md +85 -1
- package/skills/meta-ads-skill/README.md +67 -1
- package/skills/meta-tribeV2-skill/README.md +64 -3
- package/skills/newsletter-digest/README.md +142 -1
- package/skills/noise-to-linkedin-carousel/README.md +0 -21
- package/skills/noise2blog/README.md +102 -1
- package/skills/npm-downloads-to-leads/README.md +131 -12
- package/skills/oss-launch-kit/README.md +0 -21
- package/skills/outreach-sequence-builder/README.md +103 -1
- package/skills/position-me/README.md +65 -1
- package/skills/pr-description-writer/README.md +76 -1
- package/skills/pricing-finder/README.md +114 -1
- package/skills/pricing-page-psychology-audit/README.md +85 -1
- package/skills/product-update-logger/README.md +172 -4
- package/skills/producthunt-launch-kit/README.md +90 -1
- package/skills/reddit-icp-monitor/README.md +112 -1
- package/skills/reddit-post-engine/README.md +98 -1
- package/skills/schema-markup-generator/README.md +109 -1
- package/skills/sdk-adoption-tracker/README.md +127 -1
- package/skills/show-hn-writer/README.md +83 -1
- package/skills/stargazer/README.md +0 -21
- package/skills/tweet-thread-from-blog/README.md +104 -1
- package/skills/twitter-GTM-find-skill/README.md +37 -1
- package/skills/vc-curated-match/README.md +0 -21
- package/skills/vc-finder/README.md +98 -5
- package/skills/vid-motion-graphics/README.md +65 -5
- package/skills/where-your-customer-lives/README.md +0 -19
- package/skills/yc-intent-radar-skill/README.md +35 -1
|
@@ -168,24 +168,3 @@ Some browsers block downloads from DevTools-triggered scripts until user interac
|
|
|
168
168
|
## Disclaimer
|
|
169
169
|
|
|
170
170
|
Use this responsibly and only for events and attendee lists your account is authorized to access.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
## Install
|
|
174
|
-
|
|
175
|
-
### Video Tutorial
|
|
176
|
-
Watch this quick video to see how it's done:
|
|
177
|
-
|
|
178
|
-
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
179
|
-
|
|
180
|
-
### Step 1: Download the skill from GitHub
|
|
181
|
-
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
182
|
-
2. Go to [download-directory.github.io](https://download-directory.github.io/).
|
|
183
|
-
3. Paste the URL and click **Enter** to download.
|
|
184
|
-
|
|
185
|
-
### Step 2: Install the Skill in Claude
|
|
186
|
-
1. Open your **Claude desktop app**.
|
|
187
|
-
2. Go to the sidebar on the left side and click on the **Customize** section.
|
|
188
|
-
3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
|
|
189
|
-
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
190
|
-
|
|
191
|
-
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# map-your-market
|
|
1
|
+
# map-your-market
|
|
2
2
|
|
|
3
3
|
Give this skill a product description, category keywords, or competitor names. It searches Reddit, Hacker News, GitHub Issues, G2, and Google Trends for real pain signals from your market -- then builds a complete positioning framework: who your ICP is, what they say out loud, and how to talk to them.
|
|
4
4
|
|
|
@@ -25,3 +25,123 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
|
25
25
|
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
26
26
|
|
|
27
27
|
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
28
|
+
|
|
29
|
+
## What It Does
|
|
30
|
+
|
|
31
|
+
- Accepts any combination of: product description, category keywords, competitor names
|
|
32
|
+
- Auto-detects relevant subreddits from the category
|
|
33
|
+
- Searches Reddit public JSON API for pain posts (top posts, last 12 months)
|
|
34
|
+
- Searches Hacker News Algolia API for stories and Ask HN threads
|
|
35
|
+
- Searches GitHub Issues on competitor repos for high-reaction complaints
|
|
36
|
+
- Scrapes G2 category pages for vendor count and top products
|
|
37
|
+
- Fetches Google Trends direction (up / flat / down) for the category
|
|
38
|
+
- Scores every signal by source weight and recency (GitHub issues score 3x Reddit -- more deliberate signal)
|
|
39
|
+
- Clusters top 60 signals into 5-7 named pain themes
|
|
40
|
+
- Extracts ICP from subreddit and post metadata (not just content)
|
|
41
|
+
- Generates a positioning framework with messaging angles using verbatim market language
|
|
42
|
+
- Saves output to `docs/market-maps/[category]-[date].md` + JSON snapshot
|
|
43
|
+
|
|
44
|
+
## Requirements
|
|
45
|
+
|
|
46
|
+
| Requirement | Purpose | How to Set Up |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| GITHUB_TOKEN | Optional -- improves GitHub Issues rate limit from 60/hr to 5000/hr | github.com/settings/tokens (no scopes needed for public repos) |
|
|
49
|
+
|
|
50
|
+
No other API keys required.
|
|
51
|
+
|
|
52
|
+
## Setup
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cp .env.example .env
|
|
56
|
+
# Add GITHUB_TOKEN if you want higher GitHub rate limits
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## How to Use
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
"Map my market: I build developer observability tools"
|
|
63
|
+
"Who is my ICP? Competitors: Datadog, Grafana, New Relic"
|
|
64
|
+
"What are the top pains in the HR software market?"
|
|
65
|
+
"Find messaging angles for my B2B analytics tool"
|
|
66
|
+
"Map the CRM market. What are people complaining about?"
|
|
67
|
+
"I build payment APIs. Who should I be selling to?"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Include competitor names for richer GitHub Issues data. Include a product description for tailored messaging angles.
|
|
71
|
+
|
|
72
|
+
## Why This Instead of Manual Research
|
|
73
|
+
|
|
74
|
+
A founder doing this manually would spend 2-3 days:
|
|
75
|
+
- Reading Reddit threads, taking notes
|
|
76
|
+
- Scrolling HN "Ask HN" posts
|
|
77
|
+
- Checking G2 review counts per vendor
|
|
78
|
+
- Looking up Google Trends
|
|
79
|
+
- Synthesizing into a document
|
|
80
|
+
|
|
81
|
+
This skill does the same sweep in 3 minutes and returns verbatim quotes, not paraphrased summaries. The messaging framework uses the exact language your market uses -- not marketing copy you invented.
|
|
82
|
+
|
|
83
|
+
## The Pain Score
|
|
84
|
+
|
|
85
|
+
`pain_score = base * recency_factor`
|
|
86
|
+
|
|
87
|
+
- GitHub issue reactions: `reactions * 3` -- a developer deliberately clicking +1 is the strongest signal
|
|
88
|
+
- Reddit: `upvotes + (comments * 0.3)` -- upvotes count more than comments (comments include noise)
|
|
89
|
+
- HN: `points + (comments * 0.3)` -- same structure
|
|
90
|
+
|
|
91
|
+
Score tiers: critical (200+), high (50-199), medium (10-49), noise (<10, filtered out).
|
|
92
|
+
|
|
93
|
+
## Velocity Tracking
|
|
94
|
+
|
|
95
|
+
Run the skill every quarter. JSON snapshots in `docs/market-maps/` let you compare pain cluster rankings over time. A pain that was #3 last quarter and is #1 this quarter is accelerating -- a stronger positioning bet.
|
|
96
|
+
|
|
97
|
+
## Cost Per Run
|
|
98
|
+
|
|
99
|
+
- Reddit, HN, Google Trends: free, no auth
|
|
100
|
+
- GitHub Issues: free with optional token
|
|
101
|
+
- G2 scrape: free HTML fetch
|
|
102
|
+
- AI analysis: uses the model already running the skill
|
|
103
|
+
- Total: free
|
|
104
|
+
|
|
105
|
+
## Standalone Script
|
|
106
|
+
|
|
107
|
+
Run data collection without Claude. Useful when you want the raw signals first, then bring them to any AI for analysis.
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Basic usage
|
|
111
|
+
python3 scripts/fetch.py "developer observability"
|
|
112
|
+
|
|
113
|
+
# With competitors
|
|
114
|
+
python3 scripts/fetch.py "developer observability" --competitors "Datadog,Grafana,New Relic"
|
|
115
|
+
|
|
116
|
+
# With product context
|
|
117
|
+
python3 scripts/fetch.py "B2B analytics" --context "We help ops teams track spend"
|
|
118
|
+
|
|
119
|
+
# Print to stdout
|
|
120
|
+
python3 scripts/fetch.py "devops tooling" --stdout | jq '.summary'
|
|
121
|
+
|
|
122
|
+
# With GitHub token for higher rate limits
|
|
123
|
+
GITHUB_TOKEN=your_token python3 scripts/fetch.py "CRM software" --competitors "Salesforce,HubSpot" --output results.json
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The script writes a JSON file with all raw signals. Open that file with Claude and ask: "Generate a market map and positioning framework from this data."
|
|
127
|
+
|
|
128
|
+
## Project Structure
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
map-your-market/
|
|
132
|
+
├── SKILL.md
|
|
133
|
+
├── README.md
|
|
134
|
+
├── .env.example
|
|
135
|
+
├── scripts/
|
|
136
|
+
│ └── fetch.py standalone data collector
|
|
137
|
+
├── evals/
|
|
138
|
+
│ └── evals.json
|
|
139
|
+
└── references/
|
|
140
|
+
├── subreddit-map.md category to subreddit mapping
|
|
141
|
+
├── pain-scoring.md scoring formula and tier thresholds
|
|
142
|
+
└── icp-signals.md how to extract ICP from post metadata
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## License
|
|
146
|
+
|
|
147
|
+
MIT
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# meeting-brief-generator
|
|
1
|
+
# meeting-brief-generator
|
|
2
2
|
|
|
3
3
|
<img width="1280" height="640" alt="meeting-brief-generator" src="https://github.com/user-attachments/assets/30026bc4-657a-4ce9-8c0e-4dd2654783f8" />
|
|
4
4
|
|
|
@@ -28,3 +28,87 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
|
28
28
|
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
29
29
|
|
|
30
30
|
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
31
|
+
|
|
32
|
+
## What It Does
|
|
33
|
+
|
|
34
|
+
- Runs 6-8 targeted Tavily searches covering company overview, recent news, tech stack, product, competitors, funding, and contact background
|
|
35
|
+
- Synthesizes results into a structured 1-page brief using Gemini
|
|
36
|
+
- Every claim cites a source URL from the research
|
|
37
|
+
- Optionally saves the brief to a Notion database
|
|
38
|
+
- Handles low-data companies by marking gaps instead of inventing content
|
|
39
|
+
|
|
40
|
+
## Requirements
|
|
41
|
+
|
|
42
|
+
| Requirement | Purpose | How to Set Up |
|
|
43
|
+
|------------|---------|--------------|
|
|
44
|
+
| Tavily API key | Company research | app.tavily.com, API Keys |
|
|
45
|
+
| Gemini API key | Brief synthesis | aistudio.google.com, Get API key |
|
|
46
|
+
| Notion token (optional) | Saving briefs | notion.so/my-integrations |
|
|
47
|
+
|
|
48
|
+
## Setup
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
cp .env.example .env
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Fill in:
|
|
55
|
+
- `TAVILY_API_KEY` (required)
|
|
56
|
+
- `GEMINI_API_KEY` (required)
|
|
57
|
+
- `NOTION_TOKEN` and `NOTION_DATABASE_ID` (optional, for saving briefs)
|
|
58
|
+
|
|
59
|
+
## How to Use
|
|
60
|
+
|
|
61
|
+
Basic brief with company only:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
"Prepare me for a meeting with Stripe next Tuesday"
|
|
65
|
+
"Generate a meeting brief for Vercel"
|
|
66
|
+
"Research Acme Corp before my call tomorrow"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
With contact and meeting type:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
"Prepare a discovery call brief for Linear. I'm meeting with the VP Engineering, Jordan Lee."
|
|
73
|
+
"Create a pre-call brief for Notion. Demo call on April 20."
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Save to Notion:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
"Generate a meeting brief for Figma and save it to Notion"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Brief Sections
|
|
83
|
+
|
|
84
|
+
| Section | Content |
|
|
85
|
+
|---------|---------|
|
|
86
|
+
| Company Snapshot | What they do, size, funding stage, HQ |
|
|
87
|
+
| Recent News | Last 30 days, source URLs |
|
|
88
|
+
| Decision Maker | Name, title, background (if contact provided) |
|
|
89
|
+
| Tech Stack Signals | Tools spotted in job posts, blog, GitHub |
|
|
90
|
+
| Competitive Context | Who they compete with and how |
|
|
91
|
+
| Talking Points | Because/mention/to formula, 3-5 bullets |
|
|
92
|
+
| Open Questions | Company-specific discovery questions |
|
|
93
|
+
|
|
94
|
+
## Output Format
|
|
95
|
+
|
|
96
|
+
One page, under 400 words. Every claim has a source URL. Talking points follow the format: "Because [finding from research], mention [point] to [goal]."
|
|
97
|
+
|
|
98
|
+
## Project Structure
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
meeting-brief-generator/
|
|
102
|
+
├── SKILL.md
|
|
103
|
+
├── README.md
|
|
104
|
+
├── .env.example
|
|
105
|
+
├── evals/
|
|
106
|
+
│ └── evals.json
|
|
107
|
+
└── references/
|
|
108
|
+
├── brief-format.md
|
|
109
|
+
└── output-template.md
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## License
|
|
113
|
+
|
|
114
|
+
MIT
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Meta Ads Agentic Skill
|
|
1
|
+
# Meta Ads Agentic Skill
|
|
2
2
|
|
|
3
3
|
<img width="1376" height="768" alt="meta-ads-skill" src="https://github.com/user-attachments/assets/baf2509b-0ee0-41ca-9555-3ad350a6824c" />
|
|
4
4
|
|
|
@@ -25,3 +25,69 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
|
25
25
|
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
26
26
|
|
|
27
27
|
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
28
|
+
|
|
29
|
+
## Overview
|
|
30
|
+
|
|
31
|
+
The **Meta Ads Skill** is a comprehensive, production-ready skill designed to give LLMs and AI agents expert-level capabilities to orchestrate the official **Meta Ads Python CLI**.
|
|
32
|
+
|
|
33
|
+
By using this skill, an agent transforms into an **Expert Media Buyer**. It will know exactly how to explore ad structures, troubleshoot campaign performance (like CPA spikes), discover new audiences, and format massive Meta APIs JSON payloads into beautiful, readable markdown reports.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## For Agents: How to Use This Skill Efficiently
|
|
38
|
+
|
|
39
|
+
This skill is designed using a **Progressive Disclosure (Hub-and-Spoke)** architecture to maximize context window efficiency:
|
|
40
|
+
|
|
41
|
+
1. **The Hub (`SKILL.md`)**: The primary entry point. It provides strict guardrails, safety protocols, and the authentication troubleshooting workflow.
|
|
42
|
+
2. **The Spokes (`references/`)**:
|
|
43
|
+
- When you need to perform a specific task (e.g., investigating a CPA spike), read `references/workflows.md` for the exact step-by-step orchestration strategy.
|
|
44
|
+
- When presenting data to the user, read `references/report_templates.md` to strictly follow the required Markdown layout.
|
|
45
|
+
|
|
46
|
+
### Strict Agent Guardrails
|
|
47
|
+
* **Context Protection**: ALWAYS default to `time_range="last_7d"` for insights. ALWAYS use `limit=10` for listing campaigns/adsets initially.
|
|
48
|
+
* **Safety First**: NEVER execute state-changing tools (`create_campaign`, `update_campaign`) without explicitly showing the parameters to the user and waiting for their affirmative confirmation.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Installation & Setup
|
|
53
|
+
|
|
54
|
+
To use this skill, you must install the official Meta Ads CLI and configure your credentials.
|
|
55
|
+
|
|
56
|
+
### 1. Install the CLI
|
|
57
|
+
The skill relies on the `meta-ads` Python package:
|
|
58
|
+
```bash
|
|
59
|
+
pip install meta-ads
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 2. Authentication (System User Token)
|
|
63
|
+
The CLI uses a **System User Access Token** for authentication.
|
|
64
|
+
1. Generate a System User Token in your [Meta Business Suite](https://business.facebook.com/settings/system-users).
|
|
65
|
+
2. Ensure the token has `ads_management`, `ads_read`, and `read_insights` permissions.
|
|
66
|
+
3. Set the following environment variables on your machine:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
export ACCESS_TOKEN="your_system_user_access_token"
|
|
70
|
+
export AD_ACCOUNT_ID="act_your_ad_account_id"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Skill Repository Structure
|
|
76
|
+
|
|
77
|
+
When you deploy this skill, the structure will look like this:
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
meta-ads-skill/
|
|
81
|
+
SKILL.md # The core router & guardrails
|
|
82
|
+
references/
|
|
83
|
+
report_templates.md # Standardized markdown report structures
|
|
84
|
+
workflows.md # Orchestration strategies (e.g., CPA troubleshooting)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Supported Commands
|
|
88
|
+
|
|
89
|
+
This skill orchestrates the `meta-ads` CLI using a noun-verb structure:
|
|
90
|
+
* **Campaigns**: `meta ads campaign list`, `meta ads campaign create`
|
|
91
|
+
* **Ad Sets**: `meta ads adset list`
|
|
92
|
+
* **Ads**: `meta ads ad list`
|
|
93
|
+
* **Insights**: `meta ads insights get`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Meta Tribe Skill
|
|
1
|
+
# Meta Tribe Skill
|
|
2
2
|
|
|
3
3
|
AI Skill that uses Meta's TRIBE v2 fMRI Model to analyze the neuroscience of video hooks, reels, and scripts.
|
|
4
4
|
|
|
@@ -21,8 +21,6 @@ This skill provides the infrastructure to host the massive 80GB TRIBE v2 model p
|
|
|
21
21
|
|
|
22
22
|
## Install
|
|
23
23
|
|
|
24
|
-
## Install
|
|
25
|
-
|
|
26
24
|
### Video Tutorial
|
|
27
25
|
Watch this quick video to see how it's done:
|
|
28
26
|
|
|
@@ -40,3 +38,66 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
|
40
38
|
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
41
39
|
|
|
42
40
|
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Deployment Options
|
|
45
|
+
|
|
46
|
+
Because TRIBE v2 requires a massive amount of VRAM (24GB for text, up to 80GB for video), we offer 3 different deployment options so anyone can use it, regardless of budget or technical expertise.
|
|
47
|
+
|
|
48
|
+
### 1. Google Colab (Zero Cost, Decoupled)
|
|
49
|
+
Best for users without a cloud budget. Colab provides free T4 GPUs.
|
|
50
|
+
* How it works: We use a decoupled architecture. You run the heavy AI inference in a Colab Notebook, which outputs a preds.npy prediction file. You then run a local script on your laptop to generate the report.
|
|
51
|
+
* Setup:
|
|
52
|
+
1. Open Google Colab and upload the script from scripts/colab_inference.py into a new Notebook.
|
|
53
|
+
2. Run the notebook. It will output preds.npy and segments.json.
|
|
54
|
+
3. Download those files to your machine and run: `python scripts/local_analyze.py --preds preds.npy`. This will output a text report and an ASCII terminal graph showing the engagement peaks and valleys.
|
|
55
|
+
|
|
56
|
+
### 2. RunPod (Serverless, Pay-per-second)
|
|
57
|
+
Best for production agents and developers. You only pay for the seconds the model is running.
|
|
58
|
+
* How it works: We provide a RunPod Handler and a custom Dockerfile that caches the 80GB model inside the image.
|
|
59
|
+
* Setup:
|
|
60
|
+
1. Build the Docker image using server/Dockerfile.runpod: docker build -f Dockerfile.runpod -t tribe-runpod .
|
|
61
|
+
2. Push the image to Docker Hub or GHCR.
|
|
62
|
+
3. Create a new RunPod Serverless Endpoint using your image URL.
|
|
63
|
+
4. Point your AI Agent to your RunPod Endpoint URL.
|
|
64
|
+
|
|
65
|
+
### 3. AWS EC2 Persistent (Enterprise, BYO-Compute)
|
|
66
|
+
Best for heavy, continuous usage.
|
|
67
|
+
* How it works: Automatically provisions an AWS g5.12xlarge instance (4x A10G GPUs) and runs a FastAPI server.
|
|
68
|
+
* Setup:
|
|
69
|
+
1. Ensure your AWS account has a vCPU quota limit of at least 48 for "Running On-Demand G and VT instances".
|
|
70
|
+
2. Run bash scripts/launch_persistent.sh to provision the instance.
|
|
71
|
+
3. Run export HF_TOKEN="your_token" followed by bash scripts/deploy_to_persistent.sh to build and launch the Docker API.
|
|
72
|
+
|
|
73
|
+
#### AWS GPU Lifecycle & Estimated Costs
|
|
74
|
+
Running the `g5.12xlarge` instance (4x A10G GPUs) provides incredible speed but costs **$7.09 per hour** on On-Demand pricing. It is crucial to manage this lifecycle.
|
|
75
|
+
1. **Launch:** Run `bash scripts/launch_persistent.sh` (Takes ~3 minutes).
|
|
76
|
+
2. **Analyze:** Run your videos through the API.
|
|
77
|
+
3. **Terminate:** When you are completely finished for the day, you MUST terminate the instance to stop billing.
|
|
78
|
+
- Run `aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"` to find your Instance ID.
|
|
79
|
+
- Run `aws ec2 terminate-instances --instance-ids <YOUR_INSTANCE_ID>`.
|
|
80
|
+
- *Do not just "stop" the instance if you don't want to pay for EBS Volume storage costs overnight. Terminate it.*
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## HuggingFace Authentication (Required for all methods)
|
|
85
|
+
|
|
86
|
+
TRIBE v2 relies on meta-llama/Llama-3.2-3B, which is a Gated Model.
|
|
87
|
+
1. Create a HuggingFace account.
|
|
88
|
+
2. Go to the Llama 3.2 3B page and TRIBE v2 page and agree to Meta's license terms.
|
|
89
|
+
3. Generate a HuggingFace Access Token (Read permissions) at huggingface.co/settings/tokens.
|
|
90
|
+
4. Supply this token via the HF_TOKEN environment variable.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## The Neuroscience of the Engagement Report
|
|
95
|
+
|
|
96
|
+
The AI agent will read the raw API output and translate the neuroscience into plain English for you:
|
|
97
|
+
|
|
98
|
+
* VAN (Ventral Attention Network): Translated to "Is this surprising enough to stop a scroll?". High VAN means the content is novel and creates a pattern interrupt.
|
|
99
|
+
* DMN (Default Mode Network): Translated to "Will people get bored and tune out?". High DMN is bad. It means the brain is wandering. The AI uses this to identify "Cut Candidates" in your video.
|
|
100
|
+
* DAN (Dorsal Attention Network): Translated to "Are people actively following along?". High DAN means strong logical focus.
|
|
101
|
+
* Limbic Network: Translated to "Does this make people feel something?". High Limbic means strong emotional response.
|
|
102
|
+
|
|
103
|
+
Check out the [Results Showcase](results_showcase.md) for actual examples of Neuro-Marketing reports generated by this skill.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# newsletter-digest
|
|
1
|
+
# newsletter-digest
|
|
2
2
|
|
|
3
3
|
<img width="1280" height="640" alt="newsletter-digest" src="https://github.com/user-attachments/assets/cb2879ae-eb5c-4727-a1a2-47b4462a699b" />
|
|
4
4
|
|
|
@@ -28,3 +28,144 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
|
28
28
|
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
29
29
|
|
|
30
30
|
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
31
|
+
|
|
32
|
+
## What It Does
|
|
33
|
+
|
|
34
|
+
- Reads your RSS/Atom feed list from `feeds.json`
|
|
35
|
+
- Fetches all articles published in the last 7 days (configurable)
|
|
36
|
+
- Deduplicates across feeds and sorts by date
|
|
37
|
+
- Uses Gemini to synthesize a digest in your chosen format
|
|
38
|
+
- Publishes to Ghost as a draft or live post
|
|
39
|
+
- Outputs formatted Markdown for Substack, Notion, or any other platform
|
|
40
|
+
|
|
41
|
+
## Digest Formats
|
|
42
|
+
|
|
43
|
+
| Format | Use When | Target Length |
|
|
44
|
+
|--------|----------|---------------|
|
|
45
|
+
| Weekly Roundup | General digest covering top stories across all feeds | 350-500 words |
|
|
46
|
+
| Topic Deep Dive | Focused issue on a single topic (AI, security, etc.) | 450-650 words |
|
|
47
|
+
| Curated Picks | 5 selected articles with editorial context | 250-350 words |
|
|
48
|
+
|
|
49
|
+
## Requirements
|
|
50
|
+
|
|
51
|
+
| Requirement | Purpose | Where to Get It |
|
|
52
|
+
|------------|---------|-----------------|
|
|
53
|
+
| GEMINI_API_KEY | Digest synthesis | https://ai.google.dev |
|
|
54
|
+
| GHOST_URL + GHOST_ADMIN_KEY | Ghost publishing (optional) | Ghost Admin, Settings, Integrations |
|
|
55
|
+
| Node.js 20+ | Running scripts | https://nodejs.org |
|
|
56
|
+
|
|
57
|
+
Tavily is not required. The skill uses article excerpts from RSS feeds directly.
|
|
58
|
+
|
|
59
|
+
## Setup
|
|
60
|
+
|
|
61
|
+
### 1. Install dependencies
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
cd /path/to/newsletter-digest
|
|
65
|
+
npm install
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 2. Configure environment variables
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cp .env.example .env
|
|
72
|
+
# Edit .env with your keys
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 3. Configure your feeds
|
|
76
|
+
|
|
77
|
+
Edit `feeds.json` with the RSS feeds you want to monitor:
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
[
|
|
81
|
+
{ "url": "https://hnrss.org/frontpage", "name": "Hacker News" },
|
|
82
|
+
{ "url": "https://feeds.feedburner.com/TheHackersNews", "name": "The Hacker News" },
|
|
83
|
+
{ "url": "https://changelog.com/feed", "name": "Changelog" }
|
|
84
|
+
]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
The file ships with 5 example feeds. Replace them with your own.
|
|
88
|
+
|
|
89
|
+
### 4. Set up Ghost publishing (optional)
|
|
90
|
+
|
|
91
|
+
1. Go to Ghost Admin, Settings, Integrations
|
|
92
|
+
2. Click "Add custom integration"
|
|
93
|
+
3. Name it "newsletter-digest"
|
|
94
|
+
4. Copy the Admin API Key (format: `key_id:secret`)
|
|
95
|
+
5. Set `GHOST_ADMIN_KEY=key_id:secret` in `.env`
|
|
96
|
+
6. Set `GHOST_URL=https://your-ghost-site.com` in `.env`
|
|
97
|
+
|
|
98
|
+
## How to Use
|
|
99
|
+
|
|
100
|
+
Generate a weekly digest:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
"Generate a weekly digest from my RSS feeds"
|
|
104
|
+
"Create this week's newsletter"
|
|
105
|
+
"Summarize my feeds from the last 7 days"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Choose a specific format:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
"Create a topic deep dive about AI agents from this week's news"
|
|
112
|
+
"Generate a curated picks digest for this week"
|
|
113
|
+
"Write a weekly roundup newsletter"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Extend the date window:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
"Generate a digest from the last 14 days"
|
|
120
|
+
"Not many articles this week, extend the window to 2 weeks"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Publish to Ghost:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
"Generate this week's digest and publish it to Ghost as a draft"
|
|
127
|
+
"Create the newsletter and publish it to Ghost"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Output for Substack:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
"Generate a newsletter digest for Substack"
|
|
134
|
+
"Create the digest and give me the Markdown version"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Output
|
|
138
|
+
|
|
139
|
+
| Output | Description |
|
|
140
|
+
|--------|-------------|
|
|
141
|
+
| HTML | Ready to paste into any CMS |
|
|
142
|
+
| Markdown | For Substack, Notion, Hashnode |
|
|
143
|
+
| Plain text | For email clients |
|
|
144
|
+
| Ghost draft | Published automatically if configured |
|
|
145
|
+
|
|
146
|
+
## Substack Note
|
|
147
|
+
|
|
148
|
+
Substack has no public API. The skill outputs a Markdown version of the digest for you to paste directly into the Substack editor.
|
|
149
|
+
|
|
150
|
+
## Project Structure
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
newsletter-digest/
|
|
154
|
+
├── SKILL.md
|
|
155
|
+
├── README.md
|
|
156
|
+
├── .env.example
|
|
157
|
+
├── package.json
|
|
158
|
+
├── feeds.json (your RSS feed list, edit this)
|
|
159
|
+
├── evals/
|
|
160
|
+
│ └── evals.json
|
|
161
|
+
├── references/
|
|
162
|
+
│ ├── digest-format.md (format rules, length targets, attribution)
|
|
163
|
+
│ └── output-template.md (HTML templates for all 3 formats)
|
|
164
|
+
└── scripts/
|
|
165
|
+
├── fetch-feeds.js (RSS fetching, dedup, date filtering)
|
|
166
|
+
└── ghost-publish.js (Ghost Admin API posting)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## License
|
|
170
|
+
|
|
171
|
+
MIT
|
|
@@ -79,24 +79,3 @@ Unlike simple text generators, this skill operates as a structured workflow:
|
|
|
79
79
|
## Contributing
|
|
80
80
|
|
|
81
81
|
Pull requests to refine hook patterns, add new slide structures, or include helper scripts that refine raw transcripts are welcome.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
## Install
|
|
85
|
-
|
|
86
|
-
### Video Tutorial
|
|
87
|
-
Watch this quick video to see how it's done:
|
|
88
|
-
|
|
89
|
-
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
90
|
-
|
|
91
|
-
### Step 1: Download the skill from GitHub
|
|
92
|
-
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
93
|
-
2. Go to [download-directory.github.io](https://download-directory.github.io/).
|
|
94
|
-
3. Paste the URL and click **Enter** to download.
|
|
95
|
-
|
|
96
|
-
### Step 2: Install the Skill in Claude
|
|
97
|
-
1. Open your **Claude desktop app**.
|
|
98
|
-
2. Go to the sidebar on the left side and click on the **Customize** section.
|
|
99
|
-
3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
|
|
100
|
-
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
101
|
-
|
|
102
|
-
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# noise2blog
|
|
1
|
+
# noise2blog
|
|
2
2
|
|
|
3
3
|
<img width="1280" height="640" alt="noise2blog" src="https://github.com/user-attachments/assets/2359cff9-dfd4-4276-bb3e-4b6091ad6983" />
|
|
4
4
|
|
|
@@ -28,3 +28,104 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
|
28
28
|
4. Choose the option to **Upload a skill**, and drag and drop the `.zip` file (or you can extract it and drop the folder, both work).
|
|
29
29
|
|
|
30
30
|
> **Note:** For some skills (like `position-me`), the `SKILL.md` file might be located inside a subfolder. Always make sure you are uploading the specific folder that contains the `SKILL.md` file!
|
|
31
|
+
|
|
32
|
+
## What It Does
|
|
33
|
+
|
|
34
|
+
- Accepts any rough input: bullet points, rough notes, voice transcripts, tweet dumps, short drafts, or a URL
|
|
35
|
+
- Detects the right blog post style automatically (Technical Tutorial, Case Study, Thought Leadership, Explainer)
|
|
36
|
+
- Enriches claims with Tavily research when you set an API key (supporting data, verification)
|
|
37
|
+
- Generates a Markdown post with no AI slop, no em dashes, no banned words
|
|
38
|
+
- Formats frontmatter for Ghost, dev.to, Substack, or Hashnode on request
|
|
39
|
+
|
|
40
|
+
## Requirements
|
|
41
|
+
|
|
42
|
+
| Requirement | Purpose | How to Set Up |
|
|
43
|
+
|------------|---------|--------------|
|
|
44
|
+
| Google Gemini API key | Generates the blog post | aistudio.google.com, Get API key |
|
|
45
|
+
| Tavily API key (optional) | Enriches claims with research | app.tavily.com, API Keys |
|
|
46
|
+
|
|
47
|
+
No LLM backend to run. The agent calls the Gemini API directly.
|
|
48
|
+
|
|
49
|
+
## Setup
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
cp .env.example .env
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Edit `.env` and fill in:
|
|
56
|
+
- `GEMINI_API_KEY` (required)
|
|
57
|
+
- `TAVILY_API_KEY` (optional, enables research enrichment)
|
|
58
|
+
|
|
59
|
+
## Blog Post Styles
|
|
60
|
+
|
|
61
|
+
| Style | Use When | Signals in Your Input |
|
|
62
|
+
|-------|----------|----------------------|
|
|
63
|
+
| Technical Tutorial | Step-by-step guide, code walkthrough | Numbered steps, commands, "how to" |
|
|
64
|
+
| Case Study | Build log, before/after story, lessons learned | Specific results, journey narrative |
|
|
65
|
+
| Thought Leadership | Opinion piece, counterintuitive argument | Strong claim, debate framing |
|
|
66
|
+
| Explainer | Explaining a concept or tool to newcomers | Definition-first, comparisons |
|
|
67
|
+
|
|
68
|
+
The agent detects the style automatically. Override it with: "Use Thought Leadership style" or "Make this a tutorial".
|
|
69
|
+
|
|
70
|
+
## How to Use
|
|
71
|
+
|
|
72
|
+
From pasted notes:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
"Write a blog post from these notes: [paste your content]"
|
|
76
|
+
"Turn these bullet points into a blog post"
|
|
77
|
+
"Expand this into an article"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
From a voice transcript:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
"Turn this transcript into a blog post: [paste transcript]"
|
|
84
|
+
"Clean up this voice note and make it publishable"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
From a tweet thread:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
"Turn this tweet thread into a blog: [paste tweets]"
|
|
91
|
+
"Expand this thread into a full article"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
With style override:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
"Write a thought leadership post from these notes"
|
|
98
|
+
"Make this a technical tutorial"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
With platform formatting:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
"Write the post and format it for dev.to"
|
|
105
|
+
"Give me Ghost frontmatter too"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Output
|
|
109
|
+
|
|
110
|
+
- Full blog post in Markdown (800-1,800 words)
|
|
111
|
+
- Meta description (1-2 sentences)
|
|
112
|
+
- Alternative title option
|
|
113
|
+
- Platform-specific frontmatter on request
|
|
114
|
+
|
|
115
|
+
## Project Structure
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
noise2blog/
|
|
119
|
+
├── SKILL.md
|
|
120
|
+
├── README.md
|
|
121
|
+
├── .env.example
|
|
122
|
+
├── evals/
|
|
123
|
+
│ └── evals.json
|
|
124
|
+
└── references/
|
|
125
|
+
├── blog-format.md
|
|
126
|
+
└── output-template.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
MIT
|