@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
- # product-update-logger
1
+ # product-update-logger
2
2
 
3
3
  Tell the skill what your product shipped. It writes a polished, living `docs/changelog.md` entry and hands you a ready-to-use content package: tweet thread, LinkedIn post, email snippet, and one-liner.
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**.
@@ -27,3 +27,171 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
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
+ ## What It Does
32
+
33
+ - Accepts: free text items, git commits (auto-read), GitHub PRs -- any combination
34
+ - Filters noise: merge commits, version bumps, CI/CD, typos excluded automatically
35
+ - Transforms: technical commit language -> user-facing benefit language
36
+ - Categorizes: New / Improved / Fixed / Under the hood
37
+ - Generates a content package: one-liner, tweet thread, LinkedIn post, email snippet
38
+ - Appends a new dated entry to `docs/changelog.md` (living log, newest entry first)
39
+ - Saves the content package to `docs/product-updates/[date]-content.md`
40
+
41
+ ## Requirements
42
+
43
+ | Requirement | Purpose | How to Set Up |
44
+ |---|---|---|
45
+ | GITHUB_TOKEN | Optional -- enables GitHub PR fetching for richer context | github.com/settings/tokens (no scopes needed) |
46
+
47
+ No other API keys required. Free text + git auto-read work with no configuration.
48
+
49
+ ## Setup
50
+
51
+ ```bash
52
+ cp .env.example .env
53
+ # Add GITHUB_TOKEN if you want to pull from GitHub PRs
54
+ ```
55
+
56
+ ## How to Use
57
+
58
+ ```
59
+ "We shipped dark mode and fixed the export bug this week."
60
+ "Log my product updates. I'm in a git repo."
61
+ "We launched 3 things: dark mode, faster search, fixed mobile login."
62
+ "Log updates from last 14 days. Repo: acme/dashboard"
63
+ "We shipped the onboarding redesign. Version: v2.1.0"
64
+ ```
65
+
66
+ Include competitor names for richer channel discovery. Include ICP role + pain for accurate signal-tracing.
67
+
68
+ ## What Gets Generated
69
+
70
+ ### docs/changelog.md (living log)
71
+
72
+ ```markdown
73
+ # Changelog
74
+
75
+ ## Week of April 23, 2026
76
+
77
+ ### New
78
+ - **Dark mode** -- Toggle in Settings > Appearance. Works across all views.
79
+
80
+ ### Improved
81
+ - **Search** -- Results now load in under half a second.
82
+
83
+ ### Fixed
84
+ - **CSV export** -- Exports no longer drop the last row.
85
+
86
+ ---
87
+
88
+ ## Week of April 14, 2026
89
+ ...
90
+ ```
91
+
92
+ ### docs/product-updates/[date]-content.md (content package)
93
+
94
+ ```
95
+ ## One-liner
96
+ Dark mode, faster search, and a fix for the export bug.
97
+
98
+ ## Tweet Thread
99
+ [1/4] We shipped 3 things this week.
100
+ [2/4] Dark mode is live. Toggle it in Settings > Appearance.
101
+ ...
102
+
103
+ ## LinkedIn Post
104
+ We shipped 3 updates this week.
105
+ ...
106
+
107
+ ## Email Snippet
108
+ Subject: What shipped this week: dark mode + faster search
109
+ ...
110
+ ```
111
+
112
+ ## Input Sources
113
+
114
+ The skill pulls from all three sources automatically:
115
+
116
+ | Source | When used | How to trigger |
117
+ |---|---|---|
118
+ | Free text | Always first | Just describe what shipped in your message |
119
+ | Git commits | Auto-read when in a git repo | Run the skill from your project directory |
120
+ | GitHub PRs | When GITHUB_TOKEN + repo provided | Mention "repo: owner/repo" in your message |
121
+
122
+ All three can be combined. Overlapping items are deduplicated.
123
+
124
+ ## Changelog Entry Format
125
+
126
+ Each entry follows a consistent structure:
127
+
128
+ ```
129
+ ## [Version label]
130
+
131
+ ### New
132
+ - **Feature** -- Benefit sentence.
133
+
134
+ ### Improved
135
+ - **Feature** -- Benefit sentence.
136
+
137
+ ### Fixed
138
+ - **Feature** -- What was broken, now fixed.
139
+
140
+ ### Under the hood
141
+ - **Component** -- Developer-relevant change only.
142
+ ```
143
+
144
+ Version labels default to `Week of [Month Day, Year]`. Detected semver format is preserved and incremented automatically.
145
+
146
+ ## Content Rules
147
+
148
+ - **Tweets**: Under 280 chars each, no hashtags, no em dashes, active voice
149
+ - **LinkedIn**: No markdown formatting, no hashtags, founder voice ("We shipped" not "We are excited to announce")
150
+ - **Email**: 50-100 word body, subject line formula, casual and direct
151
+ - **One-liner**: Max 20 words, covers top 1-2 items
152
+
153
+ ## Standalone Script
154
+
155
+ Run data collection without Claude. Useful for raw item discovery before analysis.
156
+
157
+ ```bash
158
+ # Git auto-read
159
+ python3 scripts/gather.py --since 7 --output /tmp/pul-raw.json
160
+
161
+ # Free text items
162
+ python3 scripts/gather.py --items "Add dark mode|Fix CSV bug" --output /tmp/pul-raw.json
163
+
164
+ # With GitHub PRs
165
+ GITHUB_TOKEN=your_token python3 scripts/gather.py --repo owner/repo --since 14
166
+
167
+ # Print to stdout
168
+ python3 scripts/gather.py --since 7 --stdout | jq '.items'
169
+ ```
170
+
171
+ ## Project Structure
172
+
173
+ ```
174
+ product-update-logger/
175
+ ├── SKILL.md
176
+ ├── README.md
177
+ ├── .env.example
178
+ ├── scripts/
179
+ │ └── gather.py git + GitHub + free text collector
180
+ ├── evals/
181
+ │ └── evals.json 5 test cases
182
+ └── references/
183
+ ├── changelog-format.md entry structure, category rules, transformation examples
184
+ ├── content-rules.md tweet/LinkedIn/email writing rules + banned words
185
+ └── noise-filter.md git commit patterns to skip
186
+ ```
187
+
188
+ ## Cost Per Run
189
+
190
+ - Git, free text: free, no auth
191
+ - GitHub PRs: free with optional token
192
+ - AI analysis: uses the model running the skill
193
+ - Total: free
194
+
195
+ ## License
196
+
197
+ MIT
@@ -1,4 +1,4 @@
1
- # producthunt-launch-kit
1
+ # producthunt-launch-kit
2
2
 
