development-rules
Domain-specific rules for Python, FastAPI, and Testing to prevent production bugs and regressions.
Install
mkdir -p .claude/skills/development-rules && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15969" && unzip -o skill.zip -d .claude/skills/development-rules && rm skill.zipInstalls to .claude/skills/development-rules
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Hard-learned development rules by domain — Python, FastAPI, React, Testing. Prevents the specific mistakes that caused 70+ audit findings across v0.21.0-v0.21.3.Key capabilities
- →Enforce universal development rules for all agents
- →Apply Python core rules for structural libraries
- →Implement FastAPI-specific development rules
- →Adhere to React development rules for frontend applications
- →Follow testing rules for Python tests
- →Comply with documentation and security rules
How it works
This skill provides a set of hard-learned development rules categorized by domain (Python, FastAPI, React, Testing, Documentation, Security) to prevent specific mistakes that led to past audit findings.
Inputs & outputs
When to use development-rules
- →Onboard new agents
- →Review PR code
- →Write new features
- →Verify structural library code
About this skill
Development Rules
Load only the section for the changed domain. Existing project automation and adjacent code are the source of implementation patterns; this file defines the decisions that must remain consistent.
Universal
- Trace a confirmed defect to its root cause. Do not suppress the symptom or introduce a fallback that silently changes an engineering result.
- Search before adding a public function, hook, component, route, adapter, or script.
- Preserve the dependency direction: Core → IS 456 → Services → UI/IO.
- Preserve explicit units at every calculation and API boundary.
- During review, report only confirmed defects whose fix changes the scoped main-process outcome. Ignore comments, coverage gaps, edge-case speculation, generic hardening, and adjacent cleanup. Do not add tests in review-only work.
Python and IS 456
- Put base types and shared primitives in
core/, pure code calculations incodes/is456/, and orchestration/I/O inservices/. - Use the live neighboring module and
./run.sh find --api <name>before choosing parameter names or result shapes. - Use lowercase unit suffixes that match the public API, such as
_mm,_mm2,_kn,_knm, and_nmm2. - Validate a denominator according to the formula's domain. If
safe_divide()is used, choose itsdefaultdeliberately; never treat an invalid denominator as a valid zero result by accident. - A changed IS 456 formula needs a clause identifier, dimensional reasoning, and an independent benchmark with a source-specific tolerance. Tests are software evidence, not professional certification.
- Keep imports quiet and public exports importable. Packaging data needed by the main process must be declared in the package configuration.
FastAPI
- Routers validate transport input, call public/service functions, and serialize results. They do not reimplement structural math.
- Preserve the established request, response, error, and units contract of the route being changed.
- Log diagnostic details server-side; do not return internal exception text, paths, or tracebacks to the client.
- When an endpoint changes, verify the actual request → service → response path, not only model construction.
React
- Structural calculations come from FastAPI. Client code manages input, state, visualization, and presentation.
- Search existing hooks and components before creating another abstraction.
- Keep request/response types aligned with the live FastAPI contract and preserve explicit units in field names.
- When a user-visible flow changes, verify the browser → API → rendered/downloaded result.
Tests and Verification
- During implementation, change or add the narrow evidence required by the requested behavior; do not add tests during review-only work.
- Use real structural result types when their behavior is part of the process. Do not use mocks that make impossible states appear valid.
- Run targeted checks while editing,
./run.sh check --quickonce before commit, and./run.sh checkonce at closeout. - Use release/UAT automation only for release or packaging scope.
Documentation and State
- Update public docs when the changed public contract makes them false.
- Update task/handoff files only when their state changes or another session needs a durable handoff.
- Do not regenerate global indexes, metrics, release notes, or logs as adjacent maintenance.
Review Question
For every possible finding, answer: Would fixing this change the outcome of the main process in scope? If not, leave it out of the review. Preserve a non-essential concern as a follow-up task only when losing it would materially obstruct later work.
When not to use it
- →When the rules are not relevant to the current domain (Python, FastAPI, React, Testing)
- →When the goal is not to prevent specific mistakes from past audit findings
Limitations
- →Rules are specific to Python, FastAPI, React, and Testing domains
- →Rules are based on incidents from v0.21.0-v0.21.3
- →Enforcement relies on code review and automated checks
How it compares
This skill codifies specific development rules derived from past audit failures, offering a targeted approach to quality assurance that differs from general best practices.
Compared to similar skills
development-rules side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| development-rules (this skill) | 0 | 4mo | No flags | Intermediate |
| pr-review | 6 | 2mo | Review | Intermediate |
| django-verification | 5 | 4mo | Review | Intermediate |
| lint-and-validate | 6 | 6mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Pravin-surawase
View all by Pravin-surawase →You might also like
pr-review
pytorch
Review PyTorch pull requests for code quality, test coverage, security, and backward compatibility. Use when reviewing PRs, when asked to review code changes, or when the user mentions "review PR", "code review", or "check this PR".
django-verification
affaan-m
Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
lint-and-validate
davila7
Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers onKeywords: lint, format, check, validate, types, static analysis.
moai-foundation-quality
modu-ai
Enterprise code quality orchestrator with TRUST 5 validation, proactive analysis, and automated best practices enforcement
s-lint
Falkicon
>
code-quality-enforcer
T-rav
>