{
  "schemaVersion": "1.0",
  "item": {
    "slug": "skill-publisher-claw-skill",
    "name": "Skill Publisher Claw Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/acastellana/skill-publisher-claw-skill",
    "canonicalUrl": "https://clawhub.ai/acastellana/skill-publisher-claw-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/skill-publisher-claw-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skill-publisher-claw-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "analyze.sh",
      "audit.sh",
      "changelog.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/skill-publisher-claw-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/skill-publisher-claw-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Skill Publisher",
        "body": "Prepare a skill for public release. Run through this checklist before publishing any skill to ensure it's reusable, clean, safe, and well-documented."
      },
      {
        "title": "When to Use",
        "body": "Before pushing a skill to a public repo\nBefore submitting to ClawdHub\nWhen reviewing someone else's skill\nPeriodic audits of existing published skills"
      },
      {
        "title": "Quick Checklist",
        "body": "Run through these in order. Each section has detailed guidance below.\n\n[ ] 1. STRUCTURE    - Required files present, logical organization\n[ ] 2. SECURITY     - No secrets, keys, PII, or sensitive data  \n[ ] 3. PORTABILITY  - No hardcoded paths, works on any machine\n[ ] 4. QUALITY      - Clean code, no debug artifacts\n[ ] 5. DOCS         - README, SKILL.md, examples complete\n[ ] 6. TESTING      - Verified it actually works\n[ ] 7. GIT          - Clean history, proper .gitignore, good commits\n[ ] 8. METADATA     - License, description, keywords"
      },
      {
        "title": "Required Files",
        "body": "skill-name/\n├── SKILL.md          # REQUIRED - Entry point, when to use, quick reference\n├── README.md         # REQUIRED - For GitHub/humans\n└── [content files]   # The actual skill content"
      },
      {
        "title": "SKILL.md Format",
        "body": "Must include:\n\nHeader: Name and one-line description\nWhen to Use: Clear triggers for loading this skill\nQuick Reference: Most important info at a glance\nDetailed sections: As needed\n\n# Skill Name\n\nOne-line description of what this skill does.\n\n## When to Use\n- Trigger condition 1\n- Trigger condition 2\n\n## Quick Reference\n[Most important info here]\n\n## [Additional Sections]\n[Detailed content]"
      },
      {
        "title": "File Organization",
        "body": "Group related content logically\nUse clear, descriptive filenames\nKeep files focused (single responsibility)\nConsider load order (what gets read first?)"
      },
      {
        "title": "Anti-patterns",
        "body": "❌ Single massive file with everything\n❌ Cryptic filenames (data1.md, stuff.md)\n❌ Circular dependencies between files\n❌ Missing SKILL.md entry point"
      },
      {
        "title": "Secrets Scan",
        "body": "Search for and REMOVE:\n\n# Run in skill directory\ngrep -rniE \"(api[_-]?key|secret|password|token|bearer|auth)\" . --include=\"*.md\"\ngrep -rniE \"([a-zA-Z0-9]{32,})\" . --include=\"*.md\"  # Long strings that might be keys\ngrep -rniE \"(sk-|pk-|xai-|ghp_|gho_)\" . --include=\"*.md\"  # Common key prefixes"
      },
      {
        "title": "Personal Data Scan",
        "body": "Search for and REMOVE:\n\ngrep -rniE \"(@gmail|@yahoo|@hotmail|@proton)\" . --include=\"*.md\"\ngrep -rniE \"\\+?[0-9]{10,}\" . --include=\"*.md\"  # Phone numbers\ngrep -rniE \"[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\" . --include=\"*.md\"  # IPs"
      },
      {
        "title": "Sensitive Content Check",
        "body": "No internal company information\n No private URLs or endpoints\n No employee names (unless public figures)\n No financial data\n No credentials of any kind\n No session tokens or cookies"
      },
      {
        "title": "Example Data",
        "body": "If examples need realistic data, use:\n\nuser@example.com for emails\n192.0.2.x for IPs (RFC 5737 documentation range)\nexample.com for domains\nClearly fake names (\"Alice\", \"Bob\", \"Acme Corp\")"
      },
      {
        "title": "Path Hardcoding",
        "body": "Search and fix:\n\ngrep -rniE \"(\\/home\\/|\\/Users\\/|C:\\\\\\\\|~\\/)\" . --include=\"*.md\"\ngrep -rniE \"\\/[a-z]+\\/[a-z]+\\/\" . --include=\"*.md\"  # Absolute paths\n\nReplace with:\n\nRelative paths (./config.yaml)\nEnvironment variables ($HOME, $XDG_CONFIG_HOME)\nPlatform-agnostic descriptions"
      },
      {
        "title": "Environment Assumptions",
        "body": "No hardcoded usernames\n No machine-specific paths\n No assumed installed software (or document requirements)\n No assumed environment variables (or document them)\n No OS-specific commands without alternatives"
      },
      {
        "title": "Dependency Documentation",
        "body": "If the skill requires external tools:\n\n## Requirements\n- `tool-name` - [installation link]\n- Environment variable `API_KEY` must be set"
      },
      {
        "title": "Debug Artifacts",
        "body": "Remove:\n\ngrep -rniE \"(TODO|FIXME|XXX|HACK|DEBUG)\" . --include=\"*.md\"\ngrep -rniE \"(console\\.log|print\\(|debugger)\" . --include=\"*.md\""
      },
      {
        "title": "Formatting",
        "body": "Consistent markdown style\n Code blocks have language tags (python, bash)\n Tables render correctly\n Links work (no broken references)\n No trailing whitespace\n Consistent heading hierarchy"
      },
      {
        "title": "Content Quality",
        "body": "No filler text (e.g., Lorem-ipsum, incomplete markers)\n No commented-out sections\n No duplicate content\n No outdated information\n Examples are complete and runnable"
      },
      {
        "title": "README.md Checklist",
        "body": "# Skill Name\n\nBrief description (1-2 sentences).\n\n## What's Inside\n[File listing with descriptions]\n\n## Quick Summary  \n[The core value proposition]\n\n## Usage\n[How to use this skill]\n\n## Requirements (if any)\n[Dependencies, API keys, etc.]\n\n## Links (if relevant)\n[Official docs, repos, etc.]\n\n## License\n[MIT recommended for skills]"
      },
      {
        "title": "SKILL.md Checklist",
        "body": "Clear \"When to Use\" section with specific triggers\n Quick reference for most common needs\n Logical organization of detailed content\n Cross-references to other files if multi-file"
      },
      {
        "title": "Examples",
        "body": "At least one complete, working example\n Examples use safe/fake data\n Examples are tested and verified"
      },
      {
        "title": "Functional Testing",
        "body": "Fresh load test: Load skill in new session, verify it makes sense\nTrigger test: Verify \"When to Use\" conditions actually match use cases\nExample test: Run through all examples manually\nEdge case test: What happens with unusual inputs?"
      },
      {
        "title": "Integration Testing",
        "body": "If skill involves tools/commands:\n\n# Test each command mentioned actually works\n# Verify outputs match documentation"
      },
      {
        "title": "Cross-Reference Testing",
        "body": "All internal links work\n All external links are valid\n File references are correct"
      },
      {
        "title": "Verification Script (optional but recommended)",
        "body": "Create test.sh or document manual test steps:\n\n#!/bin/bash\n# Verify skill integrity\necho \"Checking for secrets...\"\ngrep -rniE \"(api[_-]?key|secret|password)\" . --include=\"*.md\" && exit 1\necho \"Checking for hardcoded paths...\"\ngrep -rniE \"\\/home\\/\" . --include=\"*.md\" && exit 1\necho \"✓ All checks passed\""
      },
      {
        "title": "Before First Commit",
        "body": "Create .gitignore:\n\n# OS files\n.DS_Store\nThumbs.db\n\n# Editor files\n*.swp\n*.swo\n*~\n.idea/\n.vscode/\n\n# Temporary files\n*.tmp\n*.bak\n\n# Test artifacts\ntest-output/"
      },
      {
        "title": "Commit History",
        "body": "No secrets ever committed (check full history!)\n Clean, atomic commits\n Meaningful commit messages\n\n# Check for secrets in history\ngit log -p | grep -iE \"(api[_-]?key|secret|password|token)\"\n\nIf secrets were ever committed:\n\n# Nuclear option - rewrite history (coordinate with collaborators!)\ngit filter-branch --force --index-filter \\\n  'git rm --cached --ignore-unmatch path/to/sensitive/file' HEAD"
      },
      {
        "title": "Commit Message Format",
        "body": "type: short description\n\n- Detail 1\n- Detail 2\n\nTypes: feat, fix, docs, refactor, test, chore"
      },
      {
        "title": "Pre-Push Checklist",
        "body": "# Final verification\ngit status                    # Nothing unexpected staged\ngit log --oneline -5          # Commits look right\ngit diff origin/main          # Changes are what you expect"
      },
      {
        "title": "Repository Settings",
        "body": "Description filled in\n Topics/tags added (e.g., claw, skill, ai-assistant)\n License file present"
      },
      {
        "title": "Recommended License",
        "body": "For open skills, MIT is simple and permissive:\n\nMIT License\n\nCopyright (c) [year] [name]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
      },
      {
        "title": "ClawdHub Metadata (if publishing there)",
        "body": "In SKILL.md frontmatter:\n\n---\nname: skill-name\ndescription: One-line description\nversion: 1.0.0\nauthor: username\ntags: [tag1, tag2]\n---"
      },
      {
        "title": "Automated Audit Script",
        "body": "Run this before every publish:\n\n#!/bin/bash\nset -e\n\nSKILL_DIR=\"${1:-.}\"\ncd \"$SKILL_DIR\"\n\necho \"🔍 Auditing skill in: $SKILL_DIR\"\necho \"\"\n\n# 1. Structure\necho \"=== STRUCTURE ===\"\n[ -f \"SKILL.md\" ] && echo \"✓ SKILL.md exists\" || echo \"✗ SKILL.md MISSING\"\n[ -f \"README.md\" ] && echo \"✓ README.md exists\" || echo \"✗ README.md MISSING\"\necho \"\"\n\n# 2. Security\necho \"=== SECURITY ===\"\nif grep -rniE \"(api[_-]?key|secret|password|token|bearer)=['\\\"]?[a-zA-Z0-9]\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"✗ POTENTIAL SECRETS FOUND\"\nelse\n    echo \"✓ No obvious secrets\"\nfi\n\nif grep -rniE \"(sk-|pk-|xai-|ghp_|gho_)[a-zA-Z0-9]\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"✗ API KEY PATTERNS FOUND\"\nelse\n    echo \"✓ No API key patterns\"\nfi\necho \"\"\n\n# 3. Portability\necho \"=== PORTABILITY ===\"\nif grep -rniE \"\\/home\\/[a-z]+\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"✗ HARDCODED HOME PATHS\"\nelse\n    echo \"✓ No hardcoded home paths\"\nfi\necho \"\"\n\n# 4. Quality\necho \"=== QUALITY ===\"\nif grep -rniE \"(TODO|FIXME|XXX)\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"⚠ TODOs found (review these)\"\nelse\n    echo \"✓ No TODOs\"\nfi\necho \"\"\n\n# 5. Git\necho \"=== GIT ===\"\n[ -f \".gitignore\" ] && echo \"✓ .gitignore exists\" || echo \"⚠ No .gitignore\"\n[ -d \".git\" ] && echo \"✓ Git initialized\" || echo \"✗ Not a git repo\"\necho \"\"\n\necho \"🏁 Audit complete\""
      },
      {
        "title": "Publishing Flow",
        "body": "1. Run automated audit script\n2. Fix any issues found\n3. Manual review of checklist above\n4. Final commit with clean message\n5. Push to GitHub\n6. (Optional) Submit to ClawdHub"
      },
      {
        "title": "README Quality",
        "body": "A good README is discoverable and human-readable. See docs/readme-quality.md for detailed guidance."
      },
      {
        "title": "Quick Checks",
        "body": "First line explains what it does (not \"Welcome to...\")\nNo AI buzzwords (comprehensive, seamless, leverage, cutting-edge)\nSpecific use cases, not vague claims\nSounds like a person, not a press release\nNo excessive emoji decoration in headers"
      },
      {
        "title": "SEO Tips",
        "body": "Use phrases people actually search for\nPut most important info in first paragraph\nBe specific about features (not \"powerful validation\" but \"checks for API keys\")"
      },
      {
        "title": "Post-Publish",
        "body": "Verify GitHub renders correctly\n Test fresh clone works\n Add to your AGENTS.md skill list if using locally\n Announce if relevant (Discord, etc.)"
      }
    ],
    "body": "Skill Publisher\n\nPrepare a skill for public release. Run through this checklist before publishing any skill to ensure it's reusable, clean, safe, and well-documented.\n\nWhen to Use\nBefore pushing a skill to a public repo\nBefore submitting to ClawdHub\nWhen reviewing someone else's skill\nPeriodic audits of existing published skills\nQuick Checklist\n\nRun through these in order. Each section has detailed guidance below.\n\n[ ] 1. STRUCTURE    - Required files present, logical organization\n[ ] 2. SECURITY     - No secrets, keys, PII, or sensitive data  \n[ ] 3. PORTABILITY  - No hardcoded paths, works on any machine\n[ ] 4. QUALITY      - Clean code, no debug artifacts\n[ ] 5. DOCS         - README, SKILL.md, examples complete\n[ ] 6. TESTING      - Verified it actually works\n[ ] 7. GIT          - Clean history, proper .gitignore, good commits\n[ ] 8. METADATA     - License, description, keywords\n\n1. Structure Validation\nRequired Files\nskill-name/\n├── SKILL.md          # REQUIRED - Entry point, when to use, quick reference\n├── README.md         # REQUIRED - For GitHub/humans\n└── [content files]   # The actual skill content\n\nSKILL.md Format\n\nMust include:\n\nHeader: Name and one-line description\nWhen to Use: Clear triggers for loading this skill\nQuick Reference: Most important info at a glance\nDetailed sections: As needed\n# Skill Name\n\nOne-line description of what this skill does.\n\n## When to Use\n- Trigger condition 1\n- Trigger condition 2\n\n## Quick Reference\n[Most important info here]\n\n## [Additional Sections]\n[Detailed content]\n\nFile Organization\nGroup related content logically\nUse clear, descriptive filenames\nKeep files focused (single responsibility)\nConsider load order (what gets read first?)\nAnti-patterns\n\n❌ Single massive file with everything\n❌ Cryptic filenames (data1.md, stuff.md)\n❌ Circular dependencies between files\n❌ Missing SKILL.md entry point\n\n2. Security Audit\nSecrets Scan\n\nSearch for and REMOVE:\n\n# Run in skill directory\ngrep -rniE \"(api[_-]?key|secret|password|token|bearer|auth)\" . --include=\"*.md\"\ngrep -rniE \"([a-zA-Z0-9]{32,})\" . --include=\"*.md\"  # Long strings that might be keys\ngrep -rniE \"(sk-|pk-|xai-|ghp_|gho_)\" . --include=\"*.md\"  # Common key prefixes\n\nPersonal Data Scan\n\nSearch for and REMOVE:\n\ngrep -rniE \"(@gmail|@yahoo|@hotmail|@proton)\" . --include=\"*.md\"\ngrep -rniE \"\\+?[0-9]{10,}\" . --include=\"*.md\"  # Phone numbers\ngrep -rniE \"[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\" . --include=\"*.md\"  # IPs\n\nSensitive Content Check\n No internal company information\n No private URLs or endpoints\n No employee names (unless public figures)\n No financial data\n No credentials of any kind\n No session tokens or cookies\nExample Data\n\nIf examples need realistic data, use:\n\nuser@example.com for emails\n192.0.2.x for IPs (RFC 5737 documentation range)\nexample.com for domains\nClearly fake names (\"Alice\", \"Bob\", \"Acme Corp\")\n3. Portability Check\nPath Hardcoding\n\nSearch and fix:\n\ngrep -rniE \"(\\/home\\/|\\/Users\\/|C:\\\\\\\\|~\\/)\" . --include=\"*.md\"\ngrep -rniE \"\\/[a-z]+\\/[a-z]+\\/\" . --include=\"*.md\"  # Absolute paths\n\n\nReplace with:\n\nRelative paths (./config.yaml)\nEnvironment variables ($HOME, $XDG_CONFIG_HOME)\nPlatform-agnostic descriptions\nEnvironment Assumptions\n No hardcoded usernames\n No machine-specific paths\n No assumed installed software (or document requirements)\n No assumed environment variables (or document them)\n No OS-specific commands without alternatives\nDependency Documentation\n\nIf the skill requires external tools:\n\n## Requirements\n- `tool-name` - [installation link]\n- Environment variable `API_KEY` must be set\n\n4. Code Quality\nDebug Artifacts\n\nRemove:\n\ngrep -rniE \"(TODO|FIXME|XXX|HACK|DEBUG)\" . --include=\"*.md\"\ngrep -rniE \"(console\\.log|print\\(|debugger)\" . --include=\"*.md\"\n\nFormatting\n Consistent markdown style\n Code blocks have language tags (python, bash)\n Tables render correctly\n Links work (no broken references)\n No trailing whitespace\n Consistent heading hierarchy\nContent Quality\n No filler text (e.g., Lorem-ipsum, incomplete markers)\n No commented-out sections\n No duplicate content\n No outdated information\n Examples are complete and runnable\n5. Documentation\nREADME.md Checklist\n# Skill Name\n\nBrief description (1-2 sentences).\n\n## What's Inside\n[File listing with descriptions]\n\n## Quick Summary  \n[The core value proposition]\n\n## Usage\n[How to use this skill]\n\n## Requirements (if any)\n[Dependencies, API keys, etc.]\n\n## Links (if relevant)\n[Official docs, repos, etc.]\n\n## License\n[MIT recommended for skills]\n\nSKILL.md Checklist\n Clear \"When to Use\" section with specific triggers\n Quick reference for most common needs\n Logical organization of detailed content\n Cross-references to other files if multi-file\nExamples\n At least one complete, working example\n Examples use safe/fake data\n Examples are tested and verified\n6. Testing\nFunctional Testing\nFresh load test: Load skill in new session, verify it makes sense\nTrigger test: Verify \"When to Use\" conditions actually match use cases\nExample test: Run through all examples manually\nEdge case test: What happens with unusual inputs?\nIntegration Testing\n\nIf skill involves tools/commands:\n\n# Test each command mentioned actually works\n# Verify outputs match documentation\n\nCross-Reference Testing\n All internal links work\n All external links are valid\n File references are correct\nVerification Script (optional but recommended)\n\nCreate test.sh or document manual test steps:\n\n#!/bin/bash\n# Verify skill integrity\necho \"Checking for secrets...\"\ngrep -rniE \"(api[_-]?key|secret|password)\" . --include=\"*.md\" && exit 1\necho \"Checking for hardcoded paths...\"\ngrep -rniE \"\\/home\\/\" . --include=\"*.md\" && exit 1\necho \"✓ All checks passed\"\n\n7. Git Hygiene\nBefore First Commit\n\nCreate .gitignore:\n\n# OS files\n.DS_Store\nThumbs.db\n\n# Editor files\n*.swp\n*.swo\n*~\n.idea/\n.vscode/\n\n# Temporary files\n*.tmp\n*.bak\n\n# Test artifacts\ntest-output/\n\nCommit History\n No secrets ever committed (check full history!)\n Clean, atomic commits\n Meaningful commit messages\n# Check for secrets in history\ngit log -p | grep -iE \"(api[_-]?key|secret|password|token)\" \n\n\nIf secrets were ever committed:\n\n# Nuclear option - rewrite history (coordinate with collaborators!)\ngit filter-branch --force --index-filter \\\n  'git rm --cached --ignore-unmatch path/to/sensitive/file' HEAD\n\nCommit Message Format\ntype: short description\n\n- Detail 1\n- Detail 2\n\nTypes: feat, fix, docs, refactor, test, chore\n\nPre-Push Checklist\n# Final verification\ngit status                    # Nothing unexpected staged\ngit log --oneline -5          # Commits look right\ngit diff origin/main          # Changes are what you expect\n\n8. Metadata\nRepository Settings\n Description filled in\n Topics/tags added (e.g., claw, skill, ai-assistant)\n License file present\nRecommended License\n\nFor open skills, MIT is simple and permissive:\n\nMIT License\n\nCopyright (c) [year] [name]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nClawdHub Metadata (if publishing there)\n\nIn SKILL.md frontmatter:\n\n---\nname: skill-name\ndescription: One-line description\nversion: 1.0.0\nauthor: username\ntags: [tag1, tag2]\n---\n\nAutomated Audit Script\n\nRun this before every publish:\n\n#!/bin/bash\nset -e\n\nSKILL_DIR=\"${1:-.}\"\ncd \"$SKILL_DIR\"\n\necho \"🔍 Auditing skill in: $SKILL_DIR\"\necho \"\"\n\n# 1. Structure\necho \"=== STRUCTURE ===\"\n[ -f \"SKILL.md\" ] && echo \"✓ SKILL.md exists\" || echo \"✗ SKILL.md MISSING\"\n[ -f \"README.md\" ] && echo \"✓ README.md exists\" || echo \"✗ README.md MISSING\"\necho \"\"\n\n# 2. Security\necho \"=== SECURITY ===\"\nif grep -rniE \"(api[_-]?key|secret|password|token|bearer)=['\\\"]?[a-zA-Z0-9]\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"✗ POTENTIAL SECRETS FOUND\"\nelse\n    echo \"✓ No obvious secrets\"\nfi\n\nif grep -rniE \"(sk-|pk-|xai-|ghp_|gho_)[a-zA-Z0-9]\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"✗ API KEY PATTERNS FOUND\"\nelse\n    echo \"✓ No API key patterns\"\nfi\necho \"\"\n\n# 3. Portability\necho \"=== PORTABILITY ===\"\nif grep -rniE \"\\/home\\/[a-z]+\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"✗ HARDCODED HOME PATHS\"\nelse\n    echo \"✓ No hardcoded home paths\"\nfi\necho \"\"\n\n# 4. Quality\necho \"=== QUALITY ===\"\nif grep -rniE \"(TODO|FIXME|XXX)\" . --include=\"*.md\" 2>/dev/null; then\n    echo \"⚠ TODOs found (review these)\"\nelse\n    echo \"✓ No TODOs\"\nfi\necho \"\"\n\n# 5. Git\necho \"=== GIT ===\"\n[ -f \".gitignore\" ] && echo \"✓ .gitignore exists\" || echo \"⚠ No .gitignore\"\n[ -d \".git\" ] && echo \"✓ Git initialized\" || echo \"✗ Not a git repo\"\necho \"\"\n\necho \"🏁 Audit complete\"\n\nPublishing Flow\n1. Run automated audit script\n2. Fix any issues found\n3. Manual review of checklist above\n4. Final commit with clean message\n5. Push to GitHub\n6. (Optional) Submit to ClawdHub\n\nREADME Quality\n\nA good README is discoverable and human-readable. See docs/readme-quality.md for detailed guidance.\n\nQuick Checks\nFirst line explains what it does (not \"Welcome to...\")\nNo AI buzzwords (comprehensive, seamless, leverage, cutting-edge)\nSpecific use cases, not vague claims\nSounds like a person, not a press release\nNo excessive emoji decoration in headers\nSEO Tips\nUse phrases people actually search for\nPut most important info in first paragraph\nBe specific about features (not \"powerful validation\" but \"checks for API keys\")\nPost-Publish\n Verify GitHub renders correctly\n Test fresh clone works\n Add to your AGENTS.md skill list if using locally\n Announce if relevant (Discord, etc.)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/acastellana/skill-publisher-claw-skill",
    "publisherUrl": "https://clawhub.ai/acastellana/skill-publisher-claw-skill",
    "owner": "acastellana",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/skill-publisher-claw-skill",
    "agentUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-publisher-claw-skill/agent.md"
  }
}