review-engine
Skill26 starsChanged 4 months agoMITView on GitHub
Use when reviewing a Rails engine for isolation, API surface, and host contract. Trigger words: review engine, engine quality, engine audit.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- TerryFYL/ai-research-armytheir own version, first seen Nov 8, 2026
- SkillMedev/local-service-business-enginetheir own version, first seen Jul 5, 2026
- TobiasBlask/open-paper-machinetheir own version, first seen Apr 8, 2026
- Ingramradical235/anty-frameworktheir own version, first seen Mar 20, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- TobiasBlask/open-paper-machine★ 18same name
- TerryFYL/ai-research-army★ 9same name
- Ingramradical235/anty-framework★ 1same name
- SkillMedev/local-service-business-engine★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- apply-code-conventionsSkill
- apply-stack-conventionsSkill
- code-reviewSkill
- create-engine-installerSkill
- create-engineSkill
- document-engineSkill
- extract-engineSkill
- generate-api-collectionSkill
- implement-authorizationSkill
- implement-background-jobSkill
- implement-graphqlSkill
- implement-hotwireSkill
- load-contextSkill
- optimize-performanceSkill
- plan-testsSkill
- rails-featureSkill
- rails-maintenanceSkill
- rails-reviewSkill
- refactor-codeSkill
- release-engineSkill
- review-architectureSkill
- review-migrationSkill
- security-checkSkill
- seed-databaseSkill
- setup-environmentSkill
- test-engineSkill
- test-serviceSkill
- upgrade-engineSkill
- version-apiSkill
- write-testsSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 2 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Use this skill when the task is to review an existing Rails engine or propose improvements.
- Very specific: line 44
Identify the engine type and purpose: Read lib/<engine_name>/engine.rb and lib/<engine_name>/railtie.rb.
- Very specific: line 45
Inspect the namespace and public API surface: Check for isolate_namespace and unqualified top-level constant references.
- Very specific: line 93
When asked to review an engine, your output answer.md MUST comply with:
- Very specific: line 95
Findings First: Write the findings section (ordered HIGH -> MEDIUM -> LOW) as the very first section in the concrete artifact answer.md (or …
- Distinctive: line 98
If no meaningful findings exist, explicitly state so and mention residual testing gaps.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review Engine
Use this skill when the task is to review an existing Rails engine or propose improvements.
Quick Reference
| Review Area | Key Checks |
| Namespace | isolate_namespace used; clear boundaries; no host constant leakage |
| Host integration | Configuration seams, adapters; no direct host model access |
| Init | No side effects at load time; reload-safe hooks in config.to_prepare |
| Migrations | Documented, copied via generator; no implicit or destructive steps |
| Dummy app | Present in spec/; used for integration tests; exercises real mount and config |
HARD-GATE
Before writing findings, confirm every row in the Quick Reference table has been addressed:
- [ ] Namespace isolation verified
- [ ] Host integration points checked
- [ ] `engine.rb` initializer blocks inspected
- [ ] Migration/generator flow confirmed
- [ ] Dummy app presence and usage confirmed
- [ ] Integration tests exercise real mount
If any box cannot be checked (e.g., file not provided), record it as an open assumption.Core Process
- Identify the engine type and purpose. Read
lib/<engine_name>/engine.rbandlib/<engine_name>/railtie.rb. Confirm isolated vs plain. - Inspect the namespace and public API surface. Check for
isolate_namespaceand unqualified top-level constant references. - Check host-app integration points. Flag direct host constant references. Verify host dependencies flow through config seams.
- Check initialization and reload behavior. Inspect
initializer,config.to_prepare, andActiveSupport.on_load. Flag anything that mutates global state atrequiretime outside an initializer block. - Check migrations, generators, and install flow. Confirm migrations are copied via a generator. Check for destructive or irreversible migrations.
- Check dummy-app and integration tests. Confirm
spec/dummy/exists and exercises the mount point. - Summarize findings by severity. Flag High findings first. Do not surface Low findings before architecture issues.
High-severity finding example (engine reaching into host):
# Bad: engine assumes host model
class MyEngine::SomeService
def call
User.find(current_user_id) # User is host app; engine is coupled
end
endFix: Introduce config (MyEngine.config.user_finder = ->(id) { User.find(id) }) and use that.
Good (configuration seam):
# Good: engine uses configured dependency
class MyEngine::SomeService
def call
MyEngine.config.user_finder.call(current_user_id)
end
endBad (require-time patching — not reload-safe):
# Bad: patches at require time — double-includes on code reload
ActionController::Base.include(MyEngine::ControllerHelpers)Good (lazy-loaded with ActiveSupport.on_load):
# Good: patches only when the framework component is ready, reload-safe
ActiveSupport.on_load(:action_controller) do
include MyEngine::ControllerHelpers
endOutput Style
When asked to review an engine, your output answer.md MUST comply with:
- Findings First: Write the findings section (ordered HIGH -> MEDIUM -> LOW) as the very first section in the concrete artifact
answer.md(or immediately after the short plan if a plan is requested). For each finding include severity, affected file/area, risk, and smallest credible fix. - Verification Commands: Include verification commands used, including
grep -r "isolate_namespace" lib/for namespace isolation, a migration audit such asgrep -R "remove_column\|drop_table\|change_column" db/migrate lib/**/db/migratefor destructive or irreversible changes, andgrep -r "ActiveSupport.on_load" lib/orgrep -r "initializer" lib/to verify initialization reload safety. - Include open assumptions and recommended next changes.
- If no meaningful findings exist, explicitly state so and mention residual testing gaps.
- Language — Must be in English unless explicitly requested otherwise.
Integration
| Skill | When to chain |
| create-engine | When implementing suggested fixes or refactoring the engine |
| test-engine | When adding missing dummy-app or integration coverage |
| upgrade-engine | When assessing Rails/Ruby version support or deprecation impact |
Extended Reference
Supplementary detail — consult after completing the Core Process.
Severity Tiers
- High — causes production failures or breaks host integration (e.g., direct host constant coupling, unsafe boot-time side effects, irreversible migrations without a
downmethod). - Medium — degrades maintainability or makes the engine fragile across host apps (e.g., undocumented configuration seams, missing install generator, no dummy app).
- Low — style or minor clarity issues; do not surface before architecture findings.
Common Mistakes
- Reviewing code style before architecture.
- Missing dummy app coverage check (dummy app must exist and be used).
- Ignoring
engine.rb(often contains boot-time side effects).
Extended Resources (Progressive Disclosure)
Load these files only when their specific content is needed:
- FINDINGS.md — Use when you need sample findings format and severity classification examples
- assets/examples.md — Use when you need complete engine review examples with findings and recommendations
- assets/finding-schema.json — Use when you need the structured schema for engine review findings output
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

