@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.
Files changed (54) hide show
  1. package/package.json +1 -1
  2. package/skills/blog-cover-image-cli/README.md +112 -1
  3. package/skills/brand-alchemy/README.md +31 -1
  4. package/skills/claude-md-generator/README.md +73 -1
  5. package/skills/cold-email-verifier/README.md +41 -1
  6. package/skills/competitor-pr-finder/README.md +69 -1
  7. package/skills/cook-the-blog/README.md +82 -1
  8. package/skills/dependency-update-bot/README.md +96 -1
  9. package/skills/docs-from-code/README.md +93 -1
  10. package/skills/email-newsletter/README.md +72 -1
  11. package/skills/explain-this-pr/README.md +69 -1
  12. package/skills/gh-issue-to-demand-signal/README.md +95 -4
  13. package/skills/google-trends-api-skills/README.md +74 -1
  14. package/skills/graphic-case-study/README.md +97 -3
  15. package/skills/graphic-chart/README.md +0 -19
  16. package/skills/graphic-ebook/README.md +99 -3
  17. package/skills/graphic-gif/README.md +0 -19
  18. package/skills/graphic-slide-deck/README.md +104 -2
  19. package/skills/hackernews-intel/README.md +156 -1
  20. package/skills/human-tone/README.md +43 -1
  21. package/skills/kill-the-standup/README.md +79 -1
  22. package/skills/linkedin-job-post-to-buyer-pain-map/README.md +3 -3
  23. package/skills/linkedin-post-generator/README.md +103 -1
  24. package/skills/llms-txt-generator/README.md +138 -1
  25. package/skills/luma-attendees-scraper/README.md +0 -21
  26. package/skills/map-your-market/README.md +121 -1
  27. package/skills/meeting-brief-generator/README.md +85 -1
  28. package/skills/meta-ads-skill/README.md +67 -1
  29. package/skills/meta-tribeV2-skill/README.md +64 -3
  30. package/skills/newsletter-digest/README.md +142 -1
  31. package/skills/noise-to-linkedin-carousel/README.md +0 -21
  32. package/skills/noise2blog/README.md +102 -1
  33. package/skills/npm-downloads-to-leads/README.md +131 -12
  34. package/skills/oss-launch-kit/README.md +0 -21
  35. package/skills/outreach-sequence-builder/README.md +103 -1
  36. package/skills/position-me/README.md +65 -1
  37. package/skills/pr-description-writer/README.md +76 -1
  38. package/skills/pricing-finder/README.md +114 -1
  39. package/skills/pricing-page-psychology-audit/README.md +85 -1
  40. package/skills/product-update-logger/README.md +172 -4
  41. package/skills/producthunt-launch-kit/README.md +90 -1
  42. package/skills/reddit-icp-monitor/README.md +112 -1
  43. package/skills/reddit-post-engine/README.md +98 -1
  44. package/skills/schema-markup-generator/README.md +109 -1
  45. package/skills/sdk-adoption-tracker/README.md +127 -1
  46. package/skills/show-hn-writer/README.md +83 -1
  47. package/skills/stargazer/README.md +0 -21
  48. package/skills/tweet-thread-from-blog/README.md +104 -1
  49. package/skills/twitter-GTM-find-skill/README.md +37 -1
  50. package/skills/vc-curated-match/README.md +0 -21
  51. package/skills/vc-finder/README.md +98 -5
  52. package/skills/vid-motion-graphics/README.md +65 -5
  53. package/skills/where-your-customer-lives/README.md +0 -19
  54. package/skills/yc-intent-radar-skill/README.md +35 -1
@@ -1,4 +1,4 @@
1
- # sdk-adoption-tracker
1
+ # sdk-adoption-tracker
2
2
 
3
3
  Give this skill an SDK or library name. It searches GitHub for public repos that import it, scores each repo by company signal and activity, identifies who is building on you in production, and outputs a ranked adoption report with outreach context for high-signal company repos.
4
4
 
