Use when writing or maintaining documentation for Rails engines. Trigger words: engine README, installation guide, configuration docs, mount instructions, migration notes, extension points, host integration examples, setup documentation.
75
68%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./rails-engine-docs/SKILL.mdUse this skill when the task is to write or improve documentation for a Rails engine.
Engine docs should optimize for host-app adoption. Readers need to know what the engine does, how to install it, how to configure it, and where the boundaries are. All generated documentation (README, guides, examples) must be in English unless the user explicitly requests another language.
| Doc Section | Purpose |
|---|---|
| Purpose | What the engine does and when to use it |
| Installation | Gemfile, bundle install, install generator |
| Mounting / initialization | Where and how to mount the engine (routes, initializer) |
| Configuration | Options, defaults, required vs optional |
| Usage examples | Copyable code showing typical workflows |
| Migrations / operational steps | Install migrations, run generators, one-time setup |
| Extension points | Adapters, callbacks, config blocks for customization |
| Development and testing | How to run tests, contribute, or develop locally |
| Mistake | Reality |
|---|---|
| No installation instructions | README must show the exact steps: add gem, bundle, run generator, mount |
| Missing mount instructions | Host apps need to know where to mount; implied mounting leads to confusion |
| No extension point docs | Configuration and adapters exist in code but readers cannot discover or use them |
README snippet (install + mount):
## Installation
Add to your Gemfile:
gem 'my_engine'
Run:
bundle install
rails generate my_engine:install
This creates `config/initializers/my_engine.rb`. Mount the engine in `config/routes.rb`:
mount MyEngine::Engine, at: '/admin'Configuration section:
## Configuration
In `config/initializers/my_engine.rb`:
MyEngine.configure do |config|
config.user_class = "User" # required: host model for current user
config.widget_count = 10 # optional, default 10
endWhen asked to write docs:
| Skill | When to chain |
|---|---|
| rails-engine-author | Host-app contract, structure, extension points to document |
| rails-engine-installers | Install generators, setup steps to document |
| rails-engine-release | Changelog, upgrade notes, version documentation |
| api-rest-collection | When documenting or adding API endpoints (keep Postman collection in sync) |
ae8ea63
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.