@opendirectory.dev/skills 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/claude-md-generator/.env.example +7 -0
- package/.claude/skills/claude-md-generator/README.md +78 -0
- package/.claude/skills/claude-md-generator/SKILL.md +248 -0
- package/.claude/skills/claude-md-generator/evals/evals.json +35 -0
- package/.claude/skills/claude-md-generator/references/section-guide.md +175 -0
- package/dist/e2e.test.d.ts +1 -0
- package/dist/e2e.test.js +62 -0
- package/dist/fs-adapters.d.ts +4 -0
- package/dist/fs-adapters.js +101 -0
- package/dist/fs-adapters.test.d.ts +1 -0
- package/dist/fs-adapters.test.js +108 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +211 -0
- package/dist/transformers.d.ts +6 -0
- package/dist/transformers.js +2 -0
- package/package.json +25 -0
- package/registry.json +226 -0
- package/skills/blog-cover-image-cli/.github/workflows/publish.yml +19 -0
- package/skills/blog-cover-image-cli/LICENSE +15 -0
- package/skills/blog-cover-image-cli/README.md +126 -0
- package/skills/blog-cover-image-cli/SKILL.md +7 -0
- package/skills/blog-cover-image-cli/agent-skill/blog-cover-generator/README.md +30 -0
- package/skills/blog-cover-image-cli/agent-skill/blog-cover-generator/SKILL.md +72 -0
- package/skills/blog-cover-image-cli/bin/cli.js +226 -0
- package/skills/blog-cover-image-cli/examples/100x_UX_Research_AI_Agent.png +0 -0
- package/skills/blog-cover-image-cli/examples/Firecrawl-supabase-bolt.png +0 -0
- package/skills/blog-cover-image-cli/examples/Git-City_Case_study_Cover_Image.jpg +0 -0
- package/skills/blog-cover-image-cli/examples/THE DISTRIBUTION LAYER (2).png +0 -0
- package/skills/blog-cover-image-cli/examples/canva-perplexity-duolingo-cover-image.png +0 -0
- package/skills/blog-cover-image-cli/examples/gamma-mistral-veed.png +0 -0
- package/skills/blog-cover-image-cli/examples/server-survival-case-study-cover-image(1).png +0 -0
- package/skills/blog-cover-image-cli/examples/viral-meme-automation.png +0 -0
- package/skills/blog-cover-image-cli/index.js +2 -0
- package/skills/blog-cover-image-cli/package-lock.json +2238 -0
- package/skills/blog-cover-image-cli/package.json +37 -0
- package/skills/blog-cover-image-cli/src/geminiGenerator.js +126 -0
- package/skills/blog-cover-image-cli/src/imageValidator.js +54 -0
- package/skills/blog-cover-image-cli/src/logoFetcher.js +86 -0
- package/skills/claude-md-generator/.env.example +7 -0
- package/skills/claude-md-generator/README.md +78 -0
- package/skills/claude-md-generator/SKILL.md +254 -0
- package/skills/claude-md-generator/evals/evals.json +35 -0
- package/skills/claude-md-generator/references/section-guide.md +175 -0
- package/skills/cook-the-blog/README.md +86 -0
- package/skills/cook-the-blog/SKILL.md +130 -0
- package/skills/dependency-update-bot/.env.example +13 -0
- package/skills/dependency-update-bot/README.md +101 -0
- package/skills/dependency-update-bot/SKILL.md +376 -0
- package/skills/dependency-update-bot/evals/evals.json +45 -0
- package/skills/dependency-update-bot/references/changelog-patterns.md +201 -0
- package/skills/docs-from-code/.env.example +13 -0
- package/skills/docs-from-code/README.md +97 -0
- package/skills/docs-from-code/SKILL.md +160 -0
- package/skills/docs-from-code/evals/evals.json +29 -0
- package/skills/docs-from-code/references/extraction-guide.md +174 -0
- package/skills/docs-from-code/references/output-template.md +135 -0
- package/skills/docs-from-code/scripts/extract_py.py +238 -0
- package/skills/docs-from-code/scripts/extract_ts.ts +284 -0
- package/skills/docs-from-code/scripts/package.json +18 -0
- package/skills/explain-this-pr/README.md +74 -0
- package/skills/explain-this-pr/SKILL.md +130 -0
- package/skills/explain-this-pr/evals/evals.json +35 -0
- package/skills/google-trends-api-skills/README.md +78 -0
- package/skills/google-trends-api-skills/SKILL.md +7 -0
- package/skills/google-trends-api-skills/google-trends-api/SKILL.md +163 -0
- package/skills/google-trends-api-skills/google-trends-api/references/api-responses.md +188 -0
- package/skills/google-trends-api-skills/google-trends-api/scripts/discover_keywords.py +344 -0
- package/skills/google-trends-api-skills/seo-keyword-research/SKILL.md +205 -0
- package/skills/google-trends-api-skills/seo-keyword-research/references/keyword-placement-guide.md +89 -0
- package/skills/google-trends-api-skills/seo-keyword-research/references/tech-blog-examples.md +207 -0
- package/skills/google-trends-api-skills/seo-keyword-research/scripts/blog_seo_research.py +373 -0
- package/skills/hackernews-intel/.env.example +33 -0
- package/skills/hackernews-intel/README.md +161 -0
- package/skills/hackernews-intel/SKILL.md +156 -0
- package/skills/hackernews-intel/evals/evals.json +35 -0
- package/skills/hackernews-intel/package.json +15 -0
- package/skills/hackernews-intel/scripts/monitor-hn.js +258 -0
- package/skills/kill-the-standup/.env.example +22 -0
- package/skills/kill-the-standup/README.md +84 -0
- package/skills/kill-the-standup/SKILL.md +169 -0
- package/skills/kill-the-standup/evals/evals.json +35 -0
- package/skills/kill-the-standup/references/standup-format.md +102 -0
- package/skills/linkedin-post-generator/.env.example +14 -0
- package/skills/linkedin-post-generator/README.md +107 -0
- package/skills/linkedin-post-generator/SKILL.md +228 -0
- package/skills/linkedin-post-generator/evals/evals.json +35 -0
- package/skills/linkedin-post-generator/references/linkedin-format.md +216 -0
- package/skills/linkedin-post-generator/references/output-template.md +154 -0
- package/skills/llms-txt-generator/.env.example +18 -0
- package/skills/llms-txt-generator/README.md +142 -0
- package/skills/llms-txt-generator/SKILL.md +176 -0
- package/skills/llms-txt-generator/evals/evals.json +35 -0
- package/skills/llms-txt-generator/references/llms-txt-spec.md +88 -0
- package/skills/llms-txt-generator/references/output-template.md +76 -0
- package/skills/llms-txt-generator/test-output/genzcareer.in/llms.txt +31 -0
- package/skills/luma-attendees-scraper/README.md +170 -0
- package/skills/luma-attendees-scraper/SKILL.md +7 -0
- package/skills/luma-attendees-scraper/luma_attendees_export.js +223 -0
- package/skills/meeting-brief-generator/.env.example +21 -0
- package/skills/meeting-brief-generator/README.md +90 -0
- package/skills/meeting-brief-generator/SKILL.md +275 -0
- package/skills/meeting-brief-generator/evals/evals.json +35 -0
- package/skills/meeting-brief-generator/references/brief-format.md +114 -0
- package/skills/meeting-brief-generator/references/output-template.md +150 -0
- package/skills/meta-ads-skill/README.md +100 -0
- package/skills/meta-ads-skill/SKILL.md +7 -0
- package/skills/meta-ads-skill/meta-ads-skill/SKILL.md +41 -0
- package/skills/meta-ads-skill/meta-ads-skill/references/report_templates.md +47 -0
- package/skills/meta-ads-skill/meta-ads-skill/references/workflows.md +51 -0
- package/skills/meta-ads-skill/meta-ads-skill/scripts/auth_check.py +22 -0
- package/skills/meta-ads-skill/meta-ads-skill/scripts/formatters.py +46 -0
- package/skills/newsletter-digest/.env.example +20 -0
- package/skills/newsletter-digest/README.md +147 -0
- package/skills/newsletter-digest/SKILL.md +221 -0
- package/skills/newsletter-digest/evals/evals.json +35 -0
- package/skills/newsletter-digest/feeds.json +7 -0
- package/skills/newsletter-digest/package.json +15 -0
- package/skills/newsletter-digest/references/digest-format.md +123 -0
- package/skills/newsletter-digest/references/output-template.md +136 -0
- package/skills/newsletter-digest/scripts/fetch-feeds.js +141 -0
- package/skills/newsletter-digest/scripts/ghost-publish.js +147 -0
- package/skills/noise2blog/.env.example +16 -0
- package/skills/noise2blog/README.md +107 -0
- package/skills/noise2blog/SKILL.md +229 -0
- package/skills/noise2blog/evals/evals.json +35 -0
- package/skills/noise2blog/references/blog-format.md +188 -0
- package/skills/noise2blog/references/output-template.md +184 -0
- package/skills/outreach-sequence-builder/.env.example +12 -0
- package/skills/outreach-sequence-builder/README.md +108 -0
- package/skills/outreach-sequence-builder/SKILL.md +248 -0
- package/skills/outreach-sequence-builder/evals/evals.json +36 -0
- package/skills/outreach-sequence-builder/references/output-template.md +171 -0
- package/skills/outreach-sequence-builder/references/sequence-format.md +167 -0
- package/skills/outreach-sequence-builder/references/signal-playbook.md +117 -0
- package/skills/position-me/README.md +71 -0
- package/skills/position-me/SKILL.md +7 -0
- package/skills/position-me/position-me/SKILL.md +50 -0
- package/skills/position-me/position-me/references/EVALUATION_SOP.md +40 -0
- package/skills/position-me/position-me/references/REPORT_TEMPLATE.md +58 -0
- package/skills/position-me/position-me/scripts/extract_links.py +49 -0
- package/skills/pr-description-writer/README.md +81 -0
- package/skills/pr-description-writer/SKILL.md +141 -0
- package/skills/pr-description-writer/evals/evals.json +35 -0
- package/skills/pr-description-writer/references/pr-format-guide.md +145 -0
- package/skills/producthunt-launch-kit/.env.example +7 -0
- package/skills/producthunt-launch-kit/README.md +95 -0
- package/skills/producthunt-launch-kit/SKILL.md +380 -0
- package/skills/producthunt-launch-kit/evals/evals.json +35 -0
- package/skills/producthunt-launch-kit/references/copy-rules.md +124 -0
- package/skills/reddit-icp-monitor/.env.example +16 -0
- package/skills/reddit-icp-monitor/README.md +117 -0
- package/skills/reddit-icp-monitor/SKILL.md +271 -0
- package/skills/reddit-icp-monitor/evals/evals.json +40 -0
- package/skills/reddit-icp-monitor/references/icp-format.md +131 -0
- package/skills/reddit-icp-monitor/references/reply-rules.md +110 -0
- package/skills/reddit-post-engine/.env.example +13 -0
- package/skills/reddit-post-engine/README.md +103 -0
- package/skills/reddit-post-engine/SKILL.md +303 -0
- package/skills/reddit-post-engine/evals/evals.json +35 -0
- package/skills/reddit-post-engine/references/subreddit-playbook.md +156 -0
- package/skills/schema-markup-generator/.env.example +19 -0
- package/skills/schema-markup-generator/README.md +114 -0
- package/skills/schema-markup-generator/SKILL.md +192 -0
- package/skills/schema-markup-generator/evals/evals.json +35 -0
- package/skills/schema-markup-generator/references/json-ld-spec.md +263 -0
- package/skills/schema-markup-generator/references/output-template.md +556 -0
- package/skills/show-hn-writer/.env.example +14 -0
- package/skills/show-hn-writer/README.md +88 -0
- package/skills/show-hn-writer/SKILL.md +303 -0
- package/skills/show-hn-writer/evals/evals.json +35 -0
- package/skills/show-hn-writer/references/hn-rules.md +74 -0
- package/skills/show-hn-writer/references/title-formulas.md +93 -0
- package/skills/stargazer/README.md +79 -0
- package/skills/stargazer/SKILL.md +7 -0
- package/skills/stargazer/stargazer-skill/SKILL.md +58 -0
- package/skills/stargazer/stargazer-skill/assets/.env.example +18 -0
- package/skills/stargazer/stargazer-skill/scripts/convert_to_csv.py +63 -0
- package/skills/stargazer/stargazer-skill/scripts/count_emails.py +52 -0
- package/skills/stargazer/stargazer-skill/scripts/stargazer_deep_extractor.py +450 -0
- package/skills/tweet-thread-from-blog/.env.example +14 -0
- package/skills/tweet-thread-from-blog/README.md +109 -0
- package/skills/tweet-thread-from-blog/SKILL.md +177 -0
- package/skills/tweet-thread-from-blog/evals/evals.json +35 -0
- package/skills/tweet-thread-from-blog/references/output-template.md +193 -0
- package/skills/tweet-thread-from-blog/references/thread-format.md +107 -0
- package/skills/twitter-GTM-find-skill/README.md +43 -0
- package/skills/twitter-GTM-find-skill/SKILL.md +7 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/SKILL.md +37 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/references/icp-checklist.md +35 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/package.json +23 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/run_pipeline.sh +8 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/src/debug.ts +23 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/src/extractor.ts +79 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/src/icp-filter.ts +87 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/src/index.ts +94 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/src/scraper.ts +41 -0
- package/skills/twitter-GTM-find-skill/twitter-GTM-find/scripts/tsconfig.json +13 -0
- package/skills/yc-intent-radar-skill/README.md +39 -0
- package/skills/yc-intent-radar-skill/SKILL.md +7 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/SKILL.md +59 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/scripts/auth.js +29 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/scripts/db.js +62 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/scripts/export_radar_candidates.js +40 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/scripts/package-lock.json +1525 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/scripts/package.json +12 -0
- package/skills/yc-intent-radar-skill/yc-jobs-scraper/scripts/scraper.js +217 -0
- package/src/e2e.test.ts +35 -0
- package/src/fs-adapters.test.ts +91 -0
- package/src/fs-adapters.ts +65 -0
- package/src/index.ts +182 -0
- package/src/transformers.ts +6 -0
- package/tsconfig.json +8 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# llms-txt-generator
|
|
2
|
+
|
|
3
|
+
<img width="1376" height="768" alt="llms-txt-generator" src="https://github.com/user-attachments/assets/7f549d0b-4d55-40a8-97c6-59510cc40b54" />
|
|
4
|
+
|
|
5
|
+
Generate a standards-compliant `llms.txt` file for any website. Makes your site fully readable and citable by AI agents the GEO (Generative Engine Optimization) equivalent of having a great sitemap.
|
|
6
|
+
|
|
7
|
+
## What It Does
|
|
8
|
+
|
|
9
|
+
The skill crawls your website using Chrome DevTools, reads your actual pages, and produces a clean `llms.txt` file in the format specified by [Jeremy Howard's llms.txt standard](https://llmstxt.org). When AI agents (Claude, ChatGPT, Gemini) visit your site, they read `llms.txt` first to understand what you are and where to find authoritative content.
|
|
10
|
+
|
|
11
|
+
**Without llms.txt:** AI agents guess, hallucinate, or cite competitors instead.
|
|
12
|
+
**With llms.txt:** AI agents cite your product correctly and know exactly where your docs, blog, and key pages live.
|
|
13
|
+
|
|
14
|
+
## Two Modes
|
|
15
|
+
|
|
16
|
+
### Codebase Mode (no Chrome needed)
|
|
17
|
+
If you're inside a website's repo, the skill reads your source files directly pages, routes, blog posts, frontmatter, site config. It writes `llms.txt` straight to `public/` when you approve. No browser required.
|
|
18
|
+
|
|
19
|
+
Supported frameworks: **Next.js** (pages + app router), **Astro**, **Nuxt**, **Gatsby**, **SvelteKit**, **Hugo**, **Jekyll**
|
|
20
|
+
|
|
21
|
+
### Live Site Mode (Chrome or fetch fallback)
|
|
22
|
+
If you only have the URL, the skill crawls the live site using Chrome DevTools MCP. Falls back to standard web fetch if Chrome isn't available.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Requirements
|
|
27
|
+
|
|
28
|
+
**Codebase Mode:** No extra setup. Just be inside the repo directory.
|
|
29
|
+
|
|
30
|
+
**Live Site Mode:**
|
|
31
|
+
- Chrome with remote debugging enabled (or any live URL skill will fall back to web fetch)
|
|
32
|
+
- Chrome DevTools MCP server configured in your agent (optional, improves JS-rendered sites)
|
|
33
|
+
|
|
34
|
+
## Setup
|
|
35
|
+
|
|
36
|
+
### For Live Site Mode: Start Chrome with Remote Debugging
|
|
37
|
+
|
|
38
|
+
**Mac:**
|
|
39
|
+
```bash
|
|
40
|
+
open -a "Google Chrome" --args --remote-debugging-port=9222
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Linux:**
|
|
44
|
+
```bash
|
|
45
|
+
google-chrome --remote-debugging-port=9222
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Windows:**
|
|
49
|
+
```bash
|
|
50
|
+
chrome.exe --remote-debugging-port=9222
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2. Install Chrome DevTools MCP Server
|
|
54
|
+
|
|
55
|
+
Follow the setup at: https://github.com/ChromeDevTools/chrome-devtools-mcp
|
|
56
|
+
|
|
57
|
+
Add to your agent's MCP configuration:
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"mcpServers": {
|
|
61
|
+
"chrome-devtools": {
|
|
62
|
+
"command": "npx",
|
|
63
|
+
"args": ["-y", "@chrome-devtools/mcp-server"],
|
|
64
|
+
"env": {
|
|
65
|
+
"CHROME_DEBUGGING_PORT": "9222"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 3. Configure Environment (Optional)
|
|
73
|
+
|
|
74
|
+
Copy `.env.example` to `.env` and fill in:
|
|
75
|
+
```bash
|
|
76
|
+
cp .env.example .env
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`GITHUB_TOKEN` and `GITHUB_REPO` are only needed if you want the agent to automatically open a GitHub PR with the generated file.
|
|
80
|
+
|
|
81
|
+
## How to Use
|
|
82
|
+
|
|
83
|
+
**Codebase Mode** just be inside your project and ask:
|
|
84
|
+
```
|
|
85
|
+
"Generate an llms.txt for this site"
|
|
86
|
+
"Add llms.txt to this project"
|
|
87
|
+
"Make this site readable by AI agents"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The agent will detect your framework, read your pages and blog posts from source, generate `llms.txt`, and write it to the right directory (e.g. `public/llms.txt`) after you confirm.
|
|
91
|
+
|
|
92
|
+
**Live Site Mode** provide a URL:
|
|
93
|
+
```
|
|
94
|
+
"Generate an llms.txt for https://yoursite.com"
|
|
95
|
+
"Does https://yoursite.com have an llms.txt? If not, create one."
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The agent will:
|
|
99
|
+
1. Check if `llms.txt` already exists at the domain
|
|
100
|
+
2. Crawl homepage, docs, blog, about, pricing, and API pages
|
|
101
|
+
3. Generate `llms.txt` following the official spec
|
|
102
|
+
4. Optionally generate `llms-full.txt` with full page content
|
|
103
|
+
5. Save the file locally and give you deployment instructions
|
|
104
|
+
6. Optionally open a GitHub PR if configured
|
|
105
|
+
|
|
106
|
+
## Where to Deploy the File
|
|
107
|
+
|
|
108
|
+
Place `llms.txt` at your web root so it's accessible at `https://yourdomain.com/llms.txt`:
|
|
109
|
+
|
|
110
|
+
| Platform | File Location |
|
|
111
|
+
|----------|--------------|
|
|
112
|
+
| Next.js / Vercel | `/public/llms.txt` |
|
|
113
|
+
| Astro | `/public/llms.txt` |
|
|
114
|
+
| Nuxt | `/public/llms.txt` |
|
|
115
|
+
| GitHub Pages | Repository root |
|
|
116
|
+
| Hugo | `/static/llms.txt` |
|
|
117
|
+
| WordPress | Upload via FTP to web root |
|
|
118
|
+
|
|
119
|
+
## Output Files
|
|
120
|
+
|
|
121
|
+
| File | Description |
|
|
122
|
+
|------|-------------|
|
|
123
|
+
| `llms.txt` | Structured link map. LLMs follow links to find content |
|
|
124
|
+
| `llms-full.txt` | Full prose content of key pages. LLMs ingest everything at once |
|
|
125
|
+
|
|
126
|
+
## Project Structure
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
llms-txt-generator/
|
|
130
|
+
├── SKILL.md # Agent instructions
|
|
131
|
+
├── README.md # This file
|
|
132
|
+
├── .env.example # Environment variables template
|
|
133
|
+
├── evals/
|
|
134
|
+
│ └── evals.json # Test prompts for skill evaluation
|
|
135
|
+
└── references/
|
|
136
|
+
├── llms-txt-spec.md # The llms.txt format specification
|
|
137
|
+
└── output-template.md # Exact output template with example
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## License
|
|
141
|
+
|
|
142
|
+
MIT
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: llms-txt-generator
|
|
3
|
+
description: Generates and maintains a standards-compliant llms.txt file for any website — either by crawling the live site OR by reading the website's codebase directly. Use this skill when asked to create an llms.txt, add AI discoverability to a site, improve GEO (Generative Engine Optimization), make a website readable by AI agents, generate an llms-full.txt, check if a site has llms.txt, or audit a site's AI readiness for generative search. Trigger this skill any time a user mentions llms.txt, AI discoverability, LLM site readability, or wants their site to appear in AI-generated answers. Also trigger when the user is inside a website codebase and asks about SEO, AI readiness, or content structure.
|
|
4
|
+
compatibility: [claude-code, gemini-cli, github-copilot]
|
|
5
|
+
author: OpenDirectory
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# llms.txt Generator
|
|
10
|
+
|
|
11
|
+
You are an expert in Generative Engine Optimization (GEO) and the llms.txt standard. Your job is to crawl a website and produce a perfectly structured `llms.txt` file that makes the site fully readable and citable by AI agents.
|
|
12
|
+
|
|
13
|
+
**CRITICAL RULE: DO NOT INVENT CONTENT.** Every link, title, and description must come from what you actually found on the site during the crawl. Never fabricate URLs or describe content you did not visit.
|
|
14
|
+
|
|
15
|
+
**MANDATORY SETUP CHECK:** Before starting, confirm you have:
|
|
16
|
+
- Chrome running with remote debugging enabled (`chrome --remote-debugging-port=9222`)
|
|
17
|
+
- Chrome DevTools MCP server configured in your agent settings
|
|
18
|
+
- Target website URL from the user
|
|
19
|
+
|
|
20
|
+
If Chrome is not available, fall back to standard web fetch tools to retrieve page content. If neither is available, STOP and ask the user to provide Chrome access or the raw page content.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
### Step 1: Detect Source — Codebase or Live Site?
|
|
27
|
+
|
|
28
|
+
Before anything else, check whether you are inside a website codebase:
|
|
29
|
+
|
|
30
|
+
1. Look for `package.json`, `astro.config.*`, `next.config.*`, `nuxt.config.*`, `gatsby-config.*`, `vite.config.*`, or `_config.yml` in the current working directory or its parent.
|
|
31
|
+
2. If found → **Codebase Mode** (go to Step 2A).
|
|
32
|
+
3. If not found → ask the user for the target URL and proceed to **Step 2B**.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
### Step 2A: Codebase Mode — Read the Repo Directly
|
|
37
|
+
|
|
38
|
+
You have access to the source. Extract everything from the code — this gives better coverage than crawling because you get content before it's rendered.
|
|
39
|
+
|
|
40
|
+
**2A-1. Detect the framework and site config:**
|
|
41
|
+
- Read `package.json` → identify framework (next, astro, nuxt, gatsby, @sveltejs/kit, etc.) and the `name`/`description` fields
|
|
42
|
+
- Read framework config file (`next.config.*`, `astro.config.*`, etc.) for `basePath`, `site`, or `siteUrl`
|
|
43
|
+
- Check `public/` or `static/` or `dist/` for an existing `llms.txt` — if found, read it
|
|
44
|
+
- **QA:** What framework is this? What is the base URL? Does llms.txt already exist?
|
|
45
|
+
|
|
46
|
+
**2A-2. Discover all pages/routes:**
|
|
47
|
+
|
|
48
|
+
| Framework | Where to look |
|
|
49
|
+
|-----------|--------------|
|
|
50
|
+
| Next.js (pages router) | `pages/**/*.tsx`, `pages/**/*.jsx` — skip `_app`, `_document`, `api/` |
|
|
51
|
+
| Next.js (app router) | `app/**/page.tsx`, `app/**/page.jsx` — directory name = route |
|
|
52
|
+
| Astro | `src/pages/**/*.astro`, `src/pages/**/*.md` |
|
|
53
|
+
| Nuxt | `pages/**/*.vue` |
|
|
54
|
+
| Gatsby | `src/pages/**/*.tsx`, `src/pages/**/*.jsx` |
|
|
55
|
+
| SvelteKit | `src/routes/**/+page.svelte` |
|
|
56
|
+
| Hugo / Jekyll | `content/**/*.md`, `_posts/**/*.md` |
|
|
57
|
+
|
|
58
|
+
Read each page file and extract: page title (`<title>`, `export const metadata`, frontmatter `title:`), meta description, and main headings (H1, H2).
|
|
59
|
+
|
|
60
|
+
**2A-3. Find blog/content posts:**
|
|
61
|
+
- Check `content/`, `posts/`, `src/content/`, `_posts/`, `blog/` for markdown/MDX files
|
|
62
|
+
- Read frontmatter (`title`, `description`, `date`, `slug`) from each file
|
|
63
|
+
- List the 5–10 most recent or most important posts
|
|
64
|
+
|
|
65
|
+
**2A-4. Read the site's existing SEO/meta config:**
|
|
66
|
+
- `src/config.ts`, `src/site.config.ts`, `seo.config.*`, or any file exporting `siteTitle`, `siteDescription`, `siteUrl`
|
|
67
|
+
- `constants.ts`, `config/index.ts` — look for site-level metadata
|
|
68
|
+
|
|
69
|
+
**2A-5. Construct the base URL:**
|
|
70
|
+
- Prefer `siteUrl` or `site` from config files
|
|
71
|
+
- Fall back to asking the user: "What is your production URL? (e.g. https://yoursite.com)"
|
|
72
|
+
- **QA:** Is the base URL confirmed? All links in llms.txt must use the full absolute URL.
|
|
73
|
+
|
|
74
|
+
Then skip to **Step 4** to generate the file using codebase data.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### Step 2B: Live Site Mode — Get Target URL
|
|
79
|
+
If the user hasn't provided a URL, ask: "What website should I generate llms.txt for?"
|
|
80
|
+
|
|
81
|
+
### Step 3: Check for Existing llms.txt (Live Site Mode only)
|
|
82
|
+
Before crawling, check if the site already has one:
|
|
83
|
+
1. Navigate to `[URL]/llms.txt`
|
|
84
|
+
2. If it exists: read it, note what's there, and plan to update/improve it rather than replace blindly
|
|
85
|
+
3. If it doesn't exist: proceed to full crawl
|
|
86
|
+
- **QA:** Did you check the existing file? Note its status (missing / outdated / present and good).
|
|
87
|
+
|
|
88
|
+
### Step 3B: Connect to Browser and Crawl
|
|
89
|
+
Use the Chrome DevTools MCP server to connect to the live browser. Follow the same connection pattern as the chrome-cdp-skill:
|
|
90
|
+
1. Connect to `http://localhost:9222` via Chrome DevTools MCP
|
|
91
|
+
2. Navigate to the homepage — take note of: site name, tagline, main navigation links, primary value proposition
|
|
92
|
+
3. Navigate to each key page that exists (check nav links): `/docs`, `/blog`, `/api`, `/about`, `/pricing`, `/examples`, `/changelog`
|
|
93
|
+
4. For each page: read the H1, main content sections, and any sub-navigation links
|
|
94
|
+
5. For the blog: read titles and descriptions of the 5-10 most relevant/recent posts
|
|
95
|
+
|
|
96
|
+
If Chrome DevTools MCP is unavailable, fall back to fetching pages with standard web tools (curl, fetch). If the site returns 403, try adding a browser User-Agent header.
|
|
97
|
+
- **QA:** Did you successfully load and read each page? List which pages you visited and which returned 404. Do not include 404 pages.
|
|
98
|
+
|
|
99
|
+
### Step 4: Read the Spec and Template
|
|
100
|
+
Before writing output, read both reference files:
|
|
101
|
+
- `references/llms-txt-spec.md` — the format rules and validation checklist
|
|
102
|
+
- `references/output-template.md` — the exact template to follow
|
|
103
|
+
|
|
104
|
+
Note which mode you used: **Codebase Mode** (data came from source files) or **Live Site Mode** (data came from browser crawl). Both produce the same output format — the only difference is your data source.
|
|
105
|
+
|
|
106
|
+
### Step 5: Generate llms.txt
|
|
107
|
+
Using only content from your crawl, produce the `llms.txt` file:
|
|
108
|
+
|
|
109
|
+
1. Write the H1 header (product/site name — factual, not tagline)
|
|
110
|
+
2. Write the summary blockquote (1-3 sentences, factual, LLM-friendly — no marketing fluff)
|
|
111
|
+
3. Add only the H2 sections that have real content on the site
|
|
112
|
+
4. For each link: write a factual, content-dense description of what an LLM will find at that URL
|
|
113
|
+
5. Apply the validation checklist from `references/llms-txt-spec.md` before finalizing
|
|
114
|
+
- **QA:** Is every URL real and verified from the crawl? Is every description factual, not marketing copy? Is the file under 5,000 words? Fix any issues before proceeding.
|
|
115
|
+
|
|
116
|
+
### Step 6: Check for llms-full.txt
|
|
117
|
+
Ask the user: "Do you also want me to generate `llms-full.txt` with the full prose content of key pages included? This is larger but gives AI agents everything in one file."
|
|
118
|
+
|
|
119
|
+
If yes: revisit each key page and paste the full cleaned text content under each link entry, separated by `---`.
|
|
120
|
+
|
|
121
|
+
### Step 7: Save and Output
|
|
122
|
+
1. Save `llms.txt` to the current working directory (or the user's project root if known)
|
|
123
|
+
2. If `llms-full.txt` was requested, save that too
|
|
124
|
+
3. Print the full contents of `llms.txt` in the conversation so the user can review it
|
|
125
|
+
4. If the user's site is on GitHub, offer to open a PR to add the file to the repo root
|
|
126
|
+
- **QA:** Is the file saved? Did you confirm the save path with the user?
|
|
127
|
+
|
|
128
|
+
### Step 8: Placement Instructions
|
|
129
|
+
|
|
130
|
+
**If Codebase Mode:** You know the framework — place the file immediately:
|
|
131
|
+
|
|
132
|
+
| Framework | Action |
|
|
133
|
+
|-----------|--------|
|
|
134
|
+
| Next.js / Vercel | Write directly to `public/llms.txt` in the repo |
|
|
135
|
+
| Astro | Write directly to `public/llms.txt` |
|
|
136
|
+
| Nuxt | Write directly to `public/llms.txt` |
|
|
137
|
+
| Gatsby | Write directly to `static/llms.txt` |
|
|
138
|
+
| SvelteKit | Write directly to `static/llms.txt` |
|
|
139
|
+
| Hugo | Write directly to `static/llms.txt` |
|
|
140
|
+
| Jekyll | Write directly to root of repo as `llms.txt` |
|
|
141
|
+
|
|
142
|
+
Ask the user: "I can write `llms.txt` directly to `public/llms.txt` in your repo. Should I do that now, or do you want to review it first?"
|
|
143
|
+
|
|
144
|
+
If approved, write the file. Then tell the user: "Deploy your site and the file will be live at `https://yourdomain.com/llms.txt`."
|
|
145
|
+
|
|
146
|
+
**If Live Site Mode:** Tell the user where to add it:
|
|
147
|
+
```
|
|
148
|
+
Place llms.txt at your web root so it's accessible at: https://yourdomain.com/llms.txt
|
|
149
|
+
|
|
150
|
+
- Next.js / Vercel: put in /public/llms.txt
|
|
151
|
+
- Astro / Nuxt / Gatsby / SvelteKit: put in /public/llms.txt
|
|
152
|
+
- GitHub Pages: put in root of repo
|
|
153
|
+
- Hugo / Jekyll: put in /static/llms.txt
|
|
154
|
+
- WordPress: upload to web root via FTP or use a rewrite rule
|
|
155
|
+
- Custom server: serve as a static file at /llms.txt
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Output Quality Standards
|
|
161
|
+
|
|
162
|
+
A great `llms.txt` file:
|
|
163
|
+
- Has a factual H1 and a clear 2-3 sentence summary that an LLM could quote directly
|
|
164
|
+
- Covers all major content areas the site actually has
|
|
165
|
+
- Uses link descriptions that explain WHAT IS THERE, not what the company wants you to think
|
|
166
|
+
- Is scannable in under 30 seconds
|
|
167
|
+
- Contains no broken links, no redirect chains, no CDN asset URLs
|
|
168
|
+
- Passes all checks in `references/llms-txt-spec.md`
|
|
169
|
+
|
|
170
|
+
A bad `llms.txt` file:
|
|
171
|
+
- Has marketing language ("our amazing API", "best-in-class docs")
|
|
172
|
+
- Contains invented or guessed URLs
|
|
173
|
+
- Is missing major sections of the site
|
|
174
|
+
- Has empty or vague descriptions ("info about our product")
|
|
175
|
+
|
|
176
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "llms-txt-generator",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Generate an llms.txt file for opendirectory.dev — it's our product site and we want AI agents to be able to find and cite us in generative search results.",
|
|
7
|
+
"expected_output": "A valid llms.txt file with H1 header (OpenDirectory), a factual summary paragraph, and H2 sections for the site's actual content areas (Skills, Docs, About). All URLs verified from the real site. Descriptions are factual and information-dense, not marketing copy. File is under 5000 words.",
|
|
8
|
+
"files": []
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": 2,
|
|
12
|
+
"prompt": "Check if https://vercel.com has an llms.txt file. If it does, review it and suggest improvements. If not, generate one.",
|
|
13
|
+
"expected_output": "Agent first checks vercel.com/llms.txt. If present: reads it, identifies gaps or outdated links, and produces an improved version. If missing: crawls the site and generates a complete llms.txt covering their docs, blog, changelog, and about pages.",
|
|
14
|
+
"files": []
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": 3,
|
|
18
|
+
"prompt": "My startup's website is at https://linear.app and I want to make sure AI models like Claude and ChatGPT can find us properly. Can you create the llms.txt and llms-full.txt files for us?",
|
|
19
|
+
"expected_output": "Agent generates both llms.txt (structured link map) and llms-full.txt (full prose content of key pages). llms.txt covers Linear's docs, changelog, about, and blog. llms-full.txt includes actual prose from key pages. Agent provides deployment instructions for placing the files at the web root.",
|
|
20
|
+
"files": []
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": 4,
|
|
24
|
+
"prompt": "I'm inside my Next.js app router project. Can you generate an llms.txt for it?",
|
|
25
|
+
"expected_output": "Agent detects Next.js app router from package.json and next.config.*. Reads app/**/page.tsx files to discover routes. Extracts page titles from metadata exports and frontmatter. Reads src/content/ or posts/ for blog post frontmatter. Asks for or infers the production URL. Generates a valid llms.txt with all real pages. Offers to write it directly to public/llms.txt.",
|
|
26
|
+
"files": []
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": 5,
|
|
30
|
+
"prompt": "I have an Astro blog at src/pages/ with markdown posts in src/content/blog/. Generate llms.txt and put it in the right place.",
|
|
31
|
+
"expected_output": "Agent detects Astro from astro.config.* and package.json. Reads src/pages/**/*.astro for routes. Reads src/content/blog/*.md frontmatter for blog post titles, descriptions, and slugs. Constructs absolute URLs from siteUrl in astro.config. Generates llms.txt. Writes the file directly to public/llms.txt without asking for manual steps.",
|
|
32
|
+
"files": []
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# llms.txt Specification
|
|
2
|
+
|
|
3
|
+
Proposed by Jeremy Howard (fast.ai / answer.ai). See: https://llmstxt.org
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
`/llms.txt` is a markdown file at the root of a website that helps LLMs understand what the site is about and where to find authoritative content. It is the AI equivalent of `robots.txt` — but instead of telling crawlers what to avoid, it tells AI agents what to read.
|
|
8
|
+
|
|
9
|
+
## Why It Matters
|
|
10
|
+
|
|
11
|
+
When an AI agent is asked about a company or product, it may visit the site. Without `llms.txt`, the agent has to infer structure from HTML, JavaScript-heavy pages, and noise. With `llms.txt`, the agent gets a clean, structured, LLM-optimized summary in seconds.
|
|
12
|
+
|
|
13
|
+
Missing `llms.txt` = invisible to AI agents and generative search (GEO failure).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## File Format
|
|
18
|
+
|
|
19
|
+
The file MUST be valid Markdown. MUST be served at exactly: `https://yourdomain.com/llms.txt`
|
|
20
|
+
|
|
21
|
+
### Required Elements
|
|
22
|
+
|
|
23
|
+
**1. H1 Header — Site/Product Name**
|
|
24
|
+
```markdown
|
|
25
|
+
# Product Name
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**2. Optional Summary Block (blockquote or plain paragraph)**
|
|
29
|
+
```markdown
|
|
30
|
+
> One-paragraph plain-English description of what this site is about.
|
|
31
|
+
> Written for an LLM, not for marketing. Factual, concise, no fluff.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**3. H2 Sections with Link Lists**
|
|
35
|
+
Each section is an H2 heading followed by a list of links with descriptions:
|
|
36
|
+
```markdown
|
|
37
|
+
## Section Name
|
|
38
|
+
|
|
39
|
+
- [Page Title](https://domain.com/page): One-sentence description of what this page contains.
|
|
40
|
+
- [Another Page](https://domain.com/other): What an LLM will find here.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Recommended Sections (use only what exists on the site)
|
|
44
|
+
|
|
45
|
+
| Section | What to include |
|
|
46
|
+
|---------|----------------|
|
|
47
|
+
| `## Docs` | API reference, getting started, installation guides |
|
|
48
|
+
| `## API` | API endpoints, SDKs, developer reference |
|
|
49
|
+
| `## Blog` | Top 5-10 most relevant/recent blog posts |
|
|
50
|
+
| `## Examples` | Code examples, tutorials, demos |
|
|
51
|
+
| `## About` | Company, team, mission pages |
|
|
52
|
+
| `## Pricing` | Pricing page if public |
|
|
53
|
+
| `## Changelog` | Release notes, changelog |
|
|
54
|
+
|
|
55
|
+
### Link Description Format
|
|
56
|
+
|
|
57
|
+
Keep descriptions factual and information-dense. Write what an LLM would find there:
|
|
58
|
+
|
|
59
|
+
**Good:**
|
|
60
|
+
```markdown
|
|
61
|
+
- [API Authentication](https://api.example.com/docs/auth): How to obtain and use API keys, OAuth 2.0 flow, token refresh, and rate limit headers.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Bad:**
|
|
65
|
+
```markdown
|
|
66
|
+
- [API Authentication](https://api.example.com/docs/auth): Learn about our amazing auth system!
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## llms-full.txt (Optional)
|
|
72
|
+
|
|
73
|
+
A second file at `/llms-full.txt` that contains the FULL prose content of key pages — suitable for LLMs that want to ingest everything at once rather than follow links.
|
|
74
|
+
|
|
75
|
+
Format: same as `llms.txt` but with full page content pasted inline under each link, separated by `---`.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Validation Checklist
|
|
80
|
+
|
|
81
|
+
Before saving the output, check:
|
|
82
|
+
- [ ] File starts with an H1 (site/product name)
|
|
83
|
+
- [ ] Has at least one H2 section with links
|
|
84
|
+
- [ ] Every link description is factual (no marketing fluff)
|
|
85
|
+
- [ ] All URLs are absolute (https://...), not relative
|
|
86
|
+
- [ ] No broken links (verify URLs resolve during crawl)
|
|
87
|
+
- [ ] File is clean Markdown with no HTML tags
|
|
88
|
+
- [ ] Under 5,000 words (LLMs have context limits)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# llms.txt Output Template
|
|
2
|
+
|
|
3
|
+
Use this exact structure when generating the output. Fill in real content from the crawled site.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# [Site/Product Name]
|
|
11
|
+
|
|
12
|
+
> [1-3 sentence factual description of what this product/service does. Written for an AI agent.
|
|
13
|
+
> Include: what it is, who uses it, what problem it solves. No marketing language.]
|
|
14
|
+
|
|
15
|
+
## Docs
|
|
16
|
+
|
|
17
|
+
- [Getting Started](https://domain.com/docs/getting-started): [What an LLM finds here — setup steps, prerequisites, first integration]
|
|
18
|
+
- [API Reference](https://domain.com/docs/api): [Endpoints, parameters, request/response formats, auth headers]
|
|
19
|
+
- [Configuration](https://domain.com/docs/config): [All configuration options, environment variables, defaults]
|
|
20
|
+
|
|
21
|
+
## API
|
|
22
|
+
|
|
23
|
+
- [Authentication](https://domain.com/api/auth): [How to authenticate, API key format, OAuth if applicable]
|
|
24
|
+
- [Endpoints](https://domain.com/api/endpoints): [List of available endpoints, HTTP methods, rate limits]
|
|
25
|
+
- [SDKs](https://domain.com/docs/sdks): [Available SDKs, language support, installation commands]
|
|
26
|
+
|
|
27
|
+
## Blog
|
|
28
|
+
|
|
29
|
+
- [Post Title](https://domain.com/blog/post-slug): [What this post covers — topic, key insight, who it's for]
|
|
30
|
+
- [Post Title](https://domain.com/blog/post-slug): [What this post covers]
|
|
31
|
+
|
|
32
|
+
## Examples
|
|
33
|
+
|
|
34
|
+
- [Example Name](https://domain.com/examples/name): [What this example demonstrates, language/framework used]
|
|
35
|
+
|
|
36
|
+
## About
|
|
37
|
+
|
|
38
|
+
- [About](https://domain.com/about): [Company background, founding year, mission statement if factual]
|
|
39
|
+
- [Pricing](https://domain.com/pricing): [Pricing tiers, free tier details, enterprise option]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Rules for Filling This Template
|
|
45
|
+
|
|
46
|
+
1. **Only include sections that actually exist on the site.** Skip Docs if there are no docs. Skip API if no public API.
|
|
47
|
+
2. **Links must be real, verified URLs** from the crawl. Do not invent URLs.
|
|
48
|
+
3. **Descriptions must be factual** — describe what content is there, not what the company claims it does.
|
|
49
|
+
4. **Limit Blog section to top 5-10 posts** — most relevant or most recent. Do not list all posts.
|
|
50
|
+
5. **Keep total file under 5,000 words.**
|
|
51
|
+
6. **Do not include**: social media links, legal pages (ToS, Privacy) unless specifically relevant, redirect URLs, CDN asset URLs.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Example: OpenDirectory.dev
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
# OpenDirectory
|
|
59
|
+
|
|
60
|
+
> OpenDirectory.dev is a unified directory of open-source agent skills and automation pipelines designed for autonomous AI agents. It provides a curated collection of pre-built skills that developers can integrate into Claude Code, Gemini CLI, and other AI agent environments. Skills are configured once and run autonomously without ongoing intervention.
|
|
61
|
+
|
|
62
|
+
## Skills
|
|
63
|
+
|
|
64
|
+
- [Browse All Skills](https://opendirectory.dev/skills): Full directory of available agent skills, searchable by category (Agent, CLI, Content, SEO, Scraper, API).
|
|
65
|
+
- [cook-the-blog](https://github.com/Varnan-Tech/cook-the-blog): Autonomous pipeline that researches a company, generates cover images, writes MDX case studies, and pushes to a GitHub blog repository.
|
|
66
|
+
- [google-trends-api-skills](https://github.com/Varnan-Tech/google-trends-api-skills): SEO keyword research using Google Trends data via SerpApi for developer-focused blog content.
|
|
67
|
+
|
|
68
|
+
## Docs
|
|
69
|
+
|
|
70
|
+
- [Documentation](https://opendirectory.dev/docs): How to install and use skills with Claude Code, Gemini CLI, and GitHub Copilot.
|
|
71
|
+
- [Skill Specification](https://opendirectory.dev/docs/spec): The SKILL.md format specification — frontmatter fields, directory structure, compatibility.
|
|
72
|
+
|
|
73
|
+
## About
|
|
74
|
+
|
|
75
|
+
- [GitHub Repository](https://github.com/Varnan-Tech): Source code for all open-source skills.
|
|
76
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# GenZCareer
|
|
2
|
+
|
|
3
|
+
> GenZCareer (genzcareer.in) is an AI-powered career platform built for Gen Z job seekers — students, freshers, and early-career professionals. It provides tools to build ATS-optimized resumes, generate personalized cover letters, practice mock interviews with an AI voice interviewer, search job listings, and receive 24/7 AI career coaching. The platform combines AI content generation with job discovery and application tracking in a single workflow.
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
- [AI Resume Builder](https://www.genzcareer.in/resume-builder): Build professional, ATS-optimized resumes with AI assistance. Offers 6+ templates, real-time ATS feedback, and unlimited exports on paid plans. Designed for students and freshers entering the job market.
|
|
8
|
+
- [AI Cover Letter Generator](https://www.genzcareer.in/cover-letter): Generate personalized, ATS-optimized cover letters in minutes. Tailors each letter to the job description. Professional templates included.
|
|
9
|
+
- [ATS Resume Checker](https://www.genzcareer.in/ats-checker): Analyzes a resume against ATS (Applicant Tracking System) requirements. Identifies formatting issues, keyword gaps, and compatibility problems before submission.
|
|
10
|
+
- [AI Mock Interview](https://www.genzcareer.in/mock-interview): AI-powered voice interviewer that conducts practice job interviews. Provides real-time feedback and generates personalized questions based on the user's resume and target role. Covers technical, behavioral, and HR interview formats.
|
|
11
|
+
- [Job Search](https://www.genzcareer.in/find-job): Search thousands of job listings across industries. Covers internships, entry-level positions, and experienced roles matched to user skills and preferences.
|
|
12
|
+
- [AI Career Advice](https://www.genzcareer.in/career-advice): Personalized AI career coaching available 24/7. Covers resume optimization, interview preparation, salary negotiation, and career planning.
|
|
13
|
+
- [AI Portfolio Builder](https://www.genzcareer.in/portfolio-builder): Generates a developer portfolio in seconds by importing data from GitHub or an existing resume. No manual setup required.
|
|
14
|
+
- [Profile Image Generator](https://www.genzcareer.in/profile-image-generator): Generates professional profile photos suitable for LinkedIn and job applications.
|
|
15
|
+
- [Job Tracker](https://www.genzcareer.in/tracker): Tracks job applications — status, follow-ups, deadlines — in a centralized dashboard.
|
|
16
|
+
- [Recommended Jobs](https://www.genzcareer.in/recommended): AI-curated job recommendations matched to the user's profile, resume, and career goals.
|
|
17
|
+
|
|
18
|
+
## Blog
|
|
19
|
+
|
|
20
|
+
- [Gen Z Job Search Strategy 2025: Complete Playbook + Free Tracker](https://www.genzcareer.in/blog/2025-gen-z-job-search-funnel-playbook): Step-by-step job search funnel guide used by 847 graduates in 2025. Includes a free application tracker, resume templates, and proven strategies for students worldwide.
|
|
21
|
+
- [ATS Resume Guide for Freshers 2025](https://www.genzcareer.in/blog/ats-resume-for-freshers-2025): ATS resume writing guide for Indian freshers with 25 bullet point examples, a free resume template, CGPA formatting guidelines, and campus placement tips.
|
|
22
|
+
- [15 Free AI Certificates for Students Resume 2025](https://www.genzcareer.in/blog/15-free-ai-certificates-students-resume-2025): Curated list of 15 free AI certifications from Google, Microsoft, IBM, and AWS that students can add to their resume. Includes credential verification details.
|
|
23
|
+
|
|
24
|
+
## Pricing
|
|
25
|
+
|
|
26
|
+
- [Pricing](https://www.genzcareer.in/pricing): Three tiers — Free (20 AI credits/month, 3 resume exports, basic templates), Pro (200 AI credits/month, unlimited exports, 50 ATS analyses, all templates, priority support), Ultra Pro (unlimited everything, personal AI career coach, 1-on-1 consultations, expert resume review). 3-day free trial on all paid plans.
|
|
27
|
+
|
|
28
|
+
## About
|
|
29
|
+
|
|
30
|
+
- [About](https://www.genzcareer.in/about): Company mission — built by a founder who experienced the broken job search process firsthand. GenZCareer uses AI-driven matching, personalized tools, and structured career guidance to bridge the gap between qualified candidates and job opportunities.
|
|
31
|
+
- [Contact](https://www.genzcareer.in/contact): Contact page for support and inquiries.
|