Skip to content

Auto-Population User Guide

This guide explains how to use SkillMeat's auto-population feature to automatically fetch and populate artifact metadata from GitHub.

Table of Contents

What is Auto-Population

Auto-population is a feature that automatically fetches metadata from GitHub repositories to populate artifact information. When you provide a GitHub URL or source specification, SkillMeat:

  1. Parses the URL - Extracts owner, repository, and path information
  2. Queries GitHub API - Fetches repository and artifact metadata
  3. Extracts metadata - Gets title, description, author, license, and topics
  4. Populates fields - Automatically fills in artifact information

This saves time by eliminating manual data entry and ensuring accurate, up-to-date information.

Benefits

  • Automatic metadata - No manual typing of descriptions and tags
  • Always current - Fetches latest information from GitHub
  • Less errors - Reduces typos and incomplete information
  • Faster importing - Complete artifacts with single URL

Supported Sources

Primary Source: GitHub

GitHub is the primary supported source for auto-population. Both public and private repositories are supported (if you provide authentication).

URL Format Support

The auto-population feature supports multiple GitHub URL formats:

The shortest and simplest format:

user/repo/path/to/artifact

Examples:

  • anthropics/skills/canvas-design
  • my-org/my-repo/skills/pdf-tool
  • github-user/ai-agents/my-agent

Versioned Short Format

Specify a version using the @ symbol:

user/repo/path/to/artifact@version

Examples:

  • anthropics/skills/canvas-design@latest - Latest release
  • anthropics/skills/canvas-design@v1.0.0 - Specific tag
  • anthropics/skills/canvas-design@abc1234 - Specific commit SHA
  • anthropics/skills/canvas-design@main - Specific branch

Full HTTPS URLs

Use complete GitHub URLs:

https://github.com/user/repo/tree/branch/path/to/artifact

Examples:

  • https://github.com/anthropics/skills/tree/main/canvas-design
  • https://github.com/my-org/my-repo/tree/develop/agents/my-agent
  • https://github.com/user/repo/tree/v1.0.0/commands/my-command

Mixed Format

GitHub URLs can also include version specification:

https://github.com/user/repo/tree/v1.0.0/path

Private Repositories

To use auto-population with private repositories:

  1. Configure GitHub Token

    skillmeat config set github-token your_personal_access_token
    

  2. Create Token

  3. Go to GitHub Settings > Developer settings > Personal access tokens
  4. Create token with repo scope (includes private repository access)
  5. Copy token and configure in SkillMeat

  6. Benefits

  7. Access to private repositories
  8. Higher API rate limits (5000 requests/hour vs 60/hour)
  9. Required for organization repositories

Providing GitHub URLs

Adding Artifacts with GitHub URLs

  1. Open Import Dialog
  2. Click "Add Artifact" or "Import" in SkillMeat web interface
  3. Select "From GitHub" option

  4. Paste GitHub URL

  5. Use any supported URL format (short or full)
  6. Examples:

    anthropics/skills/canvas-design@latest
    https://github.com/anthropics/skills/tree/main/canvas-design
    my-org/my-repo/skills/my-skill
    

  7. Click Fetch Metadata

  8. System queries GitHub API
  9. Extracts available metadata
  10. Populates form fields automatically

  11. Review Populated Fields

  12. Check auto-populated information
  13. Edit if needed
  14. Confirm and import

Batch Import with URLs

For bulk importing multiple artifacts:

  1. Prepare URL List

    anthropics/skills/canvas-design@latest
    anthropics/skills/pdf@v2.1.0
    my-org/my-repo/agents/research
    user/repo/commands/cli-tool@abc1234
    

  2. Add to Bulk Import

  3. Enter URLs in bulk import dialog
  4. System fetches metadata for all in parallel

  5. Review and Confirm

  6. Check all populated metadata
  7. Edit if needed
  8. Import all artifacts

Metadata Auto-Population

What Gets Auto-Populated

When you provide a GitHub URL, the system fetches and populates:

Field Source Example
Title Repository name or artifact frontmatter "Canvas Design Skill"
Description Repository description or frontmatter "Create beautiful visual art..."
Author Repository owner or artifact frontmatter "Anthropic"
License Repository license (SPDX identifier) "MIT"
Topics Repository topics/tags ["design", "canvas", "art"]
URL GitHub artifact location "https://github.com/.../tree/main/..."

Metadata Extraction Process

The system follows this process:

  1. Parse URL - Extracts GitHub owner, repo, path, and branch
  2. Validate Repository - Checks that repository exists and is accessible
  3. Fetch Repository Metadata - Gets topics, license, owner info
  4. Find Artifact Metadata File - Looks for SKILL.md, COMMAND.md, etc.
  5. Extract Frontmatter - Parses YAML from markdown file if found
  6. Merge Metadata - Combines repository and artifact metadata
  7. Return Results - Provides complete metadata to user

Metadata Priority

