feat: modular skill fragments and professional variant#15
feat: modular skill fragments and professional variant#15edithatogo wants to merge 100 commits intoblader:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR turns the Humanizer repository into a more fully tooled, multi-adapter skill pack: it adds Python automation for syncing/validating/installing adapters, brings in strict linting and CI, adopts upstream content changes to SKILL.md/README.md, and introduces a set of agent-specific adapters (Gemini, Antigravity, VS Code, Qwen CLI, Copilot) plus conductor tracking docs.
Changes:
- Add Python implementations of
sync,validate, andinstalladapter workflows with full pytest coverage, Ruff/Mypy integration, and a GitHub Actions CI pipeline. - Introduce adapter metadata contracts and concrete adapters under
adapters/for Gemini CLI, Google Antigravity (skill + rules/workflows), VS Code, Qwen CLI, and GitHub Copilot, plus a globalAGENTS.mdmanifest. - Incorporate upstream editorial updates to
SKILL.md/README.md(version bump to 2.2.0, new “Primary Single Quotes” pattern, wording/formatting fixes) and add conductor “tracks” and workflow documentation for ongoing project management.
Reviewed changes
Copilot reviewed 167 out of 169 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_validate_adapters.py | New tests covering get_skill_metadata, validate_adapter, and main() success/failure paths for the Python validation script. |
| tests/test_sync_adapters.py | New tests ensuring get_skill_version, sync_antigravity_skill, update_metadata, and sync main() behaviors (including error logging) work as expected. |
| tests/test_install_adapters.py | New tests for install_file and install_adapters.main() across success, validation, missing-source, and validation-failure scenarios to enforce 100% coverage. |
| tests/init.py | Marks the tests package with a brief module docstring. |
| styles/Microsoft/meta.json | Configures Vale to use the upstream Microsoft style package feed and minimum version. |
| styles/Microsoft/Wordiness.yml | Adds a Microsoft style rule for wordiness/concise wording. |
| styles/Microsoft/We.yml | Adds a rule discouraging first‑person plural in prose per Microsoft style. |
| styles/Microsoft/Vocab.yml | Adds Microsoft vocabulary checking tokens for Vale. |
| styles/Microsoft/Units.yml | Adds Microsoft rule for numeric units formatting. |
| styles/Microsoft/URLFormat.yml | Adds rule advising “URL of” vs “URL for”. |
| styles/Microsoft/Terms.yml | Adds Microsoft‑preferred terminology substitutions. |
| styles/Microsoft/Suspended.yml | Adds rule against “suspended hyphen” constructions. |
| styles/Microsoft/Spacing.yml | Adds punctuation spacing rules for Microsoft style. |
| styles/Microsoft/SentenceLength.yml | Adds a sentence length suggestion rule. |
| styles/Microsoft/Semicolon.yml | Adds a suggestion rule around semicolon usage. |
| styles/Microsoft/RangeTime.yml | Adds rule preferring “to” instead of dashes in time ranges. |
| styles/Microsoft/Quotes.yml | Adds rule requiring punctuation inside quotes. |
| styles/Microsoft/Plurals.yml | Adds rule against “(s)/(es)” plural notation. |
| styles/Microsoft/Percentages.yml | Adds rule to use numerals with “percent”. |
| styles/Microsoft/Passive.yml | Adds passive‑voice detection per Microsoft style. |
| styles/Microsoft/OxfordComma.yml | Adds suggestion for Oxford comma usage. |
| styles/Microsoft/Ordinal.yml | Adds rule against “firstly/secondly/thirdly”. |
| styles/Microsoft/Negative.yml | Adds rule on negative-number dash usage. |
| styles/Microsoft/Hyphens.yml | Adds rule against unnecessary hyphens after adverbs. |
| styles/Microsoft/Headings.yml | Adds sentence‑case heading rule with exceptions. |
| styles/Microsoft/HeadingPunctuation.yml | Adds rule removing end punctuation in headings. |
| styles/Microsoft/HeadingColons.yml | Adds capitalization rule after colons in headings. |
| styles/Microsoft/HeadingAcronyms.yml | Warns on acronyms appearing in headings. |
| styles/Microsoft/GeneralURL.yml | Recommends “address” instead of “URL” for general audiences. |
| styles/Microsoft/GenderBias.yml | Adds gender‑biased term substitutions. |
| styles/Microsoft/Gender.yml | Disallows “he/she” and “s/he”. |
| styles/Microsoft/Foreign.yml | Replaces Latin abbreviations with English phrases. |
| styles/Microsoft/FirstPerson.yml | Warns on first‑person singular in documentation. |
| styles/Microsoft/Ellipses.yml | Warns on general ellipsis usage. |
| styles/Microsoft/DateOrder.yml | Flags numeric-only date formats. |
| styles/Microsoft/DateNumbers.yml | Flags ordinal words in dates. |
| styles/Microsoft/DateFormat.yml | Enforces a specific date format. |
| styles/Microsoft/Dashes.yml | Enforces spacing rules around dashes. |
| styles/Microsoft/Contractions.yml | Encourages contractions per Microsoft style. |
| styles/Microsoft/Avoid.yml | Disallows certain terms per the Microsoft A–Z list. |
| styles/Microsoft/Auto.yml | Normalizes “auto‑” hyphenation per style guide. |
| styles/Microsoft/Adverbs.yml | Warns on a long list of potentially superfluous adverbs. |
| styles/Microsoft/Acronyms.yml | Adds conditional rule about acronym definitions with exceptions list. |
| styles/Microsoft/Accessibility.yml | Flags non‑inclusive/disability‑defining language. |
| styles/Microsoft/AMPM.yml | Enforces spacing and capitalization for AM/PM. |
| styles/Google/vocab.txt | Adds Google style vocabulary word list for Vale. |
| styles/Google/meta.json | Configures Vale’s Google style package feed. |
| styles/Google/WordList.yml | Adds Google‑preferred wording substitutions. |
| styles/Google/Will.yml | Warns on “will” usage per Google tense guidance. |
| styles/Google/We.yml | Warns on first‑person plural per Google style. |
| styles/Google/Units.yml | Enforces non‑breaking space formatting for units. |
| styles/Google/Spelling.yml | Warns on non‑US spellings and certain patterns. |
| styles/Google/Spacing.yml | Enforces sentence spacing rules. |
| styles/Google/Slang.yml | Disallows internet slang abbreviations. |
| styles/Google/Semicolons.yml | Adds semicolon usage suggestions. |
| styles/Google/Ranges.yml | Warns on “from/between X–Y” numeric range phrasing. |
| styles/Google/Quotes.yml | Enforces punctuation inside quotes per Google style. |
| styles/Google/Periods.yml | Disallows periods in acronyms/initialisms. |
| styles/Google/Passive.yml | Adds passive‑voice detection per Google style. |
| styles/Google/Parens.yml | Suggests careful use of parentheses. |
| styles/Google/OxfordComma.yml | Suggests Oxford comma for lists. |
| styles/Google/Ordinal.yml | Flags ordinal numerals in text. |
| styles/Google/OptionalPlurals.yml | Disallows “(s)” optional plurals. |
| styles/Google/LyHyphens.yml | Removes unnecessary hyphens after “‑ly” adverbs. |
| styles/Google/Latin.yml | Replaces Latin abbreviations with English phrases. |
| styles/Google/Headings.yml | Enforces sentence‑case headings with exception list. |
| styles/Google/HeadingPunctuation.yml | Removes periods at end of headings. |
| styles/Google/GenderBias.yml | Adds inclusive language substitutions (Google variant). |
| styles/Google/Gender.yml | Disallows gender‑neutral “he/she”, “s/he”, “(s)he”. |
| styles/Google/FirstPerson.yml | Warns on first‑person pronouns in docs. |
| styles/Google/Exclamation.yml | Disallows exclamation points in text. |
| styles/Google/EmDash.yml | Enforces no spaces around dashes. |
| styles/Google/Ellipses.yml | Warns on ellipsis usage. |
| styles/Google/DateFormat.yml | Enforces date formatting per Google style. |
| styles/Google/Contractions.yml | Suggests contractions per Google style. |
| styles/Google/Colons.yml | Encourages lowercase after colons in sentences. |
| styles/Google/Acronyms.yml | Requires acronym definitions with exception list. |
| styles/Google/AMPM.yml | Enforces AM/PM formatting. |
| scripts/validate_adapters.py | New Python CLI that reads skill metadata from SKILL.md and validates adapter files’ skill_name, skill_version, last_synced, and source_path, exiting non‑zero on problems. |
| scripts/validate-adapters.ps1 | PowerShell script to validate adapter metadata against a given skill file (original implementation). |
| scripts/validate-adapters.cmd | Windows batch wrapper to run the PowerShell validation script. |
| scripts/sync_adapters.py | Python CLI that computes the current skill version/date and updates the Antigravity skill copy plus version/date metadata in each adapter file. |
| scripts/sync-adapters.ps1 | PowerShell implementation of the adapter sync logic. |
| scripts/sync-adapters.cmd | Batch wrapper to invoke the PowerShell sync script. |
| scripts/install_adapters.py | Python CLI to (optionally) validate, then install all adapters into their target locations: Gemini extension dir, Antigravity .agent tree, VS Code workspace, root Qwen file, and .github Copilot instructions. |
| scripts/install-adapters.ps1 | PowerShell implementation of the multi-target adapter installation workflow. |
| scripts/install-adapters.cmd | Batch wrapper to invoke the PowerShell install script. |
| scripts/init.py | Marks the scripts package with a short descriptive docstring. |
| pyproject.toml | Adds project metadata plus Ruff, Mypy, pytest (with 100% coverage threshold), and coverage configuration. |
| pr5.json / pr5.diff | Capture upstream PR #5 metadata and diff content for reference in conductor tooling. |
| pr4.json / pr4.diff | Capture upstream PR #4 metadata and diff content for reference. |
| pr3.json | Captures upstream PR #3 metadata for reference. |
| issues.json | Caches a snapshot of GitHub issues relevant to installation and usage patterns, used by conductor tooling. |
| conductor/workflow.md | Defines a detailed conductor workflow for task lifecycle, TDD, coverage gates, commit/notes conventions, and phase checkpointing. |
| conductor/tracks/universal-automated-adapters_20260131/* | Spec, plan, and metadata describing the “Universal Automated Adapters” track that drives sync/install/validate automation across all adapters. |
| conductor/tracks/migrate-warp-to-agentsmd_20260131/* | Spec, plan, metadata, and index for migrating the prior WARP.md guidance into a standard AGENTS.md manifest. |
| conductor/tracks/humanizer-adapters_20260125/* | Historical track docs defining the original multi-agent adapter architecture and metadata contract. |
| conductor/tracks/gemini-extension_20260131/* | Track docs for designing, implementing, and validating the Gemini CLI extension adapter. |
| conductor/tracks/devops-quality_20260131/* | Track docs for the DevOps/quality work (Ruff, Mypy, pytest, pre-commit, CI) now present in the repo. |
| conductor/tracks/antigravity-skills_20260131/* | Track docs for the Google Antigravity skill adapter. |
| conductor/tracks/antigravity-rules-workflows_20260131/* | Track docs for Antigravity rules/workflows templates. |
| conductor/tracks/adopt-upstream-prs_20260131/* | Track docs for sequentially adopting upstream PRs #3–#5 into this fork. |
| conductor/tracks/adapters-expansion_20260131/* | Track docs for adding Qwen CLI and Copilot adapters. |
| conductor/tracks.md | Index of all conductor tracks, including archived and active tracks, tying the above plans together. |
| conductor/tech-stack.md | Documents the repo’s “tech stack” and constraints (Markdown‑centric, adapters as wrappers around SKILL.md). |
| conductor/setup_state.json | Records conductor’s last setup step state. |
| conductor/product.md | High-level product guide describing Humanizer’s goals, target environments, and success criteria. |
| conductor/product-guidelines.md | Defines cross‑environment product behavior and invariants (voice matching, invariants around technical literals, etc.). |
| conductor/code_styleguides/typescript.md | Summary of Google TypeScript style for future TS code in the repo. |
| conductor/code_styleguides/javascript.md | Summary of Google JavaScript style guidelines. |
| conductor/code_styleguides/general.md | General cross-language code style principles. |
| adapters/vscode/humanizer.code-snippets | VS Code snippet file that injects the Humanizer prompt into an editor session. |
| adapters/vscode/HUMANIZER.md | VS Code adapter metadata and instructions describing how to use the snippet/skill. |
| adapters/qwen-cli/QWEN.md | Qwen CLI adapter file containing metadata and core Humanizer instructions tied to SKILL.md. |
| adapters/gemini-extension/gemini-extension.json | Gemini extension manifest declaring the Humanizer extension name, version, and context file. |
| adapters/gemini-extension/commands/humanizer/humanize.toml | Gemini CLI saved-command prompt for running Humanizer (/humanizer:humanize). |
| adapters/gemini-extension/GEMINI.md | Gemini extension adapter with metadata and Humanizer usage instructions. |
| adapters/copilot/COPILOT.md | Copilot adapter containing metadata and instructions suitable for Copilot custom instructions. |
| adapters/antigravity-skill/README.md | README describing how to install the Humanizer Antigravity skill in a workspace. |
| adapters/antigravity-rules-workflows/workflows/humanize.md | Antigravity workflow template that walks through analyzing and rewriting text with Humanizer patterns. |
| adapters/antigravity-rules-workflows/rules/humanizer.md | Antigravity rule template describing always-on Humanizer guidance. |
| adapters/antigravity-rules-workflows/README.md | Adapter README with metadata and installation instructions for Antigravity rules/workflows. |
| adapters/VERSIONING.md | Documents adapter versioning policy tied to SKILL.md versions and last_synced dates. |
| WARP.md | Old Warp-specific guidance file removed in favor of the more general AGENTS.md manifest. |
| SKILL.md | Canonical Humanizer skill updated: version bumped to 2.2.0, description fixed (“filler phrases”), headings/rhythm examples tuned, a new Pattern #19 (Primary Single Quotes) added, and pattern numbering/formatting adjusted. |
| README.md | Expanded usage section for multiple agents, added adapters/sync/install documentation, updated pattern counts/tables and version history, and (intended) harmonization with the updated SKILL.md example text. |
| QWEN.md | Root-level Qwen CLI adapter file with its own metadata and adapter instructions (currently intended to be populated from the canonical adapter). |
| AGENTS.md | New Agents.md manifest providing cross-agent context, adapter metadata, and guidance for tools like Codex CLI and IDE agents. |
| .vscode/humanizer.code-snippets | Workspace copy of the Humanizer VS Code snippet, mirroring adapters/vscode/humanizer.code-snippets. |
| .vale.ini | Enables Vale with the bundled Google and Microsoft style rules for Markdown/text. |
| .pre-commit-config.yaml | Configures pre-commit hooks for Vale, core checks, Ruff, Mypy, and markdownlint. |
| .markdownlint.yaml | Project markdownlint configuration (disabling a few rules for frontmatter/line length/HTML). |
| .gitignore | Adds standard Python and OS ignore patterns. |
| .github/workflows/ci.yml | New GitHub Actions CI workflow running pre-commit hooks and pytest on Python 3.13. |
| .github/copilot-instructions.md | Root Copilot instructions file containing the Copilot adapter plus metadata (intended to be kept in sync with adapters/copilot/COPILOT.md). |
| .agent/workflows/humanize.md | Checked-in Antigravity workflow copy for Humanizer. |
| .agent/skills/humanizer/SKILL.md | Checked-in Antigravity skill copy for Humanizer, including adapter metadata and the embedded skill content. |
| .agent/skills/humanizer/README.md | README accompanying the checked-in Antigravity skill copy. |
| .agent/rules/humanizer.md | Checked-in Antigravity rule copy for Humanizer. |
| tests/init.py | (duplicate listing) Marks tests package; supports pytest discovery. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
README.md
Outdated
| > At its core, the value proposition is clear: streamlining processes, enhancing collaboration, and fostering alignment. It's not just about autocomplete; it's about unlocking; The new software update serves as a testament to the company's commitment to innovation. Moreover, it provides a seamless, intuitive, and powerful user experience—ensuring that users can accomplish their goals efficiently. It's not just an update; it's a revolution in how we think about productivity. Industry experts believe this will have a lasting impact on the entire sector, highlighting the company's pivotal role in the evolving technological landscape. | ||
| tion has accelerated from hobbyist experiments to enterprise-wide rollouts, from solo developers to cross-functional teams. The technology has been featured in The New York Times, Wired, and The Verge. Additionally, the ability to generate documentation, tests, and refactors showcases how AI can contribute to better outcomes, highlighting the intricate interplay between automation and human judgment. |
There was a problem hiding this comment.
The "Before (AI-sounding)" example text here appears corrupted (e.g., it's about unlocking; The new software update... followed by a line starting tion has accelerated...), which reads as concatenated fragments from two different paragraphs; this makes the example hard to understand and undermines the guidance, so it should be reconstructed into coherent paragraphs matching the intended upstream text.
| > At its core, the value proposition is clear: streamlining processes, enhancing collaboration, and fostering alignment. It's not just about autocomplete; it's about unlocking; The new software update serves as a testament to the company's commitment to innovation. Moreover, it provides a seamless, intuitive, and powerful user experience—ensuring that users can accomplish their goals efficiently. It's not just an update; it's a revolution in how we think about productivity. Industry experts believe this will have a lasting impact on the entire sector, highlighting the company's pivotal role in the evolving technological landscape. | |
| tion has accelerated from hobbyist experiments to enterprise-wide rollouts, from solo developers to cross-functional teams. The technology has been featured in The New York Times, Wired, and The Verge. Additionally, the ability to generate documentation, tests, and refactors showcases how AI can contribute to better outcomes, highlighting the intricate interplay between automation and human judgment. | |
| > At its core, the value proposition is clear: streamlining processes, enhancing collaboration, and fostering alignment. It's not just about autocomplete; it's about unlocking new possibilities across the entire software development lifecycle and reimagining how humans and machines work together. Adoption has accelerated from hobbyist experiments to enterprise-wide rollouts, spanning solo developers, startups, and large organizations. The technology has been featured in The New York Times, Wired, and The Verge. Additionally, the ability to generate documentation, tests, and refactors showcases how AI can contribute to better outcomes, highlighting the intricate interplay between automation and human judgment. |
AGENTS.md
Outdated
|
|
||
| The Humanizer skill provides a set of 25 patterns for identifying and rewriting "AI-slop" or sterile writing. It preserves technical literals (code blocks, URLs, identifiers) while injecting personality and human-like voice. | ||
|
|
||
| - **Primary Prompt:** [SKILL.md](file:///c:/Users/60217257/repos/humanizer/SKILL.md) |
There was a problem hiding this comment.
This link to SKILL.md is hard-coded as a Windows-specific absolute file:///c:/Users/... path, which will not work for users on other machines or platforms; it should instead be a relative Markdown link (for example, SKILL.md) so the manifest remains portable.
| - **Primary Prompt:** [SKILL.md](file:///c:/Users/60217257/repos/humanizer/SKILL.md) | |
| - **Primary Prompt:** [SKILL.md](SKILL.md) |
.github/copilot-instructions.md
Outdated
| --- | ||
| adapter_metadata: | ||
| skill_name: humanizer | ||
| skill_version: 2.1.1 |
There was a problem hiding this comment.
The skill_version in this adapter metadata is still 2.1.1, but the canonical SKILL.md has been bumped to 2.2.0 and the primary Copilot adapter at adapters/copilot/COPILOT.md already uses 2.2.0; committing this stale version means the checked-in Copilot instructions disagree with the adapters and validation scripts, so this value should be updated (or the file generated exclusively through the install script rather than tracked).
| skill_version: 2.1.1 | |
| skill_version: 2.2.0 |
QWEN.md
Outdated
| --- | ||
| adapter_metadata: | ||
| skill_name: humanizer | ||
| skill_version: 2.1.1 |
There was a problem hiding this comment.
This root QWEN.md adapter metadata still reports skill_version: 2.1.1, while SKILL.md is now at 2.2.0 and adapters/qwen-cli/QWEN.md already uses 2.2.0; that divergence can easily cause confusion about which version is current, so either update this header to match or stop tracking this file and rely on the install script to generate it from the canonical adapter.
| skill_version: 2.1.1 | |
| skill_version: 2.2.0 |
.agent/skills/humanizer/SKILL.md
Outdated
| adapter_metadata: | ||
| skill_name: humanizer | ||
| skill_version: 2.1.1 | ||
| last_synced: 2026-01-31 | ||
| source_path: SKILL.md | ||
| adapter_id: antigravity-skill | ||
| adapter_format: Antigravity skill | ||
| --- | ||
|
|
||
| --- | ||
| name: humanizer | ||
| version: 2.1.1 | ||
| description: | | ||
| Remove signs of AI-generated writing from text. Use when editing or reviewing | ||
| text to make it sound more natural and human-written. Based on Wikipedia's | ||
| comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: | ||
| inflated symbolism, promotional language, superficial -ing analyses, vague | ||
| attributions, em dash overuse, rule of three, AI vocabulary words, negative | ||
| parallelisms, and excessive conjunctive phrases. |
There was a problem hiding this comment.
This committed Antigravity skill copy is out of sync with the canonical SKILL.md: both the adapter metadata and the inner version: field still say 2.1.1 and the description mentions "excessive conjunctive phrases" instead of the updated "filler phrases"; given that this directory is presented as an installable skill, it should either be wired into the sync workflow or removed in favor of the up-to-date adapters/antigravity-skill/SKILL.md.
| - [ ] Task: Port `install-adapters.ps1` to `scripts/install_adapters.py` | ||
| - [ ] Task: Conductor - Agent Verification 'Phase 1: Python Migration & Infrastructure' |
There was a problem hiding this comment.
Phase 1 in this plan lists "Port install-adapters.ps1 to scripts/install_adapters.py" and the corresponding verification task twice, once as completed and again as still pending; since the track is marked archived, leaving a duplicate unchecked task is confusing and makes it hard to tell whether there is remaining work, so the redundant entries should be removed or marked consistently.
README.md
Outdated
|
|
||
| ### Global Agent Context | ||
|
|
||
| AI agents (Claude Code, Cursor, Windsurf, etc.) should use [AGENTS.md](file:///c:/Users/60217257/repos/humanizer/AGENTS.md) for repository orientation and core instructions. |
There was a problem hiding this comment.
The new "Global Agent Context" link uses an absolute Windows file URL (file:///c:/Users/60217257/repos/humanizer/AGENTS.md), which will be broken for other users and environments; this should be a relative Markdown link (for example, just AGENTS.md) to keep the README portable and valid in different setups.
| AI agents (Claude Code, Cursor, Windsurf, etc.) should use [AGENTS.md](file:///c:/Users/60217257/repos/humanizer/AGENTS.md) for repository orientation and core instructions. | |
| AI agents (Claude Code, Cursor, Windsurf, etc.) should use [AGENTS.md](AGENTS.md) for repository orientation and core instructions. |
|
@copilot open a new pull request to apply changes based on the comments in this thread |
- Add severity classification for AI patterns (Critical/High/Medium/Low) - Add technical literal preservation rules for code, URLs, paths - Add chain-of-thought reasoning examples - Add common over-corrections section (what NOT to do) - Add self-verification checklist - Update process section with more structured approach - Bump version to 2.2.0 Closes blader#22
- Add track spec, plan, metadata, and index - Add docs/skill-distribution.md and docs/awesome-agent-entry.md (draft) - Add validation script scripts/validate-skill.sh - Add CI workflow .github/workflows/skill-distribution.yml - Update README and add CONTRIBUTING.md reference to validation Closes blader#25
…kflow - Add ESLint, Prettier, and TypeScript check configs - Auto-fix formatting across repository - Enforce lint:all and tests in skill-distribution workflow
…et status to in_progress
Co-authored-by: edithatogo <15080672+edithatogo@users.noreply.github.com>
Combine quotation mark patterns to reduce verbosity
…pattern conflicts
Closes #18.
This PR refactors the skill into modular fragments and introduces the Humanizer Pro variant.
Key changes: