Skip to content

feat: integrate Vale with adopted Simple English checks #18

Description

@N4M3Z

Summary

Use Vale as the shared prose-lint engine for local prek checks and the GitHub quality pipeline. Adapt useful MIT-licensed rule data, fixtures, and integration lessons from jyooi/agent-simple-english@0.3.1 instead of adopting its runtime or hook system.

The current SimplifiedTechnicalEnglish skill keeps its stdlib-only Python checker for on-demand writing and benchmark scoring. Vale is a later repository-enforcement layer, not a replacement required by the current STE adoption.

Scope

  • Pin Vale and verify its release artifact before CI execution.
  • Install one reviewed rule set where Vale discovers it for local and CI runs.
  • Add a prek commit-stage hook and run the same hook in the GitHub prek pipeline.
  • Adapt mechanical checks and fixtures from agent-simple-english@0.3.1: contractions, phrasal verbs, semicolons, terminology, sentence length, verb forms, hedging, and marketing language.
  • Study its PreToolUse gate and feedback formatting for useful behavior, without copying its Claude Code hook runtime.
  • Preserve source, pinned revision, license, and transformed-file provenance for adopted rule data.
  • Measure false positives before making every rule blocking.
  • Report only that the configured STE-oriented checks passed.

Non-goals

  • Do not add SessionStart, Stop, UserPromptSubmit, reply-rewrite, or per-session Claude Code hooks.
  • Do not depend on Bun or the agent-simple-english runtime.
  • Do not retain prose, paths, or session observations as agent-simple-english does by default.
  • Do not copy the official ASD-STE100 dictionary.
  • Do not claim ASD endorsement, certification, or complete ASD-STE100 compliance.

Acceptance

  • Local prek and GitHub quality use the same pinned Vale binary and rule files.
  • Linting requires no network access after tool installation.
  • Code blocks, identifiers, frontmatter, and quoted output are excluded.
  • The SimplifiedTechnicalEnglish skill remains responsible for semantic checks such as fact, modality, and scope preservation.
  • The existing Python checker remains available for on-demand skill runs and post-generation benchmark metrics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions