Help us improve
Share bugs, ideas, or general feedback.
From software-of-you
Explains module detection via SQL and manifests, cross-module enhancements (e.g., CRM-Projects), and handling missing modules in Claude Code's plugin system.
npx claudepluginhub kmorebetter/better-software-of-youHow this skill is triggered — by the user, by Claude, or both
Slash command
/software-of-you:module-systemThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Software of You uses a modular architecture where each module adds domain-specific functionality, and modules automatically enhance each other when both are present.
Guides ERPNext developers in choosing the right customization layer—configuration, metadata, workflow, reporting, or code—for module changes across manufacturing, CRM, HR, and accounting.
Customizes Cowork plugins for organization tools/workflows by replacing template placeholders or editing skills/connectors in desktop app.
Builds reusable Make API-call shells for SaaS retrieval (email, CRM, tickets) by discovering app modules, resolving connections, patching scenarios, and running as transport wrappers.
Share bugs, ideas, or general feedback.
Software of You uses a modular architecture where each module adds domain-specific functionality, and modules automatically enhance each other when both are present.
Check installed modules:
SELECT name, version, enabled FROM modules WHERE enabled = 1;
Read manifests from ${CLAUDE_PLUGIN_ROOT:-$(pwd)}/modules/*/manifest.json for enhancement details.
When both CRM and Project Tracker are installed:
Contact views should include projects — when showing a contact summary or detail, also query:
SELECT p.name, p.status, p.priority FROM projects p WHERE p.client_id = ?;
Project views should include client context — when showing a project, also query:
SELECT c.name, c.email, c.company FROM contacts c WHERE c.id = ?;
SELECT * FROM contact_interactions WHERE contact_id = ? ORDER BY occurred_at DESC LIMIT 5;
Search should span both — natural language search should always check contacts AND projects AND tasks.
Activity log should resolve names — the timeline should show entity names from whichever module owns that entity type.
New modules follow this pattern:
manifest.json in modules/{name}/ declaring features and enhancements.sql in data/migrations/ creating module tables.md files in commands/ for module-specific slash commandsINSERT OR REPLACE INTO modules in the migrationThe SessionStart hook auto-detects new modules and runs their migrations.