{"id":"923648e0-4281-41a8-afc6-d7bd5d9da8c5","shortId":"ahuRJQ","kind":"skill","title":"ds-lint","tagline":"Internal development tool that validates all SKILL.md and agent .md files against the Claude Code spec. Checks frontmatter completeness, field validity, allowed-tools presence, line count, hardcoded paths, and description quality. Use when the user says \"lint skills\", \"validate s","description":"# Skill linter (ds-lint)\n\nYou are a QA tool for Claude Code skills. Your job is to run the linter\nscript and present the results clearly.\n\n## Process\n\n1. Run the linter:\n\n```bash\npython \"${CLAUDE_SKILL_DIR}/scripts/lint_skills.py\" \"${CLAUDE_SKILL_DIR}/../..\"\n```\n\n2. Present the results to the user as-is. Do not reformat or summarize —\n   the linter output is already structured.\n\n3. If there are errors (FAIL status), list the top 3 most critical fixes\n   and offer to apply them.\n\n4. If there are only warnings, explain which ones are worth fixing\n   and which are acceptable trade-offs.\n\n## Rules\n\n- Never modify skill files without the user's explicit approval.\n- If the linter script itself fails (import error, etc.), fix the script\n  issue first and re-run.\n- Write in the same language the user is using.","tags":["lint","marketing","skills","dataslayer-ai","agent-skills","analytics","claude-code","mcp","paid-media","seo"],"capabilities":["skill","source-dataslayer-ai","skill-ds-lint","topic-agent-skills","topic-analytics","topic-claude-code","topic-marketing","topic-mcp","topic-paid-media","topic-seo"],"categories":["Marketing-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Dataslayer-AI/Marketing-skills/ds-lint","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Dataslayer-AI/Marketing-skills","source_repo":"https://github.com/Dataslayer-AI/Marketing-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (813 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T01:03:50.346Z","embedding":null,"createdAt":"2026-04-23T13:04:25.477Z","updatedAt":"2026-04-24T01:03:50.346Z","lastSeenAt":"2026-04-24T01:03:50.346Z","tsv":"'/..':86 '/scripts/lint_skills.py':82 '1':73 '2':87 '3':108,118 '4':127 'accept':142 'agent':12 'allow':26 'allowed-tool':25 'alreadi':106 'appli':125 'approv':156 'as-i':94 'bash':77 'check':20 'claud':17,56,79,83 'clear':71 'code':18,57 'complet':22 'count':30 'critic':120 'descript':34 'develop':5 'dir':81,85 'ds':2,48 'ds-lint':1,47 'error':112,164 'etc':165 'explain':133 'explicit':155 'fail':113,162 'field':23 'file':14,150 'first':170 'fix':121,138,166 'frontmatt':21 'hardcod':31 'import':163 'intern':4 'issu':169 'job':60 'languag':179 'line':29 'lint':3,41,49 'linter':46,65,76,103,159 'list':115 'md':13 'modifi':148 'never':147 'off':145 'offer':123 'one':135 'output':104 'path':32 'presenc':28 'present':68,88 'process':72 'python':78 'qa':53 'qualiti':35 're':173 're-run':172 'reformat':99 'result':70,90 'rule':146 'run':63,74,174 'say':40 'script':66,160,168 'skill':42,45,58,80,84,149 'skill-ds-lint' 'skill.md':10 'source-dataslayer-ai' 'spec':19 'status':114 'structur':107 'summar':101 'tool':6,27,54 'top':117 'topic-agent-skills' 'topic-analytics' 'topic-claude-code' 'topic-marketing' 'topic-mcp' 'topic-paid-media' 'topic-seo' 'trade':144 'trade-off':143 'use':36,183 'user':39,93,153,181 'valid':8,24,43 'warn':132 'without':151 'worth':137 'write':175","prices":[{"id":"7527ac55-d9c2-4dbd-9170-404cb9b3f39c","listingId":"923648e0-4281-41a8-afc6-d7bd5d9da8c5","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Dataslayer-AI","category":"Marketing-skills","install_from":"skills.sh"},"createdAt":"2026-04-23T13:04:25.477Z"}],"sources":[{"listingId":"923648e0-4281-41a8-afc6-d7bd5d9da8c5","source":"github","sourceId":"Dataslayer-AI/Marketing-skills/ds-lint","sourceUrl":"https://github.com/Dataslayer-AI/Marketing-skills/tree/main/skills/ds-lint","isPrimary":false,"firstSeenAt":"2026-04-23T13:04:25.477Z","lastSeenAt":"2026-04-24T01:03:50.346Z"}],"details":{"listingId":"923648e0-4281-41a8-afc6-d7bd5d9da8c5","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Dataslayer-AI","slug":"ds-lint","github":{"repo":"Dataslayer-AI/Marketing-skills","stars":9,"topics":["agent-skills","analytics","claude-code","marketing","mcp","paid-media","seo"],"license":"mit","html_url":"https://github.com/Dataslayer-AI/Marketing-skills","pushed_at":"2026-03-23T15:50:29Z","description":"Marketing agent skills powered by real data. Connect Claude Code to your actual Google Ads, GA4, Search Console, Meta Ads, LinkedIn Ads and 50+ platforms via Dataslayer MCP — no copy-pasting required.","skill_md_sha":"a985522aa895427ad2edb13733e6df767d0549c2","skill_md_path":"skills/ds-lint/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Dataslayer-AI/Marketing-skills/tree/main/skills/ds-lint"},"layout":"multi","source":"github","category":"Marketing-skills","frontmatter":{"name":"ds-lint","description":"Internal development tool that validates all SKILL.md and agent .md files against the Claude Code spec. Checks frontmatter completeness, field validity, allowed-tools presence, line count, hardcoded paths, and description quality. Use when the user says \"lint skills\", \"validate skills\", \"check skill quality\", \"run the linter\", \"are my skills valid\", or before shipping changes to the skills repo."},"skills_sh_url":"https://skills.sh/Dataslayer-AI/Marketing-skills/ds-lint"},"updatedAt":"2026-04-24T01:03:50.346Z"}}