--- name: Backlink Submission (Non-Blog) description: Automate backlink submission for directories, forums, and other non-blog resources using AI and browser automation version: 1.1.0 author: MyBacklinks triggers: - submit backlinks - submit directory backlinks - submit forum backlinks - batch submit non-blog backlinks - automate backlink outreach dependencies: - mybacklinks - chrome-dev-tools --- # Backlink Submission Skill (Non-Blog) 自动化外链提交技能,**专门处理非博客类型**的外链资源(目录站、论坛、社交平台等)。 > **📝 博客外链请使用 [blog-commenter-skill](../blog-commenter-skill/)** - 它有专门的脚本支持 WordPress、Ghost、Disqus 等博客平台。 ## 适用范围 | 类型 | 本技能支持 | 说明 | |------|-----------|------| | `directory` | ✅ | 目录站、产品目录、工具列表 | | `forum` | ✅ | 论坛、社区、问答平台 | | `social` | ✅ | 社交媒体、Profile 页面 | | `other` | ✅ | 其他类型资源 | | `blog` | ❌ | **请使用 blog-commenter-skill** | ## Trigger Conditions This Skill activates when users request: - "Submit directory backlinks" - "Submit forum backlinks" - "Batch submit non-blog backlinks to [project name]" - "Automate directory listing submission" ## Required Tools | MCP Tool | Purpose | |----------|---------| | `mybacklinks` | Fetch projects, backlink resources, and record submission results | | `chrome-dev-tools` | Browser automation for form filling and submission | ## Execution Workflow ### Phase 1: Fetch Project Information 1. Call `listProjects` to retrieve all projects from MyBacklinks.app 2. Display project list for user selection 3. Call `getProjectDetail` to fetch: - Project name - Project description - Project domain - Project URL **Example Output:** ``` Project: MyBacklinks URL: https://mybacklinks.app Description: Backlink management platform for indie hackers ``` ### Phase 2: Retrieve Available Resources 1. Call `discoverBacklinkOpportunities` to get backlink resources: ```json { "projectId": "", "filter": { "payment": "free", "types": ["directory", "forum", "social", "other"] }, "limit": 50 } ``` 2. Filter criteria: - `paymentType = "free"` (free resources only) - `type != "blog"` (exclude blog type - use blog-commenter-skill instead) - Prefer resources with `howToSubmit` field populated 3. Display resource list for confirmation: ``` Found X submittable non-blog backlink resources: 1. example-directory.com (DR: 45) - directory 2. startup-forum.com (DR: 38) - forum 3. social-profile.com (DR: 52) - social ... Proceed with submission? (Blog resources excluded - use blog-commenter-skill) ``` ### Phase 3: Execute Submissions For each resource: #### 3.1 Load Chrome DevTools ```bash openskills read chrome-devtools ``` #### 3.2 Parse howToSubmit Read the resource's `howToSubmit` field (Markdown format) to understand submission steps. **howToSubmit Example:** ```markdown ## Submission Method 1. Navigate to https://example.com/submit 2. Login with Google account 3. Fill out the form: - **Website Name**: Enter your website name - **URL**: Enter your project URL - **Description**: Write a 50-100 word English description - **Category**: Select "Tools" or "SaaS" 4. Click the "Submit" button 5. Wait for email confirmation (typically 1-3 days) ## Important Notes - Chinese content not accepted - Each account limited to 3 website submissions ``` #### 3.3 Generate Submission Content | Field | Generation Rule | |-------|-----------------| | **Website Name** | Project name | | **URL** | Project URL | | **Description** | Generate 50-100 word description based on project info | | **Anchor Text** | Brand name, keyword, or URL | **Anchor Text Strategy:** - **Brand Anchor**: Project name (e.g., "MyBacklinks") - **URL Anchor**: Domain (e.g., "mybacklinks.app") - **Keyword Anchor**: Core keywords (e.g., "backlink management") - **Mixed Anchor**: "Name - Feature" (e.g., "MyBacklinks - SEO Tool") #### 3.4 Browser Automation Use `chrome-dev-tools` MCP: 1. **Navigate**: Open submission URL 2. **Screenshot**: Save initial page state 3. **Login** (if required): - Prefer Google OAuth (if already logged in) - Or use `cc@{domain}` / `12345678` - If login fails, skip and mark as `login_required` 4. **Fill Form**: Complete form per howToSubmit instructions 5. **Submit**: Click submit button 6. **Verify**: Check for success confirmation 7. **Screenshot**: Save final state **Example Execution:** ``` → Navigate to https://example-directory.com/submit → Wait for page load → Screenshot: /tmp/before-submit.png → Login with Google OAuth → Fill "Website Name": MyBacklinks → Fill "URL": https://mybacklinks.app → Fill "Description": [generated description] → Select "Category": Tools → Click "Submit" button → Verify: Success message detected → Screenshot: /tmp/after-submit.png ``` #### 3.5 Record Results Call `upsertProjectBacklink` to record results: ```json { "projectId": "", "resourceId": "", "targetUrl": "", "backlinkUrl": "", "anchor": "", "status": "submitted", "notes": "Auto-submitted via backlink-submission-skill at 2024-01-15" } ``` #### 3.6 Update howToSubmit (if needed) For successful first-time submissions, or when better instructions are discovered, call `updateBacklinkResource`: ``` Update resource {resourceId}: - howToSubmit: | ## How to Submit on {resourceDomain} 1. Visit {submissionUrl} 2. {Login instructions} 3. Fill form: {Form fields} 4. Click submit **Notes:** {Special requirements} ``` ### Phase 4: Summary Report ```markdown ## Non-Blog Backlink Submission Report **Project**: MyBacklinks **Time**: 2024-01-15 10:30 **Skill**: backlink-submission-skill ### Statistics - ✅ Successfully Submitted: 8 - ⏳ Pending Review: 3 - ❌ Failed: 1 - ⏭️ Skipped: 2 (login required) ### Details | Resource | Type | Status | Notes | |----------|------|--------|-------| | example-directory.com | directory | ✅ Submitted | Awaiting confirmation | | startup-forum.com | forum | ✅ Submitted | - | | paid-directory.com | directory | ⏭️ Skipped | Paid resource | ### Next Steps 1. Check inbox for confirmation emails 2. Check indexing status after 3 days 3. Consider using blog-commenter-skill for blog resources ``` ## Error Handling | Error Type | Handling | |------------|----------| | Page load failure | Retry 3 times, skip if still failing | | Login required (no creds) | Skip, mark as "requires manual handling" | | Form submission failed | Save screenshot, mark status=pending | | Paid resource | Skip, only process free resources | | CAPTCHA | Skip, prompt user for manual handling | | Blog resource detected | Skip, suggest using blog-commenter-skill | ## howToSubmit Format ```markdown ## Submission Method 1. Navigate to [Submission URL] 2. [Login requirements - Google OAuth / email / none] 3. Fill out the form: - **Field Name**: Instructions - ... 4. [Submit button instructions] 5. [Post-submission steps] ## Important Notes - [Restrictions] - [Special requirements] ``` ## Related Skills | Skill | Purpose | Resource Types | |-------|---------|----------------| | **blog-commenter-skill** | Automated blog comment posting | `blog` | | **backlink-submission-skill** (this) | AI + browser automation | `directory`, `forum`, `social`, `other` | ## Usage Example **User Request:** ``` Help me submit directory and forum backlinks for my project ``` **AI Execution:** 1. Fetch project info from MyBacklinks.app 2. Query available free non-blog backlink resources 3. Display list and request confirmation 4. Load chrome-devtools skill 5. Execute submissions following howToSubmit instructions 6. Generate summary report ## Security Notes - Only operates through user-authorized MCP tools - No sensitive information stored externally - All operations traceable in MyBacklinks.app - Default credentials: `cc@{domain}` / `12345678`