diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 4ee8774..d4877ff 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -38,7 +38,12 @@ "repo": "mattpocock/skills", "source": "github" } + }, + { + "description": "Skills and agents for configuring and running linters, starting with Vale.", + "name": "lint", + "source": "./plugins/lint" } ], - "version": "0.2.0" + "version": "0.3.0" } diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 4ee8774..d4877ff 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -38,7 +38,12 @@ "repo": "mattpocock/skills", "source": "github" } + }, + { + "description": "Skills and agents for configuring and running linters, starting with Vale.", + "name": "lint", + "source": "./plugins/lint" } ], - "version": "0.2.0" + "version": "0.3.0" } diff --git a/CONTEXT.md b/CONTEXT.md index 138fa75..d590a9c 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -66,5 +66,8 @@ A skill pair in the `core` plugin for writing, updating, and reviewing a target ### provider-adapter-author A companion skill (`core` plugin) that detects a target repo's provider-specific instruction file (`CLAUDE.md`, `.cursor/rules/*.mdc`, `copilot-instructions.md`, etc.) and, where it duplicates content AGENTS.md should own, converts it into a thin adapter that imports AGENTS.md — mirroring this repo's own ADR-0002/ADR-0003 two-tier adapter pattern. Self-validates via its own bundled deterministic script (`scripts/validate-adapter.sh`: checks for an import reference, no duplicated headings, size threshold) rather than a separate paired audit skill — the check is mechanical, so a script suffices per governance.md's "prefer deterministic code for repeatable tasks." `agentsmd-author` calls this skill via skill composition when it detects an existing provider file with overlapping content. +### lint plugin +A standalone, repo-agnostic plugin (`plugins/lint/`) for configuring and running linters — not scoped to kyberforge's own meta-tooling, and not (yet) wired into `skill-audit`/`agent-audit`. First linter is Vale (prose style linting), split into two skills per the git/gitea per-concern pattern: `vale-config` (setup — `.vale.ini`, `StylesPath`, styles) and `vale-run` (invoke Vale, interpret/report findings). A `lint-runner` agent composes these for isolated-context lint sweeps; it is report-only (no `Edit` tool) — it flags findings, it does not rewrite prose. Wiring Vale into the audit pipeline as a prefilter (the original motivation captured in branch `feat/84-vale-audit-prefilter`) is deferred to a follow-up task once this plugin exists standalone. Vale's research docs (`docs/research/docs/vale/`) moved from `plugins/kyberforge/` to `plugins/lint/` to keep the provenance chain same-plugin. + ### LESSONS.md Long-loop feedback log for patterns observed across sessions. Three or more entries on the same pattern graduate to the relevant standing file (e.g. a coding convention, a governance rule). Updated by the session-handoff skill or directly by the human. Lives at the repo root. diff --git a/plugins/lint/.mcp.json b/plugins/lint/.mcp.json new file mode 100644 index 0000000..da39e4f --- /dev/null +++ b/plugins/lint/.mcp.json @@ -0,0 +1,3 @@ +{ + "mcpServers": {} +} diff --git a/plugins/lint/hooks.json b/plugins/lint/hooks.json new file mode 100644 index 0000000..deffac9 --- /dev/null +++ b/plugins/lint/hooks.json @@ -0,0 +1,3 @@ +{ + "hooks": {} +}