When both repository and artifact metadata are available:

  1. Artifact frontmatter takes priority - Most specific metadata
  2. Repository metadata as fallback - General information if artifact data missing
  3. Field-level precedence - Some fields prefer artifact (description), others repository (license)

Example:

GitHub URL: anthropics/skills/canvas-design

Repository Level:
- License: MIT
- Description: "Various Anthropic skills"
- Topics: [skills, ai, ml]

Artifact Level (SKILL.md frontmatter):
- Description: "Create beautiful visual art..."
- Author: "Anthropic AI Team"

Result Auto-Populated:
- Description: "Create beautiful visual art..." (from artifact)
- Author: "Anthropic AI Team" (from artifact)
- License: "MIT" (from repository)
- Topics: ["skills", "ai", "ml"] (from repository)

Fallback Behavior

If metadata fetch fails or is incomplete:

  • Partial data available - Fields with data are populated, others left empty
  • URL provided - You can always add missing information manually
  • No fetch - If fetch fails completely, you can edit all fields manually

Editing Auto-Populated Fields

When Auto-Populated Data Needs Editing

Auto-populated data can be edited:

  1. After fetching - Before confirming import
  2. During bulk import - Edit individual artifacts in the modal
  3. After import - Edit imported artifacts in collection

How to Edit Fields

Before Import

  1. Auto-population fetches data
  2. Review populated fields
  3. Click "Edit" or directly modify fields
  4. Changes apply only to this import
  5. Proceed with import

Example Edits

Fix incomplete description:

# Auto-populated (too generic)
Description: "Anthropic tools"

# Edit to be specific
Description: "Create and edit visual designs in PDF and PNG formats with AI"

Add missing tags:

# Auto-populated (missing tags)
Tags: []

# Add meaningful tags
Tags: [design, visual, pdf, png, art]

Correct author information:

# Auto-populated
Author: "Anthropic"

# More specific
Author: "Anthropic AI Team"

Update artifact name:

# Auto-populated from path
Name: "canvas-design"

# Change to preference
Name: "canvas"  # shorter alias

Manual Edits After Import

After importing, you can still edit artifact metadata:

  1. Navigate to artifact in collection
  2. Click edit or settings
  3. Modify any field:
  4. Name, description, tags
  5. Source, version, scope
  6. Author, license
  7. Save changes
  8. Changes persist in collection

Handling Fetch Failures

Metadata Fetch Failure

Symptom: "Failed to fetch metadata from GitHub"

Common Causes:

  1. Invalid URL format
  2. URL doesn't match expected format
  3. Repository doesn't exist
  4. Typo in owner/repo/path

  5. Network issues

  6. GitHub API unreachable
  7. Firewall/proxy blocking requests
  8. Connection timeout

  9. Access denied

  10. Private repository without token
  11. Repository is deleted or archived
  12. Insufficient permissions

  13. Rate limiting

  14. Too many API requests
  15. GitHub rate limit exceeded
  16. Need to add authentication token

Solutions for Fetch Failures

Fix URL Format

# Wrong - typo in owner
 antropics/skills/canvas-design

# Correct
 anthropics/skills/canvas-design

# Wrong - missing version
 user/repo/path/to/artifact@

# Correct
 user/repo/path/to/artifact@latest
 user/repo/path/to/artifact  # version optional

Add Authentication

# Generate GitHub token at:
# https://github.com/settings/tokens

# Configure in SkillMeat
skillmeat config set github-token ghp_xxxxxxxxxxxx

# Verify configuration
skillmeat config show

Check GitHub API Status

# Check if GitHub is accessible
curl -i https://api.github.com

# If you see rate limit, add token or wait for reset
# Reset happens on the hour UTC

Manual Fallback

If auto-fetch fails:

  1. Manually populate fields
  2. Visit GitHub repository page
  3. Copy description and other info
  4. Paste into form fields

  5. Keep the URL

  6. Still useful for tracking source
  7. Can retry fetch later

  8. Complete metadata

  9. Ensure required fields have values
  10. Add tags and description manually

Partial Metadata

Symptom: Some fields populated, others empty

Causes:

  1. No frontmatter in artifact - Repository metadata only available
  2. Incomplete repository data - Missing description or topics
  3. Artifact file not found - Couldn't locate metadata file

Solutions:

  1. Add frontmatter to artifact - Create or update SKILL.md, etc.
  2. Complete repository metadata - Add description and topics on GitHub
  3. Manually fill fields - Edit empty fields before importing

Troubleshooting

"Invalid URL format" Error

Problem: URL is rejected as invalid

Causes and Solutions:

  1. Wrong separator
  2. Use / to separate components, not @ for paths
  3. Example: user/repo/path/to/skill@v1.0.0
  4. Not: user@repo@path@skill

  5. Missing required parts

  6. Must have at least: owner/repo/path
  7. Example: anthropics/skills/canvas-design
  8. Not: anthropics/canvas-design

  9. Invalid version format

  10. Use @ before version only
  11. Example: user/repo/path@v1.0.0
  12. Not: user/repo/v1.0.0/path

Resolution:

# Correct format
user/repo/path/to/artifact[@version]

# Valid examples
anthropics/skills/canvas-design
anthropics/skills/canvas-design@latest
anthropics/skills/canvas-design@v2.1.0
user/repo/agents/research-agent@abc1234

"Repository not found" Error

Problem: GitHub returns 404 for the URL

Causes and Solutions:

  1. Typo in owner or repo
  2. Double-check spelling
  3. Case-sensitive on Linux/Mac

  4. Repository deleted or private

  5. Verify repository exists and is public
  6. Or configure token for private access

  7. Path doesn't exist

  8. Artifact may be in different location
  9. Check repository structure on GitHub

Resolution Steps:

# Visit GitHub to verify
open https://github.com/user/repo

# Check path exists
open https://github.com/user/repo/tree/main/path/to/artifact

# Verify you have access
# (private repos need token)

Rate Limit Exceeded

Problem: "API rate limit exceeded"

Causes and Solutions:

  1. Too many requests without token
  2. Unauthenticated limit: 60 requests/hour
  3. Add GitHub token for 5000 requests/hour

  4. Token expired or invalid

  5. Generate new token if old one expired
  6. Check token has repo scope

  7. Multiple users sharing rate limit

  8. Rate limit is per IP address
  9. Consider shared token or individual tokens

Resolution:

# Generate new token at
# https://github.com/settings/tokens
# Select "repo" scope (full control of private repos)

# Configure token
skillmeat config set github-token ghp_xxxxxxxxxxxx

# Retry the operation
# Rate limit resets on the hour UTC

Empty or Incomplete Metadata

Problem: Some fields are populated but others are empty

Causes and Solutions:

  1. No SKILL.md/COMMAND.md in artifact
  2. Repository metadata only, no artifact-specific data
  3. Add frontmatter to artifact metadata file

  4. Repository has no description

  5. Add description on GitHub repository page
  6. Go to Settings > Repository details

  7. No topics/tags defined

  8. Add topics on GitHub repository page
  9. Click "Add topics" in repository header

Add Metadata to Artifact:

# artifact-path/SKILL.md

---
name: Canvas Designer
description: Create and edit visual designs in PDF and PNG formats
author: John Doe
tags: [design, visual, pdf, png]
version: 1.0.0
license: MIT
---

# Skill content here...

Slow Metadata Fetching

Problem: Metadata fetch takes a long time

Causes and Solutions:

  1. Network latency
  2. GitHub API may be slow
  3. Normal fetch takes 1-3 seconds

  4. Repository size

  5. Large repositories take longer to query
  6. Expected behavior

  7. Multiple concurrent fetches

  8. Bulk importing many artifacts
  9. System is fetching in parallel

Solutions:

  • Wait for fetch to complete (usually under 5 seconds)
  • Check network connectivity
  • Reduce number of concurrent fetches

Best Practices

Before Using Auto-Population

  1. Prepare GitHub URLs
  2. Format correctly: owner/repo/path[@version]
  3. Test that repositories are accessible
  4. Have GitHub token ready if private repos

  5. Set Up GitHub Token (Recommended)

  6. Higher rate limits
  7. Access to private repositories
  8. Better performance

    skillmeat config set github-token your_token
    

  9. Check Repository Completeness

  10. Add repository description on GitHub
  11. Add topics/tags to repository
  12. Create SKILL.md, COMMAND.md in artifacts

During Auto-Population

  1. Review Auto-Populated Data
  2. Check that information is accurate
  3. Verify description reflects artifact purpose
  4. Confirm author and license information

  5. Customize as Needed

  6. Add additional tags beyond auto-populated
  7. Enhance description if generic
  8. Adjust scope (user vs local)

  9. Verify Multiple Imports

  10. In bulk import, check all artifact metadata
  11. Ensure consistent naming and tagging
  12. Watch for duplicates with existing artifacts

After Import

  1. Keep Source Information
  2. Auto-populated source URL shows provenance
  3. Useful for tracking updates and versions
  4. Easy to re-fetch if metadata needed

  5. Monitor for Updates

  6. Original GitHub source can be updated
  7. Periodically check for artifact improvements
  8. Update local copy if enhancements available

  9. Add Local Customizations

  10. Extend with project-specific tags
  11. Add local aliases or shortcuts
  12. Document local changes

GitHub Token Management

  1. Create Token Securely
  2. Only grant repo scope (minimal permissions)
  3. Don't share tokens
  4. Rotate periodically

  5. Store Safely

  6. Use SkillMeat config command (encrypted)
  7. Don't commit to version control
  8. Use environment variable: GITHUB_TOKEN

  9. Monitor Usage

  10. Check API rate limit status
  11. Monitor token access logs
  12. Rotate if compromised