@opendirectory.dev/skills 0.1.65 → 0.1.66

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
@@ -13,7 +13,7 @@ npx "@opendirectory.dev/skills" install docs-from-code --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/cea8b565-2002-4a87-8857-d902bfcfdc1c
16
+ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
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,3 +27,95 @@ 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 Generates
32
+
33
+ | Output | When |
34
+ |--------|------|
35
+ | `README.md` (full) | Project has no README |
36
+ | `README.md` (sections) | README exists but API or architecture sections are stale |
37
+ | `docs/API.md` | Project has HTTP routes |
38
+ | Architecture section | Always, from graphify's god nodes and communities |
39
+ | GitHub PR | When you ask it to open one |
40
+
41
+ ## Why graphify?
42
+
43
+ The skill uses graphify as its extraction engine:
44
+ - 20 languages via tree-sitter AST: Python, TypeScript, Go, Rust, Java, and 15 more
45
+ - Architecture insight: god nodes and community clusters show what everything connects through
46
+ - 71.5x fewer tokens than reading raw files, efficient on large codebases
47
+ - SHA256 cache: re-runs only process changed files
48
+ - Honest tagging: `EXTRACTED` (found in source) vs `INFERRED` (reasonable inference with confidence score)
49
+ - Extracts rationale from `# NOTE:`, `# WHY:`, `# HACK:` comments and docstrings
50
+
51
+ The bundled `scripts/` (TypeScript and Python AST extractors) serve as a fallback if graphify is unavailable.
52
+
53
+ ## Supported Languages (via graphify)
54
+
55
+ Python, TypeScript, JavaScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia
56
+
57
+ ## Requirements
58
+
59
+ - Python 3.10+ (for graphify)
60
+ - Node.js 18+ (for fallback TypeScript extractor)
61
+ - `gh` CLI (optional, for opening PRs automatically)
62
+ - `GITHUB_TOKEN` env var (optional, for PRs)
63
+
64
+ ## Setup
65
+
66
+ ### 1. Install graphify
67
+
68
+ ```bash
69
+ pip install graphifyy
70
+ ```
71
+
72
+ No API keys needed for extraction. graphify uses your agent's existing model access.
73
+
74
+ ### 2. Configure (Optional)
75
+
76
+ ```bash
77
+ cp .env.example .env
78
+ # Add GITHUB_TOKEN if you want auto-PR support
79
+ ```
80
+
81
+ ## How to Use
82
+
83
+ Be inside your project and ask:
84
+
85
+ ```
86
+ "Generate a README for this project"
87
+ "My API docs are out of date, update them from the code"
88
+ "Create docs/API.md from my FastAPI routes"
89
+ "Add an architecture section to our README"
90
+ "Document this TypeScript library"
91
+ ```
92
+
93
+ The agent will:
94
+ 1. Run `graphify . --no-viz` to build a knowledge graph of your codebase
95
+ 2. Read `GRAPH_REPORT.md` for god nodes, communities, and architecture insights
96
+ 3. Query the graph for routes, types, and data models
97
+ 4. Read existing docs to understand what needs updating
98
+ 5. Generate accurate docs grounded in the graph
99
+ 6. Write files and optionally open a GitHub PR
100
+
101
+ ## Project Structure
102
+
103
+ ```
104
+ docs-from-code/
105
+ ├── SKILL.md # Agent instructions
106
+ ├── README.md # This file
107
+ ├── .env.example # Environment variables template
108
+ ├── scripts/
109
+ │ ├── package.json # Script dependencies (ts-morph)
110
+ │ ├── extract_ts.ts # TypeScript/JS AST extractor
111
+ │ └── extract_py.py # Python AST extractor
112
+ ├── references/
113
+ │ ├── extraction-guide.md # Per-framework extraction notes
114
+ │ └── output-template.md # README and API.md templates
115
+ └── evals/
116
+ └── evals.json # Test prompts
117
+ ```
118
+
119
+ ## License
120
+
121
+ MIT
@@ -11,7 +11,7 @@ npx "@opendirectory.dev/skills" install email-newsletter --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/cea8b565-2002-4a87-8857-d902bfcfdc1c
14
+ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
15
15
 
