git clone https://github.com/Joncik91/ucai.git
cd ucaiTest the plugin locally by pointing Claude Code at your clone:
claude --plugin-dir ./ucaiAll commands will be available as /ucai:init, /ucai:plan, etc. Changes to commands, agents, and skills take effect on the next invocation — no build step.
Hook handler changes (hooks/handlers/*.js) take effect on the next session start.
commands/*.md— Slash commands (markdown + YAML frontmatter)agents/*.md— Subagents (read-only, sonnet model)hooks/hooks.json— Hook configurationhooks/handlers/*.js— Hook handler scripts (Node.js, no external deps)scripts/*.js— Utility scriptsskills/*/SKILL.md— Skills with optionalreferences/directories
- JavaScript: No semicolons, double quotes, camelCase, Node.js builtins only
- Markdown: YAML frontmatter,
## Phase N: Nameheaders for workflows - File naming: kebab-case everywhere
- Agents: Always
sonnetmodel, read-only tools only
- Fork the repo and create a branch from
main - Make your changes
- Test with
claude --plugin-dir ./ucai— run the affected commands manually - Verify CI passes: JSON is valid, frontmatter exists, handlers parse correctly
- Open a PR with a clear description of what changed and why
Use GitHub Issues. Include:
- Claude Code version (
claude --version) - Which command you ran
- What you expected vs what happened
- Any error output
Ucai uses Claude Code's native systems — commands, agents, hooks, skills. If your change introduces something that doesn't map to a native system, it probably doesn't belong here. See the README for principles.