Problem
The llmstxt-to-skill plugin uses domain names as skill names without indicating the skill contains documentation.
Example:
- Input:
https://docs.openclaw.ai/llms.txt
- Expected:
openclaw-docs
- Actual:
openclaw ❌
Impact
1. Misleading Names
Users can't distinguish between:
- Skills with domain expertise/operational knowledge
- Skills with reference documentation
2. Ambiguity
Skill name "openclaw" could mean:
- OpenClaw service integration
- OpenClaw-specific commands
- Operational knowledge
But actually contains:
- Downloaded documentation files
- Static reference materials
3. Naming Inconsistency
Documentation skills should follow clear patterns:
- ✅
openclaw-docs - Obviously documentation
- ✅
react-docs - Clear reference material
- ❌
openclaw - Ambiguous
- ❌
react - Conflicts with project name
Root Cause
Current logic:
https://docs.openclaw.ai/llms.txt
↓ Parse domain
docs.openclaw.ai
↓ Extract name
openclaw
↓ Use as skill name
"openclaw" ❌
Should be:
https://docs.openclaw.ai/llms.txt
↓ Parse domain
docs.openclaw.ai
↓ Detect "docs" subdomain
Documentation site: true
↓ Extract name + suffix
"openclaw-docs" ✅
Proposed Solution
Option 1: Auto-detect Documentation Sites (Recommended)
Automatically append -docs suffix when detecting:
Detection criteria:
- Subdomain:
docs, documentation, developer, dev-docs
- Domain:
docs., .readthedocs.io, .github.io/docs
- Path:
/docs/, /documentation/, /reference/
Examples:
https://docs.openclaw.ai/llms.txt → openclaw-docs
https://docs.stripe.com/llms.txt → stripe-docs
https://developer.github.com/llms.txt → github-docs
https://react.dev/llms.txt → react-docs
https://python.readthedocs.io/llms.txt → python-docs
Implementation pseudocode:
function generateSkillName(llmsTxtUrl: string): string {
const url = new URL(llmsTxtUrl);
const hostname = url.hostname;
const pathname = url.pathname;
// Extract base name
const baseName = extractBaseName(hostname); // "openclaw" from "docs.openclaw.ai"
// Check if this is a documentation site
const isDocsSite =
// Subdomain patterns
hostname.startsWith('docs.') ||
hostname.startsWith('documentation.') ||
hostname.startsWith('developer.') ||
hostname.startsWith('dev-docs.') ||
// Domain patterns
hostname.includes('.readthedocs.io') ||
hostname.includes('.github.io') ||
// Path patterns
pathname.includes('/docs/') ||
pathname.includes('/documentation/') ||
pathname.includes('/reference/');
return isDocsSite ? `${baseName}-docs` : baseName;
}
Option 2: Prompt User
During creation, suggest -docs suffix with explanation.
Option 3: Always Add Suffix
All llms.txt files are documentation by definition, so always add -docs.
Test Cases
| Input URL |
Expected Name |
Notes |
https://docs.openclaw.ai/llms.txt |
openclaw-docs |
Standard docs subdomain |
https://docs.stripe.com/llms.txt |
stripe-docs |
Standard docs subdomain |
https://developer.github.com/llms.txt |
github-docs |
Developer portal |
https://react.dev/docs/llms.txt |
react-docs |
Path contains /docs/ |
https://python.readthedocs.io/llms.txt |
python-docs |
ReadTheDocs pattern |
Workaround (Current)
# After skill creation
mv .claude/skills/openclaw .claude/skills/openclaw-docs
# Update references
find .claude/skills/openclaw-docs -type f -exec sed -i '' 's/openclaw/openclaw-docs/g' {} +
Environment
- Plugin: llmstxt v1.0.0
- Discovered: 2026-02-01
- Real-world case: OpenClaw docs skill
Recommendation
Implement Option 1 (auto-detect) - most accurate, no user friction, extensible.
Problem
The
llmstxt-to-skillplugin uses domain names as skill names without indicating the skill contains documentation.Example:
https://docs.openclaw.ai/llms.txtopenclaw-docsopenclaw❌Impact
1. Misleading Names
Users can't distinguish between:
2. Ambiguity
Skill name "openclaw" could mean:
But actually contains:
3. Naming Inconsistency
Documentation skills should follow clear patterns:
openclaw-docs- Obviously documentationreact-docs- Clear reference materialopenclaw- Ambiguousreact- Conflicts with project nameRoot Cause
Current logic:
Should be:
Proposed Solution
Option 1: Auto-detect Documentation Sites (Recommended)
Automatically append
-docssuffix when detecting:Detection criteria:
docs,documentation,developer,dev-docsdocs.,.readthedocs.io,.github.io/docs/docs/,/documentation/,/reference/Examples:
Implementation pseudocode:
Option 2: Prompt User
During creation, suggest
-docssuffix with explanation.Option 3: Always Add Suffix
All llms.txt files are documentation by definition, so always add
-docs.Test Cases
https://docs.openclaw.ai/llms.txtopenclaw-docshttps://docs.stripe.com/llms.txtstripe-docshttps://developer.github.com/llms.txtgithub-docshttps://react.dev/docs/llms.txtreact-docshttps://python.readthedocs.io/llms.txtpython-docsWorkaround (Current)
Environment
Recommendation
Implement Option 1 (auto-detect) - most accurate, no user friction, extensible.