Starter rules
Skill oleg-koval/agent-skills/packages/software-development/starter-rules
Opinionated agent skill catalog for Codex, Claude, Cursor, Copilot, and launch workflows.
npx -y skills add oleg-koval/agent-skills --skill starter-rulesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Load and enforce the hard rules every oleg-koval/* starter must obey. Use when starting or auditing work in saas-init, ts-npm-starter, go-starter, py-starter, or any future oleg-koval template repo. Covers functional style, 300-line file cap, E2E > unit tests, pre-commit hooks, no-comment policy, KISS/DRY/SOLID, and Vertical Slice as default architecture for SaaS/app starters.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.4 KB, 695 tokens by cl100k_base, as published. Nobody here has run it
Starter Rules
Overview
Load the canonical hard rules for every oleg-koval/* starter repo and verify the current repo complies with them. Produces a compliance report and a list of gaps to fix.
When to Use
- Starting a new coding session in any
oleg-koval/*template repo - Auditing an existing starter for rule compliance before a release or PR merge
- Onboarding a new contributor (human or AI) to a starter
- After a large refactor, to verify rules have not been silently violated
Do not use for repos outside the oleg-koval namespace unless they explicitly reference RULES.md.
Workflow
-
Load the rules — read
RULES.mdfrom the repo root. If absent, fetch it fromhttps://github.com/oleg-koval/starters/blob/main/RULES.mdand note that the starter is missing a local copy. -
Apply §2 hard rules — for the current task or PR diff, verify:
- No file exceeds 300 lines (
find . -name '*.ts' -o -name '*.py' -o -name '*.go' | xargs wc -l | awk '$1 > 300 && $2 != "total"') - No functions produce side effects outside of boundary layers
- New code has no WHAT-comments; WHY-comments are one line max
- Tests are E2E-first; unit tests only for pure logic with non-trivial branching
- No file exceeds 300 lines (
-
Verify hooks and lint — check that pre-commit hooks are installed and configured:
- TypeScript:
cat .eslintrc* | grep max-linesandcat package.json | grep -A5 '"lint-staged"\|"husky"\|"lefthook"' - Python:
cat .pre-commit-config.yamland check forruff+ format hooks - Go:
cat .golangci.ymlor.pre-commit-config.yamland check forgolangci-lint+gofmt
- TypeScript:
-
Check architecture — for app/SaaS starters: confirm feature code is organized as vertical slices (feature directory contains handler + DTO + service + tests together). For library starters: skip.
-
Report gaps — list any violations found in steps 2–4. For each gap:
- Name the rule (e.g., "§2.2 file length")
- Name the file and line count or violation
- Propose the minimal fix
-
Fix on request — if the user asks to fix the gaps, apply them one at a time, smallest change first. Do not refactor beyond what the rule requires.
Reference
Full rule details: RULES.md
Architecture options and future starters: RULES.md §3
Unix principles: RULES.md §4
Verification
-
RULES.mdwas read from the repo root (or fetched and absence noted) - File length check ran with zero violations, or violations were listed
- Pre-commit hooks verified as installed and configured
- Compliance report produced listing passed checks and gaps
- Any fixes applied do not exceed the scope of the violated rule
What ships with it: 6 files
6.9 KB alongside SKILL.md
adapters/
- claude/plugin.json242 B
- codex/README.md356 B
- cursor/plugin.json263 B
- grok/plugin.json263 B
- kiro/steering/starter-rules.md2.9 KB
- windsurf/rules/starter-rules.md2.9 KB