3
3
  <img width="1280" height="640" alt="producthunt-launch-kit" src="https://github.com/user-attachments/assets/dc16bde9-9bc4-4022-94a8-a4db024cbd95" />
4
4
 
@@ -28,3 +28,92 @@ 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
+ - Generates 5 tagline variants with character counts (all under 60 chars)
35
+ - Writes a listing description under 500 characters
36
+ - Drafts a maker comment (300-400 words) that opens with the builder story, not "Hi PH!"
37
+ - Creates a launch day tweet thread (5-7 tweets, no hashtags)
38
+ - Writes a LinkedIn post for launch day
39
+ - Generates a 4-email sequence: existing users, newsletter, day-of reminder, follow-up
40
+ - Includes a launch checklist with timing and community guidelines
41
+
42
+ ## Requirements
43
+
44
+ | Requirement | Purpose | How to Set Up |
45
+ |------------|---------|--------------|
46
+ | Gemini API key | All copy generation | aistudio.google.com, Get API key |
47
+
48
+ ## Setup
49
+
50
+ ```bash
51
+ cp .env.example .env
52
+ # Add GEMINI_API_KEY
53
+ ```
54
+
55
+ ## How to Use
56
+
57
+ Full launch kit:
58
+ ```
59
+ "Generate a Product Hunt launch kit for my product"
60
+ "Prepare my PH listing and launch copy"
61
+ "Help me launch on Product Hunt"
62
+ ```
63
+
64
+ Specific assets:
65
+ ```
66
+ "Write my Product Hunt tagline for [product description]"
67
+ "Draft a maker comment for my PH launch"
68
+ "Write PH launch tweets"
69
+ ```
70
+
71
+ From README:
72
+ ```
73
+ "Generate a Product Hunt kit: my README is in this repo"
74
+ ```
75
+
76
+ ## Copy Constraints
77
+
78
+ | Asset | Limit | Notes |
79
+ |-------|-------|-------|
80
+ | Tagline | 60 chars | Hard limit, enforced by PH form |
81
+ | Description | 500 chars | Appears in search and email digests |
82
+ | Maker comment | 300-400 words | Post within 60 seconds of launch |
83
+ | Tweets | 280 chars each | No hashtags on technical threads |
84
+
85
+ ## Maker Comment Strategy
86
+
87
+ The maker comment drives more PH success than any other single action. It should:
88
+
89
+ - Open with the real builder story (not "Hi PH! We're excited to announce...")
90
+ - Include at least one technical detail about how it works
91
+ - Acknowledge what the product does NOT do
92
+ - End with a specific question that invites comments
93
+
94
+ The comment goes live as your first reply to your own listing, within 60 seconds of the product going live at 12:01 AM PST.
95
+
96
+ ## Launch Timing
97
+
98
+ Best days: Tuesday, Wednesday, Thursday
99
+
100
+ Avoid: Friday afternoons, holiday weeks, major tech conference days
101
+
102
+ The first 4 hours determine front page placement. Notify your audience before midnight PST on launch day so they are ready.
103
+
104
+ ## Project Structure
105
+
106
+ ```
107
+ producthunt-launch-kit/
108
+ ├── SKILL.md
109
+ ├── README.md
110
+ ├── .env.example
111
+ ├── evals/
112
+ │ └── evals.json
113
+ └── references/
114
+ └── copy-rules.md
115
+ ```
116
+
117
+ ## License
118
+
119
+ MIT
@@ -1,4 +1,4 @@
1
- # reddit-icp-monitor
1
+ # reddit-icp-monitor
2
2
 