@@ -25,3 +25,129 @@ 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
+ Note: Upload the folder that contains the `SKILL.md` file.
30
+
31
+ ## What It Does
32
+
33
+ - Searches GitHub code for all public repos that import or require the SDK
34
+ - Supports npm, Python, Go, Ruby, and generic import patterns -- auto-detected from the SDK name
35
+ - Filters forks, tutorials, examples, and archived repos from results
36
+ - Classifies each repo: company org, affiliated developer, solo developer, or tutorial noise
37
+ - Scores by adoption signal: org type, company field, stars, recency, fork status
38
+ - Fetches owner profile and top contributor for each high-signal repo
39
+ - Tracks adoption velocity: new repos in last 7, 14, and 30 days
40
+ - Compares to previous snapshot for exact new-adopter count on repeat runs
41
+ - Generates an outreach brief per high-signal company repo: what they are building, who introduced the SDK, and what to say
42
+ - Saves output to `docs/sdk-adopters/[sdk-name]-[date].md`
43
+
44
+ ## Requirements
45
+
46
+ | Requirement | Purpose | How to Set Up |
47
+ |---|---|---|
48
+ | GitHub token | Required for code search (unauthenticated limit is 3 req/min, too low to run) | github.com/settings/tokens (no scopes needed for public repos) |
49
+
50
+ ## Setup
51
+
52
+ ```bash
53
+ cp .env.example .env
54
+ # Add GITHUB_TOKEN
55
+ ```
56
+
57
+ ## How to Use
58
+
59
+ ```
60
+ "Who is using my SDK on GitHub? @company/my-sdk"
61
+ "Find companies building on my library: stripe"
62
+ "Track adoption of my Python package: requests"
63
+ "Which orgs import my SDK: @clerk/nextjs"
64
+ "Show me who uses my library and rank by company signal"
65
+ "Find warm leads from SDK adopters: my-package"
66
+ ```
67
+
68
+ Include a short description of your product and the skill will tailor the outreach message to your context.
69
+
70
+ ## Why Score Instead of Just List
71
+
72
+ A raw GitHub code search for a popular SDK returns tutorials, forks, abandoned side projects, and examples mixed in with real production users. The adoption score separates them:
73
+
74
+ - A company org repo with recent commits and 200 stars scores 130+
75
+ - A tutorial named "learn-stripe-payments" scores below 20 and is excluded
76
+
77
+ The person who added the import in a company repo is the warmest possible lead. They chose the SDK, they understand what it does, and they have an active production use case.
78
+
79
+ ## The Adoption Score
80
+
81
+ `score = org_signal + company_field + stars_capped + recency + quality_flags`
82
+
83
+ - Org type (50 points): GitHub Organization accounts are almost always a company or serious team
84
+ - Company field (20 points): user has a company listed on their GitHub profile
85
+ - Stars (up to 50 points): capped at 500 stars to prevent established open-source from dominating
86
+ - Recency (up to 50 points): pushed in last 7 or 30 days
87
+ - Quality (up to 40 points): not a fork, not archived, not a tutorial
88
+
89
+ Score >= 80: full outreach brief generated. Score 40-79: listed in report. Score < 40: counted in breakdown only.
90
+
91
+ ## Velocity Tracking
92
+
93
+ Run the skill weekly and save the JSON snapshot. On each subsequent run, the skill compares the current repo list to the previous snapshot and tells you exactly how many new teams adopted the SDK since last time.
94
+
95
+ ```
96
+ New repos last 7 days: 3
97
+ New repos last 30 days: 11
98
+ New since last run (7 days ago): 3
99
+ ```
100
+
101
+ ## Cost Per Run
102
+
103
+ - GitHub Code Search API: free with token
104
+ - GitHub User, Org, Contributors API: free with token
105
+ - AI analysis: uses the model already running the skill; no additional cost
106
+ - Total: free
107
+
108
+ ## Standalone Script
109
+
110
+ Run the data-fetching step directly from the terminal without Claude. Useful for scheduled jobs or CI pipelines.
111
+
112
+ ```bash
113
+ # Basic usage
114
+ python3 scripts/fetch.py stripe
115
+
116
+ # Python SDK
117
+ python3 scripts/fetch.py requests --ecosystem python
118
+
119
+ # With product context for outreach
120
+ python3 scripts/fetch.py @company/my-sdk --context "We build observability for DevTools"
121
+
122
+ # Exclude the SDK publisher's own repos
123
+ python3 scripts/fetch.py stripe --exclude stripe
124
+
125
+ # Print to stdout
126
+ python3 scripts/fetch.py stripe --stdout | jq '.summary'
127
+ ```
128
+
129
+ The script handles Steps 3-5 (code search, scoring, enrichment) and writes a JSON file. Open that file with Claude and ask: "Generate adoption briefs from this SDK data."
130
+
131
+ ```bash
132
+ GITHUB_TOKEN=your_token python3 scripts/fetch.py stripe --output results.json
133
+ ```
134
+
135
+ ## Project Structure
136
+
137
+ ```
138
+ sdk-adoption-tracker/
139
+ ├── SKILL.md
140
+ ├── README.md
141
+ ├── .env.example
142
+ ├── scripts/
143
+ │ └── fetch.py standalone fetcher (Steps 3-5, no Claude needed)
144
+ ├── evals/
145
+ │ └── evals.json
146
+ └── references/
147
+ ├── import-patterns.md
148
+ └── scoring-guide.md
149
+ ```
150
+
151
+ ## License
152
+
153
+ MIT
@@ -1,4 +1,4 @@
1
- # show-hn-writer
1
+ # show-hn-writer
2
2
 
