Skip to content

feat: add simplified-technical-english skill - #602

Open
smolpaws wants to merge 2 commits into
OpenHands:mainfrom
smolpaws:feat/simplified-technical-english
Open

smolpaws wants to merge 2 commits into
OpenHands:mainfrom
smolpaws:feat/simplified-technical-english

Conversation

@smolpaws

@smolpaws smolpaws commented Sep 18, 2026

Copy link
Copy Markdown
Contributor
  • A human has tested these changes.

Why

The registry has technical-writing (conversational engineering prose) and plain-english-content (GOV.UK content design), but nothing for the ASD-STE100 register: short active sentences, one idea each, plain consistent words, aimed at readers who need text that is easy to read the first time (non-native English readers, ops/deploy/security steps where a misread is costly).

A controlled English vocabulary is risky for a coding agent if it leaks into code. This skill makes the prose-only boundary explicit: it must never rename identifiers, flags, API fields, error strings, commit messages, or reference docs.

Summary

  • Add skills/simplified-technical-english/ (SKILL.md, README.md, .plugin/plugin.json, vendor symlinks) with keyword triggers simplified technical english, STE, ASD-STE100.
  • Register it in marketplaces/openhands-extensions.json under the writing category next to technical-writing.
  • Regenerate skills/index.js and the README catalog section.

Issue Number

Fixes #603

How to Test

uv sync --group test
uv run python scripts/sync_extensions.py --check
uv run pytest -q tests/test_skills_catalog.py tests/test_catalogs.py tests/test_plugin_manifest.py tests/test_sync_extensions.py tests/test_skills_have_readme.py

All pass locally (298 tests across the catalog/manifest suites). To try the skill: load the repo's skills into an OpenHands conversation and ask for an explanation "in STE"; the reply should use short active sentences while leaving any code, paths, and identifiers untouched.

Video/Screenshots

Not applicable; Markdown and catalog changes only.

Notes

Follow-up to #405 (technical-writing). The skill adapts the ASD-STE100 principles for agent prose; it does not reproduce the standard's controlled dictionary.

🤖 Generated with Claude Code

Adapts ASD-STE100 Simplified Technical English for agent prose: short
active sentences, one idea each, plain consistent words. Explicit hard
boundary - it applies to prose (chat, explanations, summaries) only and
must never touch code, identifiers, CLI flags, API fields, commit
messages, or reference docs. Complements plain-english-content and
technical-writing.

Registers the skill in the marketplace, adds the plugin manifest and
vendor symlinks, and regenerates the skills catalog and README section.

Co-authored-by: smolpaws <engel@enyst.org>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions github-actions Bot added the type: feat A new feature label Sep 18, 2026
…entences

Turn the six clauses that previously hung off a dash into complete
sentences, so the skill text follows its own short-sentence rule.
Regenerates the skills catalog entry.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@all-hands-bot

Copy link
Copy Markdown
Contributor

👋 This PR needs a couple of things fixed before OpenHands can review it:

  • the PR description's HUMAN: section needs at least 20 characters describing what you tested, not just the template placeholder

Push an update once this is addressed and this check re-runs automatically.

This is an automated check - no AI was used to generate this comment.

@all-hands-bot
all-hands-bot self-requested a review September 18, 2026 02:53
@all-hands-bot

Copy link
Copy Markdown
Contributor

🤖 OpenHands is reviewing this PR.

Head commit: f8b94ce30ef967c784407482e11e1c6b6bafadbd
View the conversation: https://oss-agent-canvas.ngrok.dev/conversations/a3e0abbe-6fec-4a2f-bdd0-ac79c24883f2

This comment was posted by an AI agent (OpenHands).

@all-hands-bot all-hands-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This review was created by an AI agent (OpenHands) on behalf of the repository maintainers.

Taste rating: 🟢 Good taste

This is a clean, low-risk addition that fits the repository's purpose (public skills registry) and follows the established skill-authoring conventions. I verified the change end-to-end against the workspace at the head SHA.

Verification performed

  • uv sync --group test + uv run python scripts/sync_extensions.py --check passes (no drift; the only coverage warning is the pre-existing issue-duplicate-checker plugin, unrelated to this PR).
  • uv run pytest -q tests/test_skills_catalog.py tests/test_catalogs.py tests/test_plugin_manifest.py tests/test_sync_extensions.py tests/test_skills_have_readme.py -> 131 passed.
  • npm run build:skills regenerates skills/index.js with no diff against the committed file, so the catalog is in sync.
  • python scripts/sync_openhands_sdk_skill.py --check confirms the SDK skill is unaffected.

Observations

  • The skill correctly belongs in this registry (prose-guidance skill, not SDK docs, Agent Server behavior, or UI). It does not duplicate SDK documentation, so the SDK-docs placement rule is not triggered.
  • The "prose, not code" boundary is stated explicitly and repeatedly (SKILL.md, README.md, description) - this is the right guardrail for a controlled-English skill and the most important design decision here. It is well done.
  • Catalog metadata is consistent: marketplace entry, plugin.json, and index.js all agree on name/category/license; vendor symlinks (.claude-plugin, .codex-plugin -> .plugin) match the pattern used by peer skills.
  • The license: MIT field in SKILL.md frontmatter matches the convention already used by plain-english-content and other skills.

One minor consideration (non-blocking)
The STE keyword trigger is only three characters. Since OpenHands keyword triggers match by topic/substring, a bare STE could surface the skill in contexts that merely contain those letters (e.g. words like "style"). The other two triggers (simplified technical english, ASD-STE100) are specific and safe. If false activations become a problem in practice, dropping the bare STE trigger and keeping the two longer phrases would tighten activation without losing discoverability. No change required to merge.

[RISK ASSESSMENT]

  • Overall PR risk: 🟢 LOW. Markdown/catalog/symlink-only change with no executable code, no secrets, no dependency changes, and no behavior change to existing skills. The new skill is off by default (no defaultEnabled), so it only activates when a user opts in or the keyword triggers fire.

VERDICT: ✅ Worth merging. Core structure is sound; no material findings.

KEY INSIGHT: The skill's value and safety both rest on the explicit "prose only, never code" boundary, which is documented consistently across all three files - that is exactly the guardrail a controlled-English skill needs.


Improve this review? If any feedback above seems incorrect or irrelevant to this repository, you can teach the reviewer to do better:

  1. Add a .agents/skills/custom-codereview-guide.md file to your branch (or edit it if one already exists) with the /codereview trigger and the context the reviewer is missing.
  2. Re-request a review - the reviewer reads guidelines from the PR branch, so your changes take effect immediately.
  3. When your PR is merged, the guideline file goes through normal code review by repository maintainers.

Resolve with AI? Install the iterate skill in your agent and run /iterate to automatically drive this PR through CI, review, and QA until it's merge-ready.

Was this review helpful? React with 👍 or 👎 to give feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feat A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add simplified-technical-english skill (prose-only ASD-STE100 register)

3 participants