3
3
  <img width="1280" height="640" alt="reddit-icp-monitor" src="https://github.com/user-attachments/assets/8182b73f-1f8d-4812-9061-165fd8aeb0e8" />
4
4
 
@@ -28,3 +28,114 @@ 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 ICP definition from docs/icp.md (or asks 3 questions to build it)
35
+ - Searches specified subreddits for posts matching your pain point phrases
36
+ - Scores each candidate post 1-5 using Gemini (how clearly does this person have the problem you solve?)
37
+ - Drafts a helpful reply for every post scoring 4 or 5, in the correct mode (vent, how-do-you, or tool recommendation)
38
+ - Enforces a hard rule: replies never name your product unless the post explicitly asks for tool recommendations
39
+ - Saves the full report to docs/reddit-intel/YYYY-MM-DD.md
40
+
41
+ ## Requirements
42
+
43
+ | Requirement | Purpose | How to Set Up |
44
+ |------------|---------|--------------|
45
+ | Gemini API key | Relevance scoring and reply drafting | aistudio.google.com, Get API key |
46
+ | Reddit credentials (optional) | Higher rate limit (60 RPM vs 10 RPM) | reddit.com/prefs/apps, create a script app |
47
+
48
+ Reddit credentials are optional. The skill uses Reddit's public JSON endpoints by default, which require no setup and support 10 RPM. That is enough for most monitoring sessions.
49
+
50
+ ## Setup
51
+
52
+ ```bash
53
+ cp .env.example .env
54
+ ```
55
+
56
+ Fill in:
57
+ - `GEMINI_API_KEY` (required)
58
+ - Reddit credentials (optional, see OAuth Upgrade below)
59
+
60
+ ## How to Use
61
+
62
+ First run (no docs/icp.md yet):
63
+ ```
64
+ "Monitor Reddit for my ICP signals"
65
+ "Scan subreddits for people who need my product"
66
+ ```
67
+
68
+ The skill asks 3 questions to build your ICP definition and saves it to docs/icp.md.
69
+
70
+ Subsequent runs (docs/icp.md exists):
71
+ ```
72
+ "Check Reddit for buying signals"
73
+ "Run the Reddit ICP monitor for this week"
74
+ "Find ICP posts from the last month"
75
+ ```
76
+
77
+ Specify a time window:
78
+ ```
79
+ "Monitor Reddit for ICP signals from the last 24 hours"
80
+ "Check Reddit for this month's pain point posts"
81
+ ```
82
+
83
+ ## Output
84
+
85
+ Each run produces a report with:
86
+ - All subreddits monitored and time window
87
+ - Each high-signal post: title, URL, upvotes, signal quote, matched keyword, post type
88
+ - A drafted reply for each match (2-5 sentences, mode-appropriate)
89
+ - A list of subreddits that returned 0 results (for tuning)
90
+
91
+ Reports are saved to `docs/reddit-intel/YYYY-MM-DD.md`.
92
+
93
+ ## Reply Modes
94
+
95
+ The skill classifies each post and drafts in the appropriate mode:
96
+
97
+ | Mode | Post Type | Can Name Product? |
98
+ |------|-----------|------------------|
99
+ | Mode 1 | Venting / frustration | Never |
100
+ | Mode 2 | "How do you handle X?" | Never |
101
+ | Mode 3 | "What tool does X?" | Yes, with one alternative |
102
+
103
+ ## Choosing Good Subreddits
104
+
105
+ **Where to monitor (people describing problems):**
106
+ - r/devops, r/ExperiencedDevs, r/sysadmin: engineers asking operational questions
107
+ - r/startups, r/SaaS, r/EntrepreneurRideAlong: founders and operators venting about scaling
108
+ - r/sales, r/marketing: GTM practitioners asking how others handle things
109
+
110
+ **Where not to monitor:**
111
+ - Topic subreddits (r/programming, r/MachineLearning): discussions, not pain points
112
+ - Your product's own subreddit: not monitoring your own community
113
+ - Broad consumer subreddits: not your B2B ICP
114
+
115
+ ## OAuth Upgrade
116
+
117
+ If you need more than 10 RPM (large subreddits or frequent runs):
118
+
119
+ 1. Go to reddit.com/prefs/apps and create a "script" app
120
+ 2. Note: app approval may take several days as of late 2025
121
+ 3. Fill in REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_USERNAME, REDDIT_PASSWORD in .env
122
+
123
+ With OAuth, the skill fetches a Bearer token at session start and uses the `oauth.reddit.com` endpoint for 60 RPM.
124
+
125
+ ## Project Structure
126
+
127
+ ```
128
+ reddit-icp-monitor/
129
+ ├── SKILL.md
130
+ ├── README.md
131
+ ├── .env.example
132
+ ├── evals/
133
+ │ └── evals.json
134
+ └── references/
135
+ ├── icp-format.md
136
+ └── reply-rules.md
137
+ ```
138
+
139
+ ## License
140
+
141
+ MIT
@@ -1,4 +1,4 @@
1
- # reddit-post-engine
1
+ # reddit-post-engine
2
2
 