3
3
  <img width="1280" height="640" alt="show-hn-writer" src="https://github.com/user-attachments/assets/224030e0-c3e0-499c-98d4-a049d7dddc51" />
4
4
 
@@ -28,3 +28,85 @@ 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 project context (from README or your answers)
35
+ - Drafts three Show HN title variants in different formats
36
+ - Writes a 150-350 word body following HN community norms
37
+ - Uses Gemini to flag marketing language, vague descriptions, or other HN anti-patterns
38
+ - Runs a self-QA checklist before presenting output
39
+ - Includes submission notes (timing, first-comment strategy, resubmission rules)
40
+
41
+ ## Requirements
42
+
43
+ | Requirement | Purpose | How to Set Up |
44
+ |------------|---------|--------------|
45
+ | Gemini API key (optional) | Automated draft review for HN anti-patterns | aistudio.google.com, Get API key |
46
+
47
+ The skill works without Gemini: it runs the manual self-QA checklist instead.
48
+
49
+ ## Setup
50
+
51
+ ```bash
52
+ cp .env.example .env
53
+ # Add GEMINI_API_KEY if you want automated review (optional)
54
+ ```
55
+
56
+ ## How to Use
57
+
58
+ From a README:
59
+ ```
60
+ "Write a Show HN post for my project"
61
+ "Help me launch on Hacker News"
62
+ "Draft a Show HN for the project in this repo"
63
+ ```
64
+
65
+ With explicit context:
66
+ ```
67
+ "Write a Show HN post for [project name]: [what it does]. I built it because [reason]."
68
+ ```
69
+
70
+ For a specific title format:
71
+ ```
72
+ "Write a Show HN title for my CLI tool that converts JSON to TypeScript interfaces"
73
+ ```
74
+
75
+ ## Show HN Title Formats
76
+
77
+ | Format | Example | Best For |
78
+ |--------|---------|----------|
79
+ | Product-First | `Show HN: Datasette – Instantly publish SQLite databases to the web` | Single-function tools |
80
+ | Outcome-Focused | `Show HN: Jitsi – Group video calls without an account` | Tools replacing something painful |
81
+ | Technical-Angle | `Show HN: Bun – JavaScript runtime built in Zig` | Dev tools where the implementation matters |
82
+ | Experiment | `Show HN: Ink – React for command-line apps` | Projects challenging a convention |
83
+
84
+ ## What Makes a Good Show HN Post
85
+
86
+ **Title:** 60-80 characters. Starts with "Show HN:". En dash separator. No adjectives.
87
+
88
+ **Body:** First-person. 150-350 words. At least one technical detail. Honest about limitations. Ends with an invitation for feedback, not a CTA.
89
+
90
+ **What kills HN posts:**
91
+ - Vague titles ("Show HN: I built a thing for developers")
92
+ - Marketing adjectives ("fast", "simple", "powerful")
93
+ - Asking for upvotes
94
+ - Body that reads like a product page
95
+
96
+ ## Project Structure
97
+
98
+ ```
99
+ show-hn-writer/
100
+ ├── SKILL.md
101
+ ├── README.md
102
+ ├── .env.example
103
+ ├── evals/
104
+ │ └── evals.json
105
+ └── references/
106
+ ├── hn-rules.md
107
+ └── title-formulas.md
108
+ ```
109
+
110
+ ## License
111
+
112
+ MIT
@@ -77,24 +77,3 @@ Generate a final CSV file for use in other applications.
77
77
  ```bash
78
78
  python stargazer-skill/scripts/convert_to_csv.py
79
79
  ```
