{"id":47996495,"url":"https://github.com/olgasafonova/SkillCheck-Free","last_synced_at":"2026-04-19T20:00:43.595Z","repository":{"id":333760375,"uuid":"1137812032","full_name":"olgasafonova/SkillCheck-Free","owner":"olgasafonova","description":"Validate Claude Code skills against the agentskills specification (Free tier)","archived":false,"fork":false,"pushed_at":"2026-04-05T18:54:21.000Z","size":112,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-05T20:35:32.346Z","etag":null,"topics":["agentskills","ai-tools","claude-code","claude-skills","linter","mcp","skill-validation","skillsmp"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olgasafonova.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-19T21:45:23.000Z","updated_at":"2026-04-05T18:54:25.000Z","dependencies_parsed_at":"2026-03-07T21:01:14.225Z","dependency_job_id":null,"html_url":"https://github.com/olgasafonova/SkillCheck-Free","commit_stats":null,"previous_names":["olgasafonova/skillcheck-free"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/olgasafonova/SkillCheck-Free","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgasafonova%2FSkillCheck-Free","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgasafonova%2FSkillCheck-Free/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgasafonova%2FSkillCheck-Free/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgasafonova%2FSkillCheck-Free/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olgasafonova","download_url":"https://codeload.github.com/olgasafonova/SkillCheck-Free/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgasafonova%2FSkillCheck-Free/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32020702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentskills","ai-tools","claude-code","claude-skills","linter","mcp","skill-validation","skillsmp"],"created_at":"2026-04-04T12:00:25.492Z","updated_at":"2026-04-19T20:00:43.560Z","avatar_url":"https://github.com/olgasafonova.png","language":"Shell","funding_links":[],"categories":["🔧 Utility \u0026 Automation"],"sub_categories":[],"readme":"# SkillCheck Free\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Claude Code](https://img.shields.io/badge/Claude_Code-Skill-green?logo=anthropic\u0026logoColor=white)](https://docs.anthropic.com/en/docs/claude-code)\n[![Claude Projects](https://img.shields.io/badge/Claude-Projects-orange?logo=anthropic\u0026logoColor=white)](https://support.claude.com/en/articles/12512180-using-skills-in-claude)\n[![Cursor](https://img.shields.io/badge/Cursor-Rules-purple)](https://cursor.com/docs/context/rules)\n\n[![skillcheck passed](https://raw.githubusercontent.com/olgasafonova/skillcheck-free/main/skill-check/passed.svg)](https://getskillcheck.com)\n\nValidate AI coding assistant skills against the [agentskills specification](https://agentskills.io). Works with Claude Code, Claude Desktop/Web, and Cursor. Catch issues before your users do.\n\n## Why SkillCheck?\n\nAgent Skills are now an open standard adopted by Claude Code, Cursor, and dozens of coding agents. Your skill needs to work everywhere and follow best practices.\n\nSkillCheck validates:\n- Does the YAML frontmatter follow the spec?\n- Will it trigger when users actually need it?\n- Are the instructions clear and unambiguous?\n\n## Installation\n\n### Claude Code\n\nCopy the `skill-check` folder to your Claude Code skills directory:\n\n```bash\ncp -r skill-check ~/.claude/skills/\n```\n\nOr clone directly:\n\n```bash\ngit clone https://github.com/olgasafonova/SkillCheck-Free.git\ncp -r SkillCheck-Free/skill-check ~/.claude/skills/\n```\n\n### Claude Desktop/Web (Projects)\n\n1. Open [claude.ai](https://claude.ai) or Claude Desktop app\n2. Create a new Project (or open an existing one)\n3. Go to Project settings → Custom instructions\n4. Copy the contents of [`skill-check/SKILL.md`](skill-check/SKILL.md) (everything after the `---` frontmatter)\n5. Paste into the custom instructions field\n\nNo file installation needed - the skill runs directly from your Project instructions.\n\n### Cursor\n\nCopy the rule file to your project's `.cursor/rules` directory:\n\n```bash\nmkdir -p .cursor/rules\ncp cursor-rules/skill-check.mdc .cursor/rules/\n```\n\nOr clone directly:\n\n```bash\ngit clone https://github.com/olgasafonova/SkillCheck-Free.git\nmkdir -p .cursor/rules\ncp SkillCheck-Free/cursor-rules/skill-check.mdc .cursor/rules/\n```\n\n## Usage\n\nIn Claude Code, Claude Desktop/Web, or Cursor, say any of:\n- \"skillcheck my skill\"\n- \"check skill at path/to/SKILL.md\"\n- \"validate my skills\"\n\n## Example Output\n\n```\n## SkillCheck Results: my-awesome-skill\n\n### Summary\n- Critical: 1 | Warnings: 2 | Suggestions: 3 | Passed: 44\n\n### Critical Issues\n**[1.2-desc-what]** Line 3: Description missing action verb\n**Fix**: Start description with Create, Generate, Build, Convert, etc.\n\n### Warnings\n**[4.2-ambiguous-term]** Line 47: Vague term \"several\" found\n**Fix**: Specify exact count or range\n\n### Strengths\n- Skill includes example section\n- Skill documents prerequisites\n- Description includes activation triggers\n```\n\n## What It Checks\n\n### Structure (1.x)\n| Check | What It Catches |\n|-------|-----------------|\n| 1.1-name | Invalid name format, reserved words |\n| 1.2-desc | Missing or weak description (WHAT verb + WHEN trigger recommended) |\n| 1.3-tools | Unknown or deprecated tool formats |\n| 1.4-category | Invalid category format |\n| 1.9-xml | XML angle brackets in frontmatter (prompt injection risk) |\n| 1.9-arg-hints | Missing argument-hint in frontmatter when $ARGUMENTS is used |\n| 1.10-readme | README.md inside skill folder (docs belong in SKILL.md) |\n\n### Body (2.x)\n| Check | What It Catches |\n|-------|-----------------|\n| 2.1-lines | File too long (500+ lines warning) |\n| 2.3-date | Hardcoded dates that will go stale |\n| 2.4-empty | Empty sections with no content |\n| 2.8-antipattern-format | Anti-pattern sections using prose instead of tables/bullets |\n| 2.9-mcp-tool-unqualified | Unqualified MCP tool names missing server prefix |\n\n### Naming (3.x)\n| Check | What It Catches |\n|-------|-----------------|\n| 3.1-vague | Generic names like \"helper\", \"utils\" |\n| 3.2-length | Names too short or too long |\n| 3.3-single | Single-word names lacking specificity |\n| 3.4-gerund | Gerund naming (\"writing-helper\" instead of verb-noun) |\n\n### Semantic (4.x)\n| Check | What It Catches |\n|-------|-----------------|\n| 4.1-contradiction | Conflicting instructions |\n| 4.2-ambiguous | Vague terms like \"several\", \"appropriate\" |\n| 4.3-output | Output mentioned but no format specified |\n| 4.6-wisdom | Generic advice/platitudes instead of actionable instructions |\n| 4.7-desc-workflow-steps | Description summarizes workflow steps (causes agents to skip body) |\n\n### Design Pattern Classification (19.x)\nSkillCheck classifies each skill into one of five design patterns from the Google ADK taxonomy:\n\n| Pattern | What It Means | Example Skills |\n|---------|--------------|----------------|\n| Reviewer | Evaluates output against criteria | skill-check, code-review |\n| Generator | Produces structured artifacts from templates | linkedin-post, brand-assets |\n| Inversion | Asks user questions before acting | grill-me, feature-scoping |\n| Pipeline | Chains multiple steps with checkpoints | sift, tapestry |\n| Tool Wrapper | Wraps an API with context-aware instructions | lmwtfy |\n\nPro adds deep checks: validates pattern-specific requirements (criteria for Reviewers, output specs for Generators, etc.).\n\n### Quality Patterns (8.x) - Strengths\nSkillCheck also recognizes good practices:\n\n| Check | What It Recognizes |\n|-------|-------------------|\n| 8.1 | Has example section |\n| 8.2 | Documents error handling or limitations |\n| 8.3 | Description includes activation triggers |\n| 8.4 | Specifies output format with examples |\n| 8.5 | Uses structured instructions (numbered steps) |\n| 8.6 | Documents prerequisites |\n| 8.7 | Includes negative triggers to prevent over-triggering |\n| 8.8 | Uses `${CLAUDE_SKILL_DIR}` for portable path references |\n\n### Knowledge Density (22.x)\n| Check | What It Catches |\n|-------|-----------------|\n| 22.7 | Gotchas/troubleshooting sections with only generic filler and no concrete knowledge |\n\nPro adds: threshold detection (22.1), consequence patterns (22.2), experience markers (22.3), debugging sequences (22.4), decision density (22.5), and concrete code references (22.6).\n\n## Severity Levels\n\n| Level | Meaning | Action |\n|-------|---------|--------|\n| Critical | Skill may not function | Must fix |\n| Warning | Best practice violation | Should fix |\n| Suggestion | Could be improved | Nice to have |\n| Strength | Good practice detected | Keep it up |\n\n## Free vs Pro\n\n| Feature | Free | Pro |\n|---------|------|-----|\n| Structure validation | Yes | Yes |\n| Body \u0026 naming checks | Yes | Yes |\n| Semantic consistency | Yes | Yes |\n| Quality patterns | Yes | Yes |\n| **Design Pattern Classification** | Detection | Deep checks |\n| **Knowledge Density** | Hollow content | Full density analysis |\n| Artifact Contract Validation | - | Yes |\n| Trigger Collision Detection | - | Yes |\n| **Eval Kit (test prompt generation)** | - | Yes |\n| Anti-slop detection | - | Yes |\n| Security scanning | - | Yes |\n| Token budget analysis | - | Yes |\n| WCAG accessibility | - | Yes |\n| Enterprise readiness | - | Yes |\n| Production readiness | - | Yes |\n| Agent Readiness (L0-L3) | - | Yes |\n| MCP server integration | - | Yes |\n| CI/CD binary | - | Yes |\n\n**Get Pro**: [getskillcheck.com](https://getskillcheck.com)\n\n## Prerequisites\n\n- Claude Code (or any AI assistant with file Read capability)\n- Works on macOS, Linux, Windows\n- No dependencies required\n\n## How It Works\n\nSkillCheck Free is itself a skill/rule file. When you say \"skillcheck\", your AI assistant reads the validation rules and applies them to your target skill. No external API calls, no binaries - just your assistant following instructions.\n\n## Contributing\n\nFound a bug or have a suggestion? Open an issue at [github.com/olgasafonova/SkillCheck-Free/issues](https://github.com/olgasafonova/SkillCheck-Free/issues)\n\n## Links\n\n- Website: [getskillcheck.com](https://getskillcheck.com)\n- Specification: [agentskills.io](https://agentskills.io)\n- Pro version: [SkillCheck Pro](https://getskillcheck.com)\n\n## License\n\nMIT - see [LICENSE](LICENSE)\n\n---\n\nBuilt by [Olga Safonova](https://github.com/olgasafonova)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folgasafonova%2FSkillCheck-Free","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folgasafonova%2FSkillCheck-Free","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folgasafonova%2FSkillCheck-Free/lists"}