3
3
  <img width="1280" height="640" alt="reddit-post-engine" src="https://github.com/user-attachments/assets/2706f326-5fb9-46fc-851a-ec54ccf53f74" />
4
4
 
@@ -28,3 +28,100 @@ 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
+ - Fetches the target subreddit's rules and top posts from Reddit's public API
35
+ - Identifies the subreddit's tone and posting conventions
36
+ - Drafts a title and body that match the community's style
37
+ - Keeps product links out of the body (puts them in the first comment)
38
+ - Optionally posts directly via Composio
39
+ - Covers 7 common subreddits with specific playbooks
40
+
41
+ ## Requirements
42
+
43
+ | Requirement | Purpose | How to Set Up |
44
+ |------------|---------|--------------|
45
+ | Gemini API key | Post drafting and tone matching | aistudio.google.com, Get API key |
46
+ | Composio Reddit MCP (optional) | Direct posting | app.composio.dev |
47
+
48
+ ## Setup
49
+
50
+ ### 1. Configure environment variables
51
+
52
+ ```bash
53
+ cp .env.example .env
54
+ # Add GEMINI_API_KEY (required)
55
+ # Add COMPOSIO_API_KEY if you want direct posting
56
+ ```
57
+
58
+ ### 2. Connect Reddit via Composio (optional)
59
+
60
+ Direct posting requires a Composio account connected to Reddit OAuth:
61
+
62
+ 1. Get your Composio API key at app.composio.dev/settings
63
+ 2. Connect Reddit at app.composio.dev/app/reddit
64
+ 3. Add the MCP server to Claude Code:
65
+
66
+ ```bash
67
+ claude mcp add --transport http reddit-composio \
68
+ "https://mcp.composio.dev/reddit/YOUR_COMPOSIO_API_KEY"
69
+ ```
70
+
71
+ 4. Verify: `claude mcp list` should show `reddit-composio`
72
+
73
+ Without Composio, the skill drafts posts for manual copy-paste submission.
74
+
75
+ ## How to Use
76
+
77
+ Draft a post for a specific subreddit:
78
+ ```
79
+ "Help me post my project on r/SideProject"
80
+ "Write a Reddit post for r/devops about my Kubernetes tool"
81
+ "Draft something for r/startups: we hit $1k MRR"
82
+ ```
83
+
84
+ With direct posting:
85
+ ```
86
+ "Post my project to r/SideProject via Composio"
87
+ ```
88
+
89
+ Multi-subreddit drafts:
90
+ ```
91
+ "Draft posts for r/SideProject and r/indiehackers for my launch"
92
+ ```
93
+
94
+ ## Subreddit Playbook Summary
95
+
96
+ | Subreddit | Tone | What Works |
97
+ |-----------|------|------------|
98
+ | r/devops | Technical, direct | Problem + solution + specific numbers |
99
+ | r/SideProject | Personal, builder | Build story + honest state + link in comment |
100
+ | r/startups | Business-focused | Lessons learned + metrics |
101
+ | r/programming | Technical, skeptical | Novel approach + code examples |
102
+ | r/ExperiencedDevs | Senior-level | Nuanced tradeoffs, no hand-holding |
103
+ | r/indiehackers | Transparent | Revenue numbers, real story |
104
+ | r/webdev | Friendly | What you built + how it works |
105
+
106
+ ## The 90/10 Rule
107
+
108
+ Reddit detects promotional patterns. For your posts to land well, 90% of your Reddit activity should be genuine community contribution: answering questions, discussing topics, sharing interesting links. At most 10% should be posts about your own work.
109
+
110
+ This skill drafts high-quality posts, but the underlying account reputation matters. New accounts with no history posting self-promotional content often get filtered.
111
+
112
+ ## Project Structure
113
+
114
+ ```
115
+ reddit-post-engine/
116
+ ├── SKILL.md
117
+ ├── README.md
118
+ ├── .env.example
119
+ ├── evals/
120
+ │ └── evals.json
121
+ └── references/
122
+ └── subreddit-playbook.md
123
+ ```
124
+
125
+ ## License
126
+
127
+ MIT
@@ -1,4 +1,4 @@
1
- # schema-markup-generator
1
+ # schema-markup-generator
2
2
 
3
3
  ![schema-markup-generator](https://github.com/user-attachments/assets/4b5e5bfb-3c33-4a20-afff-59fda19196b4)
4
4
 
@@ -28,3 +28,111 @@ 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
+ ## Schema Types Supported
33
+
34
+ | Type | Use When |
35
+ |------|----------|
36
+ | FAQPage | Page has 2 or more visible question/answer pairs |
37
+ | Article / BlogPosting | Page is a blog post or editorial article |
38
+ | Organization | Page represents a company or institution |
39
+ | Product | Page sells or describes a product with pricing |
40
+ | WebSite | Homepage schema with optional sitelinks search |
41
+ | HowTo | Page is a step-by-step guide with numbered steps |
42
+ | BreadcrumbList | Page has visible breadcrumb navigation |
43
+ | SoftwareApplication | Page describes a software tool or app |
44
+ | LocalBusiness | Page represents a physical business location |
45
+
46
+ The agent detects the right type automatically. A single page often gets multiple types (a blog post gets Article and BreadcrumbList, a homepage gets WebSite and Organization).
47
+
48
+ ## Requirements
49
+
50
+ No LLM API key needed. The agent reads the page and generates the markup.
51
+
52
+ Chrome is needed for JavaScript-rendered pages. For static HTML pages or when you paste HTML directly, Chrome is not required.
53
+
54
+ A GitHub token is optional. Without it, the agent outputs the markup as text for you to paste manually.
55
+
56
+ ## Setup
57
+
58
+ ### 1. Start Chrome with remote debugging (for live URLs)
59
+
60
+ ```bash
61
+ # macOS
62
+ open -a "Google Chrome" --args --remote-debugging-port=9222
63
+
64
+ # Linux
65
+ google-chrome --remote-debugging-port=9222
66
+ ```
67
+
68
+ ### 2. Configure environment variables (optional)
69
+
70
+ ```bash
71
+ cp .env.example .env
72
+ # Add GITHUB_TOKEN if you want auto-PR support
73
+ ```
74
+
75
+ ## How to Use
76
+
77
+ From a live URL:
78
+
79
+ ```
80
+ "Generate schema markup for https://example.com/faq"
81
+ "Add structured data to https://example.com/blog/my-post"
82
+ "What schema markup does this page need? https://example.com/about"
83
+ ```
84
+
85
+ From pasted HTML:
86
+
87
+ ```
88
+ "Generate schema markup for this page: [paste HTML]"
89
+ "Add JSON-LD to this HTML: [paste HTML]"
90
+ ```
91
+
92
+ Targeting a specific type:
93
+
94
+ ```
95
+ "Generate FAQPage schema for https://example.com/support"
96
+ "Add Organization schema to our about page: https://example.com/about"
97
+ "Generate Product schema for this page: https://example.com/products/pro"
98
+ ```
99
+
100
+ With auto-PR:
101
+
102
+ ```
103
+ "Generate schema markup for https://example.com/blog/post and open a GitHub PR"
104
+ ```
105
+
106
+ ## Output
107
+
108
+ | Output | Description |
109
+ |--------|-------------|
110
+ | JSON-LD script block | One `<script type="application/ld+json">` block per schema type |
111
+ | Placement instructions | Where to insert the block in your HTML or framework |
112
+ | MISSING field list | Required fields not found on the page that you need to fill in |
113
+ | GitHub PR | If GITHUB_TOKEN and GITHUB_REPO are configured and you confirm |
114
+
115
+ ## Validate Your Markup
116
+
117
+ After applying the markup, validate it at:
118
+
119
+ - Google Rich Results Test: https://search.google.com/test/rich-results
120
+ - Schema.org Validator: https://validator.schema.org
121
+
122
+ ## Project Structure
123
+
124
+ ```
125
+ schema-markup-generator/
126
+ ├── SKILL.md
127
+ ├── README.md
128
+ ├── .env.example
129
+ ├── evals/
130
+ │ └── evals.json
131
+ └── references/
132
+ ├── json-ld-spec.md
133
+ └── output-template.md
134
+ ```
135
+
136
+ ## License
137
+
138
+ MIT