name: the-polyglot-protocol description: Use when generating, reviewing, refactoring, or planning code in polyglot repositories and you need senior-engineer guidance for language choice, architecture, testing, security, performance, dependencies, concurrency, CPU/GPU use, release safety, and LLM coding guardrails.
The Polyglot Protocol
Use this skill before code generation, code review, dependency changes, architecture changes, or workflow changes in a repository that may involve one or more programming languages.
Required Workflow
- Read
docs/workflow/dev-workflow.mdfor the operating process. - Read
docs/language-guidelines.mdfor language-selection rules. - Read
docs/languages/pre-codegen-checklist.md. - Read
docs/languages/do-not-generate-policy.md. - Read the relevant file under
docs/languages/before generating language-specific code. - For Python scripts, also read
docs/languages/python/python.md. - For TypeScript or JavaScript, also read
docs/languages/typescript/typescript.md. - After code generation, audit the entire generated codebase against this
protocol and
docs/languages/scoring-rubric.md. Report every criterion with its score, remediate all gaps until every criterion reaches10/10, and report the final total score. If a criterion cannot reach10/10, document the blocker, evidence, and follow-up requirement before completion. - Run validation when this skill folder is available:
python scripts/validate-workspace.py
Core Rules
- Default operational scripts to Python unless the repository already has a better native script runner.
- Preserve existing project language, framework, package manager, formatter, test runner, and layout.
- Use platform-native code for product surfaces: PHP for WordPress, Shopify Liquid for Shopify themes, Kotlin for Android, Swift for Apple apps, SQL for database work, and HTML/CSS/TypeScript for web surfaces.
- Prefer the shortest reliable supported path before adding infrastructure.
- Verify current tool, dependency, and runtime versions from official or primary sources before pinning or upgrading.
- Do not invent APIs, configuration keys, package names, services, flags, or framework behavior.
- Generated code is not complete until a whole-codebase protocol audit reaches
100/100across the rubric, or a documented blocker explains why that target is impossible in the current scope. - Treat unsupported Docker, Lighthouse, browser, deployment, Git, or CI steps as
explicit
N/Aitems with evidence.
Reference Map
- Language choice:
docs/languages/decision-matrix.md - Hard stops:
docs/languages/do-not-generate-policy.md - Required preflight:
docs/languages/pre-codegen-checklist.md - Examples:
docs/languages/examples.md - Version checks:
docs/languages/install-version-commands.md - Scoring:
docs/languages/scoring-rubric.md - LLM failure modes:
docs/languages/top-llm-coding-nuances.md - Current score:
docs/languages/score-report.md
Adapter Files
Use the adapter files when another agent expects a specific guidance filename:
- Codex:
adapters/codex/AGENTS.md - Claude Code:
adapters/claude-code/CLAUDE.md - OpenCode:
adapters/opencode/AGENTS.md