programmer-behaviour-rules
Standard pre-coding behaviour rules for programmer agents — read before writing, match conventions, no new dependencies without reason, explain before…
Skill by MoltenRuby
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/moltenruby-programmer-behaviour-rules
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/programmer-behaviour-rules
What's inside
- Skill name
programmer-behaviour-rules- Description
- Standard pre-coding behaviour rules for programmer agents — read before writing, match conventions, no new dependencies without reason, explain before refactoring, ask before assuming, and clean test design (no tautological tests, mocks only at architectural boundaries)
- License
- MIT
- Compatibility
- opencode
- Instructions
- 62 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Behaviour rules - Before writing any code, read the relevant existing files to understand conventions in use. - Match the style, naming conventions, and module patterns already present in the codebase. - Do not introduce new dependencies without stating the reason and asking for confirmation. - When refactoring, explain what changes and why before making the changes. - If a requirement is ambiguous, ask one clarifying question before proceeding. ## Test design ### No tautological tests A tautological test asserts the implementation rather than the behaviour. It has no diagnostic value and breaks when the code is restructured even if the behaviour is unchanged. Forbidden patterns: - Asserting that a mock was called (e.g. `mock.assert_called_once_with(...)`, `expect(spy).toHaveBeenCalledWith(...)`) when the call is an internal implementation detail — not an observable output or a boundary side-effect. - Asserting return values that merely echo constructor arguments with no transformation. - Tests whose only assertion is the absence of an exception thrown by a mock. Required: every test must assert observable behaviour — a return value, a visible state change, an event emitted, or a boundary call that constitutes the feature's contract. ### Mocks only at architectural boundaries Mocks, stubs, and spies are legitimate **only** at architectural boundaries. A boundary is any point where the code crosses out of the process or into infrastructure it does not own. Approved boundary list (mock here): - **I/O** — file system reads/writes, stdin/stdout/stderr - **CLI** — subprocess invocations, shell commands - **Network / web service calls** — HTTP clients, gRPC stubs, WebSocket connections - **Databases / data access** — SQL, NoSQL, ORM sessions, query builders - **Message queues / event buses** — Kafka, RabbitMQ, SQS, pub/sub producers/consumers - **Clock / time** — `datetime.now()`, `Date.now()`, `time.time()`, system timers - **Randomness** — `random`, `uuid`, `crypto.randomBytes`, any non-deterministic value source - **External services** — payment gateways, email senders, SMS providers, third-party APIs Not a boundary — do not mock: - Domain services, use cases, application services - In-process repositories backed by in-memory data structures (use a real in-memory fake instead) - Pure functions and value objects - Internal collaborators within the same module or package ### Fakes and in-memory implementations are always preferred over mocks When a dependency is an interface or abstract type (repository, gateway, port), provide a concrete in-memory fake that satisfies the contract. Fakes are first-class code: they are tested, they enforce the interface, and they enable fast, deterministic integration tests without mocks. ### No monkey-patching of internal collaborators Do not use patching/monkey-patching mechanisms (e.g. `unittest.mock.patch`, `jest.spyOn`, `sinon.stub`) to replace non-boundary collaborators during tests. This creates invisible coupling between the test and the implementation structure.
From MoltenRuby/MrSmith, MIT.
More from MoltenRuby/MrSmith
- 0.414score
copilot-search
MoltenRuby
Use when you need to find code or documentation by concept or meaning and don't know which file contains it.
SkillDFreshness: DClaude Code +9 - 0.406score
phase-test-gate
MoltenRuby
Defines the mandatory test-gate convention for phased execution plans — every phase must end with a [TEST] step that acts as a hard gate before the next phase…
SkillDFreshness: DClaude Code +9 - 0.406score
structured-labels
MoltenRuby
Defines the standard structured label conventions used across all analytical, planning, and debugging agents — REQ, RISK, BS, HYP, EV identifiers with…
SkillDFreshness: DClaude Code +9 - 0.406score
git-commit-workflow
MoltenRuby
Standard Git workflow conventions for commits, branches, and pull requests — commit message format, branch naming, squash rules, and PR hygiene to follow when…
SkillDFreshness: DClaude Code +9 - 0.406score
input-mode-detection
MoltenRuby
Defines four input modes (analysis-only, plan-only, both, neither) and the corresponding behaviour for each — used by programmer agents to determine how to…
SkillDFreshness: DClaude Code +9 - 0.406score
nomad-jobs
MoltenRuby
Author new Nomad v1.11.2 HCL job specs, review and validate existing specs, and convert Docker Compose files to Nomad HCL — service, batch, and periodic/cron…
SkillDFreshness: DClaude Code +9 - 0.406score
opencode-artefact-conventions
MoltenRuby
Stable OpenCode configuration conventions for agents, skills, commands, and rules — frontmatter fields, file placement, naming constraints, and the…
SkillDFreshness: DClaude Code +9 - 0.406score
consensus-reviewer-output-format
MoltenRuby
Standard output format for consensus reviewer agents — Verdict/Reasons/Suggested changes structure with AGREE/DISAGREE verdicts
SkillDFreshness: DClaude Code +9 - 0.406score
deviation-reporting
MoltenRuby
Rules for classifying and reporting deviations from a plan during implementation — breaking deviations require user approval, trivial deviations are…
SkillDFreshness: DClaude Code +9 - 0.406score
evidence-based-reasoning
MoltenRuby
Enforces 100% factual, evidence-backed reasoning — no inference or paraphrase, all claims must be supported by quoted source code with file paths and line…
SkillDFreshness: DClaude Code +9 - 0.406score
feature-doc-schemas
MoltenRuby
Canonical schemas for requirements.md, analysis.md, SOP.md, acceptance-criteria.md, and doc/index.md — exact structure, section headings, and field formats…
SkillDFreshness: DClaude Code +9 - 0.402score
communication-rules
MoltenRuby
Universal communication rules for analytical and workshop agents — one question at a time, no silent assumptions, structured responses, no filler language
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 24, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/MoltenRuby/MrSmith
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MoltenRuby
- 0.414score
copilot-search
MoltenRuby
Use when you need to find code or documentation by concept or meaning and don't know which file contains it.
SkillDFreshness: DClaude Code +9 - 0.406score
opencode-artefact-conventions
MoltenRuby
Stable OpenCode configuration conventions for agents, skills, commands, and rules — frontmatter fields, file placement, naming constraints, and the…
SkillDFreshness: DClaude Code +9 - 0.406score
phase-test-gate
MoltenRuby
Defines the mandatory test-gate convention for phased execution plans — every phase must end with a [TEST] step that acts as a hard gate before the next phase…
SkillDFreshness: DClaude Code +9 - 0.406score
deviation-reporting
MoltenRuby
Rules for classifying and reporting deviations from a plan during implementation — breaking deviations require user approval, trivial deviations are…
SkillDFreshness: DClaude Code +9 - 0.406score
consensus-reviewer-output-format
MoltenRuby
Standard output format for consensus reviewer agents — Verdict/Reasons/Suggested changes structure with AGREE/DISAGREE verdicts
SkillDFreshness: DClaude Code +9 - 0.406score
evidence-based-reasoning
MoltenRuby
Enforces 100% factual, evidence-backed reasoning — no inference or paraphrase, all claims must be supported by quoted source code with file paths and line…
SkillDFreshness: DClaude Code +9
Cite this page
programmer-behaviour-rules skill. Agent Mart. https://agentmart.dev/skills/moltenruby-programmer-behaviour-rules (last updated 2026-10-24)