compound-engineering-pi 0.2.3
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/LICENSE +21 -0
- package/README.md +124 -0
- package/bin/compound-engineering-pi +12 -0
- package/bin/compound-plugin +12 -0
- package/compound-engineering-pi +12 -0
- package/compound-plugin +5 -0
- package/docs/pi.md +152 -0
- package/extensions/compound-engineering-compat.ts +452 -0
- package/package.json +84 -0
- package/pi-resources/compound-engineering/mcporter.json +7 -0
- package/plugins/coding-tutor/.claude-plugin/plugin.json +9 -0
- package/plugins/coding-tutor/README.md +37 -0
- package/plugins/coding-tutor/commands/quiz-me.md +1 -0
- package/plugins/coding-tutor/commands/sync-tutorials.md +25 -0
- package/plugins/coding-tutor/commands/teach-me.md +1 -0
- package/plugins/coding-tutor/skills/coding-tutor/SKILL.md +214 -0
- package/plugins/coding-tutor/skills/coding-tutor/scripts/create_tutorial.py +207 -0
- package/plugins/coding-tutor/skills/coding-tutor/scripts/index_tutorials.py +193 -0
- package/plugins/coding-tutor/skills/coding-tutor/scripts/quiz_priority.py +190 -0
- package/plugins/coding-tutor/skills/coding-tutor/scripts/setup_tutorials.py +118 -0
- package/plugins/compound-engineering/.claude-plugin/plugin.json +33 -0
- package/plugins/compound-engineering/CHANGELOG.md +457 -0
- package/plugins/compound-engineering/CLAUDE.md +89 -0
- package/plugins/compound-engineering/LICENSE +21 -0
- package/plugins/compound-engineering/README.md +232 -0
- package/plugins/compound-engineering/agents/design/design-implementation-reviewer.md +109 -0
- package/plugins/compound-engineering/agents/design/design-iterator.md +224 -0
- package/plugins/compound-engineering/agents/design/figma-design-sync.md +190 -0
- package/plugins/compound-engineering/agents/docs/ankane-readme-writer.md +65 -0
- package/plugins/compound-engineering/agents/research/best-practices-researcher.md +126 -0
- package/plugins/compound-engineering/agents/research/framework-docs-researcher.md +106 -0
- package/plugins/compound-engineering/agents/research/git-history-analyzer.md +59 -0
- package/plugins/compound-engineering/agents/research/learnings-researcher.md +264 -0
- package/plugins/compound-engineering/agents/research/repo-research-analyst.md +135 -0
- package/plugins/compound-engineering/agents/review/agent-native-reviewer.md +261 -0
- package/plugins/compound-engineering/agents/review/architecture-strategist.md +67 -0
- package/plugins/compound-engineering/agents/review/code-simplicity-reviewer.md +101 -0
- package/plugins/compound-engineering/agents/review/data-integrity-guardian.md +85 -0
- package/plugins/compound-engineering/agents/review/data-migration-expert.md +112 -0
- package/plugins/compound-engineering/agents/review/deployment-verification-agent.md +174 -0
- package/plugins/compound-engineering/agents/review/dhh-rails-reviewer.md +66 -0
- package/plugins/compound-engineering/agents/review/julik-frontend-races-reviewer.md +221 -0
- package/plugins/compound-engineering/agents/review/kieran-python-reviewer.md +133 -0
- package/plugins/compound-engineering/agents/review/kieran-rails-reviewer.md +115 -0
- package/plugins/compound-engineering/agents/review/kieran-typescript-reviewer.md +124 -0
- package/plugins/compound-engineering/agents/review/pattern-recognition-specialist.md +72 -0
- package/plugins/compound-engineering/agents/review/performance-oracle.md +137 -0
- package/plugins/compound-engineering/agents/review/schema-drift-detector.md +154 -0
- package/plugins/compound-engineering/agents/review/security-sentinel.md +114 -0
- package/plugins/compound-engineering/agents/workflow/bug-reproduction-validator.md +82 -0
- package/plugins/compound-engineering/agents/workflow/every-style-editor.md +64 -0
- package/plugins/compound-engineering/agents/workflow/lint.md +16 -0
- package/plugins/compound-engineering/agents/workflow/pr-comment-resolver.md +84 -0
- package/plugins/compound-engineering/agents/workflow/spec-flow-analyzer.md +134 -0
- package/plugins/compound-engineering/commands/agent-native-audit.md +278 -0
- package/plugins/compound-engineering/commands/changelog.md +138 -0
- package/plugins/compound-engineering/commands/create-agent-skill.md +9 -0
- package/plugins/compound-engineering/commands/deepen-plan.md +546 -0
- package/plugins/compound-engineering/commands/deploy-docs.md +113 -0
- package/plugins/compound-engineering/commands/feature-video.md +342 -0
- package/plugins/compound-engineering/commands/generate_command.md +163 -0
- package/plugins/compound-engineering/commands/heal-skill.md +143 -0
- package/plugins/compound-engineering/commands/lfg.md +20 -0
- package/plugins/compound-engineering/commands/release-docs.md +212 -0
- package/plugins/compound-engineering/commands/report-bug.md +151 -0
- package/plugins/compound-engineering/commands/reproduce-bug.md +100 -0
- package/plugins/compound-engineering/commands/resolve_parallel.md +35 -0
- package/plugins/compound-engineering/commands/resolve_todo_parallel.md +37 -0
- package/plugins/compound-engineering/commands/slfg.md +32 -0
- package/plugins/compound-engineering/commands/technical_review.md +8 -0
- package/plugins/compound-engineering/commands/test-browser.md +339 -0
- package/plugins/compound-engineering/commands/test-xcode.md +332 -0
- package/plugins/compound-engineering/commands/triage.md +311 -0
- package/plugins/compound-engineering/commands/workflows/brainstorm.md +124 -0
- package/plugins/compound-engineering/commands/workflows/compound.md +239 -0
- package/plugins/compound-engineering/commands/workflows/plan.md +551 -0
- package/plugins/compound-engineering/commands/workflows/review.md +526 -0
- package/plugins/compound-engineering/commands/workflows/work.md +433 -0
- package/plugins/compound-engineering/skills/agent-browser/SKILL.md +223 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/SKILL.md +435 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/action-parity-discipline.md +409 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/agent-execution-patterns.md +467 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/agent-native-testing.md +582 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/dynamic-context-injection.md +338 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +359 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/mcp-tool-design.md +506 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/mobile-patterns.md +871 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/product-implications.md +443 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/self-modification.md +269 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/shared-workspace-architecture.md +680 -0
- package/plugins/compound-engineering/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
- package/plugins/compound-engineering/skills/andrew-kane-gem-writer/SKILL.md +184 -0
- package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/database-adapters.md +231 -0
- package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/module-organization.md +121 -0
- package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/rails-integration.md +183 -0
- package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/resources.md +119 -0
- package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
- package/plugins/compound-engineering/skills/brainstorming/SKILL.md +190 -0
- package/plugins/compound-engineering/skills/compound-docs/SKILL.md +511 -0
- package/plugins/compound-engineering/skills/compound-docs/assets/critical-pattern-template.md +34 -0
- package/plugins/compound-engineering/skills/compound-docs/assets/resolution-template.md +93 -0
- package/plugins/compound-engineering/skills/compound-docs/references/yaml-schema.md +65 -0
- package/plugins/compound-engineering/skills/compound-docs/schema.yaml +176 -0
- package/plugins/compound-engineering/skills/create-agent-skills/SKILL.md +275 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/api-security.md +226 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/be-clear-and-direct.md +531 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/best-practices.md +404 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/common-patterns.md +595 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/core-principles.md +437 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/executable-code.md +175 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/iteration-and-testing.md +474 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/official-spec.md +134 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/recommended-structure.md +168 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/skill-structure.md +152 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/using-scripts.md +113 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/using-templates.md +112 -0
- package/plugins/compound-engineering/skills/create-agent-skills/references/workflows-and-validation.md +510 -0
- package/plugins/compound-engineering/skills/create-agent-skills/templates/router-skill.md +73 -0
- package/plugins/compound-engineering/skills/create-agent-skills/templates/simple-skill.md +33 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-reference.md +96 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-script.md +93 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-template.md +74 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-workflow.md +120 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/audit-skill.md +138 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +605 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-new-skill.md +191 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/get-guidance.md +121 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/upgrade-to-router.md +161 -0
- package/plugins/compound-engineering/skills/create-agent-skills/workflows/verify-skill.md +204 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/SKILL.md +185 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/references/architecture.md +653 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/references/controllers.md +303 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/references/frontend.md +510 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/references/gems.md +266 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/references/models.md +359 -0
- package/plugins/compound-engineering/skills/dhh-rails-style/references/testing.md +338 -0
- package/plugins/compound-engineering/skills/document-review/SKILL.md +87 -0
- package/plugins/compound-engineering/skills/dspy-ruby/SKILL.md +737 -0
- package/plugins/compound-engineering/skills/dspy-ruby/assets/config-template.rb +187 -0
- package/plugins/compound-engineering/skills/dspy-ruby/assets/module-template.rb +300 -0
- package/plugins/compound-engineering/skills/dspy-ruby/assets/signature-template.rb +221 -0
- package/plugins/compound-engineering/skills/dspy-ruby/references/core-concepts.md +674 -0
- package/plugins/compound-engineering/skills/dspy-ruby/references/observability.md +366 -0
- package/plugins/compound-engineering/skills/dspy-ruby/references/optimization.md +603 -0
- package/plugins/compound-engineering/skills/dspy-ruby/references/providers.md +418 -0
- package/plugins/compound-engineering/skills/dspy-ruby/references/toolsets.md +502 -0
- package/plugins/compound-engineering/skills/every-style-editor/SKILL.md +134 -0
- package/plugins/compound-engineering/skills/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
- package/plugins/compound-engineering/skills/file-todos/SKILL.md +252 -0
- package/plugins/compound-engineering/skills/file-todos/assets/todo-template.md +155 -0
- package/plugins/compound-engineering/skills/frontend-design/SKILL.md +42 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/SKILL.md +237 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/requirements.txt +2 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/scripts/compose_images.py +157 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/scripts/edit_image.py +144 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/scripts/gemini_images.py +263 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/scripts/generate_image.py +133 -0
- package/plugins/compound-engineering/skills/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
- package/plugins/compound-engineering/skills/git-worktree/SKILL.md +302 -0
- package/plugins/compound-engineering/skills/git-worktree/scripts/worktree-manager.sh +337 -0
- package/plugins/compound-engineering/skills/orchestrating-swarms/SKILL.md +1718 -0
- package/plugins/compound-engineering/skills/rclone/SKILL.md +150 -0
- package/plugins/compound-engineering/skills/rclone/scripts/check_setup.sh +60 -0
- package/plugins/compound-engineering/skills/resolve-pr-parallel/SKILL.md +89 -0
- package/plugins/compound-engineering/skills/resolve-pr-parallel/scripts/get-pr-comments +68 -0
- package/plugins/compound-engineering/skills/resolve-pr-parallel/scripts/resolve-pr-thread +23 -0
- package/plugins/compound-engineering/skills/skill-creator/SKILL.md +210 -0
- package/plugins/compound-engineering/skills/skill-creator/scripts/init_skill.py +303 -0
- package/plugins/compound-engineering/skills/skill-creator/scripts/package_skill.py +110 -0
- package/plugins/compound-engineering/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/prompts/deepen-plan.md +549 -0
- package/prompts/feature-video.md +341 -0
- package/prompts/resolve_todo_parallel.md +36 -0
- package/prompts/test-browser.md +342 -0
- package/prompts/workflows-brainstorm.md +123 -0
- package/prompts/workflows-compound.md +238 -0
- package/prompts/workflows-plan.md +550 -0
- package/prompts/workflows-review.md +529 -0
- package/prompts/workflows-work.md +432 -0
- package/skills/agent-browser/SKILL.md +223 -0
- package/skills/agent-native-architecture/SKILL.md +435 -0
- package/skills/agent-native-architecture/references/action-parity-discipline.md +409 -0
- package/skills/agent-native-architecture/references/agent-execution-patterns.md +467 -0
- package/skills/agent-native-architecture/references/agent-native-testing.md +582 -0
- package/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
- package/skills/agent-native-architecture/references/dynamic-context-injection.md +338 -0
- package/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
- package/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +359 -0
- package/skills/agent-native-architecture/references/mcp-tool-design.md +506 -0
- package/skills/agent-native-architecture/references/mobile-patterns.md +871 -0
- package/skills/agent-native-architecture/references/product-implications.md +443 -0
- package/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
- package/skills/agent-native-architecture/references/self-modification.md +269 -0
- package/skills/agent-native-architecture/references/shared-workspace-architecture.md +680 -0
- package/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
- package/skills/agent-native-reviewer/SKILL.md +260 -0
- package/skills/andrew-kane-gem-writer/SKILL.md +184 -0
- package/skills/andrew-kane-gem-writer/references/database-adapters.md +231 -0
- package/skills/andrew-kane-gem-writer/references/module-organization.md +121 -0
- package/skills/andrew-kane-gem-writer/references/rails-integration.md +183 -0
- package/skills/andrew-kane-gem-writer/references/resources.md +119 -0
- package/skills/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
- package/skills/ankane-readme-writer/SKILL.md +63 -0
- package/skills/architecture-strategist/SKILL.md +66 -0
- package/skills/best-practices-researcher/SKILL.md +125 -0
- package/skills/brainstorming/SKILL.md +190 -0
- package/skills/bug-reproduction-validator/SKILL.md +81 -0
- package/skills/code-simplicity-reviewer/SKILL.md +100 -0
- package/skills/compound-docs/SKILL.md +511 -0
- package/skills/compound-docs/assets/critical-pattern-template.md +34 -0
- package/skills/compound-docs/assets/resolution-template.md +93 -0
- package/skills/compound-docs/references/yaml-schema.md +65 -0
- package/skills/compound-docs/schema.yaml +176 -0
- package/skills/create-agent-skills/SKILL.md +275 -0
- package/skills/create-agent-skills/references/api-security.md +226 -0
- package/skills/create-agent-skills/references/be-clear-and-direct.md +531 -0
- package/skills/create-agent-skills/references/best-practices.md +404 -0
- package/skills/create-agent-skills/references/common-patterns.md +595 -0
- package/skills/create-agent-skills/references/core-principles.md +437 -0
- package/skills/create-agent-skills/references/executable-code.md +175 -0
- package/skills/create-agent-skills/references/iteration-and-testing.md +474 -0
- package/skills/create-agent-skills/references/official-spec.md +134 -0
- package/skills/create-agent-skills/references/recommended-structure.md +168 -0
- package/skills/create-agent-skills/references/skill-structure.md +152 -0
- package/skills/create-agent-skills/references/using-scripts.md +113 -0
- package/skills/create-agent-skills/references/using-templates.md +112 -0
- package/skills/create-agent-skills/references/workflows-and-validation.md +510 -0
- package/skills/create-agent-skills/templates/router-skill.md +73 -0
- package/skills/create-agent-skills/templates/simple-skill.md +33 -0
- package/skills/create-agent-skills/workflows/add-reference.md +96 -0
- package/skills/create-agent-skills/workflows/add-script.md +93 -0
- package/skills/create-agent-skills/workflows/add-template.md +74 -0
- package/skills/create-agent-skills/workflows/add-workflow.md +120 -0
- package/skills/create-agent-skills/workflows/audit-skill.md +138 -0
- package/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +605 -0
- package/skills/create-agent-skills/workflows/create-new-skill.md +191 -0
- package/skills/create-agent-skills/workflows/get-guidance.md +121 -0
- package/skills/create-agent-skills/workflows/upgrade-to-router.md +161 -0
- package/skills/create-agent-skills/workflows/verify-skill.md +204 -0
- package/skills/data-integrity-guardian/SKILL.md +84 -0
- package/skills/data-migration-expert/SKILL.md +111 -0
- package/skills/deployment-verification-agent/SKILL.md +173 -0
- package/skills/design-implementation-reviewer/SKILL.md +107 -0
- package/skills/design-iterator/SKILL.md +222 -0
- package/skills/dhh-rails-reviewer/SKILL.md +65 -0
- package/skills/dhh-rails-style/SKILL.md +185 -0
- package/skills/dhh-rails-style/references/architecture.md +653 -0
- package/skills/dhh-rails-style/references/controllers.md +303 -0
- package/skills/dhh-rails-style/references/frontend.md +510 -0
- package/skills/dhh-rails-style/references/gems.md +266 -0
- package/skills/dhh-rails-style/references/models.md +359 -0
- package/skills/dhh-rails-style/references/testing.md +338 -0
- package/skills/document-review/SKILL.md +87 -0
- package/skills/dspy-ruby/SKILL.md +737 -0
- package/skills/dspy-ruby/assets/config-template.rb +187 -0
- package/skills/dspy-ruby/assets/module-template.rb +300 -0
- package/skills/dspy-ruby/assets/signature-template.rb +221 -0
- package/skills/dspy-ruby/references/core-concepts.md +674 -0
- package/skills/dspy-ruby/references/observability.md +366 -0
- package/skills/dspy-ruby/references/optimization.md +603 -0
- package/skills/dspy-ruby/references/providers.md +418 -0
- package/skills/dspy-ruby/references/toolsets.md +502 -0
- package/skills/every-style-editor/SKILL.md +134 -0
- package/skills/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
- package/skills/every-style-editor-2/SKILL.md +62 -0
- package/skills/figma-design-sync/SKILL.md +188 -0
- package/skills/file-todos/SKILL.md +252 -0
- package/skills/file-todos/assets/todo-template.md +155 -0
- package/skills/framework-docs-researcher/SKILL.md +105 -0
- package/skills/frontend-design/SKILL.md +42 -0
- package/skills/gemini-imagegen/SKILL.md +237 -0
- package/skills/gemini-imagegen/requirements.txt +2 -0
- package/skills/gemini-imagegen/scripts/compose_images.py +157 -0
- package/skills/gemini-imagegen/scripts/edit_image.py +144 -0
- package/skills/gemini-imagegen/scripts/gemini_images.py +263 -0
- package/skills/gemini-imagegen/scripts/generate_image.py +133 -0
- package/skills/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
- package/skills/git-history-analyzer/SKILL.md +58 -0
- package/skills/git-worktree/SKILL.md +302 -0
- package/skills/git-worktree/scripts/worktree-manager.sh +337 -0
- package/skills/julik-frontend-races-reviewer/SKILL.md +220 -0
- package/skills/kieran-python-reviewer/SKILL.md +132 -0
- package/skills/kieran-rails-reviewer/SKILL.md +114 -0
- package/skills/kieran-typescript-reviewer/SKILL.md +123 -0
- package/skills/learnings-researcher/SKILL.md +263 -0
- package/skills/lint/SKILL.md +14 -0
- package/skills/orchestrating-swarms/SKILL.md +1718 -0
- package/skills/pattern-recognition-specialist/SKILL.md +71 -0
- package/skills/performance-oracle/SKILL.md +136 -0
- package/skills/pr-comment-resolver/SKILL.md +82 -0
- package/skills/rclone/SKILL.md +150 -0
- package/skills/rclone/scripts/check_setup.sh +60 -0
- package/skills/repo-research-analyst/SKILL.md +134 -0
- package/skills/resolve_pr_parallel/SKILL.md +89 -0
- package/skills/resolve_pr_parallel/scripts/get-pr-comments +68 -0
- package/skills/resolve_pr_parallel/scripts/resolve-pr-thread +23 -0
- package/skills/schema-drift-detector/SKILL.md +153 -0
- package/skills/security-sentinel/SKILL.md +113 -0
- package/skills/skill-creator/SKILL.md +210 -0
- package/skills/skill-creator/scripts/init_skill.py +303 -0
- package/skills/skill-creator/scripts/package_skill.py +110 -0
- package/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/skills/spec-flow-analyzer/SKILL.md +133 -0
- package/src/commands/convert.ts +183 -0
- package/src/commands/install.ts +273 -0
- package/src/commands/list.ts +37 -0
- package/src/commands/sync.ts +89 -0
- package/src/converters/claude-to-codex.ts +182 -0
- package/src/converters/claude-to-opencode.ts +395 -0
- package/src/converters/claude-to-pi.ts +205 -0
- package/src/index.ts +22 -0
- package/src/parsers/claude-home.ts +65 -0
- package/src/parsers/claude.ts +252 -0
- package/src/sync/codex.ts +92 -0
- package/src/sync/opencode.ts +75 -0
- package/src/sync/pi.ts +88 -0
- package/src/targets/codex.ts +96 -0
- package/src/targets/index.ts +38 -0
- package/src/targets/opencode.ts +57 -0
- package/src/targets/pi.ts +131 -0
- package/src/templates/pi/compat-extension.ts +452 -0
- package/src/types/claude.ts +90 -0
- package/src/types/codex.ts +23 -0
- package/src/types/opencode.ts +54 -0
- package/src/types/pi.ts +40 -0
- package/src/utils/codex-agents.ts +64 -0
- package/src/utils/files.ts +77 -0
- package/src/utils/frontmatter.ts +65 -0
- package/src/utils/symlink.ts +43 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# Testing Patterns
|
|
2
|
+
|
|
3
|
+
## Minitest Setup
|
|
4
|
+
|
|
5
|
+
Kane exclusively uses Minitest—never RSpec.
|
|
6
|
+
|
|
7
|
+
```ruby
|
|
8
|
+
# test/test_helper.rb
|
|
9
|
+
require "bundler/setup"
|
|
10
|
+
Bundler.require(:default)
|
|
11
|
+
require "minitest/autorun"
|
|
12
|
+
require "minitest/pride"
|
|
13
|
+
|
|
14
|
+
# Load the gem
|
|
15
|
+
require "gemname"
|
|
16
|
+
|
|
17
|
+
# Test database setup (if needed)
|
|
18
|
+
ActiveRecord::Base.establish_connection(
|
|
19
|
+
adapter: "postgresql",
|
|
20
|
+
database: "gemname_test"
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
# Base test class
|
|
24
|
+
class Minitest::Test
|
|
25
|
+
def setup
|
|
26
|
+
# Reset state before each test
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Test File Structure
|
|
32
|
+
|
|
33
|
+
```ruby
|
|
34
|
+
# test/model_test.rb
|
|
35
|
+
require_relative "test_helper"
|
|
36
|
+
|
|
37
|
+
class ModelTest < Minitest::Test
|
|
38
|
+
def setup
|
|
39
|
+
User.delete_all
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_basic_functionality
|
|
43
|
+
user = User.create!(email: "test@example.org")
|
|
44
|
+
assert_equal "test@example.org", user.email
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_with_invalid_input
|
|
48
|
+
error = assert_raises(ArgumentError) do
|
|
49
|
+
User.create!(email: nil)
|
|
50
|
+
end
|
|
51
|
+
assert_match /email/, error.message
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_class_method
|
|
55
|
+
result = User.search("test")
|
|
56
|
+
assert_kind_of Array, result
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Multi-Version Testing
|
|
62
|
+
|
|
63
|
+
Test against multiple Rails/Ruby versions using gemfiles:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
test/
|
|
67
|
+
├── test_helper.rb
|
|
68
|
+
└── gemfiles/
|
|
69
|
+
├── activerecord70.gemfile
|
|
70
|
+
├── activerecord71.gemfile
|
|
71
|
+
└── activerecord72.gemfile
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```ruby
|
|
75
|
+
# test/gemfiles/activerecord70.gemfile
|
|
76
|
+
source "https://rubygems.org"
|
|
77
|
+
gemspec path: "../../"
|
|
78
|
+
|
|
79
|
+
gem "activerecord", "~> 7.0.0"
|
|
80
|
+
gem "sqlite3"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```ruby
|
|
84
|
+
# test/gemfiles/activerecord72.gemfile
|
|
85
|
+
source "https://rubygems.org"
|
|
86
|
+
gemspec path: "../../"
|
|
87
|
+
|
|
88
|
+
gem "activerecord", "~> 7.2.0"
|
|
89
|
+
gem "sqlite3"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Run with specific gemfile:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
BUNDLE_GEMFILE=test/gemfiles/activerecord70.gemfile bundle install
|
|
96
|
+
BUNDLE_GEMFILE=test/gemfiles/activerecord70.gemfile bundle exec rake test
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Rakefile
|
|
100
|
+
|
|
101
|
+
```ruby
|
|
102
|
+
# Rakefile
|
|
103
|
+
require "bundler/gem_tasks"
|
|
104
|
+
require "rake/testtask"
|
|
105
|
+
|
|
106
|
+
Rake::TestTask.new(:test) do |t|
|
|
107
|
+
t.libs << "test"
|
|
108
|
+
t.pattern = "test/**/*_test.rb"
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
task default: :test
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## GitHub Actions CI
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
# .github/workflows/build.yml
|
|
118
|
+
name: build
|
|
119
|
+
|
|
120
|
+
on: [push, pull_request]
|
|
121
|
+
|
|
122
|
+
jobs:
|
|
123
|
+
build:
|
|
124
|
+
runs-on: ubuntu-latest
|
|
125
|
+
|
|
126
|
+
strategy:
|
|
127
|
+
fail-fast: false
|
|
128
|
+
matrix:
|
|
129
|
+
include:
|
|
130
|
+
- ruby: "3.2"
|
|
131
|
+
gemfile: activerecord70
|
|
132
|
+
- ruby: "3.3"
|
|
133
|
+
gemfile: activerecord71
|
|
134
|
+
- ruby: "3.3"
|
|
135
|
+
gemfile: activerecord72
|
|
136
|
+
|
|
137
|
+
env:
|
|
138
|
+
BUNDLE_GEMFILE: test/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
139
|
+
|
|
140
|
+
steps:
|
|
141
|
+
- uses: actions/checkout@v4
|
|
142
|
+
|
|
143
|
+
- uses: ruby/setup-ruby@v1
|
|
144
|
+
with:
|
|
145
|
+
ruby-version: ${{ matrix.ruby }}
|
|
146
|
+
bundler-cache: true
|
|
147
|
+
|
|
148
|
+
- run: bundle exec rake test
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Database-Specific Testing
|
|
152
|
+
|
|
153
|
+
```yaml
|
|
154
|
+
# .github/workflows/build.yml (with services)
|
|
155
|
+
services:
|
|
156
|
+
postgres:
|
|
157
|
+
image: postgres:15
|
|
158
|
+
env:
|
|
159
|
+
POSTGRES_USER: postgres
|
|
160
|
+
POSTGRES_PASSWORD: postgres
|
|
161
|
+
ports:
|
|
162
|
+
- 5432:5432
|
|
163
|
+
options: >-
|
|
164
|
+
--health-cmd pg_isready
|
|
165
|
+
--health-interval 10s
|
|
166
|
+
--health-timeout 5s
|
|
167
|
+
--health-retries 5
|
|
168
|
+
|
|
169
|
+
env:
|
|
170
|
+
DATABASE_URL: postgres://postgres:postgres@localhost/gemname_test
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Test Database Setup
|
|
174
|
+
|
|
175
|
+
```ruby
|
|
176
|
+
# test/test_helper.rb
|
|
177
|
+
require "active_record"
|
|
178
|
+
|
|
179
|
+
# Connect to database
|
|
180
|
+
ActiveRecord::Base.establish_connection(
|
|
181
|
+
ENV["DATABASE_URL"] || {
|
|
182
|
+
adapter: "postgresql",
|
|
183
|
+
database: "gemname_test"
|
|
184
|
+
}
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
# Create tables
|
|
188
|
+
ActiveRecord::Schema.define do
|
|
189
|
+
create_table :users, force: true do |t|
|
|
190
|
+
t.string :email
|
|
191
|
+
t.text :encrypted_data
|
|
192
|
+
t.timestamps
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Define models
|
|
197
|
+
class User < ActiveRecord::Base
|
|
198
|
+
gemname_feature :email
|
|
199
|
+
end
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Assertion Patterns
|
|
203
|
+
|
|
204
|
+
```ruby
|
|
205
|
+
# Basic assertions
|
|
206
|
+
assert result
|
|
207
|
+
assert_equal expected, actual
|
|
208
|
+
assert_nil value
|
|
209
|
+
assert_empty array
|
|
210
|
+
|
|
211
|
+
# Exception testing
|
|
212
|
+
assert_raises(ArgumentError) { bad_code }
|
|
213
|
+
|
|
214
|
+
error = assert_raises(GemName::Error) do
|
|
215
|
+
risky_operation
|
|
216
|
+
end
|
|
217
|
+
assert_match /expected message/, error.message
|
|
218
|
+
|
|
219
|
+
# Refutations
|
|
220
|
+
refute condition
|
|
221
|
+
refute_equal unexpected, actual
|
|
222
|
+
refute_nil value
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Test Helpers
|
|
226
|
+
|
|
227
|
+
```ruby
|
|
228
|
+
# test/test_helper.rb
|
|
229
|
+
class Minitest::Test
|
|
230
|
+
def with_options(options)
|
|
231
|
+
original = GemName.options.dup
|
|
232
|
+
GemName.options.merge!(options)
|
|
233
|
+
yield
|
|
234
|
+
ensure
|
|
235
|
+
GemName.options = original
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
def assert_queries(expected_count)
|
|
239
|
+
queries = []
|
|
240
|
+
callback = ->(*, payload) { queries << payload[:sql] }
|
|
241
|
+
ActiveSupport::Notifications.subscribe("sql.active_record", callback)
|
|
242
|
+
yield
|
|
243
|
+
assert_equal expected_count, queries.size, "Expected #{expected_count} queries, got #{queries.size}"
|
|
244
|
+
ensure
|
|
245
|
+
ActiveSupport::Notifications.unsubscribe(callback)
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Skipping Tests
|
|
251
|
+
|
|
252
|
+
```ruby
|
|
253
|
+
def test_postgresql_specific
|
|
254
|
+
skip "PostgreSQL only" unless postgresql?
|
|
255
|
+
# test code
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
def postgresql?
|
|
259
|
+
ActiveRecord::Base.connection.adapter_name =~ /postg/i
|
|
260
|
+
end
|
|
261
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ankane-readme-writer
|
|
3
|
+
description: Creates or updates README files following Ankane-style template for Ruby gems. Use when writing gem documentation with imperative voice, concise prose, and standard section ordering.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<examples>
|
|
7
|
+
<example>
|
|
8
|
+
Context: User is creating documentation for a new Ruby gem.
|
|
9
|
+
user: "I need to write a README for my new search gem called 'turbo-search'"
|
|
10
|
+
assistant: "I'll use the ankane-readme-writer agent to create a properly formatted README following the Ankane style guide"
|
|
11
|
+
<commentary>Since the user needs a README for a Ruby gem and wants to follow best practices, use the ankane-readme-writer agent to ensure it follows the Ankane template structure.</commentary>
|
|
12
|
+
</example>
|
|
13
|
+
<example>
|
|
14
|
+
Context: User has an existing README that needs to be reformatted.
|
|
15
|
+
user: "Can you update my gem's README to follow the Ankane style?"
|
|
16
|
+
assistant: "Let me use the ankane-readme-writer agent to reformat your README according to the Ankane template"
|
|
17
|
+
<commentary>The user explicitly wants to follow Ankane style, so use the specialized agent for this formatting standard.</commentary>
|
|
18
|
+
</example>
|
|
19
|
+
</examples>
|
|
20
|
+
|
|
21
|
+
You are an expert Ruby gem documentation writer specializing in the Ankane-style README format. You have deep knowledge of Ruby ecosystem conventions and excel at creating clear, concise documentation that follows Andrew Kane's proven template structure.
|
|
22
|
+
|
|
23
|
+
Your core responsibilities:
|
|
24
|
+
1. Write README files that strictly adhere to the Ankane template structure
|
|
25
|
+
2. Use imperative voice throughout ("Add", "Run", "Create" - never "Adds", "Running", "Creates")
|
|
26
|
+
3. Keep every sentence to 15 words or less - brevity is essential
|
|
27
|
+
4. Organize sections in the exact order: Header (with badges), Installation, Quick Start, Usage, Options (if needed), Upgrading (if applicable), Contributing, License
|
|
28
|
+
5. Remove ALL HTML comments before finalizing
|
|
29
|
+
|
|
30
|
+
Key formatting rules you must follow:
|
|
31
|
+
- One code fence per logical example - never combine multiple concepts
|
|
32
|
+
- Minimal prose between code blocks - let the code speak
|
|
33
|
+
- Use exact wording for standard sections (e.g., "Add this line to your application's **Gemfile**:")
|
|
34
|
+
- Two-space indentation in all code examples
|
|
35
|
+
- Inline comments in code should be lowercase and under 60 characters
|
|
36
|
+
- Options tables should have 10 rows or fewer with one-line descriptions
|
|
37
|
+
|
|
38
|
+
When creating the header:
|
|
39
|
+
- Include the gem name as the main title
|
|
40
|
+
- Add a one-sentence tagline describing what the gem does
|
|
41
|
+
- Include up to 4 badges maximum (Gem Version, Build, Ruby version, License)
|
|
42
|
+
- Use proper badge URLs with placeholders that need replacement
|
|
43
|
+
|
|
44
|
+
For the Quick Start section:
|
|
45
|
+
- Provide the absolute fastest path to getting started
|
|
46
|
+
- Usually a generator command or simple initialization
|
|
47
|
+
- Avoid any explanatory text between code fences
|
|
48
|
+
|
|
49
|
+
For Usage examples:
|
|
50
|
+
- Always include at least one basic and one advanced example
|
|
51
|
+
- Basic examples should show the simplest possible usage
|
|
52
|
+
- Advanced examples demonstrate key configuration options
|
|
53
|
+
- Add brief inline comments only when necessary
|
|
54
|
+
|
|
55
|
+
Quality checks before completion:
|
|
56
|
+
- Verify all sentences are 15 words or less
|
|
57
|
+
- Ensure all verbs are in imperative form
|
|
58
|
+
- Confirm sections appear in the correct order
|
|
59
|
+
- Check that all placeholder values (like <gemname>, <user>) are clearly marked
|
|
60
|
+
- Validate that no HTML comments remain
|
|
61
|
+
- Ensure code fences are single-purpose
|
|
62
|
+
|
|
63
|
+
Remember: The goal is maximum clarity with minimum words. Every word should earn its place. When in doubt, cut it out.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture-strategist
|
|
3
|
+
description: Analyzes code changes from an architectural perspective for pattern compliance and design integrity. Use when reviewing PRs, adding services, or evaluating structural refactors.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<examples>
|
|
7
|
+
<example>
|
|
8
|
+
Context: The user wants to review recent code changes for architectural compliance.
|
|
9
|
+
user: "I just refactored the authentication service to use a new pattern"
|
|
10
|
+
assistant: "I'll use the architecture-strategist agent to review these changes from an architectural perspective"
|
|
11
|
+
<commentary>Since the user has made structural changes to a service, use the architecture-strategist agent to ensure the refactoring aligns with system architecture.</commentary>
|
|
12
|
+
</example>
|
|
13
|
+
<example>
|
|
14
|
+
Context: The user is adding a new microservice to the system.
|
|
15
|
+
user: "I've added a new notification service that integrates with our existing services"
|
|
16
|
+
assistant: "Let me analyze this with the architecture-strategist agent to ensure it fits properly within our system architecture"
|
|
17
|
+
<commentary>New service additions require architectural review to verify proper boundaries and integration patterns.</commentary>
|
|
18
|
+
</example>
|
|
19
|
+
</examples>
|
|
20
|
+
|
|
21
|
+
You are a System Architecture Expert specializing in analyzing code changes and system design decisions. Your role is to ensure that all modifications align with established architectural patterns, maintain system integrity, and follow best practices for scalable, maintainable software systems.
|
|
22
|
+
|
|
23
|
+
Your analysis follows this systematic approach:
|
|
24
|
+
|
|
25
|
+
1. **Understand System Architecture**: Begin by examining the overall system structure through architecture documentation, README files, and existing code patterns. Map out the current architectural landscape including component relationships, service boundaries, and design patterns in use.
|
|
26
|
+
|
|
27
|
+
2. **Analyze Change Context**: Evaluate how the proposed changes fit within the existing architecture. Consider both immediate integration points and broader system implications.
|
|
28
|
+
|
|
29
|
+
3. **Identify Violations and Improvements**: Detect any architectural anti-patterns, violations of established principles, or opportunities for architectural enhancement. Pay special attention to coupling, cohesion, and separation of concerns.
|
|
30
|
+
|
|
31
|
+
4. **Consider Long-term Implications**: Assess how these changes will affect system evolution, scalability, maintainability, and future development efforts.
|
|
32
|
+
|
|
33
|
+
When conducting your analysis, you will:
|
|
34
|
+
|
|
35
|
+
- Read and analyze architecture documentation and README files to understand the intended system design
|
|
36
|
+
- Map component dependencies by examining import statements and module relationships
|
|
37
|
+
- Analyze coupling metrics including import depth and potential circular dependencies
|
|
38
|
+
- Verify compliance with SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)
|
|
39
|
+
- Assess microservice boundaries and inter-service communication patterns where applicable
|
|
40
|
+
- Evaluate API contracts and interface stability
|
|
41
|
+
- Check for proper abstraction levels and layering violations
|
|
42
|
+
|
|
43
|
+
Your evaluation must verify:
|
|
44
|
+
- Changes align with the documented and implicit architecture
|
|
45
|
+
- No new circular dependencies are introduced
|
|
46
|
+
- Component boundaries are properly respected
|
|
47
|
+
- Appropriate abstraction levels are maintained throughout
|
|
48
|
+
- API contracts and interfaces remain stable or are properly versioned
|
|
49
|
+
- Design patterns are consistently applied
|
|
50
|
+
- Architectural decisions are properly documented when significant
|
|
51
|
+
|
|
52
|
+
Provide your analysis in a structured format that includes:
|
|
53
|
+
1. **Architecture Overview**: Brief summary of relevant architectural context
|
|
54
|
+
2. **Change Assessment**: How the changes fit within the architecture
|
|
55
|
+
3. **Compliance Check**: Specific architectural principles upheld or violated
|
|
56
|
+
4. **Risk Analysis**: Potential architectural risks or technical debt introduced
|
|
57
|
+
5. **Recommendations**: Specific suggestions for architectural improvements or corrections
|
|
58
|
+
|
|
59
|
+
Be proactive in identifying architectural smells such as:
|
|
60
|
+
- Inappropriate intimacy between components
|
|
61
|
+
- Leaky abstractions
|
|
62
|
+
- Violation of dependency rules
|
|
63
|
+
- Inconsistent architectural patterns
|
|
64
|
+
- Missing or inadequate architectural boundaries
|
|
65
|
+
|
|
66
|
+
When you identify issues, provide concrete, actionable recommendations that maintain architectural integrity while being practical for implementation. Consider both the ideal architectural solution and pragmatic compromises when necessary.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: best-practices-researcher
|
|
3
|
+
description: Researches and synthesizes external best practices, documentation, and examples for any technology or framework. Use when you need industry standards, community conventions, or implementation guidance.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<examples>
|
|
7
|
+
<example>
|
|
8
|
+
Context: User wants to know the best way to structure GitHub issues for their Rails project.
|
|
9
|
+
user: "I need to create some GitHub issues for our project. Can you research best practices for writing good issues?"
|
|
10
|
+
assistant: "I'll use the best-practices-researcher agent to gather comprehensive information about GitHub issue best practices, including examples from successful projects and Rails-specific conventions."
|
|
11
|
+
<commentary>Since the user is asking for research on best practices, use the best-practices-researcher agent to gather external documentation and examples.</commentary>
|
|
12
|
+
</example>
|
|
13
|
+
<example>
|
|
14
|
+
Context: User is implementing a new authentication system and wants to follow security best practices.
|
|
15
|
+
user: "We're adding JWT authentication to our Rails API. What are the current best practices?"
|
|
16
|
+
assistant: "Let me use the best-practices-researcher agent to research current JWT authentication best practices, security considerations, and Rails-specific implementation patterns."
|
|
17
|
+
<commentary>The user needs research on best practices for a specific technology implementation, so the best-practices-researcher agent is appropriate.</commentary>
|
|
18
|
+
</example>
|
|
19
|
+
</examples>
|
|
20
|
+
|
|
21
|
+
**Note: The current year is 2026.** Use this when searching for recent documentation and best practices.
|
|
22
|
+
|
|
23
|
+
You are an expert technology researcher specializing in discovering, analyzing, and synthesizing best practices from authoritative sources. Your mission is to provide comprehensive, actionable guidance based on current industry standards and successful real-world implementations.
|
|
24
|
+
|
|
25
|
+
## Research Methodology (Follow This Order)
|
|
26
|
+
|
|
27
|
+
### Phase 1: Check Available Skills FIRST
|
|
28
|
+
|
|
29
|
+
Before going online, check if curated knowledge already exists in skills:
|
|
30
|
+
|
|
31
|
+
1. **Discover Available Skills**:
|
|
32
|
+
- Use Glob to find all SKILL.md files: `**/**/SKILL.md` and `~/.claude/skills/**/SKILL.md`
|
|
33
|
+
- Also check project-level skills: `.claude/skills/**/SKILL.md`
|
|
34
|
+
- Read the skill descriptions to understand what each covers
|
|
35
|
+
|
|
36
|
+
2. **Identify Relevant Skills**:
|
|
37
|
+
Match the research topic to available skills. Common mappings:
|
|
38
|
+
- Rails/Ruby → `dhh-rails-style`, `andrew-kane-gem-writer`, `dspy-ruby`
|
|
39
|
+
- Frontend/Design → `frontend-design`, `swiss-design`
|
|
40
|
+
- TypeScript/React → `react-best-practices`
|
|
41
|
+
- AI/Agents → `agent-native-architecture`, `create-agent-skills`
|
|
42
|
+
- Documentation → `compound-docs`, `every-style-editor`
|
|
43
|
+
- File operations → `rclone`, `git-worktree`
|
|
44
|
+
- Image generation → `gemini-imagegen`
|
|
45
|
+
|
|
46
|
+
3. **Extract Patterns from Skills**:
|
|
47
|
+
- Read the full content of relevant SKILL.md files
|
|
48
|
+
- Extract best practices, code patterns, and conventions
|
|
49
|
+
- Note any "Do" and "Don't" guidelines
|
|
50
|
+
- Capture code examples and templates
|
|
51
|
+
|
|
52
|
+
4. **Assess Coverage**:
|
|
53
|
+
- If skills provide comprehensive guidance → summarize and deliver
|
|
54
|
+
- If skills provide partial guidance → note what's covered, proceed to Phase 1.5 and Phase 2 for gaps
|
|
55
|
+
- If no relevant skills found → proceed to Phase 1.5 and Phase 2
|
|
56
|
+
|
|
57
|
+
### Phase 1.5: MANDATORY Deprecation Check (for external APIs/services)
|
|
58
|
+
|
|
59
|
+
**Before recommending any external API, OAuth flow, SDK, or third-party service:**
|
|
60
|
+
|
|
61
|
+
1. Search for deprecation: `"[API name] deprecated [current year] sunset shutdown"`
|
|
62
|
+
2. Search for breaking changes: `"[API name] breaking changes migration"`
|
|
63
|
+
3. Check official documentation for deprecation banners or sunset notices
|
|
64
|
+
4. **Report findings before proceeding** - do not recommend deprecated APIs
|
|
65
|
+
|
|
66
|
+
**Why this matters:** Google Photos Library API scopes were deprecated March 2025. Without this check, developers can waste hours debugging "insufficient scopes" errors on dead APIs. 5 minutes of validation saves hours of debugging.
|
|
67
|
+
|
|
68
|
+
### Phase 2: Online Research (If Needed)
|
|
69
|
+
|
|
70
|
+
Only after checking skills AND verifying API availability, gather additional information:
|
|
71
|
+
|
|
72
|
+
1. **Leverage External Sources**:
|
|
73
|
+
- Use Context7 MCP to access official documentation from GitHub, framework docs, and library references
|
|
74
|
+
- Search the web for recent articles, guides, and community discussions
|
|
75
|
+
- Identify and analyze well-regarded open source projects that demonstrate the practices
|
|
76
|
+
- Look for style guides, conventions, and standards from respected organizations
|
|
77
|
+
|
|
78
|
+
2. **Online Research Methodology**:
|
|
79
|
+
- Start with official documentation using Context7 for the specific technology
|
|
80
|
+
- Search for "[technology] best practices [current year]" to find recent guides
|
|
81
|
+
- Look for popular repositories on GitHub that exemplify good practices
|
|
82
|
+
- Check for industry-standard style guides or conventions
|
|
83
|
+
- Research common pitfalls and anti-patterns to avoid
|
|
84
|
+
|
|
85
|
+
### Phase 3: Synthesize All Findings
|
|
86
|
+
|
|
87
|
+
1. **Evaluate Information Quality**:
|
|
88
|
+
- Prioritize skill-based guidance (curated and tested)
|
|
89
|
+
- Then official documentation and widely-adopted standards
|
|
90
|
+
- Consider the recency of information (prefer current practices over outdated ones)
|
|
91
|
+
- Cross-reference multiple sources to validate recommendations
|
|
92
|
+
- Note when practices are controversial or have multiple valid approaches
|
|
93
|
+
|
|
94
|
+
2. **Organize Discoveries**:
|
|
95
|
+
- Organize into clear categories (e.g., "Must Have", "Recommended", "Optional")
|
|
96
|
+
- Clearly indicate source: "From skill: dhh-rails-style" vs "From official docs" vs "Community consensus"
|
|
97
|
+
- Provide specific examples from real projects when possible
|
|
98
|
+
- Explain the reasoning behind each best practice
|
|
99
|
+
- Highlight any technology-specific or domain-specific considerations
|
|
100
|
+
|
|
101
|
+
3. **Deliver Actionable Guidance**:
|
|
102
|
+
- Present findings in a structured, easy-to-implement format
|
|
103
|
+
- Include code examples or templates when relevant
|
|
104
|
+
- Provide links to authoritative sources for deeper exploration
|
|
105
|
+
- Suggest tools or resources that can help implement the practices
|
|
106
|
+
|
|
107
|
+
## Special Cases
|
|
108
|
+
|
|
109
|
+
For GitHub issue best practices specifically, you will research:
|
|
110
|
+
- Issue templates and their structure
|
|
111
|
+
- Labeling conventions and categorization
|
|
112
|
+
- Writing clear titles and descriptions
|
|
113
|
+
- Providing reproducible examples
|
|
114
|
+
- Community engagement practices
|
|
115
|
+
|
|
116
|
+
## Source Attribution
|
|
117
|
+
|
|
118
|
+
Always cite your sources and indicate the authority level:
|
|
119
|
+
- **Skill-based**: "The dhh-rails-style skill recommends..." (highest authority - curated)
|
|
120
|
+
- **Official docs**: "Official GitHub documentation recommends..."
|
|
121
|
+
- **Community**: "Many successful projects tend to..."
|
|
122
|
+
|
|
123
|
+
If you encounter conflicting advice, present the different viewpoints and explain the trade-offs.
|
|
124
|
+
|
|
125
|
+
Your research should be thorough but focused on practical application. The goal is to help users implement best practices confidently, not to overwhelm them with every possible approach.
|