Coding policy for Viktor Gamov's AI agents: language-agnostic quality rules, autonomous shipping discipline, and stack defaults for JVM, Swift, TypeScript, and Python
78
98%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
.tessl-plugin/plugin.json manifest with name, version, and description — full schema in rules/skill-authoring.mdREADME.md is the project's README.md — same file, carrying the rules table, skills table, hooks table, and installation instructions[](https://tessl.io/registry/gamussa/coding-policy)rules/<name>.md, skills in skills/<name>/SKILL.md, hooks in hooks/<name>.sh.tesslignore to exclude CI files, scripts/, and docs/ from the published plugintessl plugin lint before every publish; CHANGELOG.md and similar repo files show as orphaned in lint, which only tracks manifest-declared pathssee rules/foo.md), don't duplicate content across rules — if you want to state the same point in two rules, one states it and the other references it# Commit Conventions for commit-conventions.md)alwaysApply: true, no applyTo:; description: is optionalalwaysApply: false plus applyTo: "<glob list> — <natural-language clause>" — both halves required, the em dash separates file scope from action scopedescription: is a summary, never a substitute for applyTo: on a conditional ruleSKILL.md, README; out of scope for files the agent opens only by choice (references/**, lookup tables) and for CHANGELOGsum to exactly 100)When you add, remove, or rename a rule, skill, or hook, update all of these:
.tessl-plugin/plugin.json — the rules, skills, or hooks entryREADME.md — the rules, skills, or hooks tableCHANGELOG.md — an entry describing the change.claude/CLAUDE.md — the @../rules/<name>.md import listrules/, skills/, hooks/, the manifest) bumps .tessl-plugin/plugin.json version by hand, per semver — patch by default, minor for a new rule/skill/hook, major for a removed or renamed one## <version> — <date> heading above its CHANGELOG entries by hand; no auto-stamp step existsscripts/check-version-bump.sh fails CI when the manifest version is not strictly greater than the registry's latest.github/workflows/publish.yml publishes the manifest version as-is on push to main; a version already in the registry reds the publishUnreleased section — the heading is forbiddenAfter modifying rules, audit for cross-rule alignment:
rules/script-delegation.md.tessl-plugin/plugin.json entriesAfter editing a rule, audit the repo itself against the new rule text and fix any drift in the same PR:
.env.example files, SKILL.md step headings, hook markers) and update them to satisfy the new wording.tessl-plugin
hooks
rules
skills