Lint skills
Skill event4u-app/agent-config/dist/agent-src/skills/lint-skills
Universal AI Agent OS — audited skills, governance rules, replayable state. One contract, every host agent.
npx -y skills add event4u-app/agent-config --skill lint-skillsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when running the package's skill linter against all skills and rules to validate frontmatter, required sections, and execution metadata.
SKILL.md
3.3 KB, 718 tokens by cl100k_base, as published. Nobody here has run it
lint-skills
When to use
Use this skill when:
- Validating the shape of every skill and rule in
.agent-src.uncondensed/ - Verifying execution metadata (
execution.type,handler,command) is well-formed - Checking locally before opening a PR that CI's skill-lint job will pass
- Investigating a reported linter failure on a specific skill or rule
Do NOT use when:
- Linting only one file — call
./scripts-run src/scripts/skill_linter <path>directly - Checking cross-references between files — use
check-refsinstead - Checking condensation freshness — use
bash scripts/condense.sh --checkinstead
Procedure
1. Inspect the environment
Confirm ./scripts-run is executable and the working directory is the agent-config
repository root — the linter expects to find src/skills/
and related directories relative to cwd.
2. Dispatch via the runtime layer
Invoke the skill through the runtime dispatcher so the execution: block in
this skill's frontmatter governs the call:
./scripts-run src/scripts/runtime_dispatcher run --skill lint-skills
The dispatcher resolves the request, the shell handler runs
./scripts-run src/scripts/skill_linter --all, captures stdout/stderr, and returns
a typed ExecutionResult.
3. Verify the result
Check the returned ExecutionResult:
status: successandexit_code: 0→ all skills and rules are cleanexit_code: 1→ warnings only — reviewstdoutfor the listed warningsexit_code: 2→ errors present — fix the flagged files before continuingstatus: timeout→ the linter exceededtimeout_seconds— investigatestatus: error→ the runner could not launch — check that./scripts-runis onPATHand the repository root is the current working directory
Output format
- One-line summary:
success | failure | timeout | error, exit code, duration in milliseconds - Count of skills and rules the linter inspected, if known
- List of files with errors (first 10), each with code and message
- Next action: fix errors, re-run, or surface the raw
stdoutfor review
Gotchas
- The command uses
--all, which walks the full tree — expect several seconds of runtime on a warm repo; bumptimeout_secondsif the repo has grown - Running outside the agent-config repo root will make the linter report zero skills, which looks like a pass but is actually a no-op
- Warnings (
exit_code: 1) do not fail CI by default; do not dismiss them as "green" when the task is to get to zero warnings
Do NOT
- Do NOT invoke
src/scripts/skill_linter.tsdirectly when the intent is to test the runtime path — use the dispatcher so the handler and result object are exercised - Do NOT raise
timeout_secondsto hide a genuinely slow linter pass — investigate the slowdown first - Do NOT add shell redirection or pipes to
command— the handler runssubprocess.runwithshell=False; only argv form is supported
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.