heraspec 0.1.13 → 0.1.15
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 +209 -22
- package/README.md +205 -137
- package/bin/heraspec.js +4950 -1161
- package/bin/heraspec.js.map +4 -4
- package/dist/core/templates/skills/CHANGELOG.md +117 -117
- package/dist/core/templates/skills/README-template.md +58 -58
- package/dist/core/templates/skills/README.md +35 -32
- package/dist/core/templates/skills/campaign-plan/skill.md +76 -0
- package/dist/core/templates/skills/campaign-plan/skill.vi.md +76 -0
- package/dist/core/templates/skills/campaign-plan-skill.md +76 -0
- package/dist/core/templates/skills/campaign-plan-skill.vi.md +76 -0
- package/dist/core/templates/skills/code-review/skill.md +70 -0
- package/dist/core/templates/skills/code-review/skill.vi.md +70 -0
- package/dist/core/templates/skills/code-review-skill.md +70 -0
- package/dist/core/templates/skills/code-review-skill.vi.md +70 -0
- package/dist/core/templates/skills/content-creation/skill.md +69 -0
- package/dist/core/templates/skills/content-creation/skill.vi.md +69 -0
- package/dist/core/templates/skills/content-creation-skill.md +69 -0
- package/dist/core/templates/skills/content-creation-skill.vi.md +69 -0
- package/dist/core/templates/skills/content-optimization/skill.md +104 -0
- package/dist/core/templates/skills/content-optimization-skill.md +104 -104
- package/dist/core/templates/skills/data/design-systems.csv +54 -0
- package/dist/core/templates/skills/data/pages-proposed.csv +21 -21
- package/dist/core/templates/skills/data/pages.csv +9 -9
- package/dist/core/templates/skills/data/typography.csv +57 -57
- package/dist/core/templates/skills/debug/skill.md +69 -0
- package/dist/core/templates/skills/debug/skill.vi.md +69 -0
- package/dist/core/templates/skills/debug-skill.md +69 -0
- package/dist/core/templates/skills/debug-skill.vi.md +69 -0
- package/dist/core/templates/skills/deploy-documentation/skill.md +408 -0
- package/dist/core/templates/skills/deploy-documentation-skill.md +408 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/airbnb/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/airtable/DESIGN.md +89 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/apple/DESIGN.md +313 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/bmw/DESIGN.md +180 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cal/DESIGN.md +259 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/claude/DESIGN.md +312 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/clay/DESIGN.md +304 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cohere/DESIGN.md +266 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/coinbase/DESIGN.md +129 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/composio/DESIGN.md +307 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/cursor/DESIGN.md +309 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/expo/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/figma/DESIGN.md +220 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/framer/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/ibm/DESIGN.md +332 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/index.json +72 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/intercom/DESIGN.md +146 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/kraken/DESIGN.md +125 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/linear.app/DESIGN.md +367 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/lovable/DESIGN.md +298 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/minimax/DESIGN.md +257 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mintlify/DESIGN.md +326 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/miro/DESIGN.md +108 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/mongodb/DESIGN.md +266 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/notion/DESIGN.md +309 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/nvidia/DESIGN.md +293 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/ollama/DESIGN.md +267 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/pinterest/DESIGN.md +230 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/posthog/DESIGN.md +256 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/raycast/DESIGN.md +268 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/replicate/DESIGN.md +261 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/resend/DESIGN.md +303 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/revolut/DESIGN.md +185 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/runwayml/DESIGN.md +244 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/sanity/DESIGN.md +357 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/sentry/DESIGN.md +262 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/spacex/DESIGN.md +194 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/spotify/DESIGN.md +246 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/stripe/DESIGN.md +322 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/supabase/DESIGN.md +255 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/superhuman/DESIGN.md +252 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/together.ai/DESIGN.md +263 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/uber/DESIGN.md +295 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/vercel/DESIGN.md +310 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/voltagent/DESIGN.md +323 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/warp/DESIGN.md +253 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/webflow/DESIGN.md +92 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/wise/DESIGN.md +173 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/x.ai/DESIGN.md +257 -0
- package/dist/core/templates/skills/design-system/knowledge/design-systems/zapier/DESIGN.md +328 -0
- package/dist/core/templates/skills/design-system/skill.md +176 -0
- package/dist/core/templates/skills/design-system-skill.md +176 -0
- package/dist/core/templates/skills/documents/skill.md +104 -0
- package/dist/core/templates/skills/documents/templates/documentation-landing-page.html +63 -63
- package/dist/core/templates/skills/documents/templates/documentation.html +49 -49
- package/dist/core/templates/skills/documents/templates/landing-script.js +38 -38
- package/dist/core/templates/skills/documents/templates/landing-style.css +158 -158
- package/dist/core/templates/skills/documents/templates/script.js +56 -56
- package/dist/core/templates/skills/documents/templates/style.css +155 -155
- package/dist/core/templates/skills/documents/templates/technical-doc-template.md +16 -16
- package/dist/core/templates/skills/documents/templates/user-guide-template.md +16 -16
- package/dist/core/templates/skills/documents-skill.md +104 -104
- package/dist/core/templates/skills/e2e-test/skill.md +119 -0
- package/dist/core/templates/skills/e2e-test-skill.md +119 -119
- package/dist/core/templates/skills/email-sequence/skill.md +68 -0
- package/dist/core/templates/skills/email-sequence/skill.vi.md +68 -0
- package/dist/core/templates/skills/email-sequence-skill.md +68 -0
- package/dist/core/templates/skills/email-sequence-skill.vi.md +68 -0
- package/dist/core/templates/skills/git-embed/skill.md +57 -0
- package/dist/core/templates/skills/git-embed-skill.md +57 -0
- package/dist/core/templates/skills/integration-test/skill.md +118 -0
- package/dist/core/templates/skills/integration-test-skill.md +118 -118
- package/dist/core/templates/skills/knowledge/README.md +63 -0
- package/dist/core/templates/skills/knowledge/design-systems/airbnb/DESIGN.md +246 -0
- package/dist/core/templates/skills/knowledge/design-systems/airtable/DESIGN.md +89 -0
- package/dist/core/templates/skills/knowledge/design-systems/apple/DESIGN.md +313 -0
- package/dist/core/templates/skills/knowledge/design-systems/bmw/DESIGN.md +180 -0
- package/dist/core/templates/skills/knowledge/design-systems/cal/DESIGN.md +259 -0
- package/dist/core/templates/skills/knowledge/design-systems/claude/DESIGN.md +312 -0
- package/dist/core/templates/skills/knowledge/design-systems/clay/DESIGN.md +304 -0
- package/dist/core/templates/skills/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
- package/dist/core/templates/skills/knowledge/design-systems/cohere/DESIGN.md +266 -0
- package/dist/core/templates/skills/knowledge/design-systems/coinbase/DESIGN.md +129 -0
- package/dist/core/templates/skills/knowledge/design-systems/composio/DESIGN.md +307 -0
- package/dist/core/templates/skills/knowledge/design-systems/cursor/DESIGN.md +309 -0
- package/dist/core/templates/skills/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
- package/dist/core/templates/skills/knowledge/design-systems/expo/DESIGN.md +281 -0
- package/dist/core/templates/skills/knowledge/design-systems/figma/DESIGN.md +220 -0
- package/dist/core/templates/skills/knowledge/design-systems/framer/DESIGN.md +246 -0
- package/dist/core/templates/skills/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
- package/dist/core/templates/skills/knowledge/design-systems/ibm/DESIGN.md +332 -0
- package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -0
- package/dist/core/templates/skills/knowledge/design-systems/intercom/DESIGN.md +146 -0
- package/dist/core/templates/skills/knowledge/design-systems/kraken/DESIGN.md +125 -0
- package/dist/core/templates/skills/knowledge/design-systems/linear.app/DESIGN.md +367 -0
- package/dist/core/templates/skills/knowledge/design-systems/lovable/DESIGN.md +298 -0
- package/dist/core/templates/skills/knowledge/design-systems/minimax/DESIGN.md +257 -0
- package/dist/core/templates/skills/knowledge/design-systems/mintlify/DESIGN.md +326 -0
- package/dist/core/templates/skills/knowledge/design-systems/miro/DESIGN.md +108 -0
- package/dist/core/templates/skills/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
- package/dist/core/templates/skills/knowledge/design-systems/mongodb/DESIGN.md +266 -0
- package/dist/core/templates/skills/knowledge/design-systems/notion/DESIGN.md +309 -0
- package/dist/core/templates/skills/knowledge/design-systems/nvidia/DESIGN.md +293 -0
- package/dist/core/templates/skills/knowledge/design-systems/ollama/DESIGN.md +267 -0
- package/dist/core/templates/skills/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
- package/dist/core/templates/skills/knowledge/design-systems/pinterest/DESIGN.md +230 -0
- package/dist/core/templates/skills/knowledge/design-systems/posthog/DESIGN.md +256 -0
- package/dist/core/templates/skills/knowledge/design-systems/raycast/DESIGN.md +268 -0
- package/dist/core/templates/skills/knowledge/design-systems/replicate/DESIGN.md +261 -0
- package/dist/core/templates/skills/knowledge/design-systems/resend/DESIGN.md +303 -0
- package/dist/core/templates/skills/knowledge/design-systems/revolut/DESIGN.md +185 -0
- package/dist/core/templates/skills/knowledge/design-systems/runwayml/DESIGN.md +244 -0
- package/dist/core/templates/skills/knowledge/design-systems/sanity/DESIGN.md +357 -0
- package/dist/core/templates/skills/knowledge/design-systems/sentry/DESIGN.md +262 -0
- package/dist/core/templates/skills/knowledge/design-systems/spacex/DESIGN.md +194 -0
- package/dist/core/templates/skills/knowledge/design-systems/spotify/DESIGN.md +246 -0
- package/dist/core/templates/skills/knowledge/design-systems/stripe/DESIGN.md +322 -0
- package/dist/core/templates/skills/knowledge/design-systems/supabase/DESIGN.md +255 -0
- package/dist/core/templates/skills/knowledge/design-systems/superhuman/DESIGN.md +252 -0
- package/dist/core/templates/skills/knowledge/design-systems/together.ai/DESIGN.md +263 -0
- package/dist/core/templates/skills/knowledge/design-systems/uber/DESIGN.md +295 -0
- package/dist/core/templates/skills/knowledge/design-systems/vercel/DESIGN.md +310 -0
- package/dist/core/templates/skills/knowledge/design-systems/voltagent/DESIGN.md +323 -0
- package/dist/core/templates/skills/knowledge/design-systems/warp/DESIGN.md +253 -0
- package/dist/core/templates/skills/knowledge/design-systems/webflow/DESIGN.md +92 -0
- package/dist/core/templates/skills/knowledge/design-systems/wise/DESIGN.md +173 -0
- package/dist/core/templates/skills/knowledge/design-systems/x.ai/DESIGN.md +257 -0
- package/dist/core/templates/skills/knowledge/design-systems/zapier/DESIGN.md +328 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +208 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -0
- package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -0
- package/dist/core/templates/skills/knowledge/index.json +65 -0
- package/dist/core/templates/skills/module-codebase-skill.md +110 -110
- package/dist/core/templates/skills/perfex-module/module-codebase/skill.md +110 -0
- package/dist/core/templates/skills/plugin-directory-skill.md +396 -396
- package/dist/core/templates/skills/project-memory/skill.md +222 -0
- package/dist/core/templates/skills/project-memory/skill.vi.md +223 -0
- package/dist/core/templates/skills/project-memory-skill.md +222 -0
- package/dist/core/templates/skills/project-memory-skill.vi.md +223 -0
- package/dist/core/templates/skills/scripts/CODE_EXPLANATION.md +394 -394
- package/dist/core/templates/skills/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -421
- package/dist/core/templates/skills/scripts/SEARCH_MODES_GUIDE.md +238 -238
- package/dist/core/templates/skills/scripts/__pycache__/core.cpython-311.pyc +0 -0
- package/dist/core/templates/skills/scripts/core.py +391 -385
- package/dist/core/templates/skills/scripts/search.py +1 -1
- package/dist/core/templates/skills/seo-audit/skill.md +75 -0
- package/dist/core/templates/skills/seo-audit/skill.vi.md +75 -0
- package/dist/core/templates/skills/seo-audit-skill.md +75 -0
- package/dist/core/templates/skills/seo-audit-skill.vi.md +75 -0
- package/dist/core/templates/skills/smart-explore/skill.md +141 -0
- package/dist/core/templates/skills/smart-explore-skill.md +141 -0
- package/dist/core/templates/skills/sourcecode-analyzer/skill.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer/skill.vi.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer-skill.md +210 -0
- package/dist/core/templates/skills/sourcecode-analyzer-skill.vi.md +210 -0
- package/dist/core/templates/skills/spec-writer/skill.md +61 -0
- package/dist/core/templates/skills/spec-writer/skill.vi.md +61 -0
- package/dist/core/templates/skills/spec-writer-skill.md +61 -0
- package/dist/core/templates/skills/spec-writer-skill.vi.md +61 -0
- package/dist/core/templates/skills/sql-queries/skill.md +67 -0
- package/dist/core/templates/skills/sql-queries/skill.vi.md +67 -0
- package/dist/core/templates/skills/sql-queries-skill.md +67 -0
- package/dist/core/templates/skills/sql-queries-skill.vi.md +67 -0
- package/dist/core/templates/skills/suggestion/skill.md +118 -0
- package/dist/core/templates/skills/suggestion-skill.md +118 -118
- package/dist/core/templates/skills/system-design/skill.md +70 -0
- package/dist/core/templates/skills/system-design/skill.vi.md +70 -0
- package/dist/core/templates/skills/system-design-skill.md +70 -0
- package/dist/core/templates/skills/system-design-skill.vi.md +70 -0
- package/dist/core/templates/skills/tech-debt/skill.md +70 -0
- package/dist/core/templates/skills/tech-debt/skill.vi.md +70 -0
- package/dist/core/templates/skills/tech-debt-skill.md +70 -0
- package/dist/core/templates/skills/tech-debt-skill.vi.md +70 -0
- package/dist/core/templates/skills/templates/accessibility-checklist.md +40 -40
- package/dist/core/templates/skills/templates/example-prompt-full-theme.md +333 -333
- package/dist/core/templates/skills/templates/page-types-guide.md +338 -338
- package/dist/core/templates/skills/templates/pages-proposed-summary.md +273 -273
- package/dist/core/templates/skills/templates/pre-delivery-checklist.md +42 -42
- package/dist/core/templates/skills/templates/prompt-template-full-theme.md +313 -313
- package/dist/core/templates/skills/templates/responsive-design.md +40 -40
- package/dist/core/templates/skills/ui-ux/data/charts.csv +26 -0
- package/dist/core/templates/skills/ui-ux/data/colors.csv +97 -0
- package/dist/core/templates/skills/ui-ux/data/design-systems.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/landing.csv +31 -0
- package/dist/core/templates/skills/ui-ux/data/pages-proposed.csv +22 -0
- package/dist/core/templates/skills/ui-ux/data/pages.csv +10 -0
- package/dist/core/templates/skills/ui-ux/data/products.csv +97 -0
- package/dist/core/templates/skills/ui-ux/data/prompts.csv +24 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/flutter.csv +53 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/html-tailwind.csv +56 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/nextjs.csv +53 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/react-native.csv +52 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/react.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/svelte.csv +54 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/swiftui.csv +51 -0
- package/dist/core/templates/skills/ui-ux/data/stacks/vue.csv +50 -0
- package/dist/core/templates/skills/ui-ux/data/styles.csv +59 -0
- package/dist/core/templates/skills/ui-ux/data/typography.csv +58 -0
- package/dist/core/templates/skills/ui-ux/data/ux-guidelines.csv +100 -0
- package/dist/core/templates/skills/ui-ux/scripts/CODE_EXPLANATION.md +394 -0
- package/dist/core/templates/skills/ui-ux/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -0
- package/dist/core/templates/skills/ui-ux/scripts/SEARCH_MODES_GUIDE.md +238 -0
- package/dist/core/templates/skills/ui-ux/scripts/core.py +391 -0
- package/dist/core/templates/skills/ui-ux/scripts/search.py +73 -0
- package/dist/core/templates/skills/ui-ux/skill.md +595 -0
- package/dist/core/templates/skills/ui-ux/templates/accessibility-checklist.md +40 -0
- package/dist/core/templates/skills/ui-ux/templates/example-prompt-full-theme.md +333 -0
- package/dist/core/templates/skills/ui-ux/templates/page-types-guide.md +338 -0
- package/dist/core/templates/skills/ui-ux/templates/pages-proposed-summary.md +273 -0
- package/dist/core/templates/skills/ui-ux/templates/pre-delivery-checklist.md +42 -0
- package/dist/core/templates/skills/ui-ux/templates/prompt-template-full-theme.md +313 -0
- package/dist/core/templates/skills/ui-ux/templates/responsive-design.md +40 -0
- package/dist/core/templates/skills/ui-ux-skill.md +595 -584
- package/dist/core/templates/skills/unit-test/skill.md +111 -0
- package/dist/core/templates/skills/unit-test-skill.md +111 -111
- package/dist/core/templates/skills/ux-element/templates/Controller.php +50 -50
- package/dist/core/templates/skills/ux-element/templates/Shortcode.php +23 -23
- package/dist/core/templates/skills/ux-element/templates/Template.html +20 -20
- package/dist/core/templates/skills/ux-element/templates/Thumbnail.svg +8 -8
- package/dist/core/templates/skills/ux-element/templates/View.php +21 -21
- package/dist/core/templates/skills/ux-element-skill.md +83 -83
- package/dist/core/templates/skills/wordpress/plugin-check/skill.md +151 -0
- package/dist/core/templates/skills/wordpress/plugin-directory/skill.md +396 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/skill.md +100 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-dashboard.php +47 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/admin-settings.php +60 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-css.css +22 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/assets/admin-js.js +15 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/plugin-main.php +169 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/readme.txt +41 -0
- package/dist/core/templates/skills/wordpress/plugin-standard/templates/uninstall.php +21 -0
- package/dist/core/templates/skills/wordpress/ux-element/skill.md +83 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Controller.php +50 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Shortcode.php +23 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Template.html +20 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/Thumbnail.svg +8 -0
- package/dist/core/templates/skills/wordpress/ux-element/templates/View.php +21 -0
- package/dist/core/templates/skills/wordpress-plugin-check-skill.md +151 -151
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-dashboard.php +47 -47
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-settings.php +60 -60
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-css.css +22 -22
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-js.js +15 -15
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/plugin-main.php +169 -169
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/readme.txt +41 -41
- package/dist/core/templates/skills/wordpress-plugin-standard/templates/uninstall.php +21 -21
- package/dist/core/templates/skills/wordpress-plugin-standard-skill.md +100 -100
- package/dist/index.js +4237 -331
- package/package.json +75 -72
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sourcecode-analyzer
|
|
3
|
+
description: Phân tích sâu source code theo mô hình đa agent cho kiến trúc, coding style, design pattern, ngôn ngữ, framework, thư viện, cấu trúc module, extension point và khả năng tích hợp. Sử dụng khi agent cần hiểu tối đa codebase trước khi lập kế hoạch feature, refactor, integration, migration, audit hoặc documentation.
|
|
4
|
+
projectType: all
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Source Code Analyzer (Tiếng Việt)
|
|
8
|
+
|
|
9
|
+
## Mục tiêu
|
|
10
|
+
Tạo báo cáo phân tích kiến trúc và khả năng tích hợp có độ tin cậy cao, dựa trên bằng chứng trực tiếp từ source code.
|
|
11
|
+
|
|
12
|
+
## Phạm vi
|
|
13
|
+
Phân tích:
|
|
14
|
+
- Ranh giới kiến trúc và phân lớp
|
|
15
|
+
- Stack framework/CMS/runtime và dependency
|
|
16
|
+
- Coding style và conventions
|
|
17
|
+
- Modules/themes/plugins và extension points
|
|
18
|
+
- API surfaces (REST/GraphQL/webhooks/events/CLI/jobs)
|
|
19
|
+
- Data layer và mô hình cấu hình
|
|
20
|
+
- Bảo mật và vận hành
|
|
21
|
+
- Khả năng tích hợp và các ràng buộc
|
|
22
|
+
|
|
23
|
+
Không:
|
|
24
|
+
- Sửa business logic
|
|
25
|
+
- Chạy lệnh hủy hoại
|
|
26
|
+
- Cài đặt hoặc nâng cấp dependency nếu chưa được yêu cầu
|
|
27
|
+
|
|
28
|
+
## Đầu ra bắt buộc
|
|
29
|
+
Ghi báo cáo vào `_analytics/structure.md` (hoặc đường dẫn do người dùng chỉ định), đúng thứ tự section như trong `Report Template`.
|
|
30
|
+
|
|
31
|
+
## Quy tắc bằng chứng
|
|
32
|
+
Mỗi nhận định quan trọng phải:
|
|
33
|
+
- Có bằng chứng cụ thể (đường dẫn file, symbol/class/function, tóm tắt snippet ngắn)
|
|
34
|
+
- Gán mức độ tin cậy `High`, `Medium` hoặc `Low`
|
|
35
|
+
- Gán loại nhận định:
|
|
36
|
+
- `Observed`: Xác nhận trực tiếp trong source
|
|
37
|
+
- `Inferred`: Suy ra từ nhiều quan sát đã xác thực
|
|
38
|
+
- `Assumed`: Giả định hợp lý nhưng chưa xác thực
|
|
39
|
+
|
|
40
|
+
Không đưa ra kết luận không có cơ sở.
|
|
41
|
+
|
|
42
|
+
## Điều phối đa agent
|
|
43
|
+
Nếu có subagents, tách song song 4 lane:
|
|
44
|
+
|
|
45
|
+
1. `Architecture lane`
|
|
46
|
+
- Lập bản đồ topology thư mục, layers, modules/plugins/themes
|
|
47
|
+
- Xác định entry points và hướng phụ thuộc
|
|
48
|
+
|
|
49
|
+
2. `Style and design lane`
|
|
50
|
+
- Xác định naming conventions, folder conventions, patterns, anti-patterns
|
|
51
|
+
- Xác định coding standards và quality gates (lint/test/static check)
|
|
52
|
+
|
|
53
|
+
3. `Dependency and runtime lane`
|
|
54
|
+
- Xác định ngôn ngữ/runtime/framework versions
|
|
55
|
+
- Inventory thư viện quan trọng và vai trò
|
|
56
|
+
|
|
57
|
+
4. `Integration and security lane`
|
|
58
|
+
- Lập bản đồ APIs, events/hooks, queues, cron/jobs, webhooks, third-party SDKs
|
|
59
|
+
- Đánh giá authN/authZ, input validation, secrets handling và attack surface
|
|
60
|
+
|
|
61
|
+
Nhiệm vụ của coordinator:
|
|
62
|
+
- Chuẩn hóa output của các lane
|
|
63
|
+
- Xử lý mâu thuẫn giữa các lane
|
|
64
|
+
- Tổng hợp 1 báo cáo cuối cùng có bằng chứng và confidence
|
|
65
|
+
|
|
66
|
+
Nếu không có subagents, chạy tuần tự theo cùng quy trình lane.
|
|
67
|
+
|
|
68
|
+
## Workflow
|
|
69
|
+
|
|
70
|
+
### Step 0 — Knowledge Lookup (Tra cứu kiến thức sẵn có)
|
|
71
|
+
Trước khi phân tích toàn bộ, kiểm tra knowledge base đã có sẵn:
|
|
72
|
+
|
|
73
|
+
1. Kiểm tra `heraspec/knowledge/index.json` có tồn tại trong dự án không
|
|
74
|
+
2. Đọc tất cả entries và đối chiếu với dự án hiện tại:
|
|
75
|
+
- Với signal `file-contains`: kiểm tra file tồn tại VÀ chứa chuỗi chỉ định
|
|
76
|
+
- Với signal `directory-exists`: kiểm tra thư mục tồn tại
|
|
77
|
+
- Mỗi signal khớp = +1 điểm match score
|
|
78
|
+
3. Nếu `score >= minMatchScore` cho bất kỳ entry nào:
|
|
79
|
+
- Đọc `structure.md` tương ứng từ `heraspec/knowledge/<knowledgePath>/`
|
|
80
|
+
- Sử dụng làm **baseline phân tích** — bỏ qua Steps 1-8 cho các section đã có
|
|
81
|
+
- Chỉ tập trung vào **khác biệt riêng dự án** (custom plugins, configs, .env, custom code)
|
|
82
|
+
- Đầu ra: gộp baseline knowledge + delta riêng dự án thành báo cáo cuối
|
|
83
|
+
4. Kiểm tra thêm `heraspec/knowledge/custom/index.json` cho knowledge riêng dự án
|
|
84
|
+
5. Nếu không match: tiến hành phân tích đầy đủ từ Step 1
|
|
85
|
+
|
|
86
|
+
Phân cấp knowledge: `heraspec/knowledge/<category>/<runtime>/<framework>/<cms>/`
|
|
87
|
+
|
|
88
|
+
### Step 1 - Baseline Metadata
|
|
89
|
+
Đọc metadata ở root trước:
|
|
90
|
+
- `composer.json`, `composer.lock`
|
|
91
|
+
- `package.json`, lockfiles
|
|
92
|
+
- `docker*`, `Makefile`, CI configs
|
|
93
|
+
- `.env.example`, config directories
|
|
94
|
+
|
|
95
|
+
Thu thập:
|
|
96
|
+
- Language/runtime versions
|
|
97
|
+
- Framework/CMS versions
|
|
98
|
+
- Build và deployment model
|
|
99
|
+
|
|
100
|
+
### Step 2 - Repository Topology
|
|
101
|
+
Lập bản đồ thư mục chính và trách nhiệm:
|
|
102
|
+
- Core/domain/infrastructure boundaries
|
|
103
|
+
- Kiến trúc plugin/module/theme
|
|
104
|
+
- Shared libraries và cross-cutting concerns
|
|
105
|
+
- Bootstrapping và entry points
|
|
106
|
+
|
|
107
|
+
### Step 3 - Architectural Patterns
|
|
108
|
+
Xác định và đánh giá:
|
|
109
|
+
- Layered/hexagonal/modular/monolith/microservice patterns
|
|
110
|
+
- Sử dụng service container/DI
|
|
111
|
+
- Event-driven flows
|
|
112
|
+
- Điểm nóng coupling và boundaries
|
|
113
|
+
|
|
114
|
+
### Step 4 - Coding Style and Design Conventions
|
|
115
|
+
Kiểm tra các file đại diện mỗi layer:
|
|
116
|
+
- Naming conventions (class/function/file)
|
|
117
|
+
- Folder và namespace strategy
|
|
118
|
+
- Error handling patterns
|
|
119
|
+
- Test style và coverage signals
|
|
120
|
+
- Static analysis/lint/format rules
|
|
121
|
+
|
|
122
|
+
### Step 5 - Extension Model
|
|
123
|
+
Lập bản đồ cơ chế mở rộng:
|
|
124
|
+
- Hooks/filters/events/listeners
|
|
125
|
+
- Đăng ký module/plugin và lifecycle
|
|
126
|
+
- Theme/template override model
|
|
127
|
+
- Custom providers, middleware, policies
|
|
128
|
+
|
|
129
|
+
### Step 6 - API and Interaction Surfaces
|
|
130
|
+
Thống kê interfaces nội bộ và bên ngoài:
|
|
131
|
+
- REST/GraphQL routes và controllers
|
|
132
|
+
- Command bus, queues, jobs, schedulers
|
|
133
|
+
- CLI commands, webhooks, callbacks
|
|
134
|
+
- Public SDK/service abstractions
|
|
135
|
+
|
|
136
|
+
### Step 7 - Data and State
|
|
137
|
+
Phân tích:
|
|
138
|
+
- ORM/data access strategy
|
|
139
|
+
- Migration và seeding patterns
|
|
140
|
+
- Cache/session/queue drivers
|
|
141
|
+
- Transaction boundaries và consistency risks
|
|
142
|
+
|
|
143
|
+
### Step 8 - Security and Compliance Signals
|
|
144
|
+
Kiểm tra:
|
|
145
|
+
- Authentication và authorization model
|
|
146
|
+
- CSRF/XSS/SQLi protections
|
|
147
|
+
- Secrets và credential handling
|
|
148
|
+
- Rate limiting và abuse protection
|
|
149
|
+
- Audit logging và trace các thao tác nhạy cảm
|
|
150
|
+
|
|
151
|
+
### Step 9 - Integration Readiness
|
|
152
|
+
Đánh giá khả năng tích hợp theo:
|
|
153
|
+
- Data integration
|
|
154
|
+
- API integration
|
|
155
|
+
- Event integration
|
|
156
|
+
- UI/theme integration
|
|
157
|
+
- Deployment/infra integration
|
|
158
|
+
|
|
159
|
+
Mỗi loại tích hợp cần tóm tắt:
|
|
160
|
+
- Entry points hiện có
|
|
161
|
+
- Adapters cần bổ sung
|
|
162
|
+
- Độ phức tạp ước tính (`Low`/`Medium`/`High`)
|
|
163
|
+
- Rủi ro chính và hướng giảm thiểu
|
|
164
|
+
|
|
165
|
+
### Step 10 - Synthesis
|
|
166
|
+
Tổng hợp findings vào một báo cáo, ưu tiên kết luận có bằng chứng, và liệt kê unknowns đang cần xác minh.
|
|
167
|
+
|
|
168
|
+
## Report Template
|
|
169
|
+
|
|
170
|
+
Sử dụng đúng thứ tự section sau trong `_analytics/structure.md`:
|
|
171
|
+
|
|
172
|
+
1. `Executive Summary`
|
|
173
|
+
2. `Technology Profile`
|
|
174
|
+
3. `Repository Topology`
|
|
175
|
+
4. `Architecture and Dependency Flow`
|
|
176
|
+
5. `Coding Style and Conventions`
|
|
177
|
+
6. `Extension Points (Modules/Themes/Plugins/Hooks)`
|
|
178
|
+
7. `API and Interaction Surfaces`
|
|
179
|
+
8. `Data Model and State Management`
|
|
180
|
+
9. `Security Posture`
|
|
181
|
+
10. `Integration Capability Matrix`
|
|
182
|
+
11. `Strengths, Weaknesses, Risks`
|
|
183
|
+
12. `Top 10 Evidence Items`
|
|
184
|
+
13. `Unknowns and Verification Plan`
|
|
185
|
+
14. `Recommended Next Actions (30/60/90 day)`
|
|
186
|
+
|
|
187
|
+
## Integration Capability Matrix Format
|
|
188
|
+
|
|
189
|
+
Mỗi integration domain là 1 dòng:
|
|
190
|
+
|
|
191
|
+
| Domain | Entry Points | Required Adapters | Complexity | Risks | Confidence |
|
|
192
|
+
|---|---|---|---|---|---|
|
|
193
|
+
|
|
194
|
+
Bắt buộc gồm:
|
|
195
|
+
- External APIs
|
|
196
|
+
- Authentication/SSO
|
|
197
|
+
- Payment
|
|
198
|
+
- Messaging/Queue
|
|
199
|
+
- Storage/CDN
|
|
200
|
+
- Observability
|
|
201
|
+
- Admin/UI customization
|
|
202
|
+
- Content/data migration
|
|
203
|
+
|
|
204
|
+
## Completion Checklist
|
|
205
|
+
Chỉ kết thúc skill khi đủ các điều kiện:
|
|
206
|
+
- Report tồn tại ở đường dẫn mục tiêu
|
|
207
|
+
- Mỗi nhận định quan trọng đều có bằng chứng
|
|
208
|
+
- Giả định được đánh dấu rõ ràng
|
|
209
|
+
- Integration matrix đầy đủ
|
|
210
|
+
- Top risks có hướng giảm thiểu đề xuất
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Skill: Specification Writing (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Write and refine high-quality functional/technical specifications, user stories, and delta specs for consumption by AI agents.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When starting a new feature change (Step 1 of the HeraSpec workflow)
|
|
10
|
+
- When converting high-level business ideas into structured technical specs
|
|
11
|
+
- When refining delta specs during parallel merge validation
|
|
12
|
+
|
|
13
|
+
## Step-by-Step Process
|
|
14
|
+
|
|
15
|
+
### Step 1: Define User Story & Scenarios
|
|
16
|
+
- Structure the core requirement as a User Story (As a... I want to... So that...)
|
|
17
|
+
- Formulate behavioral scenarios using GIVEN-WHEN-THEN syntax (Gherkin style)
|
|
18
|
+
- Define happy paths, error paths, and edge cases
|
|
19
|
+
|
|
20
|
+
### Step 2: Structure metadata
|
|
21
|
+
- Specify target components, domains, and technical stacks
|
|
22
|
+
- Verify requirements match the architectural conventions defined in `project.md`
|
|
23
|
+
|
|
24
|
+
### Step-3: Write Delta Spec
|
|
25
|
+
- Segment new, modified, and removed requirements clearly:
|
|
26
|
+
- `## ADDED Requirements`
|
|
27
|
+
- `## MODIFIED Requirements` (must specify the exact Before vs. After states)
|
|
28
|
+
- `## REMOVED Requirements`
|
|
29
|
+
|
|
30
|
+
## Required Input
|
|
31
|
+
|
|
32
|
+
- Business requirement description or user prompt
|
|
33
|
+
- Technical stack metadata from `project.md`
|
|
34
|
+
|
|
35
|
+
## Expected Output
|
|
36
|
+
|
|
37
|
+
- Clean markdown specification following the HeraSpec format
|
|
38
|
+
- Complete Delta Spec with GIVEN-WHEN-THEN scenarios
|
|
39
|
+
|
|
40
|
+
## Tone & Rules
|
|
41
|
+
|
|
42
|
+
- Be extremely precise. Avoid ambiguous language like "user-friendly" or "fast".
|
|
43
|
+
- Always define exact failure states (e.g. "returns 401 Unauthorized" instead of "shows error").
|
|
44
|
+
- Scenarios MUST be testable and actionable.
|
|
45
|
+
|
|
46
|
+
## Available Templates
|
|
47
|
+
|
|
48
|
+
- None
|
|
49
|
+
|
|
50
|
+
## Available Scripts
|
|
51
|
+
|
|
52
|
+
- None
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
See `examples/` directory.
|
|
57
|
+
|
|
58
|
+
## Links to Other Skills
|
|
59
|
+
|
|
60
|
+
- **documents**: Use to format the specifications into product manuals.
|
|
61
|
+
- **suggestion**: Use to identify gaps in existing specs.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Kỹ năng: Viết Đặc tả (Specification Writing) (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
|
|
5
|
+
Viết và tinh chỉnh các đặc tả chức năng/kỹ thuật chất lượng cao, các user stories và các delta specs để các AI agent có thể đọc hiểu và thực thi hiệu quả.
|
|
6
|
+
|
|
7
|
+
## Khi nào sử dụng
|
|
8
|
+
|
|
9
|
+
- Khi bắt đầu tạo một Change mới (Bước 1 của quy trình HeraSpec)
|
|
10
|
+
- Khi chuyển đổi các ý tưởng nghiệp vụ mức cao thành tài liệu spec có cấu trúc kỹ thuật
|
|
11
|
+
- Khi tinh chỉnh delta specs trong quá trình giải quyết xung đột song song (parallel merge)
|
|
12
|
+
|
|
13
|
+
## Quy trình từng bước
|
|
14
|
+
|
|
15
|
+
### Bước 1: Định nghĩa User Story & Scenarios
|
|
16
|
+
- Cấu trúc yêu cầu cốt lõi dưới dạng User Story (Với vai trò là... Tôi muốn... Để...)
|
|
17
|
+
- Xây dựng các kịch bản hành vi (scenarios) sử dụng cú pháp GIVEN-WHEN-THEN (phong cách Gherkin)
|
|
18
|
+
- Định nghĩa rõ luồng xử lý thành công (happy path), luồng lỗi (error path) và trường hợp biên (edge cases)
|
|
19
|
+
|
|
20
|
+
### Bước 2: Cấu trúc phần Meta
|
|
21
|
+
- Chỉ định rõ các component mục tiêu, domain và technical stack
|
|
22
|
+
- Xác minh các yêu cầu phải khớp với quy ước kiến trúc được định nghĩa trong `project.md`
|
|
23
|
+
|
|
24
|
+
### Bước 3: Viết Delta Spec
|
|
25
|
+
- Phân đoạn rõ ràng các yêu cầu mới, sửa đổi và loại bỏ:
|
|
26
|
+
- `## ADDED Requirements`
|
|
27
|
+
- `## MODIFIED Requirements` (phải nêu rõ trạng thái Trước đây (Before) vs. Bây giờ (After))
|
|
28
|
+
- `## REMOVED Requirements`
|
|
29
|
+
|
|
30
|
+
## Input yêu cầu
|
|
31
|
+
|
|
32
|
+
- Mô tả yêu cầu nghiệp vụ hoặc prompt yêu cầu từ người dùng
|
|
33
|
+
- Thông tin về tech stack lấy từ `project.md`
|
|
34
|
+
|
|
35
|
+
## Output mong đợi
|
|
36
|
+
|
|
37
|
+
- File đặc tả markdown sạch sẽ tuân thủ đúng định dạng của HeraSpec
|
|
38
|
+
- File Delta Spec hoàn chỉnh với các kịch bản GIVEN-WHEN-THEN
|
|
39
|
+
|
|
40
|
+
## Giọng điệu & Quy tắc
|
|
41
|
+
|
|
42
|
+
- Cực kỳ chính xác. Tránh các từ ngữ mơ hồ như "thân thiện với người dùng" hoặc "nhanh chóng".
|
|
43
|
+
- Luôn định nghĩa rõ các trạng thái lỗi cụ thể (ví dụ: "trả về lỗi 401 Unauthorized" thay vị "hiển thị lỗi").
|
|
44
|
+
- Các kịch bản (scenarios) BẮT BUỘC phải kiểm thử được và có thể triển khai được.
|
|
45
|
+
|
|
46
|
+
## Templates có sẵn
|
|
47
|
+
|
|
48
|
+
- Không có
|
|
49
|
+
|
|
50
|
+
## Scripts có sẵn
|
|
51
|
+
|
|
52
|
+
- Không có
|
|
53
|
+
|
|
54
|
+
## Ví dụ
|
|
55
|
+
|
|
56
|
+
Xem thư mục `examples/`.
|
|
57
|
+
|
|
58
|
+
## Liên kết với các kỹ năng khác
|
|
59
|
+
|
|
60
|
+
- **documents**: Dùng để định dạng các đặc tả kỹ thuật thành hướng dẫn sản phẩm.
|
|
61
|
+
- **suggestion**: Dùng để phát hiện các lỗ hổng trong các spec hiện có.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Skill: Specification Writing (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Write and refine high-quality functional/technical specifications, user stories, and delta specs for consumption by AI agents.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When starting a new feature change (Step 1 of the HeraSpec workflow)
|
|
10
|
+
- When converting high-level business ideas into structured technical specs
|
|
11
|
+
- When refining delta specs during parallel merge validation
|
|
12
|
+
|
|
13
|
+
## Step-by-Step Process
|
|
14
|
+
|
|
15
|
+
### Step 1: Define User Story & Scenarios
|
|
16
|
+
- Structure the core requirement as a User Story (As a... I want to... So that...)
|
|
17
|
+
- Formulate behavioral scenarios using GIVEN-WHEN-THEN syntax (Gherkin style)
|
|
18
|
+
- Define happy paths, error paths, and edge cases
|
|
19
|
+
|
|
20
|
+
### Step 2: Structure metadata
|
|
21
|
+
- Specify target components, domains, and technical stacks
|
|
22
|
+
- Verify requirements match the architectural conventions defined in `project.md`
|
|
23
|
+
|
|
24
|
+
### Step-3: Write Delta Spec
|
|
25
|
+
- Segment new, modified, and removed requirements clearly:
|
|
26
|
+
- `## ADDED Requirements`
|
|
27
|
+
- `## MODIFIED Requirements` (must specify the exact Before vs. After states)
|
|
28
|
+
- `## REMOVED Requirements`
|
|
29
|
+
|
|
30
|
+
## Required Input
|
|
31
|
+
|
|
32
|
+
- Business requirement description or user prompt
|
|
33
|
+
- Technical stack metadata from `project.md`
|
|
34
|
+
|
|
35
|
+
## Expected Output
|
|
36
|
+
|
|
37
|
+
- Clean markdown specification following the HeraSpec format
|
|
38
|
+
- Complete Delta Spec with GIVEN-WHEN-THEN scenarios
|
|
39
|
+
|
|
40
|
+
## Tone & Rules
|
|
41
|
+
|
|
42
|
+
- Be extremely precise. Avoid ambiguous language like "user-friendly" or "fast".
|
|
43
|
+
- Always define exact failure states (e.g. "returns 401 Unauthorized" instead of "shows error").
|
|
44
|
+
- Scenarios MUST be testable and actionable.
|
|
45
|
+
|
|
46
|
+
## Available Templates
|
|
47
|
+
|
|
48
|
+
- None
|
|
49
|
+
|
|
50
|
+
## Available Scripts
|
|
51
|
+
|
|
52
|
+
- None
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
See `examples/` directory.
|
|
57
|
+
|
|
58
|
+
## Links to Other Skills
|
|
59
|
+
|
|
60
|
+
- **documents**: Use to format the specifications into product manuals.
|
|
61
|
+
- **suggestion**: Use to identify gaps in existing specs.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Kỹ năng: Viết Đặc tả (Specification Writing) (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
|
|
5
|
+
Viết và tinh chỉnh các đặc tả chức năng/kỹ thuật chất lượng cao, các user stories và các delta specs để các AI agent có thể đọc hiểu và thực thi hiệu quả.
|
|
6
|
+
|
|
7
|
+
## Khi nào sử dụng
|
|
8
|
+
|
|
9
|
+
- Khi bắt đầu tạo một Change mới (Bước 1 của quy trình HeraSpec)
|
|
10
|
+
- Khi chuyển đổi các ý tưởng nghiệp vụ mức cao thành tài liệu spec có cấu trúc kỹ thuật
|
|
11
|
+
- Khi tinh chỉnh delta specs trong quá trình giải quyết xung đột song song (parallel merge)
|
|
12
|
+
|
|
13
|
+
## Quy trình từng bước
|
|
14
|
+
|
|
15
|
+
### Bước 1: Định nghĩa User Story & Scenarios
|
|
16
|
+
- Cấu trúc yêu cầu cốt lõi dưới dạng User Story (Với vai trò là... Tôi muốn... Để...)
|
|
17
|
+
- Xây dựng các kịch bản hành vi (scenarios) sử dụng cú pháp GIVEN-WHEN-THEN (phong cách Gherkin)
|
|
18
|
+
- Định nghĩa rõ luồng xử lý thành công (happy path), luồng lỗi (error path) và trường hợp biên (edge cases)
|
|
19
|
+
|
|
20
|
+
### Bước 2: Cấu trúc phần Meta
|
|
21
|
+
- Chỉ định rõ các component mục tiêu, domain và technical stack
|
|
22
|
+
- Xác minh các yêu cầu phải khớp với quy ước kiến trúc được định nghĩa trong `project.md`
|
|
23
|
+
|
|
24
|
+
### Bước 3: Viết Delta Spec
|
|
25
|
+
- Phân đoạn rõ ràng các yêu cầu mới, sửa đổi và loại bỏ:
|
|
26
|
+
- `## ADDED Requirements`
|
|
27
|
+
- `## MODIFIED Requirements` (phải nêu rõ trạng thái Trước đây (Before) vs. Bây giờ (After))
|
|
28
|
+
- `## REMOVED Requirements`
|
|
29
|
+
|
|
30
|
+
## Input yêu cầu
|
|
31
|
+
|
|
32
|
+
- Mô tả yêu cầu nghiệp vụ hoặc prompt yêu cầu từ người dùng
|
|
33
|
+
- Thông tin về tech stack lấy từ `project.md`
|
|
34
|
+
|
|
35
|
+
## Output mong đợi
|
|
36
|
+
|
|
37
|
+
- File đặc tả markdown sạch sẽ tuân thủ đúng định dạng của HeraSpec
|
|
38
|
+
- File Delta Spec hoàn chỉnh với các kịch bản GIVEN-WHEN-THEN
|
|
39
|
+
|
|
40
|
+
## Giọng điệu & Quy tắc
|
|
41
|
+
|
|
42
|
+
- Cực kỳ chính xác. Tránh các từ ngữ mơ hồ như "thân thiện với người dùng" hoặc "nhanh chóng".
|
|
43
|
+
- Luôn định nghĩa rõ các trạng thái lỗi cụ thể (ví dụ: "trả về lỗi 401 Unauthorized" thay vị "hiển thị lỗi").
|
|
44
|
+
- Các kịch bản (scenarios) BẮT BUỘC phải kiểm thử được và có thể triển khai được.
|
|
45
|
+
|
|
46
|
+
## Templates có sẵn
|
|
47
|
+
|
|
48
|
+
- Không có
|
|
49
|
+
|
|
50
|
+
## Scripts có sẵn
|
|
51
|
+
|
|
52
|
+
- Không có
|
|
53
|
+
|
|
54
|
+
## Ví dụ
|
|
55
|
+
|
|
56
|
+
Xem thư mục `examples/`.
|
|
57
|
+
|
|
58
|
+
## Liên kết với các kỹ năng khác
|
|
59
|
+
|
|
60
|
+
- **documents**: Dùng để định dạng các đặc tả kỹ thuật thành hướng dẫn sản phẩm.
|
|
61
|
+
- **suggestion**: Dùng để phát hiện các lỗ hổng trong các spec hiện có.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Skill: SQL Queries (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Write correct, readable, and highly performant SQL queries across all major database systems and data warehouse dialects (PostgreSQL, Snowflake, BigQuery, Redshift, Databricks SQL).
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When writing complex analytical queries involving CTEs, window functions, and cohort retention calculations.
|
|
10
|
+
- When optimizing slow-running SQL queries or translating queries between database dialects.
|
|
11
|
+
- When designing data models, schema migrations, and indexing strategies.
|
|
12
|
+
|
|
13
|
+
## Step-by-Step Process
|
|
14
|
+
|
|
15
|
+
### Step 1: Analyze Schema & Dialect
|
|
16
|
+
- Identify the target database engine (PostgreSQL, BigQuery, Snowflake, etc.).
|
|
17
|
+
- Review available table schemas, keys, indexes, and partitioning keys.
|
|
18
|
+
|
|
19
|
+
### Step 2: Structure Using CTEs
|
|
20
|
+
- Break down complex logic into small, readable Common Table Expressions (CTEs) representing logical steps.
|
|
21
|
+
|
|
22
|
+
### Step 3: Write Dialect-Specific Logic
|
|
23
|
+
- Implement date/time arithmetic, string manipulation, JSON/array functions, and window functions using syntax specific to the selected dialect.
|
|
24
|
+
|
|
25
|
+
### Step 4: Performance Optimization
|
|
26
|
+
- Apply database-specific optimization rules:
|
|
27
|
+
- PostgreSQL: Use `EXPLAIN ANALYZE`, index columns, prefer `EXISTS` over `IN` for subqueries.
|
|
28
|
+
- BigQuery: Minimize scanned bytes, partition on date columns, use `APPROX_COUNT_DISTINCT`.
|
|
29
|
+
- Snowflake: Leverage clustering keys, transient tables, and avoid unnecessary warehouse resizing.
|
|
30
|
+
|
|
31
|
+
### Step 5: Test & Debug
|
|
32
|
+
- Verify correct handling of boundary cases (division by zero, null fields, type mismatch casting).
|
|
33
|
+
|
|
34
|
+
## Required Input
|
|
35
|
+
|
|
36
|
+
- **Database Engine**: PostgreSQL, BigQuery, Snowflake, etc.
|
|
37
|
+
- **Goal/Query Purpose**: What analytical question the query should answer.
|
|
38
|
+
- **Table Schema**: Definitions, keys, and partitioning details.
|
|
39
|
+
|
|
40
|
+
## Expected Output
|
|
41
|
+
|
|
42
|
+
- **Optimized SQL Code**: Full query code formatted using uppercase keywords and standard alignment.
|
|
43
|
+
- **Performance Explanation**: Brief details on partition pruning, indexing, or dialect-specific functions used to speed up the query.
|
|
44
|
+
- **Query Flow Explanation**: Explanation of each CTE step for developer readability.
|
|
45
|
+
|
|
46
|
+
## Tone & Rules
|
|
47
|
+
|
|
48
|
+
- Write clean, modern SQL using uppercase for keywords (SELECT, FROM, WHERE, etc.).
|
|
49
|
+
- Always qualify column names with table aliases when using JOINs.
|
|
50
|
+
- Avoid nested subqueries; always prefer Common Table Expressions (CTEs) for readability.
|
|
51
|
+
|
|
52
|
+
## Available Templates
|
|
53
|
+
|
|
54
|
+
- None
|
|
55
|
+
|
|
56
|
+
## Available Scripts
|
|
57
|
+
|
|
58
|
+
- None
|
|
59
|
+
|
|
60
|
+
## Examples
|
|
61
|
+
|
|
62
|
+
See `examples/` directory.
|
|
63
|
+
|
|
64
|
+
## Links to Other Skills
|
|
65
|
+
|
|
66
|
+
- **documents**: Use to document database schemas or technical data flow maps.
|
|
67
|
+
- **debug**: Use to diagnose and resolve errors returned by SQL execution engines.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Kỹ năng: Truy vấn SQL (SQL Queries) (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
|
|
5
|
+
Viết các câu truy vấn SQL chính xác, dễ đọc và đạt hiệu năng tối ưu trên các hệ thống cơ sở dữ liệu và kho dữ liệu phổ biến (PostgreSQL, Snowflake, BigQuery, Redshift, Databricks SQL).
|
|
6
|
+
|
|
7
|
+
## Khi nào sử dụng
|
|
8
|
+
|
|
9
|
+
- Khi viết các câu truy vấn phân tích phức tạp có sử dụng CTEs, hàm cửa sổ (window functions) và tính toán tỷ lệ giữ chân khách hàng (cohort retention).
|
|
10
|
+
- Khi tối ưu hóa các câu lệnh SQL chạy chậm hoặc chuyển đổi cú pháp truy vấn giữa các hệ quản trị cơ sở dữ liệu khác nhau.
|
|
11
|
+
- Khi thiết kế mô hình dữ liệu, viết mã dịch chuyển cấu trúc bảng (migrations) và lập chiến lược đánh chỉ mục (indexing).
|
|
12
|
+
|
|
13
|
+
## Quy trình từng bước
|
|
14
|
+
|
|
15
|
+
### Bước 1: Phân tích Lược đồ & Cú pháp Dialect
|
|
16
|
+
- Xác định hệ quản trị cơ sở dữ liệu đích (PostgreSQL, BigQuery, Snowflake, v.v...).
|
|
17
|
+
- Xem xét cấu trúc các bảng dữ liệu, khóa chính/phụ, chỉ mục (indexes) và khóa phân vùng (partition keys).
|
|
18
|
+
|
|
19
|
+
### Bước 2: Cấu trúc hóa bằng CTEs
|
|
20
|
+
- Chia nhỏ logic phức tạp thành các biểu thức bảng chung (Common Table Expressions - CTEs) dễ đọc, đại diện cho từng bước xử lý dữ liệu tuần tự.
|
|
21
|
+
|
|
22
|
+
### Bước 3: Viết Logic Đặc thù theo Dialect
|
|
23
|
+
- Triển khai các phép toán ngày/tháng, xử lý chuỗi văn bản, trích xuất JSON/mảng và các hàm cửa sổ sử dụng đúng cú pháp của cơ sở dữ liệu đích.
|
|
24
|
+
|
|
25
|
+
### Bước 4: Tối ưu hóa Hiệu năng (Performance Optimization)
|
|
26
|
+
- Áp dụng các quy tắc tối ưu đặc thù:
|
|
27
|
+
- PostgreSQL: Sử dụng `EXPLAIN ANALYZE` để xem chi tiết thực thi, đánh chỉ mục các cột lọc/join, ưu tiên `EXISTS` thay vì `IN` cho truy vấn con.
|
|
28
|
+
- BigQuery: Giảm thiểu dung lượng quét dữ liệu (scanned bytes), lọc theo cột phân vùng date, sử dụng `APPROX_COUNT_DISTINCT`.
|
|
29
|
+
- Snowflake: Tận dụng khóa gom cụm (clustering keys), bảng tạm thời (transient tables) và tránh thay đổi kích thước warehouse không cần thiết.
|
|
30
|
+
|
|
31
|
+
### Bước 5: Kiểm thử & Sửa lỗi
|
|
32
|
+
- Xác minh cách xử lý các trường hợp đặc biệt (chia cho 0, giá trị null, ép kiểu dữ liệu mismatch).
|
|
33
|
+
|
|
34
|
+
## Input yêu cầu
|
|
35
|
+
|
|
36
|
+
- **Database Engine**: Loại cơ sở dữ liệu (PostgreSQL, BigQuery, Snowflake, v.v...).
|
|
37
|
+
- **Mục đích truy vấn**: Câu hỏi nghiệp vụ cần trả lời bằng dữ liệu.
|
|
38
|
+
- **Lược đồ bảng (Table Schema)**: Định nghĩa các bảng, kiểu dữ liệu, các trường khóa và chi tiết phân vùng.
|
|
39
|
+
|
|
40
|
+
## Output mong đợi
|
|
41
|
+
|
|
42
|
+
- **Mã lệnh SQL Tối ưu**: Câu lệnh SQL hoàn chỉnh được định dạng viết hoa các từ khóa chính và căn lề chuẩn mực.
|
|
43
|
+
- **Giải thích Hiệu năng**: Mô tả ngắn gọn về phân vùng dữ liệu, chỉ mục hoặc hàm đặc thù được dùng để tăng tốc truy vấn.
|
|
44
|
+
- **Giải thích Luồng truy vấn**: Giải thích rõ ràng mục đích của từng bước CTE để nhà phát triển dễ đọc hiểu.
|
|
45
|
+
|
|
46
|
+
## Giọng điệu & Quy tắc
|
|
47
|
+
|
|
48
|
+
- Viết mã SQL sạch, hiện đại bằng cách viết hoa các từ khóa chuẩn (SELECT, FROM, WHERE, v.v...).
|
|
49
|
+
- Luôn đặt tên viết tắt (alias) cho các bảng và gọi tên cột kèm alias khi thực hiện JOINs.
|
|
50
|
+
- Hạn chế viết các truy vấn con lồng nhau phức tạp; luôn ưu tiên sử dụng CTEs để giữ code sạch sẽ.
|
|
51
|
+
|
|
52
|
+
## Templates có sẵn
|
|
53
|
+
|
|
54
|
+
- Không có
|
|
55
|
+
|
|
56
|
+
## Scripts có sẵn
|
|
57
|
+
|
|
58
|
+
- Không có
|
|
59
|
+
|
|
60
|
+
## Ví dụ
|
|
61
|
+
|
|
62
|
+
Xem thư mục `examples/`.
|
|
63
|
+
|
|
64
|
+
## Liên kết với các kỹ năng khác
|
|
65
|
+
|
|
66
|
+
- **documents**: Sử dụng để viết tài liệu thiết kế cơ sở dữ liệu hoặc sơ đồ luồng dữ liệu kỹ thuật.
|
|
67
|
+
- **debug**: Sử dụng để chẩn đoán và khắc phục các lỗi cú pháp/logic do công cụ cơ sở dữ liệu trả về.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Skill: SQL Queries (Cross-Cutting)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Write correct, readable, and highly performant SQL queries across all major database systems and data warehouse dialects (PostgreSQL, Snowflake, BigQuery, Redshift, Databricks SQL).
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- When writing complex analytical queries involving CTEs, window functions, and cohort retention calculations.
|
|
10
|
+
- When optimizing slow-running SQL queries or translating queries between database dialects.
|
|
11
|
+
- When designing data models, schema migrations, and indexing strategies.
|
|
12
|
+
|
|
13
|
+
## Step-by-Step Process
|
|
14
|
+
|
|
15
|
+
### Step 1: Analyze Schema & Dialect
|
|
16
|
+
- Identify the target database engine (PostgreSQL, BigQuery, Snowflake, etc.).
|
|
17
|
+
- Review available table schemas, keys, indexes, and partitioning keys.
|
|
18
|
+
|
|
19
|
+
### Step 2: Structure Using CTEs
|
|
20
|
+
- Break down complex logic into small, readable Common Table Expressions (CTEs) representing logical steps.
|
|
21
|
+
|
|
22
|
+
### Step 3: Write Dialect-Specific Logic
|
|
23
|
+
- Implement date/time arithmetic, string manipulation, JSON/array functions, and window functions using syntax specific to the selected dialect.
|
|
24
|
+
|
|
25
|
+
### Step 4: Performance Optimization
|
|
26
|
+
- Apply database-specific optimization rules:
|
|
27
|
+
- PostgreSQL: Use `EXPLAIN ANALYZE`, index columns, prefer `EXISTS` over `IN` for subqueries.
|
|
28
|
+
- BigQuery: Minimize scanned bytes, partition on date columns, use `APPROX_COUNT_DISTINCT`.
|
|
29
|
+
- Snowflake: Leverage clustering keys, transient tables, and avoid unnecessary warehouse resizing.
|
|
30
|
+
|
|
31
|
+
### Step 5: Test & Debug
|
|
32
|
+
- Verify correct handling of boundary cases (division by zero, null fields, type mismatch casting).
|
|
33
|
+
|
|
34
|
+
## Required Input
|
|
35
|
+
|
|
36
|
+
- **Database Engine**: PostgreSQL, BigQuery, Snowflake, etc.
|
|
37
|
+
- **Goal/Query Purpose**: What analytical question the query should answer.
|
|
38
|
+
- **Table Schema**: Definitions, keys, and partitioning details.
|
|
39
|
+
|
|
40
|
+
## Expected Output
|
|
41
|
+
|
|
42
|
+
- **Optimized SQL Code**: Full query code formatted using uppercase keywords and standard alignment.
|
|
43
|
+
- **Performance Explanation**: Brief details on partition pruning, indexing, or dialect-specific functions used to speed up the query.
|
|
44
|
+
- **Query Flow Explanation**: Explanation of each CTE step for developer readability.
|
|
45
|
+
|
|
46
|
+
## Tone & Rules
|
|
47
|
+
|
|
48
|
+
- Write clean, modern SQL using uppercase for keywords (SELECT, FROM, WHERE, etc.).
|
|
49
|
+
- Always qualify column names with table aliases when using JOINs.
|
|
50
|
+
- Avoid nested subqueries; always prefer Common Table Expressions (CTEs) for readability.
|
|
51
|
+
|
|
52
|
+
## Available Templates
|
|
53
|
+
|
|
54
|
+
- None
|
|
55
|
+
|
|
56
|
+
## Available Scripts
|
|
57
|
+
|
|
58
|
+
- None
|
|
59
|
+
|
|
60
|
+
## Examples
|
|
61
|
+
|
|
62
|
+
See `examples/` directory.
|
|
63
|
+
|
|
64
|
+
## Links to Other Skills
|
|
65
|
+
|
|
66
|
+
- **documents**: Use to document database schemas or technical data flow maps.
|
|
67
|
+
- **debug**: Use to diagnose and resolve errors returned by SQL execution engines.
|