16
16
  ### Step 1: Download the skill from GitHub
17
17
  1. Copy the URL of this specific skill folder from your browser's address bar.
@@ -25,3 +25,74 @@ 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
+ ---
30
+
31
+ ## What it does
32
+
33
+ - Asks the 19 questions that actually determine your newsletter layout
34
+ - Writes all sections: hero, intro, main content, stat callout, CTA, footer
35
+ - Generates table-based HTML with inline styles -- compatible with every major email client
36
+ - Tunes variable syntax per platform (Loops, Mailchimp, Beehiiv, Resend)
37
+ - Produces 3 subject line options using proven formulas
38
+ - Includes a plain-text fallback for deliverability
39
+
40
+ ## Example
41
+
42
+ > "Write a newsletter about how AI is changing B2B sales. Audience: VPs of Sales at 100-500 person SaaS companies. CTA: join our upcoming webinar. Tone: direct. Platform: Beehiiv."
43
+
44
+ Output: full HTML email with hero headline, 3-section body, stat callout, CTA block, and footer -- plus 3 subject line options and a plain-text version, tuned for Beehiiv.
45
+
46
+ ## Supported platforms
47
+
48
+ | Platform | Notes |
49
+ |---|---|
50
+ | Loops | `{{unsubscribe_url}}` syntax. Paste into custom HTML editor |
51
+ | Mailchimp | `*\|UNSUB\|*` syntax. Use "Code your own" template. Includes `mc:edit` regions |
52
+ | Beehiiv | `%%unsubscribe_url%%` syntax. Works with custom HTML block |
53
+ | Resend | `{unsubscribeUrl}` syntax. React Email `.tsx` output available on request |
54
+ | Generic | `[UNSUBSCRIBE_URL]` placeholder -- replace before sending |
55
+
56
+ ## Output formats
57
+
58
+ - **Standard HTML** (default): inline-styled, table-based, 600px max-width
59
+ - **Plain text**: always included unless you opt out
60
+ - **React Email** (on request): `.tsx` component output for Resend / dev teams
61
+
62
+ ## Parameters
63
+
64
+ | Param | Required | Notes |
65
+ |---|---|---|
66
+ | topic | Yes | What the newsletter is about |
67
+ | audience | Yes | Who is reading |
68
+ | cta | Yes | Primary action you want readers to take |
69
+ | company_name | No | Brand name for header and footer |
70
+ | tagline | No | One-line description for footer |
71
+ | city_country | No | Footer location (e.g. "San Francisco, US") |
72
+ | cta_url | No | Actual link for CTA button -- placeholder used if omitted |
73
+ | brand_color | No | Hex code -- used for strip, stat border, category label |
74
+ | background | No | dark / light / custom hex (default: dark) |
75
+ | display_font | No | editorial serif / modern sans / system fonts (default: Instrument Serif) |
76
+ | button_style | No | pill / softly rounded / sharp (default: pill) |
77
+ | visual_style | No | editorial / technical+data / warm+founder / bold+campaign |
78
+ | tone | No | educational / conversational / bold+direct / formal / playful |
79
+ | platform | No | loops / mailchimp / beehiiv / resend (default: generic) |
80
+ | personalization | No | none / first name / first name + company (default: none) |
81
+ | length | No | brief (300w) / standard (500-700w) / deep dive (800w+) |
82
+ | format | No | editorial article / numbered breakdown / personal story / data report |
83
+ | subject_line | No | If omitted, 3 options are suggested |
84
+ | secondary_sections | No | sponsor block / product callout / event / quick links |
85
+
86
+ ## No API keys required
87
+
88
+ Pure AI skill. No external services, no scraping, no dependencies to install.
89
+
90
+ ## Design principles
91
+
92
+ - Max width 600px (email client standard)
93
+ - Inline styles only -- no external CSS, email clients strip it
94
+ - Table-based layout for Outlook compatibility
95
+ - Georgia serif for hero headlines, Arial/system font for body
96
+ - CTA buttons use the table+td VML-compatible structure
97
+ - All images include alt text
98
+ - Dark mode aware where platform supports it
@@ -14,7 +14,7 @@ npx "@opendirectory.dev/skills" install explain-this-pr --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/cea8b565-2002-4a87-8857-d902bfcfdc1c
17
+ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
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,3 +28,71 @@ 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 PR diff and metadata via `gh`
35
+ - Writes two paragraphs: what changed (technical) and why it matters (impact)
36
+ - Posts the explanation as a PR comment with `gh pr comment`
37
+ - Works with any public or private repo you have access to via `gh`
38
+
39
+ ## Requirements
40
+
41
+ | Requirement | Purpose | How to Set Up |
42
+ |------------|---------|--------------|
43
+ | `gh` CLI | Fetching PR data and posting comments | https://cli.github.com, then run `gh auth login` |
44
+
45
+ No API keys needed.
46
+
47
+ ## How to Use
48
+
49
+ Explain a PR by URL:
50
+
51
+ ```
52
+ "Explain this PR: https://github.com/owner/repo/pull/123"
53
+ "What does this PR do? https://github.com/owner/repo/pull/456"
54
+ "Summarize this pull request: [URL]"
55
+ ```
56
+
57
+ Explain by PR number (in the current repo):
58
+
59
+ ```
60
+ "Explain PR #42"
61
+ "Add a summary comment to PR #99"
62
+ ```
63
+
64
+ Explain the current branch PR:
65
+
66
+ ```
67
+ "Explain the current branch PR"
68
+ "Add a plain-English comment to my PR"
69
+ ```
70
+
71
+ Output without posting:
72
+
73
+ ```
74
+ "Explain this PR but don't post the comment: [URL]"
75
+ "What does this PR change? Just give me the text."
76
+ ```
77
+
78
+ ## Output Format
79
+
80
+ Two paragraphs, under 150 words total.
81
+
82
+ Paragraph 1: What it does (technical). Names the specific files, functions, or systems that changed. States the before/after if visible in the diff.
83
+
84
+ Paragraph 2: Why it matters (impact). Explains who benefits and what problem is solved. Omitted if there is no clear "why" in the diff or commits. The skill never guesses at impact.
85
+
86
+ ## Project Structure
87
+
88
+ ```
89
+ explain-this-pr/
90
+ ├── SKILL.md
91
+ ├── README.md
92
+ └── evals/
93
+ └── evals.json
94
+ ```
95
+
96
+ ## License
97
+
98
+ MIT
@@ -11,12 +11,12 @@ npx "@opendirectory.dev/skills" install gh-issue-to-demand-signal --target claud
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/cea8b565-2002-4a87-8857-d902bfcfdc1c
14
+ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
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**.
@@ -25,3 +25,94 @@ 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
+ - Fetches up to 200 open issues from any public GitHub repo (no auth required)
32
+ - Filters noise locally: removes PRs, bot issues, zero-engagement issues, and chore-pattern titles
33
+ - Computes a demand score per issue: `(reactions["+1"] x 2) + (comments x 0.5)`
34
+ - Detects "ignored demand": issues with 10+ reactions, open 6+ months, no planned label
35
+ - Clusters issues into 6 categories using the AI running the skill (no external API key needed): feature gaps, bug patterns, UX complaints, performance issues, missing integrations, missing docs
36
+ - Generates 5-8 cluster themes with total demand scores
37
+ - Messaging brief: 3 positioning angles + 3 outreach hooks + cluster-specific headlines
38
+ - Saves output to `docs/demand-signals/[owner]-[repo]-[date].md`
39
+
40
+ ## Requirements
41
+
42
+ | Requirement | Purpose | How to Set Up |
43
+ |---|---|---|
44
+ | GitHub token | Raises rate limit from 60/hr to 5000/hr | github.com/settings/tokens (no scopes needed for public repos) |
45
+
46
+ No external AI API key needed. The skill uses the AI assistant running it (Claude, Gemini, Copilot) to do the clustering and messaging brief. GitHub token is optional but recommended for repeated use.
47
+
48
+ ## Setup
49
+
50
+ ```bash
51
+ cp .env.example .env
52
+ # Add GITHUB_TOKEN (optional, recommended for repeated use)
53
+ ```
54
+
55
+ ## How to Use
56
+
57
+ ```
58
+ "Scan competitor GitHub issues: https://github.com/vercel/next.js"
59
+ "What are users asking for in facebook/react?"
60
+ "Find demand gaps in linear-app/linear"
61
+ "Turn GitHub complaints into messaging: https://github.com/supabase/supabase"
62
+ "What should I build based on competitor issues? vercel/next.js"
63
+ "Which features are users begging for in this repo?"
64
+ ```
65
+
66
+ ## Why This Matters
67
+
68
+ A busy product team cannot read 500 open issues. This skill does the work: ranks by real user demand (reaction counts), clusters into actionable GTM categories, detects ignored demand (where competitors have been silent the longest), and translates raw complaints into positioning language.
69
+
70
+ **The demand score formula:** `(reactions["+1"] x 2) + (comments x 0.5)`. Reactions are weighted higher than comments because reactions are pure signal -- a thumbs-up means "I want this." Comments include maintainer responses, off-topic discussion, and spam.
71
+
72
+ **Ignored demand is your opportunity:** An issue with 50 reactions that has been open for 2 years with no planned label means their users have been waiting. That is your product's first billboard.
73
+
74
+ ## The 6 Demand Categories
75
+
76
+ | Category | What it captures |
77
+ |---|---|
78
+ | `feature_gap` | Functionality that does not exist yet |
79
+ | `bug_pattern` | Recurring broken behavior that erodes trust |
80
+ | `ux_complaint` | Friction, confusion, or workflow problems |
81
+ | `performance` | Slowness, timeouts, resource usage |
82
+ | `integration_missing` | Requests to connect with other tools or APIs |
83
+ | `docs_missing` | Confusion caused by absent or wrong documentation |
84
+
85
+ ## Output
86
+
87
+ Each run produces:
88
+
89
+ 1. **Demand Gap Leaderboard**: clusters ranked by total demand score
90
+ 2. **Ignored Demand section**: issues open 6+ months with 10+ reactions and no response
91
+ 3. **Top 10 Highest-Demand Issues**: verbatim titles, reaction counts, direct GitHub links
92
+ 4. **Cluster Deep Dives**: top 3 clusters with theme name, pain summary, top 3 verbatim issues
93
+ 5. **Messaging Brief**: 3 positioning angles citing exact demand evidence
94
+ 6. **GTM Angles**: 3 outreach hooks using verbatim issue language
95
+
96
+ ## Cost per Run
97
+
98
+ - GitHub API: 2 calls -- free (unauthenticated: 60/hr limit, token: 5000/hr)
99
+ - AI analysis: uses the model already running the skill -- no additional cost
100
+ - Total: free
101
+
102
+ ## Project Structure
103
+
104
+ ```
105
+ gh-issue-to-demand-signal/
106
+ ├── SKILL.md
107
+ ├── README.md
108
+ ├── .env.example
109
+ ├── evals/
110
+ │ └── evals.json
111
+ └── references/
112
+ ├── demand-categories.md
113
+ └── gtm-translation.md
114
+ ```
115
+
116
+ ## License
117
+
118
+ MIT
@@ -13,7 +13,7 @@ npx "@opendirectory.dev/skills" install google-trends-api-skills --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/cea8b565-2002-4a87-8857-d902bfcfdc1c
16
+ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
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,3 +27,76 @@ 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
+ ## Skills
32
+
33
+ ### 1. `google-trends-api/`
34
+ The API layer — knows how to query Google Trends through SerpApi, handle responses, manage rate limits, and cache results.
35
+
36
+ ### 2. `seo-keyword-research/`
37
+ The SEO workflow — uses Google Trends data to find breakout keywords, build content structure, and generate SEO-optimized blog outlines.
38
+
39
+ ## Quick Start
40
+
41
+ ```bash
42
+ # 1. Get a free API key (250 searches/month)
43
+ # https://serpapi.com/
44
+
45
+ # 2. Set your key
46
+ export SERPAPI_KEY="your_key_here"
47
+
48
+ # 3. Install dependency
49
+ pip install requests
50
+
51
+ # 4. Run keyword research for a blog topic
52
+ python seo-keyword-research/scripts/blog_seo_research.py "kubernetes deployment"
53
+
54
+ # 5. Or just discover trending keywords
55
+ python google-trends-api/scripts/discover_keywords.py "AI developer tools"
56
+ ```
57
+
58
+ ## Directory Structure
59
+
60
+ ```
61
+ google-trends-api/
62
+ ├── SKILL.md # API skill (endpoints, params, usage)
63
+ ├── scripts/
64
+ │ └── discover_keywords.py # Keyword discovery script
65
+ └── references/
66
+ └── api-responses.md # Full API response structures
67
+
68
+ seo-keyword-research/
69
+ ├── SKILL.md # SEO workflow skill (research -> outline)
70
+ ├── scripts/
71
+ │ └── blog_seo_research.py # Full blog SEO research script
72
+ └── references/
73
+ ├── keyword-placement-guide.md # Detailed keyword placement rules
74
+ └── tech-blog-examples.md # Real examples for tech/dev blogs
75
+ ```
76
+
77
+ ## How It Works
78
+
79
+ ```
80
+ User: "Write a blog about kubernetes deployment"
81
+ |
82
+ v
83
+ [google-trends-api] RELATED_QUERIES -> finds "kubernetes vs docker" (Breakout!)
84
+ [google-trends-api] RELATED_TOPICS -> finds "Helm", "CI/CD", "Container Orchestration"
85
+ |
86
+ v
87
+ [seo-keyword-research] Selects primary keyword, builds outline
88
+ |
89
+ v
90
+ Output: SEO-optimized blog outline targeting trending keywords
91
+ ```
92
+
93
+ ## Specification
94
+
95
+ These skills follow the [Agent Skills specification](https://agentskills.io/specification). Each skill has:
96
+ - `SKILL.md` with YAML frontmatter (name, description, compatibility, metadata)
97
+ - `scripts/` for executable code
98
+ - `references/` for detailed documentation (loaded on demand)
99
+
100
+ ## License
101
+
102
+ MIT
@@ -7,11 +7,10 @@ Generate a professionally designed case study PDF for B2B SaaS sales and marketi
7
7
  ```bash
8
8
  npx "@opendirectory.dev/skills" install graphic-case-study --target claude
9
9
  ```
10
-
11
10
  ### Video Tutorial
12
11
  Watch this quick video to see how it's done:
13
12
 
14
- https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
13
+ https://github.com/user-attachments/assets/ee98a1b5-ebc4-452f-bbfb-c434f2935067
15
14
 
16
15
  ### Step 1: Download the skill from GitHub
17
16
  1. Copy the URL of this specific skill folder from your browser's address bar.
@@ -24,4 +23,99 @@ https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
24
23
  3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
25
24
  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
25
 
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!
26
+ > **Note:** Make sure you upload the folder that contains the `SKILL.md` file directly.
27
+
28
+ ---
29
+
30
+ ## What it does
31
+
32
+ - Asks the questions that determine how the case study should be structured
33
+ - Interviews you (or processes your notes) to extract customer story details
34
+ - Structures the narrative: customer context → challenge → solution → results → testimonial
35
+ - Generates a single self-contained HTML file -- opens in any browser, no build tools
36
+ - Splits into per-page HTML files for individual sharing or editing
37
+ - Exports a print-ready PDF via Playwright (A4 portrait, 1200×1697px)
38
+ - Supports 1-pager summary card, standard 2-pager, and detailed 4-pager formats
39
+
40
+ ## Example
41
+
42
+ > "Create a 2-page case study for Acme Corp. They were spending 20 hrs/week on manual reporting. We automated it. They saved 80% of that time and reduced errors by 95%. Use midnight-editorial style."
43
+
44
+ Output: 2-page PDF with cover, challenge/solution spread, results stat page, and closing CTA.
45
+
46
+ ---
47
+
48
+ ## Supported Styles
49
+
50
+ | Style | Best for |
51
+ |---|---|
52
+ | clean-slate | Enterprise B2B, sales teams, any audience that expects professionalism |
53
+ | midnight-editorial | Tech/AI companies, premium B2B, investor-grade materials |
54
+ | matt-gray | Board materials, internal reviews, professional mixed audiences |
55
+ | product-minimal | Product companies, design-forward B2B, design-savvy buyers |
56
+ | mint-pixel-corporate | SaaS sales, tech startups, growth-stage B2B |
57
+ | warm-earth | Agencies, consultancies, service businesses, health/education tech |
58
+ | brutalist | Standout sales materials, design-forward agencies, bold brands |
59
+ | magazine-red | Marketing agencies, brand-forward companies, editorial-style stories |
60
+ | soft-cloud | Onboarding materials, customer education, approachable SaaS |
61
+
62
+ ---
63
+
64
+ ## Supported Page Layouts
65
+
66
+ | Layout | Purpose |
67
+ |---|---|
68
+ | cover | Opening page -- customer name, headline result, logos |
69
+ | overview | At-a-glance: company profile, industry, use case |
70
+ | challenge | The problem -- context paragraph + pain points |
71
+ | solution | How your product solved it -- feature callouts |
72
+ | results | Key metrics in large stat format + supporting narrative |
73
+ | testimonial | Full-width pull quote with attribution |
74
+ | closing-cta | Vendor logo + contact info + next step CTA |
75
+
76
+ ---
77
+
78
+ ## Output
79
+
80
+ | File | What it is |
81
+ |---|---|
82
+ | `case-study/[slug]/index.html` | Full case study, browser-ready |
83
+ | `case-study/[slug]/page-01.html` ... | Per-page HTML files for individual sharing |
84
+ | `case-study/[slug].pdf` | Print-ready PDF (A4 portrait) |
85
+
86
+ Standard dimensions: 1200×1697px (A4 portrait). Landscape 4:3 (1200×900) available on request.
87
+
88
+ ---
89
+
90
+ ## Parameters
91
+
92
+ | Param | Required | Notes |
93
+ |---|---|---|
94
+ | customer_name | Yes | Company name (or "Anonymous Fortune 500 Retailer" to anonymize) |
95
+ | challenge | Yes | Core problem in 2-5 sentences |
96
+ | solution | Yes | What your product did |
97
+ | results | Yes | Measurable outcomes -- ideally 3 stats |
98
+ | customer_context | No | Industry, size, location (for overview page) |
99
+ | testimonial | No | Customer quote + name + title |
100
+ | page_count | No | 1 / 2 / 4 (default: 2) |
101
+ | customer_logo | No | Logo URL for cover page |
102
+ | your_company_name | No | Vendor name + logo URL for CTA page |
103
+ | style | No | One of 9 named presets or "show me options" (default: clean-slate) |
104
+ | orientation | No | A4 portrait (default) or landscape 4:3 |
105
+ | anonymize | No | Keep name or replace with industry descriptor |
106
+ | slug | No | Filename slug (derived from customer name if omitted) |
107
+
108
+ ---
109
+
110
+ ## Dependencies
111
+
112
+ This skill requires the `frontend-slides` skill files at:
113
+ `/Users/ksd/Desktop/Varnan_skills/frontend-slides/`
114
+
115
+ Specifically:
116
+ - `viewport-base.css` -- responsive page foundation (included verbatim in generated HTML)
117
+ - `scripts/export-pdf.sh` -- PDF export via Playwright (Node.js required, auto-installs; use `--portrait` flag for A4)
118
+
119
+ ## No API keys required
120
+
121
+ Pure AI skill. No external services, no scraping, no dependencies beyond the above.
@@ -8,24 +8,6 @@ Generate publication-quality data visualization charts as PNG using Chart.js v4.
8
8
  npx "@opendirectory.dev/skills" install graphic-chart --target claude
9
9
  ```
10
10
 
11
- ### Video Tutorial
12
- Watch this quick video to see how it's done:
13
-
14
- https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c
15
-
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.
20
-
21
- ### Step 2: Install the Skill in Claude
22
- 1. Open your **Claude desktop app**.
23
- 2. Go to the sidebar on the left side and click on the **Customize** section.
24
- 3. Click on the **Skills** tab, then click on the **+** (plus) icon button to create a new skill.
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
-
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
11
  ### Manual Install (2 steps)
30
12
 
31
13
  1. Copy the URL of this skill folder, paste it at [download-directory.github.io](https://download-directory.github.io/), download the zip.
@@ -120,4 +102,3 @@ Auto-installed on first run via npm:
120
102
  - Chromium browser binary (~200MB, downloaded once and cached)
121
103
 
122
104
  No API keys required.
123
-