Commit Graph

46 Commits

Author SHA1 Message Date
Yilin 57b338c91f feat(website): Complete SEO/GEO Phase 1, 2 & 3 optimizations (#28)
* feat(website): Implement SEO/GEO Phase 2 meta tag optimizations

- Optimize homepage title from 71 to 60 chars for better SERP display
- Optimize homepage description from 194 to 155 chars (Google recommended)
- Optimize blog page description from 127 to 155 chars with more details
- Update OG descriptions to match new meta tags
- Maintain brand consistency across all meta tags

Expected impact: +5% click-through rate from search results

* feat(website): Add OG tags and JSON-LD schema to compare page (Phase 1)

- Add comprehensive Open Graph meta tags for better social sharing
- Add Twitter Card tags for improved preview on Twitter/X
- Add JSON-LD WebPage schema with Table mainEntity
- Add SpeakableSpecification for voice search optimization
- Improves social media visibility and AI search citations

* feat(website): Add authority citations and HowTo schema (Phase 3)

- Add Princeton NLP and AgentSkills.io citations to seo-geo FAQ answer
- Add HowTo schema with 3-step installation guide (PT30S)
- BreadcrumbList schema confirmed present in skill pages
- Improves AI search engine trust and featured snippet eligibility
2026-01-28 18:49:03 +08:00
Yilin 5a84819756 fix(blog): reduce OG image thumbnail size on blog list (#24)
Limit OG image height to 200px on blog list page:
- Set max-height on image container
- Use object-fit: cover for consistent sizing
- Center crop images with object-position
- Prevents images from dominating the card

Images now act as proper thumbnails instead of full-size banners.
2026-01-27 01:00:04 +08:00
Yilin 7b975fd81f feat(blog): add OG image thumbnails to blog list page (#23)
Display custom OG images as thumbnails on /blog page:
- Show OG image at top of each blog card
- Add hover effect on images (opacity transition)
- Responsive layout with proper spacing
- Images are clickable links to blog posts

Improves visual appeal and helps users identify content quickly.
2026-01-27 00:49:27 +08:00
Yilin 4fb091758c fix(website): improve API key info alignment on skill detail page (#17) 2026-01-23 20:16:43 +08:00
Yilin 80eb9362d2 fix(website): display skill dependencies and API keys with clickable URLs (#16)
* fix(website): display skill dependencies by handling object format in skills.json (#15)

* feat(website): upgrade auth structure with keys array and display dependency API keys
2026-01-23 19:41:03 +08:00
Yilin 6f1d65ca40 feat(blog): add FAQPage schema and dateModified for GEO optimization (#14)
* feat(website): display skill installation counts from skills.sh (#13)

- Add scripts/fetch-install-stats.py to scrape install counts
- Add GitHub Action to run daily and update install-stats.json
- Update worker.js to show install count badges on skill cards and detail pages
- Generate initial install-stats.json

Closes #12

* feat(blog): add FAQPage schema and dateModified for GEO optimization

- Add FAQ items to blog posts 2 & 3 (domain-hunting, what-is-opc)
- Add dateModified field to all blog posts for freshness signals
- Add additional citations to improve AI search visibility
2026-01-23 18:46:04 +08:00
Yilin Jing 641a84558a feat(blog): add blog system with first post, navbar integration, and SEO/GEO optimization 2026-01-21 18:51:09 +08:00
Yilin Jing 05fa9e5ab0 feat(geo): add llms.txt, /compare page, expand FAQs to 30+ 2026-01-21 18:18:44 +08:00
Yilin Jing f7c2f93df5 fix(schema): remove duplicate FAQPage microdata, keep only JSON-LD 2026-01-21 18:05:17 +08:00
Yilin Jing ef28ba9ff9 fix: correct speakable CSS selectors in schema markup 2026-01-21 17:52:07 +08:00
Yilin Jing 1253ce4c13 feat: add animated logo scroller showcasing 9 supported AI platforms with gradient effects and hover pause 2026-01-21 16:22:08 +08:00
Yilin Jing afd7b60e07 feat: update hero section with compatibility note and adjust styling 2026-01-21 13:39:04 +08:00
Yilin Jing c378cd4313 feat: optimize skill page install section with copy button 2026-01-21 13:12:55 +08:00
Yilin Jing 67598c6184 feat: show dependencies in main install command
- Change install command to include all dependencies directly
- Simplify note to just mention what's required
- Makes it clearer that dependencies are auto-included in the command
2026-01-21 12:56:19 +08:00
Yilin Jing 6d1728cce0 fix: add back opc-banner image to hero section 2026-01-21 12:50:50 +08:00
Yilin Jing 1347a447dc refactor: remove install.sh script and update installation instructions 2026-01-21 12:48:33 +08:00
Yilin Jing a63ff1e1fd feat(seo): enhance robots.txt and FAQ content for AI agent skills 2026-01-21 02:48:31 +08:00
Yilin Jing eae0d96cf1 feat(seo): optimize with solopreneur + Claude Code combined strategy
- Title: Claude Code Skills for Solopreneurs | AI Tools for One-Person Companies
- H1: Claude Code Skills for Solopreneurs (preserves brand uniqueness)
- Description: Claude Code skills FOR solopreneurs (target audience + SEO keyword)
- FAQ: 'What are Claude Code skills for solopreneurs?' (long-tail, low competition)

Strategy: Combine high-volume keyword 'Claude Code skills' (1,000/mo) with
unique positioning 'for solopreneurs' (near-zero competition) to capture both
search traffic AND brand differentiation.

Benefits:
- SEO: 'Claude Code skills' at front of title (Google priority)
- Brand: Solopreneur/indie hacker positioning maintained
- Conversion: Clear target audience (one-person companies)
- Competition: Unique angle vs generic 'developer tools'
2026-01-21 02:40:45 +08:00
Yilin Jing f597593da6 feat(seo): optimize for Claude Code keywords, add 3 new FAQs
- Change title: Claude Code Skills & Extensions | 10+ AI Agent Tools
- Update H1: Claude Code Skills & Extensions (from solopreneur focus)
- Update meta description with Claude Code focus (1,000/mo vs 30/mo search volume)
- Add 3 new FAQs targeting high-search queries:
  * What are Claude Code skills?
  * How do I install Claude Code extensions?
  * Are these skills compatible with Cursor AI?
- Update og:tags and twitter cards with new messaging
- Optimize for developer audience vs solopreneur (33x search volume difference)

Based on DataForSEO keyword research showing 'Claude Code skills' has 1,000/mo
searches vs 'solopreneur tools' 30/mo.
2026-01-21 02:37:11 +08:00
Yilin Jing a62e2ffa51 feat(seo-geo): add Python scripts, fix audit detection, update robots.txt for AI bots 2026-01-21 01:41:21 +08:00
Yilin Jing 42626e83ae feat(seo): optimize for English market with solopreneur/indie hacker keywords, visible FAQ section, and stats bar 2026-01-20 18:08:26 +08:00
Yilin Jing 2c8c555bb2 feat(seo): add GEO optimizations with FAQPage schema, speakable markup, and enhanced structured data for +40% AI visibility 2026-01-20 17:32:32 +08:00
Yilin Jing cf3996655a fix: remove localhost fallback and hardcoded example content for production deployment 2026-01-20 17:01:52 +08:00
Yilin Jing 1f00074f13 feat(seo): add JSON-LD structured data, meta tags, image optimizations, and enhance sitemap 2026-01-19 22:04:27 +08:00
Yilin Jing de0c902d77 feat: add opc.dev/install.sh short URL for easier installation 2026-01-19 21:57:38 +08:00
Yilin Jing 0c0d905724 feat: add OG 2026-01-19 21:50:04 +08:00
Yilin Jing 776a4ba9e9 fix: add width:100% to .hero-install for proper centering on narrow screens 2026-01-19 19:05:32 +08:00
Yilin Jing 7b0d68da8d Add custom pixel art logos for all 8 skills 2026-01-19 18:49:02 +08:00
Yilin Jing c5d52376de Invalidate old cache with new cache key 2026-01-19 16:29:38 +08:00
Yilin Jing 28221b4121 Reduce skills.json cache to 60 seconds 2026-01-19 16:22:33 +08:00
Yilin Jing 14b451b15a Disable user-level for Cursor (project-only) 2026-01-19 15:38:30 +08:00
Yilin Jing 71354b0269 Redesign hero section with tool and level selectors
- Remove '6 SKILLS' badge
- Add level selector (User-level / Project-level)
- Add tool selector (Claude / Droid / OpenCode / Codex / Cursor)
- Dynamic install command based on selections
- Project-level adds -p flag to install command
2026-01-19 15:35:02 +08:00
Yilin Jing 3f4a38b6aa Add opc.dev banner to README and website 2026-01-19 15:14:55 +08:00
Yilin Jing 7a078a8853 Add favicon from cropped SVG logo 2026-01-19 14:34:43 +08:00
Yilin Jing 2fb330ba9b Add logo-creator skill and update website logo
- Add logo-creator skill with complete workflow:
  - Discovery: style, ratio, colors, references
  - Generate: 20 variations with nano-banana-pro
  - Preview: interactive HTML gallery
  - Iterate: refine based on user feedback
  - Finalize: crop, remove bg, vectorize to SVG
- Include scripts: crop_logo.py, remove_bg.py, vectorize.py
- Add style reference guide and example conversation
- Update website to use new OPC crowned person logo (logo-09.svg)
- Update skills.json with logo-creator skill entry
2026-01-18 09:51:39 +08:00
Yilin Jing e7fac5cf99 website match mobile 2026-01-17 20:13:45 +08:00
Yilin Jing 8712d2caca Improve mobile responsiveness for opc.dev 2026-01-17 18:17:37 +08:00
Yilin Jing c3d267ad4f Add domain-hunter example and display on website 2026-01-17 17:46:41 +08:00
Yilin Jing fb199e3f9c Add requesthunt skill for user demand research
- Add requesthunt skill with 5 Python scripts for RequestHunt API
- Scripts: list_requests, search_requests, get_topics, get_usage, scrape_topic
- Update install.sh to include requesthunt in available skills
- Update skills.json and worker.js fallback with requesthunt entry
- API base: https://requesthunt.com, requires REQUESTHUNT_API_KEY
2026-01-17 17:08:16 +08:00
Yilin Jing bcf88a1824 Fix fallback config structure and add API key detection
- Update getFallbackConfig() to use user/project nested install structure
- Add missing producthunt skill and dependencies field to fallback
- Add opencode and codex platforms to fallback config
- Add API key detection: show 'already configured' if env var is set
- Update Next steps to only show config prompt when keys are missing
2026-01-17 16:34:57 +08:00
Yilin Jing 9927e0a3a7 Move Free/API Key badge to header, reorder skills
- Move auth badge next to GitHub icon in card header
- Put domain-hunter as first skill
- Add resciencelab-logo.svg
- Update .gitignore for node_modules and .wrangler
2026-01-17 16:05:04 +08:00
Yilin Jing 9bcd0981b3 Improve install UI: platform selector tabs
Instead of showing all platforms at once, now uses:
- Level tabs: User-level / Project-level
- Platform tabs: Claude / Droid / OpenCode / Codex / Cursor

Shows single install command based on selection, cleaner UI
2026-01-17 15:32:31 +08:00
Yilin Jing 8d4dc4236b Add OpenCode and Codex support
Based on research:
- OpenCode: ~/.config/opencode/skills (user) / .opencode/skills (project)
- Codex: ~/.codex/skills (user) / .codex/skills (project)

Updated:
- install.sh: OpenCode/Codex directories, help notes about codex --enable skills
- skills.json: Added opencode/codex install commands for all skills
- website: Show OpenCode/Codex in both user and project tabs
2026-01-17 15:29:03 +08:00
Yilin Jing ce56112b76 Add user-level vs project-level install support
- User-level: ~/.claude/skills - available across ALL your projects
- Project-level: .claude/skills - shared with team in current repo

Updated:
- install.sh: Better docs, clear distinction between levels
- skills.json: Separate install commands for user/project levels
- website: Tab UI to switch between user/project install commands
2026-01-17 15:20:50 +08:00
Yilin Jing 16ac3f4761 Add skill dependencies support
- skills.json: Added 'dependencies' field for each skill
- domain-hunter depends on twitter and reddit skills
- install.sh: Auto-installs dependencies (use --no-deps to skip)
- website: Shows dependency info on skill cards
2026-01-17 15:14:38 +08:00
Yilin Jing 57408463cd Add skills.json config and website
- skills.json: Centralized config with metadata, auth, install commands
- website/: Cloudflare Worker for opc.dev landing page
- Reads skills from skills.json with GitHub API caching
- Removed MCP servers, focused on OPC skills only
2026-01-17 15:06:27 +08:00