@mondoohq/skillcheck 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +28 -7
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -27,6 +27,14 @@ npx @mondoohq/skillcheck # scan every detected agent
27
27
  npx @mondoohq/skillcheck --verbose # include content hashes and report URLs
28
28
  ```
29
29
 
30
+ Agents also load skills and instructions from the project you open. Add `--project` to scan
31
+ a checkout too: its skills (including `.skill` packages) and the instruction files agents
32
+ read there, such as `AGENTS.md`, `CLAUDE.md`, `.cursor/rules` and Copilot instructions.
33
+
34
+ ```bash
35
+ npx @mondoohq/skillcheck --project .
36
+ ```
37
+
30
38
  ### Stop risky skills from reaching your builds
31
39
 
32
40
  skillcheck exits **1** when it finds a critical or high-risk skill, so it works as a gate in
@@ -48,8 +56,10 @@ It fails open: a skill the database hasn't analyzed yet shows as clean and never
48
56
 
49
57
  If you publish skills, `validate` checks your repository against the
50
58
  [Agent Skills](https://agentskills.io/specification) and [AGENTS.md](https://agents.md/)
51
- specifications — catching bad skill names, oversized descriptions, and a missing
52
- `AGENTS.md` or marketplace manifest before your users do.
59
+ specifications — catching broken frontmatter, bad skill names, oversized descriptions,
60
+ links to files the skill doesn't ship, and a missing `AGENTS.md` or marketplace manifest
61
+ before your users do. It finds every `SKILL.md` in the repository, including skills nested
62
+ in plugin directories and skills packaged as `.skill` archives.
53
63
 
54
64
  ```bash
55
65
  npx @mondoohq/skillcheck validate . # current directory
@@ -60,19 +70,26 @@ npx @mondoohq/skillcheck validate ./my-skills --json # any path, JSON output
60
70
  Validating /path/to/repo
61
71
 
62
72
  Agent Skills spec (SKILL.md)
73
+ ✓ Every skill is readable, with valid, correctly typed YAML frontmatter
63
74
  ✓ Every skill name is a lowercase slug (a-z0-9, single hyphens)
64
75
  ✓ Every skill name is 1-64 characters
65
- ✓ Every skill name equals its directory name
66
76
  ✓ Every skill description is 1-1024 characters
67
- Repository contract (agents.md + marketplace)
77
+ ✓ Every file a skill refers to is bundled with it
78
+ ✓ Every skill name equals its directory name
79
+ ✓ Every skill compatibility note is at most 500 characters
80
+ ! Every SKILL.md body is at most 500 lines (move detail into references) (warning)
81
+ Repository contract (skills, agents.md, marketplace)
82
+ ✓ The repository contains at least one skill (SKILL.md or .skill package)
68
83
  ✓ A root AGENTS.md exists (agents.md convention)
69
84
  ✓ .claude-plugin/marketplace.json exists and lists plugins
70
85
 
71
- PASS 6 passed, 0 failed
86
+ PASS 10 passed, 0 failed, 1 warning(s)
72
87
  ```
73
88
 
74
- It exits **1** if any check fails, so it drops straight into a skills repo's CI. The rules
75
- are an embedded [MQL](https://mondoo.com/docs/mql/home/) policy
89
+ Each check has a severity. It exits **1** if a check fails; a low-severity check, like the
90
+ 500-line recommendation, is a warning that is shown but doesn't fail. That drops straight
91
+ into a skills repo's CI. The rules, and their severities, are an embedded
92
+ [MQL](https://mondoo.com/docs/mql/home/) policy
76
93
  ([`repo-contract.mql.yaml`](https://github.com/mondoohq/skillcheck/blob/main/internal/validate/policy/repo-contract.mql.yaml)),
77
94
  and because it is a standard cnspec bundle, `cnspec scan filesystem <repo> -f
78
95
  repo-contract.mql.yaml` runs the identical checks.
@@ -85,6 +102,10 @@ For each detected agent, skillcheck:
85
102
  2. Computes a SHA-256 content hash for each skill
86
103
  3. Looks the hash up in the [Mondoo skill database](https://mondoo.com/ai-agent-security/skills)
87
104
  4. Reports findings with severity, summary, and a link to the full security report
105
+ 5. Checks each skill against the [Agent Skills specification](https://agentskills.io/specification),
106
+ with the same rules as `validate`, and lists what it fails under the skill — such as a
107
+ name that isn't a valid slug, or images and references an installer didn't copy. These
108
+ are shown but never change the exit code: a malformed skill is not a malicious one.
88
109
 
89
110
  Only hashes are sent, never skill contents. See
90
111
  [supported agents](https://github.com/mondoohq/skillcheck/blob/main/docs/supported-agents.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mondoohq/skillcheck",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "description": "AI agent skill security scanner. Detects locally installed agent skills, computes SHA-256 checksums, and queries the Mondoo AI Agent Security database for known threats.",
5
5
  "keywords": [
6
6
  "ai-security",
@@ -33,11 +33,11 @@
33
33
  "node": ">=18"
34
34
  },
35
35
  "optionalDependencies": {
36
- "@mondoohq/skillcheck_darwin_amd64": "0.3.3",
37
- "@mondoohq/skillcheck_darwin_arm64": "0.3.3",
38
- "@mondoohq/skillcheck_linux_amd64": "0.3.3",
39
- "@mondoohq/skillcheck_linux_arm64": "0.3.3",
40
- "@mondoohq/skillcheck_windows_amd64": "0.3.3",
41
- "@mondoohq/skillcheck_windows_arm64": "0.3.3"
36
+ "@mondoohq/skillcheck_darwin_amd64": "0.4.0",
37
+ "@mondoohq/skillcheck_darwin_arm64": "0.4.0",
38
+ "@mondoohq/skillcheck_linux_amd64": "0.4.0",
39
+ "@mondoohq/skillcheck_linux_arm64": "0.4.0",
40
+ "@mondoohq/skillcheck_windows_amd64": "0.4.0",
41
+ "@mondoohq/skillcheck_windows_arm64": "0.4.0"
42
42
  }
43
43
  }