@opendirectory.dev/skills 0.1.64 → 0.1.65
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 +1 -112
- package/skills/brand-alchemy/README.md +1 -31
- package/skills/claude-md-generator/README.md +1 -73
- package/skills/cold-email-verifier/README.md +1 -41
- package/skills/competitor-pr-finder/README.md +1 -69
- package/skills/cook-the-blog/README.md +1 -82
- package/skills/dependency-update-bot/README.md +1 -96
- package/skills/docs-from-code/README.md +1 -93
- package/skills/email-newsletter/README.md +1 -72
- package/skills/explain-this-pr/README.md +1 -69
- package/skills/gh-issue-to-demand-signal/README.md +4 -95
- package/skills/google-trends-api-skills/README.md +1 -74
- package/skills/graphic-case-study/README.md +3 -97
- package/skills/graphic-chart/README.md +19 -0
- package/skills/graphic-ebook/README.md +3 -99
- package/skills/graphic-gif/README.md +19 -0
- package/skills/graphic-slide-deck/README.md +2 -104
- package/skills/hackernews-intel/README.md +1 -156
- package/skills/human-tone/README.md +1 -43
- package/skills/kill-the-standup/README.md +1 -79
- package/skills/linkedin-job-post-to-buyer-pain-map/README.md +3 -3
- package/skills/linkedin-post-generator/README.md +1 -103
- package/skills/llms-txt-generator/README.md +1 -138
- package/skills/luma-attendees-scraper/README.md +21 -0
- package/skills/map-your-market/README.md +1 -121
- package/skills/meeting-brief-generator/README.md +1 -85
- package/skills/meta-ads-skill/README.md +1 -67
- package/skills/meta-tribeV2-skill/README.md +3 -64
- package/skills/newsletter-digest/README.md +1 -142
- package/skills/noise-to-linkedin-carousel/README.md +21 -0
- package/skills/noise2blog/README.md +1 -102
- package/skills/npm-downloads-to-leads/README.md +12 -131
- package/skills/oss-launch-kit/README.md +21 -0
- package/skills/outreach-sequence-builder/README.md +1 -103
- package/skills/position-me/README.md +1 -65
- package/skills/pr-description-writer/README.md +1 -76
- package/skills/pricing-finder/README.md +1 -114
- package/skills/pricing-page-psychology-audit/README.md +1 -85
- package/skills/product-update-logger/README.md +4 -172
- package/skills/producthunt-launch-kit/README.md +1 -90
- package/skills/reddit-icp-monitor/README.md +1 -112
- package/skills/reddit-post-engine/README.md +1 -98
- package/skills/schema-markup-generator/README.md +1 -109
- package/skills/sdk-adoption-tracker/README.md +1 -127
- package/skills/show-hn-writer/README.md +1 -83
- package/skills/stargazer/README.md +21 -0
- package/skills/tweet-thread-from-blog/README.md +1 -104
- package/skills/twitter-GTM-find-skill/README.md +1 -37
- package/skills/vc-curated-match/README.md +21 -0
- package/skills/vc-finder/README.md +5 -98
- package/skills/vid-motion-graphics/README.md +5 -65
- package/skills/where-your-customer-lives/README.md +19 -0
- package/skills/yc-intent-radar-skill/README.md +1 -35
|
@@ -14,7 +14,7 @@ npx "@opendirectory.dev/skills" install tweet-thread-from-blog --target claude
|
|
|
14
14
|
### Video Tutorial
|
|
15
15
|
Watch this quick video to see how it's done:
|
|
16
16
|
|
|
17
|
-
https://github.com/user-attachments/assets/
|
|
17
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
18
18
|
|
|
19
19
|
### Step 1: Download the skill from GitHub
|
|
20
20
|
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
@@ -28,106 +28,3 @@ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
|
|
|
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
|
-
## Thread Styles
|
|
33
|
-
|
|
34
|
-
| Style | Use When | Example Input |
|
|
35
|
-
|-------|----------|---------------|
|
|
36
|
-
| Data/Insight | Evidence-based article with stats or research findings | Engineering blog post with benchmark numbers |
|
|
37
|
-
| How-To | Tutorial or step-by-step guide | "How to set up X in 10 minutes" post |
|
|
38
|
-
| Story/Journey | Personal experience, build log, lessons learned | Indie hacker retrospective |
|
|
39
|
-
| Hot Take | Opinion piece, contrarian argument | "Why X is wrong" editorial |
|
|
40
|
-
|
|
41
|
-
The agent auto-detects the right style. Override it by specifying the style in your prompt.
|
|
42
|
-
|
|
43
|
-
## Requirements
|
|
44
|
-
|
|
45
|
-
No LLM API key needed. The agent reads the page and writes the thread.
|
|
46
|
-
|
|
47
|
-
**Note on X/Twitter posting:** Twitter's API v2 now requires a paid developer account (Basic tier, $100/month minimum). As a result, the Composio Twitter integration returns a 403 error for most users. The skill still generates complete, ready-to-post threads — just copy-paste them manually. Direct posting via Composio is documented below but is only viable if you have a paid Twitter developer account connected.
|
|
48
|
-
|
|
49
|
-
## Setup
|
|
50
|
-
|
|
51
|
-
### 1. Configure environment variables (optional)
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
cp .env.example .env
|
|
55
|
-
# Add COMPOSIO_API_KEY if you want direct posting to X
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 2. Connect X/Twitter via Composio (optional, requires paid Twitter developer account)
|
|
59
|
-
|
|
60
|
-
Twitter's API v2 now requires a paid developer account before Composio can post on your behalf. If you get a 403 error, this is why. Skip this step and use copy-paste output instead.
|
|
61
|
-
|
|
62
|
-
1. Sign up for Twitter Developer Portal (Basic tier, ~$100/month): https://developer.twitter.com/en/portal/products
|
|
63
|
-
2. Get your Composio API key at: https://app.composio.dev/settings
|
|
64
|
-
3. Connect your X/Twitter account at: https://app.composio.dev/app/twitter
|
|
65
|
-
4. Complete the OAuth flow
|
|
66
|
-
|
|
67
|
-
## How to Use
|
|
68
|
-
|
|
69
|
-
From a URL:
|
|
70
|
-
|
|
71
|
-
```
|
|
72
|
-
"Turn this into a tweet thread: https://example.com/blog/post"
|
|
73
|
-
"Create a Twitter thread from this article: https://example.com/post"
|
|
74
|
-
"Write a tweet thread about this blog post: https://example.com/tutorial"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
From pasted content:
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
"Make a thread from this: [paste article text]"
|
|
81
|
-
"Turn this into a Twitter thread: [paste blog post]"
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
With a style override:
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
"Turn this into a How-To thread: https://example.com/data-article"
|
|
88
|
-
"Write a Hot Take thread from this: https://example.com/opinion"
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
With direct posting (requires paid Twitter developer account + Composio setup):
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
"Post this blog post as a Twitter thread: https://example.com/post"
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Output
|
|
98
|
-
|
|
99
|
-
| Output | Description |
|
|
100
|
-
|--------|-------------|
|
|
101
|
-
| Full thread | 7-10 numbered tweets, each under 280 characters |
|
|
102
|
-
| Alternative hook | A second hook tweet in a different format |
|
|
103
|
-
| Posted confirmation | If COMPOSIO_API_KEY is set and you confirm, the thread posts as a reply chain on X |
|
|
104
|
-
|
|
105
|
-
## How Threads Are Formatted
|
|
106
|
-
|
|
107
|
-
Hook first. Tweet 1 leads with the most surprising insight or a curiosity gap. It never announces the thread.
|
|
108
|
-
|
|
109
|
-
One idea per tweet. If a tweet can be split, it gets split. Each tweet stands alone.
|
|
110
|
-
|
|
111
|
-
Numbered throughout. Every tweet starts with its position: "1/8", "2/8", etc.
|
|
112
|
-
|
|
113
|
-
CTA last. The final tweet is the only one with a URL or call to action.
|
|
114
|
-
|
|
115
|
-
No hashtags. Hashtags reduce the quality signal of technical threads.
|
|
116
|
-
|
|
117
|
-
## Project Structure
|
|
118
|
-
|
|
119
|
-
```
|
|
120
|
-
tweet-thread-from-blog/
|
|
121
|
-
├── SKILL.md
|
|
122
|
-
├── README.md
|
|
123
|
-
├── .env.example
|
|
124
|
-
├── evals/
|
|
125
|
-
│ └── evals.json
|
|
126
|
-
└── references/
|
|
127
|
-
├── thread-format.md
|
|
128
|
-
└── output-template.md
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## License
|
|
132
|
-
|
|
133
|
-
MIT
|
|
@@ -15,7 +15,7 @@ npx "@opendirectory.dev/skills" install twitter-GTM-find-skill --target claude
|
|
|
15
15
|
### Video Tutorial
|
|
16
16
|
Watch this quick video to see how it's done:
|
|
17
17
|
|
|
18
|
-
https://github.com/user-attachments/assets/
|
|
18
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
19
19
|
|
|
20
20
|
### Step 1: Download the skill from GitHub
|
|
21
21
|
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
@@ -29,39 +29,3 @@ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
|
|
|
29
29
|
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).
|
|
30
30
|
|
|
31
31
|
> **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!
|
|
32
|
-
|
|
33
|
-
## The Skill Directory
|
|
34
|
-
|
|
35
|
-
All executable code and documentation are packaged cleanly inside the `twitter-GTM-find/` folder. This is designed to be directly imported and read by AI agents (like OpenClaw or Claude) so they understand how to use the tool.
|
|
36
|
-
|
|
37
|
-
```text
|
|
38
|
-
twitter-GTM-find/
|
|
39
|
-
├── SKILL.md <-- The AI entry point and documentation
|
|
40
|
-
├── references/
|
|
41
|
-
│ └── icp-checklist.md <-- The strict evaluation criteria (Dev-first + $100K+ funded)
|
|
42
|
-
└── scripts/
|
|
43
|
-
├── run_pipeline.sh <-- The executable shell script
|
|
44
|
-
└── src/ <-- The TypeScript pipeline source code
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Usage
|
|
48
|
-
|
|
49
|
-
To run the pipeline manually or via an agent:
|
|
50
|
-
|
|
51
|
-
1. Create a `.env` file at the root of the repository:
|
|
52
|
-
```env
|
|
53
|
-
APIFY_API_TOKEN=your_apify_token
|
|
54
|
-
GEMINI_API_KEY=your_gemini_api_key
|
|
55
|
-
MAX_POSTS=20
|
|
56
|
-
```
|
|
57
|
-
2. Run the shell script:
|
|
58
|
-
```bash
|
|
59
|
-
cd twitter-GTM-find/scripts
|
|
60
|
-
bash run_pipeline.sh
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Output
|
|
64
|
-
|
|
65
|
-
The pipeline generates two temporary files at the root of the repository (which are `.gitignore`d to prevent leaking data):
|
|
66
|
-
- `radar-jobs.json`: The initial raw batch of scraped tech jobs.
|
|
67
|
-
- `openclaw-icp-jobs.json`: The final, strict ICP-validated list of highly funded, developer-first startups hiring right now.
|
|
@@ -40,3 +40,24 @@ python scripts/run.py \
|
|
|
40
40
|
- **Taxonomy Constraints**: The scoring engine relies on a fixed taxonomy. Extremely niche or highly unusual product descriptions may not trigger specific industry tags and will default to a "Generalist" view.
|
|
41
41
|
- **Human Review Required**: These outputs are best-effort algorithmic matches. They serve as a research starting point and **must be reviewed by a human** before starting outreach.
|
|
42
42
|
- **No Financial Advice**: This tool does not provide financial or investment advice.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Install
|
|
46
|
+
|
|
47
|
+
### Video Tutorial
|
|
48
|
+
Watch this quick video to see how it's done:
|
|
49
|
+
|
|
50
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
51
|
+
|
|
52
|
+
### Step 1: Download the skill from GitHub
|
|
53
|
+
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
54
|
+
2. Go to [download-directory.github.io](https://download-directory.github.io/).
|
|
55
|
+
3. Paste the URL and click **Enter** to download.
|
|
56
|
+
|
|
57
|
+
### Step 2: Install the Skill in Claude
|
|
58
|
+
1. Open your **Claude desktop app**.
|
|
59
|
+
2. Go to the sidebar on the left side and click on the **Customize** section.
|
|
60
|
+
3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
|
|
61
|
+
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).
|
|
62
|
+
|
|
63
|
+
> **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!
|
|
@@ -11,12 +11,12 @@ npx "@opendirectory.dev/skills" install vc-finder --target claude
|
|
|
11
11
|
### Video Tutorial
|
|
12
12
|
Watch this quick video to see how it's done:
|
|
13
13
|
|
|
14
|
-
https://github.com/user-attachments/assets/
|
|
14
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
15
15
|
|
|
16
16
|
### Step 1: Download the skill from GitHub
|
|
17
|
-
1.
|
|
18
|
-
2.
|
|
19
|
-
3.
|
|
17
|
+
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
18
|
+
2. Go to [download-directory.github.io](https://download-directory.github.io/).
|
|
19
|
+
3. Paste the URL and click **Enter** to download.
|
|
20
20
|
|
|
21
21
|
### Step 2: Install the Skill in Claude
|
|
22
22
|
1. Open your **Claude desktop app**.
|
|
@@ -24,97 +24,4 @@ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
|
|
|
24
24
|
3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
|
|
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
|
-
> **Note:**
|
|
28
|
-
|
|
29
|
-
## What It Does
|
|
30
|
-
|
|
31
|
-
- Fetches the product URL via Firecrawl (handles JS-rendered SPAs) or Tavily extract as fallback
|
|
32
|
-
- Detects funding stage from CTA signals on the page (waitlist, free trial, pricing, sales CTAs)
|
|
33
|
-
- Maps a 3-level industry taxonomy (L1 > L2 > L3) from the product page
|
|
34
|
-
- **Curated pre-match (Step 5b):** Scores product against a verified dataset of 25 VC funds (sourced from fund websites) -- instant zero-hallucination matches with no Tavily credits consumed
|
|
35
|
-
- **Discovers comparable companies:** Curated portfolio companies from matched funds + Tavily live search for L3-niche specifics
|
|
36
|
-
- Track A: 5 Tavily searches to find who invested in each comparable company
|
|
37
|
-
- Track B: 3 Tavily searches to find VCs who publish investment theses about this specific niche
|
|
38
|
-
- Synthesizes and ranks all found VCs -- curated matches labeled "verified", Tavily matches labeled by track
|
|
39
|
-
- Produces top 5 deep-dives with fund overview, portfolio evidence, how-to-approach, and outreach hook
|
|
40
|
-
- Generates 3 product-specific outreach hooks (not generic advice)
|
|
41
|
-
- Saves output to `docs/vc-intel/[product]-[date].md`
|
|
42
|
-
|
|
43
|
-
**Zero-hallucination guarantee:** Every VC name, fund detail, check size, portfolio company, and thesis source in the output must trace to either (a) the curated `data/vc_funds.json` dataset (sourced from fund websites) or (b) a specific Tavily search result. The AI does not draw from training knowledge for any factual claim.
|
|
44
|
-
|
|
45
|
-
## Requirements
|
|
46
|
-
|
|
47
|
-
| Requirement | Purpose | How to Set Up |
|
|
48
|
-
|---|---|---|
|
|
49
|
-
| Tavily API key | VC investment research (Track A and Track B) | app.tavily.com, free tier: 1000 credits/month |
|
|
50
|
-
| Firecrawl API key | Fetching JS-rendered product pages (optional) | firecrawl.dev, free tier: 500 credits/month |
|
|
51
|
-
|
|
52
|
-
Tavily is required. Firecrawl is recommended -- without it, Tavily extract is used as fallback (may miss JS-rendered content).
|
|
53
|
-
|
|
54
|
-
## Setup
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
cp .env.example .env
|
|
58
|
-
# Add TAVILY_API_KEY (required)
|
|
59
|
-
# Add FIRECRAWL_API_KEY (recommended)
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## How to Use
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
"Find VCs for my startup: https://example.com"
|
|
66
|
-
"Who invests in developer tools at seed stage?"
|
|
67
|
-
"Build me a VC target list for https://example.com"
|
|
68
|
-
"Which funds should I pitch? https://example.com"
|
|
69
|
-
"Find investors for my product: [paste description]"
|
|
70
|
-
"Who backed companies like mine? https://example.com"
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
Or paste a product description directly if the URL is behind a login or returns no readable content.
|
|
74
|
-
|
|
75
|
-
## Why Two Tracks
|
|
76
|
-
|
|
77
|
-
**Track A (portfolio mapping):** VCs who already wrote a check in your space. These investors have proven they understand the category, the risks, and the buyer. They need less convincing than a generalist fund.
|
|
78
|
-
|
|
79
|
-
**Track B (thesis matching):** VCs who are actively publishing about your space. An investor who wrote a 2,000-word blog post about why they want to invest in CI/CD tooling is actively looking for deals. Your cold email lands in a much warmer inbox.
|
|
80
|
-
|
|
81
|
-
Generic "VCs in B2B SaaS" lists skip both signals. This skill produces only VCs with named evidence for each entry.
|
|
82
|
-
|
|
83
|
-
## Output
|
|
84
|
-
|
|
85
|
-
Each run produces:
|
|
86
|
-
|
|
87
|
-
1. **Product analysis**: detected industry taxonomy, stage, ICP, comparable companies used
|
|
88
|
-
2. **Track A table**: VCs who backed comparable companies (with evidence)
|
|
89
|
-
3. **Track B table**: VCs with published theses about this space (with source)
|
|
90
|
-
4. **Top 5 deep-dives**: fund overview, why it fits, portfolio in space, how to approach, outreach hook
|
|
91
|
-
5. **3 outreach hooks**: product-specific openers for cold outreach
|
|
92
|
-
|
|
93
|
-
## Cost per Run
|
|
94
|
-
|
|
95
|
-
- Firecrawl: ~$0.001 per fetch
|
|
96
|
-
- Tavily: 10 searches at ~$0.01 each = ~$0.10 (2 comparable discovery + 5 Track A + 3 Track B)
|
|
97
|
-
- Curated pre-match (Step 5b): $0.00 -- local scoring against `data/vc_funds.json`, no API calls
|
|
98
|
-
- Total: ~$0.10 per run
|
|
99
|
-
|
|
100
|
-
## Project Structure
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
vc-finder/
|
|
104
|
-
├── SKILL.md
|
|
105
|
-
├── README.md
|
|
106
|
-
├── .env.example
|
|
107
|
-
├── data/
|
|
108
|
-
│ └── vc_funds.json (25 verified funds, sourced from fund websites)
|
|
109
|
-
├── scripts/
|
|
110
|
-
│ └── match_funds.py (standalone scoring script for testing)
|
|
111
|
-
├── evals/
|
|
112
|
-
│ └── evals.json
|
|
113
|
-
└── references/
|
|
114
|
-
├── stage-signals.md
|
|
115
|
-
└── vc-outreach-guide.md
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## License
|
|
119
|
-
|
|
120
|
-
MIT
|
|
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!
|
|
@@ -13,12 +13,12 @@ npx "@opendirectory.dev/skills" install vid-motion-graphics --target claude
|
|
|
13
13
|
### Video Tutorial
|
|
14
14
|
Watch this quick video to see how it's done:
|
|
15
15
|
|
|
16
|
-
https://github.com/user-attachments/assets/
|
|
16
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
17
17
|
|
|
18
18
|
### Step 1: Download the skill from GitHub
|
|
19
|
-
1.
|
|
20
|
-
2.
|
|
21
|
-
3.
|
|
19
|
+
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
20
|
+
2. Go to [download-directory.github.io](https://download-directory.github.io/).
|
|
21
|
+
3. Paste the URL and click **Enter** to download.
|
|
22
22
|
|
|
23
23
|
### Step 2: Install the Skill in Claude
|
|
24
24
|
1. Open your **Claude desktop app**.
|
|
@@ -26,64 +26,4 @@ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
|
|
|
26
26
|
3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
|
|
27
27
|
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).
|
|
28
28
|
|
|
29
|
-
> **Note:**
|
|
30
|
-
|
|
31
|
-
## What it does
|
|
32
|
-
|
|
33
|
-
1. Takes a content brief (what each scene should say) and style params
|
|
34
|
-
2. Generates a multi-scene HTML/CSS animation file
|
|
35
|
-
3. Captures frames via Playwright + Web Animations API seeking
|
|
36
|
-
4. Assembles PNG sequence → H.264 MP4 with FFmpeg
|
|
37
|
-
5. Optionally mixes in background audio
|
|
38
|
-
|
|
39
|
-
## Output
|
|
40
|
-
|
|
41
|
-
- Format: H.264 MP4, `-pix_fmt yuv420p` (compatible with QuickTime, iOS, Android, Twitter, LinkedIn, Instagram)
|
|
42
|
-
- Default: 1080×1080px @2× retina (2160×2160 actual)
|
|
43
|
-
- Supports: 1:1, 16:9 (1920×1080), 9:16 (1080×1920)
|
|
44
|
-
- FPS: 24, 30, or 60
|
|
45
|
-
|
|
46
|
-
## Scene types
|
|
47
|
-
|
|
48
|
-
| Type | Best for |
|
|
49
|
-
|---|---|
|
|
50
|
-
| `title-card` | Opening hook, brand intro |
|
|
51
|
-
| `stat-reveal` | Single oversized metric |
|
|
52
|
-
| `bullet-list` | 2–4 supporting points |
|
|
53
|
-
| `split-screen` | Before/after, two values |
|
|
54
|
-
| `quote-card` | Testimonial, pull quote |
|
|
55
|
-
| `cta-card` | Final scene, call to action |
|
|
56
|
-
|
|
57
|
-
## Style presets
|
|
58
|
-
|
|
59
|
-
| Preset | Feel |
|
|
60
|
-
|---|---|
|
|
61
|
-
| `kinetic-dark` | Dark bg, electric yellow, tight grotesque (default) |
|
|
62
|
-
| `editorial-light` | White bg, serif display, refined |
|
|
63
|
-
| `data-pulse` | Deep navy, mono, terminal/dashboard |
|
|
64
|
-
| `bold-type` | White bg, Bebas Neue, red accent, slam-in |
|
|
65
|
-
| `minimal-clean` | Off-white, Cormorant, gentle rise |
|
|
66
|
-
|
|
67
|
-
## Requirements
|
|
68
|
-
|
|
69
|
-
- Node.js (for Playwright frame capture)
|
|
70
|
-
- FFmpeg (for MP4 assembly)
|
|
71
|
-
- Internet access for Google Fonts CDN during capture
|
|
72
|
-
|
|
73
|
-
## Usage
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
Create a 9-second motion graphic. Brief: 'Q4 revenue hit $4.2M — 85% growth.
|
|
77
|
-
Three drivers: enterprise deals, churn 1.2%, price increase.
|
|
78
|
-
CTA: acme.com/q4'. Style: data-pulse. Aspect: 1:1.
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Quick export
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
bash scripts/export-video.sh chart/[slug]/video.html --duration 9
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Differentiator vs SkillsMP
|
|
88
|
-
|
|
89
|
-
All top SkillsMP motion-graphic skills require Remotion (React build step) or AI video APIs (Runway, Kling — cost + rate limits). This skill uses the proven HTML/CSS → Playwright → FFmpeg pipeline from the `graphic-gif` family: zero new dependencies, pixel-perfect output, full CSS control.
|
|
29
|
+
> **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!
|
|
@@ -10,6 +10,24 @@ Stop guessing which communities to post in. Get signal-traced evidence.
|
|
|
10
10
|
npx "@opendirectory.dev/skills" install where-your-customer-lives --target claude
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
### Video Tutorial
|
|
14
|
+
Watch this quick video to see how it's done:
|
|
15
|
+
|
|
16
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
17
|
+
|
|
18
|
+
### Step 1: Download the skill from GitHub
|
|
19
|
+
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
20
|
+
2. Go to [download-directory.github.io](https://download-directory.github.io/).
|
|
21
|
+
3. Paste the URL and click **Enter** to download.
|
|
22
|
+
|
|
23
|
+
### Step 2: Install the Skill in Claude
|
|
24
|
+
1. Open your **Claude desktop app**.
|
|
25
|
+
2. Go to the sidebar on the left side and click on the **Customize** section.
|
|
26
|
+
3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
|
|
27
|
+
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).
|
|
28
|
+
|
|
29
|
+
> **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!
|
|
30
|
+
|
|
13
31
|
## What It Does
|
|
14
32
|
|
|
15
33
|
- Accepts: product description + ICP role + ICP pain + competitors (any combination)
|
|
@@ -133,3 +151,4 @@ Run both for a complete picture: map-your-market tells you what to say, where-yo
|
|
|
133
151
|
## License
|
|
134
152
|
|
|
135
153
|
MIT
|
|
154
|
+
|
|
@@ -13,7 +13,7 @@ npx "@opendirectory.dev/skills" install yc-intent-radar-skill --target claude
|
|
|
13
13
|
### Video Tutorial
|
|
14
14
|
Watch this quick video to see how it's done:
|
|
15
15
|
|
|
16
|
-
https://github.com/user-attachments/assets/
|
|
16
|
+
https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
|
|
17
17
|
|
|
18
18
|
### Step 1: Download the skill from GitHub
|
|
19
19
|
1. Copy the URL of this specific skill folder from your browser's address bar.
|
|
@@ -27,37 +27,3 @@ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
|
|
|
27
27
|
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).
|
|
28
28
|
|
|
29
29
|
> **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!
|
|
30
|
-
|
|
31
|
-
## Features
|
|
32
|
-
- **Deduplication:** Utilizes `better-sqlite3` to store state, ensuring you never scrape the same job twice.
|
|
33
|
-
- **Robust Extraction:** Identifies hidden JSON payloads on YC pages to grab accurate backend `job_id` values.
|
|
34
|
-
- **Filtered Exports:** Includes an export script (`export_radar_candidates.js`) that queries the SQLite database for intent-based hiring (e.g., GTM, DevRel, Growth, Content) and outputs it as a JSON payload for secondary research tools.
|
|
35
|
-
|
|
36
|
-
## Setup
|
|
37
|
-
1. Clone the repository.
|
|
38
|
-
2. Navigate to the `scripts/` directory:
|
|
39
|
-
```bash
|
|
40
|
-
cd scripts
|
|
41
|
-
npm install
|
|
42
|
-
npx playwright install
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
3. **Authenticate (First Time Only):**
|
|
46
|
-
Run the following script and log in to YC via the browser that opens. This creates a `state.json` file.
|
|
47
|
-
```bash
|
|
48
|
-
node auth.js
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
4. **Run the Scraper:**
|
|
52
|
-
```bash
|
|
53
|
-
node scraper.js
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
5. **Export Targeted Jobs:**
|
|
57
|
-
```bash
|
|
58
|
-
node export_radar_candidates.js
|
|
59
|
-
```
|
|
60
|
-
This will query the DB and produce `radar_candidates.json` containing the targeted companies and matching roles.
|
|
61
|
-
|
|
62
|
-
## Note on Sensitive Files
|
|
63
|
-
The `.gitignore` strictly protects your `state.json` (authentication cookies) and `jobs.db` (local history). Do not commit these files to a public repository.
|