80
-
81
-
82
- ## Install
83
-
84
- ### Video Tutorial
85
- Watch this quick video to see how it's done:
86
-
87
- https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
88
-
89
- ### Step 1: Download the skill from GitHub
90
- 1. Copy the URL of this specific skill folder from your browser's address bar.
91
- 2. Go to [download-directory.github.io](https://download-directory.github.io/).
92
- 3. Paste the URL and click **Enter** to download.
93
-
94
- ### Step 2: Install the Skill in Claude
95
- 1. Open your **Claude desktop app**.
96
- 2. Go to the sidebar on the left side and click on the **Customize** section.
97
- 3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
98
- 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).
99
-
100
- > **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
- # tweet-thread-from-blog
1
+ # tweet-thread-from-blog
2
2
 
3
3
  <img width="1280" height="640" alt="tweet-thread-from-blog" src="https://github.com/user-attachments/assets/18b96a6b-9477-444d-b169-ea14a63e9fdf" />
4
4
 
@@ -28,3 +28,106 @@ 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
+ ## 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
@@ -1,4 +1,4 @@
1
- # Twitter GTM Find Skill
1
+ # Twitter GTM Find Skill
2
2
 
3
3
  <img width="1280" height="640" alt="Generated_chart__twitter-gtm-find-cover-bw png" src="https://github.com/user-attachments/assets/618b0abe-34fc-4c3e-a345-1a3eaeb3d20b" />
4
4
 
@@ -29,3 +29,39 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
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,24 +40,3 @@ 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!
@@ -1,4 +1,4 @@
1
- # vc-finder
1
+ # vc-finder
2
2
 
3
3
  Give the skill a product URL or description. It detects the industry and funding stage, identifies 5 comparable funded companies, searches who backed those companies (Track A), finds VCs who publish investment theses about this space (Track B), and returns a ranked sourced investor list with deep-dives and outreach hooks.
4
4
 
@@ -14,9 +14,9 @@ Watch this quick video to see how it's done:
14
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. 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.
17
+ 1. Click the **Code** button on this repo's GitHub page.
18
+ 2. Select **Download ZIP** to download the repository.
19
+ 3. Extract the ZIP file on your computer.
20
20
 
21
21
  ### Step 2: Install the Skill in Claude
22
22
  1. Open your **Claude desktop app**.
@@ -24,4 +24,97 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
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:** 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!
27
+ > **Note:** Make sure you are uploading the folder that contains the `SKILL.md` file!
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
@@ -1,4 +1,4 @@
1
- # vid-motion-graphics
1
+ # vid-motion-graphics
2
2
 
3
3
  Generates multi-scene motion graphics as MP4 from a content brief. HTML/CSS animations rendered frame-by-frame in headless Chromium via Playwright, assembled with FFmpeg. No React, no AI APIs, no Python.
4
4
 
@@ -16,9 +16,9 @@ Watch this quick video to see how it's done:
16
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. 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.
19
+ 1. Click the **Code** button on this repo's GitHub page.
20
+ 2. Select **Download ZIP** to download the repository.
21
+ 3. Extract the ZIP file on your computer.
22
22
 
23
23
  ### Step 2: Install the Skill in Claude
24
24
  1. Open your **Claude desktop app**.
@@ -26,4 +26,64 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
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:** 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!
29
+ > **Note:** Make sure you are uploading the folder that contains the `SKILL.md` file!
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.
@@ -10,24 +10,6 @@ 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
-
31
13
  ## What It Does
32
14
 
33
15
  - Accepts: product description + ICP role + ICP pain + competitors (any combination)
@@ -151,4 +133,3 @@ Run both for a complete picture: map-your-market tells you what to say, where-yo
151
133
  ## License
152
134
 
153
135
  MIT
154
-