@codemieai/code 0.0.44 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +31 -3
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/metrics/types.d.ts +0 -6
- package/dist/agents/core/metrics/types.d.ts.map +1 -1
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +0 -6
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/core/types.d.ts +83 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +0 -11
- package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin-installer.js +0 -32
- package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +10 -1
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +1 -28
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/README.md +1 -14
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -5
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/SKILL.md +206 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-agent.md +45 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-claude-md-snippet.md +40 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-command.md +30 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-hooks.json +23 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-skill.md +48 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-agent.md +145 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-claude-md-snippet.md +126 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-command.md +170 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-hooks.json +46 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-skill.md +144 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/sample-report.md +223 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +510 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/component-checklists.md +413 -0
- package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/scripts/scan-repo.sh +162 -0
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +3 -78
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +7 -16
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.d.ts +1 -1
- package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/sounds-installer.js +1 -4
- package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -4
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +26 -81
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +10 -0
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +1 -8
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.js +2 -30
- package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +2 -8
- package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +0 -7
- package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/opencode/index.d.ts +1 -1
- package/dist/agents/plugins/opencode/index.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/index.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -22
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.session.js +5 -30
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +0 -2
- package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +0 -8
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +8 -97
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
- package/dist/cli/commands/analytics/aggregator.d.ts +0 -8
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -1
- package/dist/cli/commands/analytics/aggregator.js +5 -100
- package/dist/cli/commands/analytics/aggregator.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts +0 -7
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +3 -10
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/exporter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/exporter.js +0 -12
- package/dist/cli/commands/analytics/exporter.js.map +1 -1
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/formatter.js +0 -9
- package/dist/cli/commands/analytics/formatter.js.map +1 -1
- package/dist/cli/commands/analytics/types.d.ts +0 -17
- package/dist/cli/commands/analytics/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts +22 -0
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js +80 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js.map +1 -0
- package/dist/cli/commands/assistants/{chat.d.ts → chat/index.d.ts} +1 -1
- package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/{chat.js → chat/index.js} +54 -45
- package/dist/cli/commands/assistants/chat/index.js.map +1 -0
- package/dist/cli/commands/assistants/chat/types.d.ts +27 -0
- package/dist/cli/commands/assistants/chat/types.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/types.js +5 -0
- package/dist/cli/commands/assistants/chat/types.js.map +1 -0
- package/dist/cli/commands/assistants/chat/utils.d.ts +12 -0
- package/dist/cli/commands/assistants/chat/utils.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/utils.js +24 -0
- package/dist/cli/commands/assistants/chat/utils.js.map +1 -0
- package/dist/cli/commands/assistants/constants.d.ts +1 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.js.map +1 -1
- package/dist/cli/commands/assistants/index.js +2 -2
- package/dist/cli/commands/assistants/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +1 -1
- package/dist/cli/commands/assistants/setup/index.js +4 -4
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.js +5 -3
- package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +7 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/types.d.ts +2 -0
- package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.js +15 -4
- package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +22 -6
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts +16 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +210 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/setup.js +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +3 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/commands/sound.d.ts +3 -0
- package/dist/cli/commands/sound.d.ts.map +1 -0
- package/dist/cli/commands/sound.js +87 -0
- package/dist/cli/commands/sound.js.map +1 -0
- package/dist/cli/commands/test-metrics.js +3 -5
- package/dist/cli/commands/test-metrics.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +8 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/plugins/core/index.d.ts +13 -0
- package/dist/plugins/core/index.d.ts.map +1 -0
- package/dist/plugins/core/index.js +15 -0
- package/dist/plugins/core/index.js.map +1 -0
- package/dist/plugins/core/manifest-parser.d.ts +28 -0
- package/dist/plugins/core/manifest-parser.d.ts.map +1 -0
- package/dist/plugins/core/manifest-parser.js +137 -0
- package/dist/plugins/core/manifest-parser.js.map +1 -0
- package/dist/plugins/core/plugin-cache.d.ts +65 -0
- package/dist/plugins/core/plugin-cache.d.ts.map +1 -0
- package/dist/plugins/core/plugin-cache.js +170 -0
- package/dist/plugins/core/plugin-cache.js.map +1 -0
- package/dist/plugins/core/plugin-loader.d.ts +21 -0
- package/dist/plugins/core/plugin-loader.d.ts.map +1 -0
- package/dist/plugins/core/plugin-loader.js +55 -0
- package/dist/plugins/core/plugin-loader.js.map +1 -0
- package/dist/plugins/core/plugin-resolver.d.ts +33 -0
- package/dist/plugins/core/plugin-resolver.d.ts.map +1 -0
- package/dist/plugins/core/plugin-resolver.js +118 -0
- package/dist/plugins/core/plugin-resolver.js.map +1 -0
- package/dist/plugins/core/types.d.ts +183 -0
- package/dist/plugins/core/types.d.ts.map +1 -0
- package/dist/plugins/core/types.js +22 -0
- package/dist/plugins/core/types.js.map +1 -0
- package/dist/plugins/loaders/agents-loader.d.ts +19 -0
- package/dist/plugins/loaders/agents-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/agents-loader.js +92 -0
- package/dist/plugins/loaders/agents-loader.js.map +1 -0
- package/dist/plugins/loaders/hooks-loader.d.ts +27 -0
- package/dist/plugins/loaders/hooks-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/hooks-loader.js +94 -0
- package/dist/plugins/loaders/hooks-loader.js.map +1 -0
- package/dist/plugins/loaders/mcp-loader.d.ts +24 -0
- package/dist/plugins/loaders/mcp-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/mcp-loader.js +86 -0
- package/dist/plugins/loaders/mcp-loader.js.map +1 -0
- package/dist/plugins/loaders/skills-loader.d.ts +30 -0
- package/dist/plugins/loaders/skills-loader.d.ts.map +1 -0
- package/dist/plugins/loaders/skills-loader.js +167 -0
- package/dist/plugins/loaders/skills-loader.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js +1 -1
- package/dist/providers/plugins/jwt/jwt.setup-steps.js +1 -1
- package/dist/providers/plugins/jwt/jwt.template.js +1 -1
- package/dist/providers/plugins/litellm/litellm.template.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +10 -0
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +3 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.js +2 -3
- package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts +21 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js +159 -0
- package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts +24 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.js +36 -0
- package/dist/providers/plugins/sso/session/processors/conversations/constants.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts +19 -0
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/{conversation-sync-processor.js → syncProcessor.js} +48 -33
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/{conversation-types.d.ts → types.d.ts} +14 -2
- package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts.map +1 -0
- package/dist/providers/plugins/sso/session/processors/conversations/types.js +14 -0
- package/dist/providers/plugins/sso/session/processors/conversations/types.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +16 -17
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +6 -5
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +40 -39
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +2 -6
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +74 -31
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +1 -1
- package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.d.ts +10 -0
- package/dist/skills/core/SkillDiscovery.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.js +64 -7
- package/dist/skills/core/SkillDiscovery.js.map +1 -0
- package/dist/skills/core/SkillManager.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.js +15 -10
- package/dist/skills/core/SkillManager.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/core/types.d.ts +3 -25
- package/dist/skills/core/types.d.ts.map +1 -0
- package/dist/skills/core/types.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/index.d.ts +3 -3
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/index.js +2 -2
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/sync/SkillSync.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.js +5 -3
- package/dist/skills/sync/SkillSync.js.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.d.ts +2 -12
- package/dist/skills/utils/content-loader.d.ts.map +1 -0
- package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.js +3 -8
- package/dist/skills/utils/content-loader.js.map +1 -0
- package/dist/skills/utils/pattern-matcher.d.ts.map +1 -0
- package/dist/skills/utils/pattern-matcher.js.map +1 -0
- package/dist/utils/extensions-scan.d.ts +27 -0
- package/dist/utils/extensions-scan.d.ts.map +1 -0
- package/dist/utils/extensions-scan.js +182 -0
- package/dist/utils/extensions-scan.js.map +1 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/package.json +1 -1
- package/dist/agents/codemie-code/agent.d.ts +0 -129
- package/dist/agents/codemie-code/agent.d.ts.map +0 -1
- package/dist/agents/codemie-code/agent.js +0 -1106
- package/dist/agents/codemie-code/agent.js.map +0 -1
- package/dist/agents/codemie-code/config.d.ts +0 -40
- package/dist/agents/codemie-code/config.d.ts.map +0 -1
- package/dist/agents/codemie-code/config.js +0 -293
- package/dist/agents/codemie-code/config.js.map +0 -1
- package/dist/agents/codemie-code/filters.d.ts +0 -91
- package/dist/agents/codemie-code/filters.d.ts.map +0 -1
- package/dist/agents/codemie-code/filters.js +0 -328
- package/dist/agents/codemie-code/filters.js.map +0 -1
- package/dist/agents/codemie-code/index.d.ts +0 -93
- package/dist/agents/codemie-code/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/index.js +0 -359
- package/dist/agents/codemie-code/index.js.map +0 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +0 -87
- package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +0 -1
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js +0 -957
- package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +0 -1
- package/dist/agents/codemie-code/modes/planMode.d.ts +0 -116
- package/dist/agents/codemie-code/modes/planMode.d.ts.map +0 -1
- package/dist/agents/codemie-code/modes/planMode.js +0 -537
- package/dist/agents/codemie-code/modes/planMode.js.map +0 -1
- package/dist/agents/codemie-code/prompts.d.ts +0 -47
- package/dist/agents/codemie-code/prompts.d.ts.map +0 -1
- package/dist/agents/codemie-code/prompts.js +0 -207
- package/dist/agents/codemie-code/prompts.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.js.map +0 -1
- package/dist/agents/codemie-code/skills/core/types.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/core/types.js.map +0 -1
- package/dist/agents/codemie-code/skills/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/index.js.map +0 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/frontmatter.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/frontmatter.js.map +0 -1
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.d.ts.map +0 -1
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.js.map +0 -1
- package/dist/agents/codemie-code/storage/todoStorage.d.ts +0 -78
- package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +0 -1
- package/dist/agents/codemie-code/storage/todoStorage.js +0 -225
- package/dist/agents/codemie-code/storage/todoStorage.js.map +0 -1
- package/dist/agents/codemie-code/tokenUtils.d.ts +0 -108
- package/dist/agents/codemie-code/tokenUtils.d.ts.map +0 -1
- package/dist/agents/codemie-code/tokenUtils.js +0 -220
- package/dist/agents/codemie-code/tokenUtils.js.map +0 -1
- package/dist/agents/codemie-code/toolMetadata.d.ts +0 -15
- package/dist/agents/codemie-code/toolMetadata.d.ts.map +0 -1
- package/dist/agents/codemie-code/toolMetadata.js +0 -316
- package/dist/agents/codemie-code/toolMetadata.js.map +0 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts +0 -47
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.js +0 -129
- package/dist/agents/codemie-code/tools/assistant-invocation.js.map +0 -1
- package/dist/agents/codemie-code/tools/index.d.ts +0 -111
- package/dist/agents/codemie-code/tools/index.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/index.js +0 -424
- package/dist/agents/codemie-code/tools/index.js.map +0 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +0 -54
- package/dist/agents/codemie-code/tools/planning.d.ts.map +0 -1
- package/dist/agents/codemie-code/tools/planning.js +0 -226
- package/dist/agents/codemie-code/tools/planning.js.map +0 -1
- package/dist/agents/codemie-code/types.d.ts +0 -459
- package/dist/agents/codemie-code/types.d.ts.map +0 -1
- package/dist/agents/codemie-code/types.js +0 -59
- package/dist/agents/codemie-code/types.js.map +0 -1
- package/dist/agents/codemie-code/ui/autocomplete.d.ts +0 -98
- package/dist/agents/codemie-code/ui/autocomplete.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/autocomplete.js +0 -145
- package/dist/agents/codemie-code/ui/autocomplete.js.map +0 -1
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts +0 -112
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/keyHandlers.js +0 -415
- package/dist/agents/codemie-code/ui/keyHandlers.js.map +0 -1
- package/dist/agents/codemie-code/ui/mentions.d.ts +0 -86
- package/dist/agents/codemie-code/ui/mentions.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/mentions.js +0 -122
- package/dist/agents/codemie-code/ui/mentions.js.map +0 -1
- package/dist/agents/codemie-code/ui/progressTracker.d.ts +0 -125
- package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/progressTracker.js +0 -343
- package/dist/agents/codemie-code/ui/progressTracker.js.map +0 -1
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts +0 -38
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/terminalCodes.js +0 -42
- package/dist/agents/codemie-code/ui/terminalCodes.js.map +0 -1
- package/dist/agents/codemie-code/ui/todoPanel.d.ts +0 -112
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +0 -321
- package/dist/agents/codemie-code/ui/todoPanel.js.map +0 -1
- package/dist/agents/codemie-code/ui.d.ts +0 -180
- package/dist/agents/codemie-code/ui.d.ts.map +0 -1
- package/dist/agents/codemie-code/ui.js +0 -1345
- package/dist/agents/codemie-code/ui.js.map +0 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +0 -87
- package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/progressionEnforcer.js +0 -293
- package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +0 -1
- package/dist/agents/codemie-code/utils/todoParser.d.ts +0 -41
- package/dist/agents/codemie-code/utils/todoParser.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/todoParser.js +0 -305
- package/dist/agents/codemie-code/utils/todoParser.js.map +0 -1
- package/dist/agents/codemie-code/utils/todoValidator.d.ts +0 -65
- package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +0 -1
- package/dist/agents/codemie-code/utils/todoValidator.js +0 -249
- package/dist/agents/codemie-code/utils/todoValidator.js.map +0 -1
- package/dist/agents/codemie-code/validators/planValidator.d.ts +0 -94
- package/dist/agents/codemie-code/validators/planValidator.d.ts.map +0 -1
- package/dist/agents/codemie-code/validators/planValidator.js +0 -281
- package/dist/agents/codemie-code/validators/planValidator.js.map +0 -1
- package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +0 -98
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.ps1 +0 -112
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.sh +0 -58
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +0 -26
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +0 -1
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +0 -38
- package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +0 -1
- package/dist/cli/commands/assistants/chat.d.ts.map +0 -1
- package/dist/cli/commands/assistants/chat.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +0 -26
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +0 -146
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +0 -22
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +0 -7
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +0 -1
- /package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/core/types.js +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.js +0 -0
- /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.d.ts +0 -0
- /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.js +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ✅ GOOD AGENT EXAMPLE
|
|
3
|
+
# Score: ~30/32 pts (Grade A)
|
|
4
|
+
# What makes it good: See inline comments marked ✅
|
|
5
|
+
#
|
|
6
|
+
# ✅ A1.1: Descriptive, domain-specific name
|
|
7
|
+
# ✅ A1.2: Description has "when" and "use" trigger context
|
|
8
|
+
# ✅ A1.3: Model explicitly specified
|
|
9
|
+
# ✅ A1.4: Bash justified with inline comment
|
|
10
|
+
# ✅ A2.1: "You are..." role statement
|
|
11
|
+
# ✅ A2.2: Output format section defined
|
|
12
|
+
# ✅ A2.3: Scope + "When NOT to use"
|
|
13
|
+
# ✅ A2.4: Anti-hallucination section
|
|
14
|
+
# ✅ A3.1: 3+ usage examples
|
|
15
|
+
# ✅ A3.2: Edge cases documented
|
|
16
|
+
# ✅ A3.3: Error handling described
|
|
17
|
+
# ✅ A4.1: Single responsibility (code review only)
|
|
18
|
+
# ✅ A4.3: References related skills/agents
|
|
19
|
+
#
|
|
20
|
+
# ⚠️ Minor gap: A3.4 — integration docs could be more explicit
|
|
21
|
+
---
|
|
22
|
+
name: code-reviewer
|
|
23
|
+
description: This agent should be used when the user asks to "review my code",
|
|
24
|
+
"check code quality", "review this PR", "look for bugs", "security review",
|
|
25
|
+
or "give feedback on my implementation". Reviews staged or committed changes
|
|
26
|
+
for quality, security, and correctness issues.
|
|
27
|
+
model: claude-sonnet-4-6
|
|
28
|
+
tools: [Read, Grep, Glob, Bash]
|
|
29
|
+
# Bash required for: git diff, git log, running lint checks
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# Code Reviewer Agent
|
|
34
|
+
|
|
35
|
+
Reviews code changes for quality, security, and correctness. Provides structured
|
|
36
|
+
feedback with severity levels and concrete improvement suggestions.
|
|
37
|
+
|
|
38
|
+
## Role
|
|
39
|
+
|
|
40
|
+
You are a senior code reviewer with expertise in security vulnerabilities,
|
|
41
|
+
performance patterns, and maintainability. Your job is to identify real issues
|
|
42
|
+
that would cause problems in production — not stylistic preferences or micro-
|
|
43
|
+
optimizations. Focus on bugs, security vulnerabilities, logic errors, and
|
|
44
|
+
maintainability problems.
|
|
45
|
+
|
|
46
|
+
## Scope
|
|
47
|
+
|
|
48
|
+
**Review**: Staged changes (`git diff --cached`), committed changes (`git diff HEAD~1`),
|
|
49
|
+
or specific files provided by the user.
|
|
50
|
+
|
|
51
|
+
**Do NOT review**: Generated files, `node_modules/`, `dist/`, `*.lock` files,
|
|
52
|
+
binary files.
|
|
53
|
+
|
|
54
|
+
**When NOT to use this agent**:
|
|
55
|
+
- Architecture decisions → use `solution-architect` agent
|
|
56
|
+
- Writing tests → use `test-writer` agent
|
|
57
|
+
- Performance profiling → run profiler first, then use this agent on hotspots
|
|
58
|
+
|
|
59
|
+
## Methodology
|
|
60
|
+
|
|
61
|
+
1. Identify changed files: `git diff --name-only` or user-provided files
|
|
62
|
+
2. For each file: read with context (surrounding code, not just diff)
|
|
63
|
+
3. Evaluate against criteria below
|
|
64
|
+
4. Generate structured report
|
|
65
|
+
|
|
66
|
+
### Review Criteria
|
|
67
|
+
|
|
68
|
+
**Security** (Critical — block production):
|
|
69
|
+
- SQL injection, XSS, command injection vectors
|
|
70
|
+
- Hardcoded credentials or secrets in code
|
|
71
|
+
- Unvalidated input at system boundaries (user input, API responses, file reads)
|
|
72
|
+
- Overly permissive CORS, auth bypass patterns
|
|
73
|
+
|
|
74
|
+
**Correctness** (High — likely causes bugs):
|
|
75
|
+
- Off-by-one errors, logic inversions
|
|
76
|
+
- Unhandled exceptions or null/undefined dereferences
|
|
77
|
+
- Race conditions in async code
|
|
78
|
+
- Incorrect error propagation (swallowing errors)
|
|
79
|
+
|
|
80
|
+
**Performance** (Medium — degrades at scale):
|
|
81
|
+
- N+1 query patterns
|
|
82
|
+
- Synchronous I/O in async contexts
|
|
83
|
+
- Unbounded loops or missing pagination
|
|
84
|
+
|
|
85
|
+
**Maintainability** (Low — increases tech debt):
|
|
86
|
+
- Functions >40 lines without clear justification
|
|
87
|
+
- Missing error context in catch blocks
|
|
88
|
+
- Unclear naming in non-trivial logic
|
|
89
|
+
|
|
90
|
+
## Output Format
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
## Code Review: [file or PR title]
|
|
94
|
+
|
|
95
|
+
**Summary**: [1–2 sentence overall assessment]
|
|
96
|
+
**Verdict**: APPROVE / REQUEST CHANGES / BLOCKING
|
|
97
|
+
|
|
98
|
+
### 🔴 Critical (must fix before merge)
|
|
99
|
+
- **[File:Line]** [Issue]
|
|
100
|
+
- Impact: [what goes wrong in production]
|
|
101
|
+
- Fix: [concrete actionable suggestion]
|
|
102
|
+
|
|
103
|
+
### 🟡 Important (should fix)
|
|
104
|
+
- **[File:Line]** [Issue]
|
|
105
|
+
- Fix: [suggestion]
|
|
106
|
+
|
|
107
|
+
### 🔵 Minor (optional polish)
|
|
108
|
+
...
|
|
109
|
+
|
|
110
|
+
### ✅ Positives
|
|
111
|
+
[2–3 specific things done well — required, not optional]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Source Verification
|
|
115
|
+
|
|
116
|
+
- Base all feedback on actual code seen in the diff — never assume patterns not shown
|
|
117
|
+
- If uncertain whether something is a bug: "This may cause issues if [condition]…"
|
|
118
|
+
- Never invent API signatures, library behaviors, or version requirements
|
|
119
|
+
- Do not cite performance numbers without measurement evidence
|
|
120
|
+
|
|
121
|
+
## Examples
|
|
122
|
+
|
|
123
|
+
1. "Review my changes before commit" → run `git diff --cached`, review staged changes
|
|
124
|
+
2. "Review the auth PR" → run `git diff main...HEAD`, review branch changes
|
|
125
|
+
3. "Check this file for security issues" → review specified file for security criteria only
|
|
126
|
+
4. "Quick review" → focus on Critical and High issues only, skip Low
|
|
127
|
+
|
|
128
|
+
## Edge Cases
|
|
129
|
+
|
|
130
|
+
- **Empty diff**: Warn "No staged/changed files found" and exit
|
|
131
|
+
- **Binary files**: Skip with note "Binary file skipped (not reviewable)"
|
|
132
|
+
- **Very large diffs (>200 files)**: Ask user to scope to specific directories
|
|
133
|
+
- **Generated code** (e.g., `*.generated.ts`): Skip automatically
|
|
134
|
+
|
|
135
|
+
## Error Handling
|
|
136
|
+
|
|
137
|
+
- If `git` is not available: switch to direct file analysis
|
|
138
|
+
- If file cannot be read: note in report and continue with other files
|
|
139
|
+
- If user provides invalid path: report "File not found: [path]"
|
|
140
|
+
|
|
141
|
+
## Works With
|
|
142
|
+
|
|
143
|
+
- After review: use `commit-helper` skill for conventional commit message
|
|
144
|
+
- For test gaps found: mention `test-writer` agent for coverage
|
|
145
|
+
- For architecture concerns: escalate to `solution-architect` agent
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# ✅ GOOD CLAUDE.md SNIPPET EXAMPLE
|
|
2
|
+
# Score: ~27/30 pts (Grade A)
|
|
3
|
+
#
|
|
4
|
+
# ✅ R1.1: Coding standards defined (TypeScript section)
|
|
5
|
+
# ✅ R1.2: Workflow policies explicit (Git, Testing)
|
|
6
|
+
# ✅ R1.3: Critical rules with MANDATORY/NEVER + triggers
|
|
7
|
+
# ✅ R2.1: Actionable — starts with verbs (Use, Run, Add, Never)
|
|
8
|
+
# ✅ R2.2: Trigger conditions stated ("when user says", "for TypeScript files")
|
|
9
|
+
# ✅ R2.3: Explicit prohibitions with examples
|
|
10
|
+
# ✅ R3.1: Organized H2 sections
|
|
11
|
+
# ✅ R3.2: Quick-reference table
|
|
12
|
+
# ✅ R3.3: ✅/❌ pattern examples
|
|
13
|
+
# ✅ R4.2: Technology versions mentioned
|
|
14
|
+
# ✅ R4.3: Project context stated
|
|
15
|
+
#
|
|
16
|
+
# ⚠️ Minor gap: R4.1 — one minor contradiction possible (needs manual check)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
# CLAUDE.md — Acme API Service
|
|
20
|
+
|
|
21
|
+
**Project**: REST API backend for Acme platform (Node.js 22, TypeScript 5.4)
|
|
22
|
+
**Team**: Platform Engineering
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## ⚡ Task Classifier (Scan First)
|
|
27
|
+
|
|
28
|
+
| Keywords in request | Apply policy |
|
|
29
|
+
|--------------------|-------------|
|
|
30
|
+
| "commit", "push", "branch", "PR" | → Git Policy below |
|
|
31
|
+
| "test", "spec", "vitest" | → Testing Policy below |
|
|
32
|
+
| TypeScript, imports, types | → TypeScript Standards below |
|
|
33
|
+
| "deploy", "release", "build" | → Build Policy below |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 🚨 Critical Rules (MANDATORY)
|
|
38
|
+
|
|
39
|
+
🚨 **NEVER commit to `main` directly.** Always use feature branches.
|
|
40
|
+
|
|
41
|
+
🚨 **NEVER use `--no-verify` on git hooks.** If a hook fails, fix the underlying issue first.
|
|
42
|
+
|
|
43
|
+
🚨 **NEVER write tests unless user explicitly asks.** Wait for "write tests", "add coverage", "create specs".
|
|
44
|
+
|
|
45
|
+
🚨 **ALWAYS use `.js` extensions in TypeScript imports.** TypeScript compiles to ESM. Missing extension = runtime crash.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## TypeScript Standards
|
|
50
|
+
|
|
51
|
+
**Imports** — ES modules only:
|
|
52
|
+
```typescript
|
|
53
|
+
✅ import { foo } from './utils.js'
|
|
54
|
+
✅ import type { Bar } from './types.js'
|
|
55
|
+
❌ import { foo } from './utils' // missing .js extension
|
|
56
|
+
❌ const { foo } = require('./utils') // CommonJS not allowed
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Types** — strict mode, no `any` shortcuts:
|
|
60
|
+
```typescript
|
|
61
|
+
✅ function process(input: unknown): Result { ... }
|
|
62
|
+
✅ const value = data as UserProfile // explicit assertion
|
|
63
|
+
❌ function process(input: any) { ... } // defeats type safety
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Async patterns**:
|
|
67
|
+
```typescript
|
|
68
|
+
✅ const result = await Promise.all([a(), b()]) // parallel where possible
|
|
69
|
+
❌ const r1 = await a() // sequential bottleneck
|
|
70
|
+
❌ const r2 = await b()
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Git Policy
|
|
76
|
+
|
|
77
|
+
**Branch naming**: `<type>/<description>` — e.g., `feat/add-oauth`, `fix/token-refresh`
|
|
78
|
+
|
|
79
|
+
**Commit format**: Conventional Commits:
|
|
80
|
+
```
|
|
81
|
+
feat(auth): add token refresh on 401 response
|
|
82
|
+
fix(api): handle null user in profile endpoint
|
|
83
|
+
chore: update eslint to v9
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**PR requirements**:
|
|
87
|
+
- [ ] Branch is up to date with `main`
|
|
88
|
+
- [ ] All CI checks pass
|
|
89
|
+
- [ ] No `console.log` or debug code
|
|
90
|
+
|
|
91
|
+
**Never do**:
|
|
92
|
+
- ❌ `git push --force` to `main` (destructive, permanently loses history)
|
|
93
|
+
- ❌ `git commit --amend` on published commits (breaks teammates' history)
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Testing Policy
|
|
98
|
+
|
|
99
|
+
**MANDATORY**: Write tests ONLY when user explicitly says "write tests", "add coverage", "create unit tests".
|
|
100
|
+
|
|
101
|
+
**Never proactively write or suggest tests.**
|
|
102
|
+
|
|
103
|
+
Test commands:
|
|
104
|
+
```bash
|
|
105
|
+
npm test # all tests
|
|
106
|
+
npm run test:unit # unit only
|
|
107
|
+
npm run test:coverage # with coverage report
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Framework: Vitest 4.x. All tests use dynamic imports for mocking (not static).
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Build Policy
|
|
115
|
+
|
|
116
|
+
**Node.js**: >= 22.0.0 required (`node --version`)
|
|
117
|
+
**npm**: bundled with Node — no yarn or pnpm
|
|
118
|
+
**Build output**: `dist/` (gitignored)
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm run build # TypeScript → dist/
|
|
122
|
+
npm run lint # ESLint (zero warnings required)
|
|
123
|
+
npm run ci # Full pipeline: lint + build + test
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Before deploying**: All CI checks must pass. No bypassing.
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ✅ GOOD COMMAND EXAMPLE
|
|
3
|
+
# Score: ~19/20 pts (Grade A)
|
|
4
|
+
#
|
|
5
|
+
# ✅ C1.1: Valid frontmatter with name + description
|
|
6
|
+
# ✅ C1.2: argument-hint matches $ARGUMENTS usage
|
|
7
|
+
# ✅ C1.3: Phase-based numbered workflow
|
|
8
|
+
# ✅ C1.4: Usage examples section present
|
|
9
|
+
# ✅ C2.1: Error handling table with failure cases
|
|
10
|
+
# ✅ C2.2: Output format defined
|
|
11
|
+
# ✅ C2.3: Validation gates (confirm before creating)
|
|
12
|
+
# ✅ C2.4: Argument parsing with defaults shown
|
|
13
|
+
#
|
|
14
|
+
# ⚠️ Minor gap: C2.4 — could show more complex argument validation
|
|
15
|
+
name: create-jira-ticket
|
|
16
|
+
description: Create a structured Jira ticket from code context, error analysis, or user description
|
|
17
|
+
argument-hint: "<type> <title> [--priority high|medium|low]"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Create Jira Ticket
|
|
21
|
+
|
|
22
|
+
Creates a well-structured Jira ticket in the EPM-CDME project based on code
|
|
23
|
+
context, error analysis, or user description. Follows project template with
|
|
24
|
+
acceptance criteria and technical notes.
|
|
25
|
+
|
|
26
|
+
## Arguments
|
|
27
|
+
|
|
28
|
+
| Argument | Values | Default | Description |
|
|
29
|
+
|----------|--------|---------|-------------|
|
|
30
|
+
| `<type>` | `bug`, `story`, `task`, `epic` | required | Ticket type |
|
|
31
|
+
| `<title>` | string | required | Brief ticket title |
|
|
32
|
+
| `--priority` | `high`, `medium`, `low` | `medium` | Priority level |
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
/create-jira-ticket bug "Login fails on mobile Safari"
|
|
38
|
+
/create-jira-ticket story "Add dark mode toggle" --priority high
|
|
39
|
+
/create-jira-ticket task "Update API documentation"
|
|
40
|
+
/create-jira-ticket epic "Authentication system refactor"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Phase 1: Parse and Validate Arguments
|
|
46
|
+
|
|
47
|
+
Parse `$ARGUMENTS`:
|
|
48
|
+
|
|
49
|
+
1. Extract `<type>` — first token. If missing or invalid:
|
|
50
|
+
```
|
|
51
|
+
Valid types: bug, story, task, epic
|
|
52
|
+
What type of ticket? [bug/story/task/epic]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
2. Extract `<title>` — remaining text before flags. If missing:
|
|
56
|
+
```
|
|
57
|
+
What should the ticket title be?
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
3. Extract `--priority` flag. Default: `medium`
|
|
61
|
+
|
|
62
|
+
4. Validate:
|
|
63
|
+
- [ ] Type is one of: bug, story, task, epic
|
|
64
|
+
- [ ] Title is not empty
|
|
65
|
+
- [ ] Title length ≤ 255 characters (Jira limit)
|
|
66
|
+
|
|
67
|
+
**Abort if**: `JIRA_TOKEN` env var is not set — print:
|
|
68
|
+
```
|
|
69
|
+
Error: JIRA_TOKEN environment variable is required.
|
|
70
|
+
Set it with: export JIRA_TOKEN=your-token
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Phase 2: Gather Context
|
|
76
|
+
|
|
77
|
+
Collect relevant context based on type:
|
|
78
|
+
|
|
79
|
+
**For `bug`**:
|
|
80
|
+
- Run `git log --oneline -5` to show recent changes
|
|
81
|
+
- Read any error output or stack traces mentioned by user
|
|
82
|
+
- Identify affected file(s) if mentioned
|
|
83
|
+
|
|
84
|
+
**For `story`**:
|
|
85
|
+
- Read related files to understand current implementation
|
|
86
|
+
- Note what's missing vs what's needed
|
|
87
|
+
|
|
88
|
+
**For `task`** or **`epic`**:
|
|
89
|
+
- Review scope from user description
|
|
90
|
+
- Check for related existing tickets if mentioned
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Phase 3: Generate Ticket Description
|
|
95
|
+
|
|
96
|
+
Use the EPM-CDME template:
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
## Problem Statement
|
|
100
|
+
[Concrete, observable description of the bug or need.
|
|
101
|
+
For bugs: what happens vs what should happen.
|
|
102
|
+
For stories: what capability is missing.]
|
|
103
|
+
|
|
104
|
+
## Acceptance Criteria
|
|
105
|
+
- [ ] Criterion 1 (testable, pass/fail)
|
|
106
|
+
- [ ] Criterion 2
|
|
107
|
+
- [ ] Criterion 3 (minimum 3 criteria)
|
|
108
|
+
|
|
109
|
+
## Technical Notes
|
|
110
|
+
[Implementation hints, related files, potential approach, dependencies]
|
|
111
|
+
|
|
112
|
+
## Priority Justification
|
|
113
|
+
[Why this priority level: high = user-blocking, medium = important, low = nice-to-have]
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Checklist before proceeding:
|
|
117
|
+
- [ ] Problem is concrete and observable (not vague)
|
|
118
|
+
- [ ] Acceptance criteria are testable (binary pass/fail)
|
|
119
|
+
- [ ] Technical notes reference actual files or components
|
|
120
|
+
- [ ] Priority matches user impact
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Phase 4: Confirm Before Creating
|
|
125
|
+
|
|
126
|
+
Show the draft ticket for user approval:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
130
|
+
Creating Jira Ticket:
|
|
131
|
+
Project: EPM-CDME
|
|
132
|
+
Type: [Bug | Story | Task | Epic]
|
|
133
|
+
Title: [title]
|
|
134
|
+
Priority: [High | Medium | Low]
|
|
135
|
+
|
|
136
|
+
Description preview:
|
|
137
|
+
[first 200 chars of description...]
|
|
138
|
+
|
|
139
|
+
Create ticket? [y/n/edit]
|
|
140
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- If `n`: Print "Cancelled." Exit cleanly.
|
|
144
|
+
- If `edit`: Re-prompt for which field to change.
|
|
145
|
+
- If `y`: Proceed to Phase 5.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Phase 5: Create and Report
|
|
150
|
+
|
|
151
|
+
1. POST to Jira API using `JIRA_TOKEN`
|
|
152
|
+
2. On success:
|
|
153
|
+
```
|
|
154
|
+
✓ Created: EPM-CDME-1234
|
|
155
|
+
https://jira.example.com/browse/EPM-CDME-1234
|
|
156
|
+
```
|
|
157
|
+
3. On failure: see Error Handling
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Error Handling
|
|
162
|
+
|
|
163
|
+
| Error | Action |
|
|
164
|
+
|-------|--------|
|
|
165
|
+
| `JIRA_TOKEN` not set | Print setup instructions. Exit without saving draft. |
|
|
166
|
+
| API 401 Unauthorized | "Invalid token. Check JIRA_TOKEN value." |
|
|
167
|
+
| API 403 Forbidden | "No permission for EPM-CDME project. Contact admin." |
|
|
168
|
+
| API 429 Rate Limited | Wait 30s, retry once. If fails again: save draft. |
|
|
169
|
+
| Network unreachable | Save draft to `./jira-ticket-draft.md`, print path. |
|
|
170
|
+
| Title >255 chars | Truncate to 252 chars, append "...", warn user. |
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "✅ GOOD HOOKS EXAMPLE — Score: ~18/20 pts (Grade A)",
|
|
3
|
+
"_notes": {
|
|
4
|
+
"H1.1": "✅ Valid JSON structure",
|
|
5
|
+
"H1.2": "✅ All event types are recognized (PreToolUse, PostToolUse)",
|
|
6
|
+
"H2.1": "✅ No hardcoded credentials — uses env var $AUDIT_WEBHOOK_URL",
|
|
7
|
+
"H2.2": "✅ Bash scripts use set -e and trap for error handling",
|
|
8
|
+
"H3.1": "✅ Matchers are scoped to specific tools (Write|Edit, Bash) not .*",
|
|
9
|
+
"H3.2": "✅ Each hook has a description field explaining its purpose"
|
|
10
|
+
},
|
|
11
|
+
"hooks": [
|
|
12
|
+
{
|
|
13
|
+
"event": "PreToolUse",
|
|
14
|
+
"description": "Block direct file writes to main branch — prevents accidental commits to protected branch",
|
|
15
|
+
"matcher": "Write|Edit",
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "command",
|
|
19
|
+
"command": "bash -c 'set -e; trap \"echo Hook check failed >&2\" ERR; BRANCH=$(git branch --show-current 2>/dev/null || echo \"\"); if [ \"$BRANCH\" = \"main\" ] || [ \"$BRANCH\" = \"master\" ]; then echo \"ERROR: Direct writes to $BRANCH are blocked. Create a feature branch first.\" >&2; exit 1; fi'"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"event": "PostToolUse",
|
|
25
|
+
"description": "Run ESLint after TypeScript file modifications to catch issues immediately",
|
|
26
|
+
"matcher": "Edit|Write",
|
|
27
|
+
"hooks": [
|
|
28
|
+
{
|
|
29
|
+
"type": "command",
|
|
30
|
+
"command": "bash -c 'set -e; trap \"echo Lint hook failed on line $LINENO >&2\" ERR; FILE=$(echo \"$CLAUDE_TOOL_OUTPUT\" | grep -o \"[^ ]*\\.ts\" | head -1 || true); if [ -n \"$FILE\" ] && [ -f \"$FILE\" ]; then npx eslint \"$FILE\" --max-warnings=0 --quiet 2>&1 | tail -10; fi'"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"event": "PostToolUse",
|
|
36
|
+
"description": "Log tool usage for audit trail — posts to team webhook for compliance tracking",
|
|
37
|
+
"matcher": "Bash",
|
|
38
|
+
"hooks": [
|
|
39
|
+
{
|
|
40
|
+
"type": "command",
|
|
41
|
+
"command": "bash -c 'set -e; if [ -n \"$AUDIT_WEBHOOK_URL\" ]; then curl -sf -X POST \"$AUDIT_WEBHOOK_URL\" -H \"Content-Type: application/json\" -d \"{\\\"event\\\": \\\"bash_used\\\", \\\"session\\\": \\\"$CLAUDE_SESSION_ID\\\"}\" > /dev/null 2>&1 || true; fi'"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ✅ GOOD SKILL EXAMPLE
|
|
3
|
+
# Score: ~30/32 pts (Grade A)
|
|
4
|
+
# What makes it good: See inline comments marked ✅
|
|
5
|
+
#
|
|
6
|
+
# ✅ S1.1: Named SKILL.md in skills/ directory
|
|
7
|
+
# ✅ S1.2: name is [a-z0-9-]+ pattern
|
|
8
|
+
# ✅ S1.3: Description >20 chars, third-person, specific triggers
|
|
9
|
+
# ✅ S1.4: allowed-tools explicitly specified
|
|
10
|
+
# ✅ S2.1: Step-by-step methodology
|
|
11
|
+
# ✅ S2.2: Output format section defined
|
|
12
|
+
# ✅ S2.3: Concrete examples provided
|
|
13
|
+
# ✅ S2.4: Actionable checklists present
|
|
14
|
+
# ✅ S3.1: No absolute paths
|
|
15
|
+
# ✅ S3.2: No secrets
|
|
16
|
+
# ✅ S4.1: Single focused purpose
|
|
17
|
+
# ✅ S4.2: "When to use" section present
|
|
18
|
+
#
|
|
19
|
+
# ⚠️ Minor gap: S3.4 — no dependencies section (would add 1 pt)
|
|
20
|
+
---
|
|
21
|
+
name: commit-helper
|
|
22
|
+
description: This skill should be used when the user asks to "commit my changes",
|
|
23
|
+
"create a conventional commit", "write a commit message", "stage and commit files",
|
|
24
|
+
or wants to follow conventional commits format. Guides through staged file review,
|
|
25
|
+
semantic commit message generation, and commit creation with pre-commit validation.
|
|
26
|
+
allowed-tools: [Read, Bash, Glob]
|
|
27
|
+
version: 1.0.0
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Commit Helper
|
|
32
|
+
|
|
33
|
+
Guides staged commit creation following the Conventional Commits specification.
|
|
34
|
+
Generates semantic commit messages based on diff analysis and confirms before committing.
|
|
35
|
+
|
|
36
|
+
## When to Use
|
|
37
|
+
|
|
38
|
+
Use this skill when:
|
|
39
|
+
- User has staged changes and wants a commit message
|
|
40
|
+
- User wants to follow conventional commits format automatically
|
|
41
|
+
- User needs to review staged changes before committing
|
|
42
|
+
- User says "commit", "create a commit", "stage and commit"
|
|
43
|
+
|
|
44
|
+
Do NOT use this skill for:
|
|
45
|
+
- Pushing to remote (that's a separate action requiring user confirmation)
|
|
46
|
+
- Creating pull requests (use `pr-creator` skill)
|
|
47
|
+
- Branch management operations
|
|
48
|
+
|
|
49
|
+
## Methodology
|
|
50
|
+
|
|
51
|
+
### Step 1: Review Staged Changes
|
|
52
|
+
|
|
53
|
+
1. Run `git status` to list staged and unstaged files
|
|
54
|
+
2. Run `git diff --cached` to review the full staged diff
|
|
55
|
+
3. If no files staged: warn user and exit — do not commit unstaged work
|
|
56
|
+
|
|
57
|
+
### Step 2: Determine Commit Type
|
|
58
|
+
|
|
59
|
+
Map changes to conventional commit types:
|
|
60
|
+
|
|
61
|
+
| Type | When to use |
|
|
62
|
+
|------|-------------|
|
|
63
|
+
| `feat` | New feature or behavior added |
|
|
64
|
+
| `fix` | Bug fix |
|
|
65
|
+
| `refactor` | Code change that neither fixes a bug nor adds feature |
|
|
66
|
+
| `docs` | Documentation only |
|
|
67
|
+
| `test` | Adding or updating tests |
|
|
68
|
+
| `chore` | Build process, tooling, dependencies |
|
|
69
|
+
| `ci` | CI/CD pipeline changes |
|
|
70
|
+
| `perf` | Performance improvement |
|
|
71
|
+
|
|
72
|
+
### Step 3: Generate Commit Message
|
|
73
|
+
|
|
74
|
+
Format:
|
|
75
|
+
```
|
|
76
|
+
<type>(<scope>): <description>
|
|
77
|
+
|
|
78
|
+
[optional body]
|
|
79
|
+
|
|
80
|
+
[optional footer]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Checklist:
|
|
84
|
+
- [ ] Type is lowercase and from the table above
|
|
85
|
+
- [ ] Scope is the module, component, or area affected
|
|
86
|
+
- [ ] Description is imperative mood ("add" not "added"), lowercase, <72 chars, no period
|
|
87
|
+
- [ ] Body explains WHY (not WHAT — the diff shows WHAT)
|
|
88
|
+
- [ ] Breaking changes use `feat!:` or `fix!:` and include `BREAKING CHANGE:` footer
|
|
89
|
+
|
|
90
|
+
### Step 4: Confirm and Commit
|
|
91
|
+
|
|
92
|
+
Show the proposed commit for user approval:
|
|
93
|
+
```
|
|
94
|
+
Staged files:
|
|
95
|
+
modified: src/auth/login.ts
|
|
96
|
+
modified: src/auth/token.ts
|
|
97
|
+
|
|
98
|
+
Proposed commit:
|
|
99
|
+
fix(auth): refresh OAuth token before expiry on 401 response
|
|
100
|
+
|
|
101
|
+
Tokens were silently expiring mid-session causing user logout.
|
|
102
|
+
Refresh is now triggered proactively when token age > 80% of TTL.
|
|
103
|
+
|
|
104
|
+
Commit? [y/n/edit]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- [ ] User confirmed `y` before running `git commit`
|
|
108
|
+
- [ ] If user says `edit`: re-prompt for message
|
|
109
|
+
- [ ] Never use `--no-verify` unless user explicitly requests it
|
|
110
|
+
|
|
111
|
+
## Output Format
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Staged: [list of files]
|
|
115
|
+
|
|
116
|
+
Proposed message:
|
|
117
|
+
[type(scope): description]
|
|
118
|
+
|
|
119
|
+
[body if needed]
|
|
120
|
+
|
|
121
|
+
✓ Committed: [hash] [message]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Error Handling
|
|
125
|
+
|
|
126
|
+
| Situation | Action |
|
|
127
|
+
|-----------|--------|
|
|
128
|
+
| No staged files | Print: "No staged files. Use `git add` first." Exit. |
|
|
129
|
+
| User cancels | Print: "Commit cancelled." Exit cleanly. |
|
|
130
|
+
| Pre-commit hook fails | Print hook output, do NOT retry, suggest fixing the issue |
|
|
131
|
+
| `git commit` fails | Show error message, do not suppress it |
|
|
132
|
+
|
|
133
|
+
## Examples
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# User: "commit my changes"
|
|
137
|
+
→ Run git status + diff, generate message, show for confirmation
|
|
138
|
+
|
|
139
|
+
# User: "commit the auth fix as a hotfix"
|
|
140
|
+
→ Use type=fix, analyze staged auth files, generate message
|
|
141
|
+
|
|
142
|
+
# User: "commit with message 'update readme'"
|
|
143
|
+
→ Use user's message, format to conventional commits if needed
|
|
144
|
+
```
|