@jhm1909/ag-kit 0.1.0
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/.agent/ARCHITECTURE.md +189 -0
- package/.agent/known-registries.json +181 -0
- package/.agent/mcp_config.json +19 -0
- package/.agent/rules/clean-code.md +107 -0
- package/.agent/rules/documents.md +177 -0
- package/.agent/rules/git-workflow.md +68 -0
- package/.agent/rules/nano-banana.md +46 -0
- package/.agent/rules/research.md +35 -0
- package/.agent/rules/skill-loading.md +100 -0
- package/.agent/rules/skill-suggestion.md +47 -0
- package/.agent/rules/testing.md +52 -0
- package/.agent/rules/workflow-advisor.md +108 -0
- package/.agent/rules/workflow-skill-convention.md +127 -0
- package/.agent/skills/ai-engineer/SKILL.md +824 -0
- package/.agent/skills/ai-engineer/references/agentic-patterns.md +329 -0
- package/.agent/skills/ai-engineer/references/evaluation.md +493 -0
- package/.agent/skills/ai-engineer/references/llm.md +490 -0
- package/.agent/skills/ai-engineer/references/rag-advanced.md +444 -0
- package/.agent/skills/ai-engineer/references/serving-optimization.md +531 -0
- package/.agent/skills/ai-engineer/vector-db/README.md +137 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +41 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/backend-developer/SKILL.md +763 -0
- package/.agent/skills/backend-developer/references/general-patterns.md +65 -0
- package/.agent/skills/backend-developer/references/go-echo.md +68 -0
- package/.agent/skills/backend-developer/references/go-gin.md +76 -0
- package/.agent/skills/backend-developer/references/java-springboot.md +83 -0
- package/.agent/skills/backend-developer/references/node-express.md +64 -0
- package/.agent/skills/backend-developer/references/node-nestjs.md +69 -0
- package/.agent/skills/backend-developer/references/python-django.md +67 -0
- package/.agent/skills/backend-developer/references/python-fastapi.md +80 -0
- package/.agent/skills/blockchain-engineer/SKILL.md +975 -0
- package/.agent/skills/blockchain-engineer/references/deployment.md +28 -0
- package/.agent/skills/blockchain-engineer/references/evm.md +14 -0
- package/.agent/skills/blockchain-engineer/references/mechanisms.md +32 -0
- package/.agent/skills/blockchain-engineer/references/solidity.md +32 -0
- package/.agent/skills/business-analysis/SKILL.md +85 -0
- package/.agent/skills/business-analysis/references/best-practices/diagrams.md +141 -0
- package/.agent/skills/business-analysis/references/domains/ai-agent.md +94 -0
- package/.agent/skills/business-analysis/references/domains/blockchain-dapp.md +86 -0
- package/.agent/skills/business-analysis/references/domains/ecommerce.md +77 -0
- package/.agent/skills/business-analysis/references/domains/education.md +42 -0
- package/.agent/skills/business-analysis/references/domains/fintech.md +44 -0
- package/.agent/skills/business-analysis/references/domains/fnb.md +82 -0
- package/.agent/skills/business-analysis/references/domains/healthtech.md +44 -0
- package/.agent/skills/business-analysis/references/domains/internal-tools.md +38 -0
- package/.agent/skills/business-analysis/references/domains/marketplace.md +52 -0
- package/.agent/skills/business-analysis/references/domains/saas.md +36 -0
- package/.agent/skills/business-analysis/references/workflows/collaboration.md +41 -0
- package/.agent/skills/business-analysis/scripts/verify_mermaid.py +86 -0
- package/.agent/skills/business-analysis/templates/brd.md +46 -0
- package/.agent/skills/business-analysis/templates/change-request.md +41 -0
- package/.agent/skills/business-analysis/templates/prd-functional.md +38 -0
- package/.agent/skills/business-analysis/templates/use-case.md +40 -0
- package/.agent/skills/business-analysis/templates/user-story-detailed.md +36 -0
- package/.agent/skills/code-review/SKILL.md +113 -0
- package/.agent/skills/code-review/references/code-review-reception.md +209 -0
- package/.agent/skills/code-review/references/differential_review.md +59 -0
- package/.agent/skills/code-review/references/requesting-code-review.md +105 -0
- package/.agent/skills/code-review/references/spec_compliance.md +43 -0
- package/.agent/skills/code-review/references/verification-before-completion.md +139 -0
- package/.agent/skills/context-engineering/SKILL.md +68 -0
- package/.agent/skills/context-engineering/references/context-compression.md +84 -0
- package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
- package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
- package/.agent/skills/context-engineering/references/evaluation.md +89 -0
- package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
- package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/.agent/skills/context-engineering/references/project-development.md +97 -0
- package/.agent/skills/context-engineering/references/tool-design.md +86 -0
- package/.agent/skills/debugging/SKILL.md +60 -0
- package/.agent/skills/debugging/references/defense-in-depth.md +130 -0
- package/.agent/skills/debugging/references/root-cause-tracing.md +177 -0
- package/.agent/skills/debugging/references/systematic-debugging.md +295 -0
- package/.agent/skills/debugging/references/verification-before-completion.md +142 -0
- package/.agent/skills/designer/SKILL.md +159 -0
- package/.agent/skills/designer/concepts/apple-glass.md +48 -0
- package/.agent/skills/designer/concepts/aurora-gradients.md +26 -0
- package/.agent/skills/designer/concepts/bento-grids.md +14 -0
- package/.agent/skills/designer/concepts/claymorphism.md +27 -0
- package/.agent/skills/designer/concepts/neo-brutalism.md +32 -0
- package/.agent/skills/designer/data/app-interface.csv +31 -0
- package/.agent/skills/designer/data/charts.csv +26 -0
- package/.agent/skills/designer/data/colors.csv +162 -0
- package/.agent/skills/designer/data/design.csv +1776 -0
- package/.agent/skills/designer/data/icons.csv +106 -0
- package/.agent/skills/designer/data/landing.csv +35 -0
- package/.agent/skills/designer/data/products.csv +162 -0
- package/.agent/skills/designer/data/react-performance.csv +45 -0
- package/.agent/skills/designer/data/styles.csv +85 -0
- package/.agent/skills/designer/data/typography.csv +74 -0
- package/.agent/skills/designer/data/ui-reasoning.csv +162 -0
- package/.agent/skills/designer/data/ux-guidelines.csv +100 -0
- package/.agent/skills/designer/references/accessibility.md +172 -0
- package/.agent/skills/designer/references/branding.md +88 -0
- package/.agent/skills/designer/references/color-theory.md +139 -0
- package/.agent/skills/designer/references/creation.md +118 -0
- package/.agent/skills/designer/references/design-systems.md +219 -0
- package/.agent/skills/designer/references/frontend_design_aesthetics.md +57 -0
- package/.agent/skills/designer/references/layout.md +200 -0
- package/.agent/skills/designer/references/motion.md +92 -0
- package/.agent/skills/designer/references/review.md +100 -0
- package/.agent/skills/designer/references/trends.md +209 -0
- package/.agent/skills/designer/references/typography.md +190 -0
- package/.agent/skills/designer/scripts/remove_background.py +135 -0
- package/.agent/skills/designer/scripts/ui-search/__pycache__/core.cpython-314.pyc +0 -0
- package/.agent/skills/designer/scripts/ui-search/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.agent/skills/designer/scripts/ui-search/core.py +217 -0
- package/.agent/skills/designer/scripts/ui-search/design_system.py +1067 -0
- package/.agent/skills/designer/scripts/ui-search/search.py +114 -0
- package/.agent/skills/designer/templates/design-motion-spec.md +30 -0
- package/.agent/skills/devops-engineer/SKILL.md +90 -0
- package/.agent/skills/devops-engineer/docker-compose/README.md +47 -0
- package/.agent/skills/devops-engineer/references/ci-cd-pipelines.md +76 -0
- package/.agent/skills/devops-engineer/references/cloud-providers.md +57 -0
- package/.agent/skills/devops-engineer/references/codebase-normalization.md +104 -0
- package/.agent/skills/devops-engineer/references/container-orchestration.md +69 -0
- package/.agent/skills/devops-engineer/references/iac-tools.md +63 -0
- package/.agent/skills/devops-engineer/references/observability-security.md +45 -0
- package/.agent/skills/devops-engineer/references/vercel-supabase.md +17 -0
- package/.agent/skills/devops-engineer/templates/release-notes.md +8 -0
- package/.agent/skills/frontend-developer/SKILL.md +125 -0
- package/.agent/skills/frontend-developer/react-nextjs/README.md +90 -0
- package/.agent/skills/frontend-developer/references/angular.md +52 -0
- package/.agent/skills/frontend-developer/references/composition_patterns.md +60 -0
- package/.agent/skills/frontend-developer/references/core-performance.md +68 -0
- package/.agent/skills/frontend-developer/references/modern-signals.md +43 -0
- package/.agent/skills/frontend-developer/references/react_performance_rules.md +55 -0
- package/.agent/skills/frontend-developer/references/vue-nuxt.md +55 -0
- package/.agent/skills/frontend-developer/scripts/validate_compliance.py +65 -0
- package/.agent/skills/frontend-developer/threejs/README.md +89 -0
- package/.agent/skills/frontend-developer/threejs/animation.md +552 -0
- package/.agent/skills/frontend-developer/threejs/fundamentals.md +488 -0
- package/.agent/skills/frontend-developer/threejs/geometry.md +548 -0
- package/.agent/skills/frontend-developer/threejs/interaction.md +660 -0
- package/.agent/skills/frontend-developer/threejs/lighting.md +481 -0
- package/.agent/skills/frontend-developer/threejs/loaders.md +623 -0
- package/.agent/skills/frontend-developer/threejs/materials.md +520 -0
- package/.agent/skills/frontend-developer/threejs/postprocessing.md +602 -0
- package/.agent/skills/frontend-developer/threejs/router.json +181 -0
- package/.agent/skills/frontend-developer/threejs/shaders.md +642 -0
- package/.agent/skills/frontend-developer/threejs/textures.md +628 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/lead-architect/SKILL.md +85 -0
- package/.agent/skills/lead-architect/references/application-architecture.md +70 -0
- package/.agent/skills/lead-architect/references/infrastructure.md +51 -0
- package/.agent/skills/lead-architect/references/process.md +42 -0
- package/.agent/skills/lead-architect/references/system-architecture.md +62 -0
- package/.agent/skills/lead-architect/references/web-fullstack.md +82 -0
- package/.agent/skills/lead-architect/templates/adr.md +62 -0
- package/.agent/skills/lead-architect/templates/rfc.md +46 -0
- package/.agent/skills/lead-architect/templates/sdd.md +62 -0
- package/.agent/skills/lead-architect/templates/technical-spec.md +61 -0
- package/.agent/skills/marketer/SKILL.md +66 -0
- package/.agent/skills/marketer/remotion-best-practices/SKILL.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/3d.md +86 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/animations.md +29 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets.md +78 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/audio.md +172 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/can-decode.md +75 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/charts.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/compositions.md +146 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/display-captions.md +126 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/fonts.md +152 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/gifs.md +138 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/images.md +130 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/lottie.md +68 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/sequencing.md +106 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/timing.md +179 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/transitions.md +122 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/trimming.md +53 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/videos.md +171 -0
- package/.agent/skills/mcp-builder/SKILL.md +76 -0
- package/.agent/skills/mcp-builder/references/evaluation.md +602 -0
- package/.agent/skills/mcp-builder/references/mcp_best_practices.md +249 -0
- package/.agent/skills/mcp-builder/references/node_mcp_server.md +970 -0
- package/.agent/skills/mcp-builder/references/python_mcp_server.md +719 -0
- package/.agent/skills/mobile-developer/SKILL.md +83 -0
- package/.agent/skills/mobile-developer/api-routes/SKILL.md +389 -0
- package/.agent/skills/mobile-developer/building-ui/SKILL.md +335 -0
- package/.agent/skills/mobile-developer/building-ui/references/animations.md +220 -0
- package/.agent/skills/mobile-developer/building-ui/references/controls.md +270 -0
- package/.agent/skills/mobile-developer/building-ui/references/form-sheet.md +227 -0
- package/.agent/skills/mobile-developer/building-ui/references/gradients.md +106 -0
- package/.agent/skills/mobile-developer/building-ui/references/icons.md +213 -0
- package/.agent/skills/mobile-developer/building-ui/references/media.md +198 -0
- package/.agent/skills/mobile-developer/building-ui/references/route-structure.md +229 -0
- package/.agent/skills/mobile-developer/building-ui/references/search.md +248 -0
- package/.agent/skills/mobile-developer/building-ui/references/storage.md +121 -0
- package/.agent/skills/mobile-developer/building-ui/references/tabs.md +368 -0
- package/.agent/skills/mobile-developer/building-ui/references/visual-effects.md +197 -0
- package/.agent/skills/mobile-developer/building-ui/references/webgpu-three.md +605 -0
- package/.agent/skills/mobile-developer/cicd-workflows/SKILL.md +107 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/fetch.js +109 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/package.json +11 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/validate.js +84 -0
- package/.agent/skills/mobile-developer/data-fetching/SKILL.md +508 -0
- package/.agent/skills/mobile-developer/deployment/SKILL.md +207 -0
- package/.agent/skills/mobile-developer/deployment/references/app-store-metadata.md +479 -0
- package/.agent/skills/mobile-developer/deployment/references/ios-app-store.md +355 -0
- package/.agent/skills/mobile-developer/deployment/references/play-store.md +246 -0
- package/.agent/skills/mobile-developer/deployment/references/testflight.md +58 -0
- package/.agent/skills/mobile-developer/deployment/references/workflows.md +200 -0
- package/.agent/skills/mobile-developer/dev-client/SKILL.md +181 -0
- package/.agent/skills/mobile-developer/tailwind-setup/SKILL.md +501 -0
- package/.agent/skills/mobile-developer/upgrading-expo/SKILL.md +116 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/new-architecture.md +79 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/react-19.md +79 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/react-compiler.md +59 -0
- package/.agent/skills/mobile-developer/use-dom/SKILL.md +434 -0
- package/.agent/skills/modern-python/SKILL.md +122 -0
- package/.agent/skills/project-manager/SKILL.md +110 -0
- package/.agent/skills/project-manager/references/ba-collaboration.md +62 -0
- package/.agent/skills/project-manager/references/discovery_process.md +52 -0
- package/.agent/skills/project-manager/references/jobs_to_be_done.md +51 -0
- package/.agent/skills/project-manager/references/prd_development.md +52 -0
- package/.agent/skills/project-manager/references/rules-guide.md +55 -0
- package/.agent/skills/project-manager/references/skill-creation.md +98 -0
- package/.agent/skills/project-manager/references/strategic-frameworks.md +62 -0
- package/.agent/skills/project-manager/references/task-decomposition.md +194 -0
- package/.agent/skills/project-manager/references/workflows-guide.md +44 -0
- package/.agent/skills/project-manager/router.json +160 -0
- package/.agent/skills/project-manager/scripts/compare_skill.py +177 -0
- package/.agent/skills/project-manager/scripts/encoding_utils.py +36 -0
- package/.agent/skills/project-manager/scripts/init_skill.py +190 -0
- package/.agent/skills/project-manager/scripts/quick_validate.py +123 -0
- package/.agent/skills/project-manager/templates/pm-strategy-one-pager.md +6 -0
- package/.agent/skills/project-manager/templates/prd-strategic.md +38 -0
- package/.agent/skills/project-manager/templates/skill-questionnaire.md +118 -0
- package/.agent/skills/project-manager/templates/user-story-simple.md +14 -0
- package/.agent/skills/prompt-engineer/SKILL.md +319 -0
- package/.agent/skills/prompt-engineer/skill-creator/README.md +47 -0
- package/.agent/skills/qa-tester/SKILL.md +142 -0
- package/.agent/skills/qa-tester/assets/README.md +8 -0
- package/.agent/skills/qa-tester/references/accessibility_testing.md +35 -0
- package/.agent/skills/qa-tester/references/agent_browser.md +38 -0
- package/.agent/skills/qa-tester/references/automation/api_testing.md +23 -0
- package/.agent/skills/qa-tester/references/automation/best_practices.md +14 -0
- package/.agent/skills/qa-tester/references/automation/jest_vitest.md +26 -0
- package/.agent/skills/qa-tester/references/automation/playwright.md +30 -0
- package/.agent/skills/qa-tester/references/e2e_testing.md +46 -0
- package/.agent/skills/qa-tester/references/integration_testing.md +39 -0
- package/.agent/skills/qa-tester/references/performance_testing.md +44 -0
- package/.agent/skills/qa-tester/references/property_based_testing.md +44 -0
- package/.agent/skills/qa-tester/references/security_audit.md +53 -0
- package/.agent/skills/qa-tester/references/security_testing.md +30 -0
- package/.agent/skills/qa-tester/references/sharp_edges.md +49 -0
- package/.agent/skills/qa-tester/references/static_analysis.md +52 -0
- package/.agent/skills/qa-tester/references/supply_chain_audit.md +54 -0
- package/.agent/skills/qa-tester/references/test_case_standards.md +96 -0
- package/.agent/skills/qa-tester/references/test_report_template.md +32 -0
- package/.agent/skills/qa-tester/references/unit_testing.md +50 -0
- package/.agent/skills/qa-tester/references/visual_testing.md +32 -0
- package/.agent/skills/qa-tester/templates/uat-plan.md +34 -0
- package/.agent/skills/research-first/SKILL.md +118 -0
- package/.agent/skills-manifest.json +264 -0
- package/.agent/workflows/absorb.md +176 -0
- package/.agent/workflows/bootstrap.md +91 -0
- package/.agent/workflows/brainstorm.md +168 -0
- package/.agent/workflows/break-tasks.md +77 -0
- package/.agent/workflows/commit.md +349 -0
- package/.agent/workflows/custom-behavior.md +64 -0
- package/.agent/workflows/debug.md +65 -0
- package/.agent/workflows/development.md +49 -0
- package/.agent/workflows/documentation.md +221 -0
- package/.agent/workflows/gen-tests.md +53 -0
- package/.agent/workflows/guide.md +196 -0
- package/.agent/workflows/implement-feature.md +182 -0
- package/.agent/workflows/install-skill.md +193 -0
- package/.agent/workflows/qa.md +54 -0
- package/.agent/workflows/ui-ux-design.md +108 -0
- package/LICENSE +21 -0
- package/README.md +258 -0
- package/cli/index.js +345 -0
- package/cli/migrate-skills.js +113 -0
- package/cli/verify.js +291 -0
- package/package.json +49 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prompt-engineer
|
|
3
|
+
description: >
|
|
4
|
+
prompt-engineer skill for AI-powered development.
|
|
5
|
+
license: MIT
|
|
6
|
+
compatibility: Claude Code, Cursor, Gemini CLI, GitHub Copilot
|
|
7
|
+
metadata:
|
|
8
|
+
author: jhm1909
|
|
9
|
+
version: "2.0.0"
|
|
10
|
+
domain: ai
|
|
11
|
+
estimated_tokens: 25000
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Prompt Engineer
|
|
15
|
+
|
|
16
|
+
Designing effective prompts and agent skills for AI-driven development.
|
|
17
|
+
|
|
18
|
+
## Knowledge Graph
|
|
19
|
+
|
|
20
|
+
- **extends**: [[ai-engineer]]
|
|
21
|
+
- **suggests**: [[frontend-developer]], [[backend-developer]]
|
|
22
|
+
- **enhances**: [[project-manager]], [[lead-architect]]
|
|
23
|
+
- **moc**: [[ai-development-moc]]
|
|
24
|
+
|
|
25
|
+
## Sub-capabilities
|
|
26
|
+
|
|
27
|
+
| Capability | Location | Use For |
|
|
28
|
+
|:-----------|:---------|:--------|
|
|
29
|
+
| Skill Creator | `skill-creator/` | Authoring new skills for the framework |
|
|
30
|
+
| Prompt Templates | `references/prompt-templates.md` | Reusable prompt patterns |
|
|
31
|
+
|
|
32
|
+
## Using Sub-capabilities
|
|
33
|
+
|
|
34
|
+
When asked to create a new skill:
|
|
35
|
+
|
|
36
|
+
1. Load `skill-creator/README.md` from this skill directory
|
|
37
|
+
2. Follow the SKILL.md v2 specification
|
|
38
|
+
3. Use provided templates and examples
|
|
39
|
+
4. Validate against graph requirements
|
|
40
|
+
|
|
41
|
+
Example workflow:
|
|
42
|
+
```
|
|
43
|
+
User: "Create a skill for Stripe payment integration"
|
|
44
|
+
→ Load prompt-engineer/skill-creator/README.md
|
|
45
|
+
→ Apply SKILL.md v2 template
|
|
46
|
+
→ Define Knowledge Graph relationships
|
|
47
|
+
→ Generate skill files
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Role Definition
|
|
51
|
+
|
|
52
|
+
You are a **Prompt Engineer** specializing in:
|
|
53
|
+
- Crafting precise, actionable prompts for AI agents
|
|
54
|
+
- Designing SKILL.md files following Anti-Chaotic v2 specification
|
|
55
|
+
- Optimizing context windows through skill graph architecture
|
|
56
|
+
- Creating reusable prompt templates and workflows
|
|
57
|
+
|
|
58
|
+
## Core Principles
|
|
59
|
+
|
|
60
|
+
### 1. Clarity Over Cleverness
|
|
61
|
+
- **Be explicit**: State exactly what you want
|
|
62
|
+
- **Use examples**: Show, don't just tell
|
|
63
|
+
- **Avoid ambiguity**: One interpretation only
|
|
64
|
+
|
|
65
|
+
### 2. Context Budget Awareness
|
|
66
|
+
```
|
|
67
|
+
Total Context Window
|
|
68
|
+
├── System Instructions (skill loading)
|
|
69
|
+
├── Conversation History
|
|
70
|
+
├── Current Request
|
|
71
|
+
└── Output Buffer (leave 20%)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 3. Progressive Disclosure
|
|
75
|
+
- Load base skills first
|
|
76
|
+
- Add capabilities as needed
|
|
77
|
+
- Suggest enhancements contextually
|
|
78
|
+
|
|
79
|
+
## SKILL.md v2 Authoring
|
|
80
|
+
|
|
81
|
+
### Required Structure
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
---
|
|
85
|
+
name: skill-name
|
|
86
|
+
type: skill | capability | moc
|
|
87
|
+
domain: web | mobile | ai | infra
|
|
88
|
+
status: stable | draft | deprecated
|
|
89
|
+
version: "2.0.0"
|
|
90
|
+
estimated_tokens: 15000
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
# Skill Title
|
|
94
|
+
|
|
95
|
+
Clear description of what this skill enables.
|
|
96
|
+
|
|
97
|
+
## Knowledge Graph
|
|
98
|
+
|
|
99
|
+
- **extends**: [[parent-skill]] — Why this inheritance
|
|
100
|
+
- **requires**: [[hard-dep]] — Cannot function without
|
|
101
|
+
- **suggests**: [[optional-1]], [[optional-2]] — Nice to have
|
|
102
|
+
- **conflicts**: [[incompatible]] — Mutual exclusion
|
|
103
|
+
- **enhances**: [[base-skill]] — Add-on capability
|
|
104
|
+
- **moc**: [[domain-moc]] — Domain membership
|
|
105
|
+
|
|
106
|
+
## Triggers (Optional)
|
|
107
|
+
|
|
108
|
+
Auto-detection patterns:
|
|
109
|
+
- pattern: "regex" → confidence: high/medium/low
|
|
110
|
+
- file: "filename.ext" → confidence: high
|
|
111
|
+
|
|
112
|
+
## Core Content
|
|
113
|
+
|
|
114
|
+
### Rules / Guidelines / Patterns
|
|
115
|
+
1. **Bold key terms** — Make them scannable
|
|
116
|
+
2. Use tables for comparisons
|
|
117
|
+
3. Code examples for patterns
|
|
118
|
+
|
|
119
|
+
## Related Skills
|
|
120
|
+
|
|
121
|
+
- [[related-skill]] — Why related
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Relationship Design
|
|
125
|
+
|
|
126
|
+
| Relationship | When to Use | Example |
|
|
127
|
+
|:-------------|:------------|:--------|
|
|
128
|
+
| `extends` | Specialization inherits all patterns | `react-nextjs` extends `frontend-developer` |
|
|
129
|
+
| `requires` | Hard dependency | `ai-engineer` requires `backend-developer` |
|
|
130
|
+
| `suggests` | Optional enhancement | `react-nextjs` suggests `threejs` |
|
|
131
|
+
| `conflicts` | Mutual exclusion | `vue-developer` conflicts `react-nextjs` |
|
|
132
|
+
| `enhances` | Capability add-on | `tailwind-setup` enhances any frontend |
|
|
133
|
+
|
|
134
|
+
### Common Mistakes
|
|
135
|
+
|
|
136
|
+
❌ **Vague descriptions**
|
|
137
|
+
```markdown
|
|
138
|
+
## Core Rules
|
|
139
|
+
1. Write clean code
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
✅ **Specific, actionable rules**
|
|
143
|
+
```markdown
|
|
144
|
+
## Core Rules
|
|
145
|
+
1. **Use Server Components by default** — Only add 'use client' when interactivity required
|
|
146
|
+
2. **File naming**: kebab-case for all files, PascalCase for components
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
❌ **Missing context estimates**
|
|
150
|
+
```yaml
|
|
151
|
+
# No estimated_tokens
|
|
152
|
+
---
|
|
153
|
+
name: my-skill
|
|
154
|
+
type: skill
|
|
155
|
+
---
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
✅ **Always include token budget**
|
|
159
|
+
```yaml
|
|
160
|
+
---
|
|
161
|
+
name: my-skill
|
|
162
|
+
type: skill
|
|
163
|
+
estimated_tokens: 12000 # Helps users plan context
|
|
164
|
+
---
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
❌ **Human learning timelines in MOCs**
|
|
168
|
+
```markdown
|
|
169
|
+
## Learning Path
|
|
170
|
+
Week 1-2: Learn basics
|
|
171
|
+
Week 3-4: Advanced topics
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
✅ **Agent load orders with context**
|
|
175
|
+
```markdown
|
|
176
|
+
## Load Order
|
|
177
|
+
[[foundation]] (~2k tokens)
|
|
178
|
+
↓ extends
|
|
179
|
+
[[specialization]] (~1k tokens)
|
|
180
|
+
↓ suggests
|
|
181
|
+
[[capability]] (~0.5k tokens)
|
|
182
|
+
───────────────────────────────
|
|
183
|
+
Total: ~3.5k tokens
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Prompt Patterns
|
|
187
|
+
|
|
188
|
+
### Pattern 1: Structured Output
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
## Request Format
|
|
192
|
+
|
|
193
|
+
**Task**: {clear description}
|
|
194
|
+
|
|
195
|
+
**Context**:
|
|
196
|
+
- Current state: {what exists}
|
|
197
|
+
- Constraints: {limitations}
|
|
198
|
+
- Goals: {desired outcome}
|
|
199
|
+
|
|
200
|
+
**Output Format**:
|
|
201
|
+
```yaml
|
|
202
|
+
result:
|
|
203
|
+
summary: "brief description"
|
|
204
|
+
files:
|
|
205
|
+
- path: "relative/path"
|
|
206
|
+
content: "..."
|
|
207
|
+
next_steps:
|
|
208
|
+
- "action item"
|
|
209
|
+
```
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Pattern 2: Chain-of-Thought
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
## Reasoning Process
|
|
216
|
+
|
|
217
|
+
Before responding, analyze:
|
|
218
|
+
1. What is the core problem?
|
|
219
|
+
2. What constraints apply?
|
|
220
|
+
3. What patterns are relevant?
|
|
221
|
+
4. What could go wrong?
|
|
222
|
+
5. What is the minimal viable solution?
|
|
223
|
+
|
|
224
|
+
Then proceed with implementation.
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Pattern 3: Few-Shot Examples
|
|
228
|
+
|
|
229
|
+
```markdown
|
|
230
|
+
## Examples
|
|
231
|
+
|
|
232
|
+
### Example 1: Simple Case
|
|
233
|
+
Input: {simple input}
|
|
234
|
+
Output: {expected output}
|
|
235
|
+
|
|
236
|
+
### Example 2: Edge Case
|
|
237
|
+
Input: {complex input}
|
|
238
|
+
Output: {expected output}
|
|
239
|
+
|
|
240
|
+
### Example 3: Error Handling
|
|
241
|
+
Input: {invalid input}
|
|
242
|
+
Output: {error message + correction}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Context Optimization
|
|
246
|
+
|
|
247
|
+
### Token Budgeting
|
|
248
|
+
|
|
249
|
+
| Skill Size | Tokens | Use Case |
|
|
250
|
+
|:-----------|:-------|:---------|
|
|
251
|
+
| Minimal | 1-3k | Simple utilities |
|
|
252
|
+
| Standard | 5-10k | Core skills |
|
|
253
|
+
| Comprehensive | 15-25k | Complex domains |
|
|
254
|
+
| Reference | 30k+ | Documentation, API specs |
|
|
255
|
+
|
|
256
|
+
### Graph Depth Guidelines
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
Max Recommended Chain Length: 3-4 skills
|
|
260
|
+
|
|
261
|
+
Good:
|
|
262
|
+
[[frontend]] → [[react]] → [[nextjs]]
|
|
263
|
+
|
|
264
|
+
Too Deep:
|
|
265
|
+
[[frontend]] → [[react]] → [[nextjs]] → [[app-router]] → [[rsc-patterns]] → [[streaming]]
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Conflict Resolution
|
|
269
|
+
|
|
270
|
+
When designing `conflicts`:
|
|
271
|
+
1. Must be **bidirectional** (A conflicts B → B conflicts A)
|
|
272
|
+
2. Explain **why** in description
|
|
273
|
+
3. Suggest **alternative** if possible
|
|
274
|
+
|
|
275
|
+
```markdown
|
|
276
|
+
## Knowledge Graph
|
|
277
|
+
- **conflicts**: [[vue-developer]] — Different component patterns, choose one framework
|
|
278
|
+
- Alternative: Use [[frontend-developer]] base if undecided
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Skill Testing Checklist
|
|
282
|
+
|
|
283
|
+
Before publishing a skill:
|
|
284
|
+
|
|
285
|
+
- [ ] Frontmatter complete (name, type, domain, version, estimated_tokens)
|
|
286
|
+
- [ ] Knowledge Graph section with valid relationships
|
|
287
|
+
- [ ] All wiki-links resolve to existing skills
|
|
288
|
+
- [ ] No circular dependencies in graph
|
|
289
|
+
- [ ] Conflicts are bidirectional
|
|
290
|
+
- [ ] Token estimate is accurate (±20%)
|
|
291
|
+
- [ ] Examples are runnable/testable
|
|
292
|
+
- [ ] No human learning timelines (unless educational skill)
|
|
293
|
+
|
|
294
|
+
## Anti-Patterns
|
|
295
|
+
|
|
296
|
+
### 1. Prompt Injection Vulnerabilities
|
|
297
|
+
❌ Don't use: `User input: {{user_input}}` without validation
|
|
298
|
+
✅ Do: Define allowed values, validate patterns
|
|
299
|
+
|
|
300
|
+
### 2. Context Leaks
|
|
301
|
+
❌ Don't: Load unrelated skills "just in case"
|
|
302
|
+
✅ Do: Use `suggests` for optional capabilities
|
|
303
|
+
|
|
304
|
+
### 3. Over-Specialization
|
|
305
|
+
❌ Don't: Create skill for every micro-task
|
|
306
|
+
✅ Do: Group related capabilities, use `extends` for variations
|
|
307
|
+
|
|
308
|
+
### 4. Implicit Assumptions
|
|
309
|
+
❌ Don't: Assume user knows jargon
|
|
310
|
+
✅ Do: Define terms, link to explanations
|
|
311
|
+
|
|
312
|
+
## Related Skills
|
|
313
|
+
|
|
314
|
+
- [[ai-engineer]] — LLM integration patterns
|
|
315
|
+
- [[backend-developer]] — API development for AI services
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
*Part of [[ai-development-moc]] | Skill creator guide in `skill-creator/` sub-directory*
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-creator
|
|
3
|
+
type: skill
|
|
4
|
+
domain: general
|
|
5
|
+
status: draft
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
estimated_tokens: 10000
|
|
8
|
+
description: Creating and publishing skills for the Anti-Chaotic Agent Kit.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Skill Creator
|
|
12
|
+
|
|
13
|
+
Building and publishing agent skills.
|
|
14
|
+
|
|
15
|
+
## Knowledge Graph
|
|
16
|
+
|
|
17
|
+
- **extends**: []
|
|
18
|
+
- **requires": [[prompt-engineer]]
|
|
19
|
+
- **suggests": []
|
|
20
|
+
- **conflicts": []
|
|
21
|
+
- **enhances": [[knowledge-graph]]
|
|
22
|
+
- **moc**: []
|
|
23
|
+
|
|
24
|
+
## Overview
|
|
25
|
+
|
|
26
|
+
This skill covers:
|
|
27
|
+
- SKILL.md v2 specification
|
|
28
|
+
- Knowledge graph design
|
|
29
|
+
- Publishing to npm/GitHub
|
|
30
|
+
- Testing and validation
|
|
31
|
+
|
|
32
|
+
## Creating a Skill
|
|
33
|
+
|
|
34
|
+
1. Define relationships (extends/requires/suggests)
|
|
35
|
+
2. Write SKILL.md with frontmatter
|
|
36
|
+
3. Add rules/workflows if needed
|
|
37
|
+
4. Test with graph resolver
|
|
38
|
+
5. Publish
|
|
39
|
+
|
|
40
|
+
## Related
|
|
41
|
+
|
|
42
|
+
- [[prompt-engineer]] — Prompt design
|
|
43
|
+
- [[knowledge-graph]] — Graph validation
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
*Meta skill for skill development*
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-tester
|
|
3
|
+
description: >
|
|
4
|
+
Test planning, test cases, bug reporting, automation, and security auditing.
|
|
5
|
+
Use for Unit/E2E/Security/Performance/Property-Based testing and supply chain audits.
|
|
6
|
+
Upgraded with Trail of Bits security methodology.
|
|
7
|
+
license: MIT
|
|
8
|
+
compatibility: Claude Code, Cursor, Gemini CLI, GitHub Copilot
|
|
9
|
+
metadata:
|
|
10
|
+
author: jhm1909
|
|
11
|
+
version: "3.0.0"
|
|
12
|
+
domain: qa
|
|
13
|
+
estimated_tokens: 12000
|
|
14
|
+
sources:
|
|
15
|
+
- trailofbits/skills (insecure-defaults, sharp-edges, property-based-testing, supply-chain-risk-auditor, semgrep)
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# QA Tester
|
|
19
|
+
|
|
20
|
+
Comprehensive testing + security auditing for high-quality software delivery.
|
|
21
|
+
|
|
22
|
+
## Knowledge Graph
|
|
23
|
+
|
|
24
|
+
- **extends**: []
|
|
25
|
+
- **requires**: []
|
|
26
|
+
- **suggests**: [[frontend-developer]], [[backend-developer]], [[devops-engineer]], [[mobile-developer]]
|
|
27
|
+
- **conflicts**: []
|
|
28
|
+
- **enhances**: [[project-manager]] (quality metrics), [[business-analysis]] (acceptance criteria), [[code-review]] (verification gates)
|
|
29
|
+
- **moc**: [[quality-assurance-moc]]
|
|
30
|
+
|
|
31
|
+
## Core Philosophy
|
|
32
|
+
|
|
33
|
+
1. **Docs First** — Base all testing on `docs/` folder requirements
|
|
34
|
+
2. **No Assumptions** — Missing docs? STOP and CONFIRM with user
|
|
35
|
+
3. **Verify Everything** — Happy path, negative path, boundaries, edges
|
|
36
|
+
4. **Trust No Input** — Every input is a potential attack vector
|
|
37
|
+
5. **Pit of Success** — Secure usage should be the path of least resistance
|
|
38
|
+
|
|
39
|
+
## Decision Tree
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
What testing is needed?
|
|
43
|
+
│
|
|
44
|
+
├─ Functional testing?
|
|
45
|
+
│ └─ Read: test_case_standards.md, unit_testing.md, e2e_testing.md
|
|
46
|
+
│
|
|
47
|
+
├─ Security audit?
|
|
48
|
+
│ ├─ Insecure defaults/hardcoded secrets? → Read: security_audit.md
|
|
49
|
+
│ ├─ API footgun analysis? → Read: sharp_edges.md
|
|
50
|
+
│ ├─ Dependency risk? → Read: supply_chain_audit.md
|
|
51
|
+
│ └─ Static analysis scan? → Read: static_analysis.md
|
|
52
|
+
│
|
|
53
|
+
├─ Property-based testing?
|
|
54
|
+
│ └─ Read: property_based_testing.md
|
|
55
|
+
│
|
|
56
|
+
└─ Performance testing?
|
|
57
|
+
└─ Read: performance_testing.md
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Test Types
|
|
61
|
+
|
|
62
|
+
| Type | Focus | Tool Examples |
|
|
63
|
+
|:-----|:------|:-------------|
|
|
64
|
+
| **Unit** | Logic verification | Jest, Vitest |
|
|
65
|
+
| **Integration** | Module handshake | Supertest, MSW |
|
|
66
|
+
| **E2E** | User flows | Playwright, Cypress |
|
|
67
|
+
| **Security** | Vulnerabilities | Semgrep, OWASP ZAP |
|
|
68
|
+
| **Performance** | Load, responsiveness | k6, Lighthouse |
|
|
69
|
+
| **Property-Based** | Invariants, roundtrips | Hypothesis, fast-check |
|
|
70
|
+
| **Supply Chain** | Dependency risk | gh CLI, npm audit |
|
|
71
|
+
| **Visual** | UI regression | Chromatic, Percy |
|
|
72
|
+
| **Accessibility** | WCAG compliance | axe, Pa11y |
|
|
73
|
+
|
|
74
|
+
## Test Design Techniques
|
|
75
|
+
|
|
76
|
+
### Noun-Verb Extraction
|
|
77
|
+
Scan docs for **Nouns** (User, Order) and **Verbs** (Register, Checkout)
|
|
78
|
+
→ Each Action = At least 1 Test Case
|
|
79
|
+
|
|
80
|
+
### Keyword Permutations
|
|
81
|
+
Look for "MUST", "CANNOT", "ONLY IF"
|
|
82
|
+
→ Test constraint met AND violated
|
|
83
|
+
|
|
84
|
+
### State Transition Mapping
|
|
85
|
+
Entity states (Pending → Paid → Shipped)
|
|
86
|
+
→ Test valid AND invalid transitions
|
|
87
|
+
|
|
88
|
+
### Property Detection (PBT)
|
|
89
|
+
| Pattern | Property | Priority |
|
|
90
|
+
|---------|----------|----------|
|
|
91
|
+
| encode/decode pair | Roundtrip | HIGH |
|
|
92
|
+
| Normalization | Idempotence | MEDIUM |
|
|
93
|
+
| Sorting/ordering | Idempotence + ordering | MEDIUM |
|
|
94
|
+
| Pure function | Multiple | HIGH |
|
|
95
|
+
|
|
96
|
+
## Security Audit Quick Checklist
|
|
97
|
+
|
|
98
|
+
When auditing code security, check:
|
|
99
|
+
|
|
100
|
+
- [ ] **Insecure defaults**: `env.get(X) or 'fallback'` — fail-open patterns
|
|
101
|
+
- [ ] **Hardcoded secrets**: `password = "..."`, `API_KEY = "..."`
|
|
102
|
+
- [ ] **Weak crypto**: MD5, SHA1, DES, RC4, ECB in security contexts
|
|
103
|
+
- [ ] **Permissive CORS**: `Access-Control-Allow-Origin: *`
|
|
104
|
+
- [ ] **Debug in prod**: `DEBUG = True`, stack traces exposed
|
|
105
|
+
- [ ] **Sharp edges**: APIs where easy path leads to insecurity
|
|
106
|
+
- [ ] **Supply chain**: Single-maintainer deps, stale packages, CVE history
|
|
107
|
+
|
|
108
|
+
## Coverage Requirements
|
|
109
|
+
|
|
110
|
+
- ✅ **Happy Path** — Golden flow
|
|
111
|
+
- ✅ **Negative Path** — Error handling
|
|
112
|
+
- ✅ **Boundary** — Off-by-one (0, 1, Max)
|
|
113
|
+
- ✅ **Edge Cases** — Timeouts, failures, concurrency
|
|
114
|
+
- ✅ **Integration** — Cross-module flows
|
|
115
|
+
- ✅ **Security** — Injection, auth bypass, data leaks
|
|
116
|
+
|
|
117
|
+
## References
|
|
118
|
+
|
|
119
|
+
| Reference | Purpose |
|
|
120
|
+
|:----------|:--------|
|
|
121
|
+
| `test_case_standards.md` | "No Ambiguity" philosophy |
|
|
122
|
+
| `unit_testing.md` | "Test Behavior, Not Implementation" |
|
|
123
|
+
| `integration_testing.md` | "Verify the Handshake" |
|
|
124
|
+
| `e2e_testing.md` | "Simulate the Real User" |
|
|
125
|
+
| `security_testing.md` | "Trust No Input" |
|
|
126
|
+
| `performance_testing.md` | "Performance is a Feature" |
|
|
127
|
+
| `security_audit.md` | Insecure defaults detection (Trail of Bits) |
|
|
128
|
+
| `sharp_edges.md` | API footgun analysis (Trail of Bits) |
|
|
129
|
+
| `property_based_testing.md` | PBT methodology (Trail of Bits) |
|
|
130
|
+
| `supply_chain_audit.md` | Dependency risk scoring (Trail of Bits) |
|
|
131
|
+
| `static_analysis.md` | Semgrep scanning workflow (Trail of Bits) |
|
|
132
|
+
|
|
133
|
+
## Related Skills
|
|
134
|
+
|
|
135
|
+
- [[frontend-developer]] — Component testing
|
|
136
|
+
- [[backend-developer]] — API testing
|
|
137
|
+
- [[code-review]] — Security-focused PR review
|
|
138
|
+
- [[project-manager]] — Quality metrics, UAT
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
*Quality assurance + Security auditing | Trail of Bits methodology integrated*
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Accessibility (A11y) Testing Guide
|
|
2
|
+
|
|
3
|
+
> **Optional Module**: Consult this guide when accessibility compliance (WCAG) is required.
|
|
4
|
+
|
|
5
|
+
## Core Tools
|
|
6
|
+
|
|
7
|
+
- **axe-core**: The engine for finding accessibility defects.
|
|
8
|
+
- **jest-axe**: For unit/integration level checks.
|
|
9
|
+
- **cypress-axe** / **@axe-core/playwright**: For E2E injection.
|
|
10
|
+
|
|
11
|
+
## Implementation Pattern (Playwright)
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { test, expect } from "@playwright/test";
|
|
15
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
16
|
+
|
|
17
|
+
test("landing page should not have any automatically detectable accessibility issues", async ({
|
|
18
|
+
page,
|
|
19
|
+
}) => {
|
|
20
|
+
await page.goto("/");
|
|
21
|
+
|
|
22
|
+
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
23
|
+
.withTags(["wcag2a", "wcag2aa", "wcag21a", "wcag21aa"])
|
|
24
|
+
.analyze();
|
|
25
|
+
|
|
26
|
+
expect(accessibilityScanResults.violations).toEqual([]);
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Common Violations to Watch
|
|
31
|
+
|
|
32
|
+
1. **Color Contrast**: Text vs Background ratio must be at least 4.5:1.
|
|
33
|
+
2. **Alt Text**: All non-decorative images must have `alt` attributes.
|
|
34
|
+
3. **Labels**: Form inputs must have implicit or explicit `<label>` or `aria-label`.
|
|
35
|
+
4. **Interactive Roles**: Divs behaving like buttons must have `role="button"` and keyboard handlers.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Agent Browser / Human Simulation Guide
|
|
2
|
+
|
|
3
|
+
The **Browser Subagent** allows you to interact with the web application just like a human user. This is powerful for **Exploratory Testing**, **Visual Verification**, and **Complex Flow Validation** that is hard to script blindly.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
| Use Case | Tool | Why? |
|
|
8
|
+
| :------------------ | :------------------- | :---------------------------------------------- |
|
|
9
|
+
| **Regression / CI** | Playwright (Code) | Fast, deterministic, repeatable. |
|
|
10
|
+
| **Exploratory** | **Browser Subagent** | "Try to break this," "See if this feels right." |
|
|
11
|
+
| **Visual Check** | **Browser Subagent** | "Does the modal overlap the header?" |
|
|
12
|
+
| **Debugging** | **Browser Subagent** | "Go to the failed page and inspect the DOM." |
|
|
13
|
+
|
|
14
|
+
## How to Use
|
|
15
|
+
|
|
16
|
+
When you need to "see" or "act" as a human:
|
|
17
|
+
|
|
18
|
+
1. **Call the Tool**: Use `browser_subagent` with a clear `Task`.
|
|
19
|
+
2. **Be Specific**: Give the subagent a persona and a goal.
|
|
20
|
+
|
|
21
|
+
### Example Prompts
|
|
22
|
+
|
|
23
|
+
**Scenario: verifying a login flow manually**
|
|
24
|
+
|
|
25
|
+
> "Open `local.dev:3000/login`, enter username 'admin' and password 'secret', and verify that the dashboard loads and the 'Welcome Admin' toast appears."
|
|
26
|
+
|
|
27
|
+
**Scenario: Exploratory "Monkey Testing"**
|
|
28
|
+
|
|
29
|
+
> "Go to the Checkout page. Try clicking on 'Place Order' without filling any fields. Then try filling invalid emails. Report what validation errors you see."
|
|
30
|
+
|
|
31
|
+
## Best Practices
|
|
32
|
+
|
|
33
|
+
1. **State the Goal**: Start with "Navigate to..." and end with "Verify that..."
|
|
34
|
+
2. **Define Success**: Tell the subagent what "success" looks like (e.g., "URL changes to /dashboard").
|
|
35
|
+
3. **Capture Evidence**: The subagent records sessions. Use these as proof of verification for your reports.
|
|
36
|
+
4. **Hybrid Approach**:
|
|
37
|
+
- Use the Browser Subagent to **learn** the valid selectors and flow.
|
|
38
|
+
- Use that knowledge to **write** the robust Playwright script.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# API Automation Guide (Supertest/Fetch)
|
|
2
|
+
|
|
3
|
+
Test the contract, status codes, and payload schemas.
|
|
4
|
+
|
|
5
|
+
## Implementation Pattern
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
it("POST /api/orders returns 201 and created order", async () => {
|
|
9
|
+
const response = await request(app)
|
|
10
|
+
.post("/api/orders")
|
|
11
|
+
.send({ productId: "123", quantity: 1 });
|
|
12
|
+
|
|
13
|
+
expect(response.status).toBe(201);
|
|
14
|
+
expect(response.body).toHaveProperty("id");
|
|
15
|
+
expect(response.body.status).toBe("created");
|
|
16
|
+
});
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Checklist
|
|
20
|
+
|
|
21
|
+
- [ ] **Status Codes**: 2xx for success, 4xx for client error, 5xx for server error.
|
|
22
|
+
- [ ] **Schema Validation**: Ensure response structure matches openapi/swagger spec.
|
|
23
|
+
- [ ] **Auth Checks**: Verify 401/403 for unauthorized/forbidden access.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Automation Best Practices
|
|
2
|
+
|
|
3
|
+
## Self-Healing & Resilience
|
|
4
|
+
|
|
5
|
+
- **Dynamic Waiting**: Never use fixed delays like `sleep(1000)`. Use assertion-based waiting (e.g., `findBy`, `waitFor`).
|
|
6
|
+
- **Resilient Selectors**:
|
|
7
|
+
- ❌ Avoid: `div > div > button.red`
|
|
8
|
+
- ✅ Prefer: `role="button"` or `data-testid="submit-order"`
|
|
9
|
+
- **TestIDs**: Enforce a strict `data-testid` policy for elements that lack semantic roles.
|
|
10
|
+
|
|
11
|
+
## Flakiness Prevention
|
|
12
|
+
|
|
13
|
+
- **Isolation**: Each test must create its own data and clean it up.
|
|
14
|
+
- **Environment**: Do not rely on shared staging environments if possible; mock or use ephemeral DBs.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Jest / Vitest Guide
|
|
2
|
+
|
|
3
|
+
**Core Philosophy**: Isolate logic, integrate flows.
|
|
4
|
+
|
|
5
|
+
## Implementation Patterns
|
|
6
|
+
|
|
7
|
+
### Mocking at Boundaries
|
|
8
|
+
|
|
9
|
+
Mock modules at boundaries (e.g., database clients, mailers) to test logic in isolation.
|
|
10
|
+
|
|
11
|
+
### Table-Driven Tests
|
|
12
|
+
|
|
13
|
+
Use `test.each` for covering multiple data inputs efficiently.
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
// price-calculator.test.ts
|
|
17
|
+
describe("calculateTotal", () => {
|
|
18
|
+
test.each([
|
|
19
|
+
[100, 10, 110],
|
|
20
|
+
[50, 0, 50],
|
|
21
|
+
[0, 20, 20],
|
|
22
|
+
])("given subtotal %i and tax %i, returns %i", (subtotal, tax, expected) => {
|
|
23
|
+
expect(calculateTotal(subtotal, tax)).toBe(expected);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Playwright Automation Guide
|
|
2
|
+
|
|
3
|
+
**Golden Rule**: Use resilient locators and the Page Object Model (POM).
|
|
4
|
+
|
|
5
|
+
## Page Object Model Pattern
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
// tests/auth.spec.ts
|
|
9
|
+
import { test, expect } from "@playwright/test";
|
|
10
|
+
import { LoginPage } from "./pages/login-page";
|
|
11
|
+
|
|
12
|
+
test("User can login with valid credentials", async ({ page }) => {
|
|
13
|
+
const loginPage = new LoginPage(page);
|
|
14
|
+
await loginPage.goto();
|
|
15
|
+
await loginPage.login("user@example.com", "password123");
|
|
16
|
+
|
|
17
|
+
await expect(page.getByTestId("dashboard-header")).toBeVisible();
|
|
18
|
+
});
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Best Practices
|
|
22
|
+
|
|
23
|
+
- **Network Boundaries**: Mock external 3rd party APIs (e.g., Stripe, Auth0) during E2E to ensure stability, but keep "Critical User Journey" tests unmocked.
|
|
24
|
+
- **State Setup**: Do not use the UI to seed data. Use API calls in `beforeAll` hooks.
|
|
25
|
+
```typescript
|
|
26
|
+
test.beforeAll(async ({ request }) => {
|
|
27
|
+
await request.post('/api/seed/user', { data: { ... } });
|
|
28
|
+
});
|
|
29
|
+
```
|
|
30
|
+
- **Dynamic Waiting**: Never use `sleep(1000)`. Use `await expect(...).toBeVisible()` or `waitForResponse()`.
|