Agent skill
plutonium-connect-resource
Connect existing resources to portals for web access
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/connect-resource
SKILL.md
Connect Resource Skill
Use the pu:res:conn generator to connect resources to portals. This is required to expose resources through a portal's web interface.
Command Syntax
bash
rails g pu:res:conn RESOURCE [RESOURCE...] --dest=PORTAL_NAME
Always specify resources directly - this avoids interactive prompts. The --src option is only needed for interactive mode and can be ignored.
Usage Patterns
Main App Resources (not in a package)
bash
rails g pu:res:conn PropertyAmenity --dest=admin_portal
rails g pu:res:conn Post Comment Tag --dest=dashboard_portal
Namespaced Resources (from a feature package)
Use the full class name:
bash
rails g pu:res:conn Blogging::Post --dest=admin_portal
rails g pu:res:conn Blogging::Post Blogging::Comment --dest=admin_portal
Multiple Resources at Once
bash
rails g pu:res:conn Property PropertyAmenity Unit Tenant --dest=admin_portal
What Gets Generated
For a resource Post connected to admin_portal:
packages/admin_portal/
├── app/
│ ├── controllers/admin_portal/
│ │ └── posts_controller.rb # Portal controller
│ ├── policies/admin_portal/
│ │ └── post_policy.rb # Portal policy (if needed)
│ └── definitions/admin_portal/
│ └── post_definition.rb # Portal definition (if needed)
└── config/
└── routes.rb # Updated with register_resource
Generated Controller
ruby
class AdminPortal::PostsController < ::PostsController
include AdminPortal::Concerns::Controller
end
Generated Policy
ruby
class AdminPortal::PostPolicy < ::PostPolicy
include AdminPortal::ResourcePolicy
def permitted_attributes_for_create
[:title, :content, :user_id]
end
def permitted_attributes_for_read
[:title, :content, :user_id, :created_at, :updated_at]
end
def permitted_associations
%i[]
end
end
Route Registration
ruby
# In packages/admin_portal/config/routes.rb
register_resource ::Post
Typical Workflow
bash
# 1. Create resources (always specify --dest)
rails g pu:res:scaffold Post user:belongs_to title:string 'content:text?' --dest=main_app
# 2. Run migrations
rails db:migrate
# 3. Connect resources to portal (always specify --dest)
rails g pu:res:conn Post --dest=admin_portal
Important Notes
- Always specify resources directly - avoids prompts, no
--srcneeded - Always use the generator - never manually connect resources
- Run after migrations - the generator reads model columns for policy attributes
- Portal-specific customization - customize the generated policy/definition per-portal
Didn't find tool you were looking for?