@lovehlmmm/primekit 1.0.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/AGENTS.md +165 -0
- package/README.md +66 -0
- package/cli/dist/adapters/index.d.ts +5 -0
- package/cli/dist/adapters/index.js +55 -0
- package/cli/dist/commands/doctor.d.ts +1 -0
- package/cli/dist/commands/doctor.js +69 -0
- package/cli/dist/commands/import.d.ts +6 -0
- package/cli/dist/commands/import.js +81 -0
- package/cli/dist/commands/init.d.ts +8 -0
- package/cli/dist/commands/init.js +88 -0
- package/cli/dist/commands/list.d.ts +1 -0
- package/cli/dist/commands/list.js +39 -0
- package/cli/dist/commands/uninstall.d.ts +4 -0
- package/cli/dist/commands/uninstall.js +47 -0
- package/cli/dist/commands/update.d.ts +5 -0
- package/cli/dist/commands/update.js +15 -0
- package/cli/dist/index.d.ts +2 -0
- package/cli/dist/index.js +73 -0
- package/cli/dist/utils/backup.d.ts +2 -0
- package/cli/dist/utils/backup.js +22 -0
- package/cli/dist/utils/manifest.d.ts +16 -0
- package/cli/dist/utils/manifest.js +41 -0
- package/docs/ARCHITECTURE.md +34 -0
- package/docs/USAGE.md +60 -0
- package/package.json +48 -0
- package/skills/advise/SKILL.md +230 -0
- package/skills/agent-browser/SKILL.md +107 -0
- package/skills/agent-browser/references/.gitkeep +0 -0
- package/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +71 -0
- package/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/agentize/SKILL.md +312 -0
- package/skills/agentize/references/agent-centric-design.md +134 -0
- package/skills/agentize/references/auth-resolution-chain.md +95 -0
- package/skills/agentize/references/challenge-framework.md +68 -0
- package/skills/agentize/references/code-mode.md +106 -0
- package/skills/agentize/references/deployment-guide.md +94 -0
- package/skills/agentize/references/mcp-transports.md +139 -0
- package/skills/agentize/references/monorepo-layout.md +164 -0
- package/skills/agentize/references/oauth-streamable-http.md +110 -0
- package/skills/agentkit/SKILL.md +200 -0
- package/skills/agentkit/references/chaining-patterns.md +126 -0
- package/skills/agentkit/references/subagent-timing.md +107 -0
- package/skills/agentkit/references/task-taxonomy.md +63 -0
- package/skills/ai-artist/SKILL.md +132 -0
- package/skills/ai-artist/data/awesome-prompts.csv +3592 -0
- package/skills/ai-artist/data/platforms.csv +11 -0
- package/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ai-artist/references/domain-code.md +66 -0
- package/skills/ai-artist/references/domain-data.md +72 -0
- package/skills/ai-artist/references/domain-marketing.md +66 -0
- package/skills/ai-artist/references/domain-patterns.md +33 -0
- package/skills/ai-artist/references/domain-writing.md +68 -0
- package/skills/ai-artist/references/image-prompting.md +141 -0
- package/skills/ai-artist/references/llm-prompting.md +165 -0
- package/skills/ai-artist/references/nano-banana.md +136 -0
- package/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ai-artist/scripts/core.py +197 -0
- package/skills/ai-artist/scripts/generate.py +350 -0
- package/skills/ai-artist/scripts/search.py +147 -0
- package/skills/ai-multimodal/.env.example +13 -0
- package/skills/ai-multimodal/SKILL.md +234 -0
- package/skills/ai-multimodal/references/audio-processing.md +32 -0
- package/skills/ai-multimodal/references/image-generation.md +38 -0
- package/skills/ai-multimodal/references/minimax-generation.md +22 -0
- package/skills/ai-multimodal/references/music-generation.md +25 -0
- package/skills/ai-multimodal/references/video-analysis.md +27 -0
- package/skills/ai-multimodal/references/video-generation.md +28 -0
- package/skills/ai-multimodal/references/vision-understanding.md +27 -0
- package/skills/ai-multimodal/skill.yaml +3 -0
- package/skills/ak/SKILL.md +203 -0
- package/skills/ak/references/command-reference.md +189 -0
- package/skills/ask/SKILL.md +54 -0
- package/skills/autoresearch/SKILL.md +61 -0
- package/skills/backend-development/SKILL.md +102 -0
- package/skills/backend-development/references/backend-api-design.md +495 -0
- package/skills/backend-development/references/backend-architecture.md +454 -0
- package/skills/backend-development/references/backend-authentication.md +338 -0
- package/skills/backend-development/references/backend-code-quality.md +659 -0
- package/skills/backend-development/references/backend-debugging.md +904 -0
- package/skills/backend-development/references/backend-devops.md +494 -0
- package/skills/backend-development/references/backend-mindset.md +387 -0
- package/skills/backend-development/references/backend-performance.md +397 -0
- package/skills/backend-development/references/backend-security.md +290 -0
- package/skills/backend-development/references/backend-technologies.md +256 -0
- package/skills/backend-development/references/backend-testing.md +429 -0
- package/skills/better-auth/SKILL.md +220 -0
- package/skills/better-auth/references/advanced-features.md +553 -0
- package/skills/better-auth/references/database-integration.md +577 -0
- package/skills/better-auth/references/email-password-auth.md +416 -0
- package/skills/better-auth/references/oauth-providers.md +430 -0
- package/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/skills/better-auth/scripts/requirements.txt +15 -0
- package/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/skills/bootstrap/SKILL.md +168 -0
- package/skills/bootstrap/references/shared-phases.md +56 -0
- package/skills/bootstrap/references/workflow-auto.md +55 -0
- package/skills/bootstrap/references/workflow-fast.md +53 -0
- package/skills/bootstrap/references/workflow-full.md +63 -0
- package/skills/bootstrap/references/workflow-parallel.md +63 -0
- package/skills/brainstorm/SKILL.md +249 -0
- package/skills/brainstorm/references/advisory-supervision.md +80 -0
- package/skills/brainstorm/references/ultra-verifier-mode.md +167 -0
- package/skills/bro/SKILL.md +32 -0
- package/skills/chrome-profile/LICENSE +22 -0
- package/skills/chrome-profile/SKILL.md +226 -0
- package/skills/chrome-profile/profiles.example.json +7 -0
- package/skills/chrome-profile/references/architecture.md +86 -0
- package/skills/chrome-profile/references/mcp-config-recipes.md +209 -0
- package/skills/chrome-profile/references/troubleshooting.md +85 -0
- package/skills/chrome-profile/scripts/chrome_profile_cli.py +876 -0
- package/skills/chrome-profile/scripts/install.cmd +52 -0
- package/skills/chrome-profile/scripts/install.sh +42 -0
- package/skills/chrome-profile/scripts/test_chrome_profile.py +397 -0
- package/skills/chrome-profile/scripts/uninstall.cmd +53 -0
- package/skills/chrome-profile/scripts/uninstall.sh +57 -0
- package/skills/clarify/SKILL.md +38 -0
- package/skills/code-review/SKILL.md +252 -0
- package/skills/code-review/references/checklist-workflow.md +100 -0
- package/skills/code-review/references/checklists/api.md +52 -0
- package/skills/code-review/references/checklists/base.md +100 -0
- package/skills/code-review/references/checklists/web-app.md +54 -0
- package/skills/code-review/references/code-review-reception.md +115 -0
- package/skills/code-review/references/codebase-scan-workflow.md +30 -0
- package/skills/code-review/references/edge-case-scouting.md +119 -0
- package/skills/code-review/references/input-mode-resolution.md +135 -0
- package/skills/code-review/references/parallel-review-workflow.md +77 -0
- package/skills/code-review/references/requesting-code-review.md +116 -0
- package/skills/code-review/references/spec-compliance-review.md +43 -0
- package/skills/code-review/references/task-management-reviews.md +51 -0
- package/skills/code-review/references/verification-before-completion.md +139 -0
- package/skills/codex-goal/SKILL.md +76 -0
- package/skills/coding-level/SKILL.md +78 -0
- package/skills/common/README.md +110 -0
- package/skills/common/SKILL.md +11 -0
- package/skills/context-engineering/SKILL.md +114 -0
- package/skills/context-engineering/references/context-compression.md +84 -0
- package/skills/context-engineering/references/context-degradation.md +93 -0
- package/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/context-engineering/references/context-optimization.md +82 -0
- package/skills/context-engineering/references/evaluation.md +89 -0
- package/skills/context-engineering/references/memory-systems.md +88 -0
- package/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/context-engineering/references/project-development.md +97 -0
- package/skills/context-engineering/references/runtime-awareness.md +202 -0
- package/skills/context-engineering/references/tool-design.md +86 -0
- package/skills/context-engineering/scripts/compression_evaluator.py +349 -0
- package/skills/context-engineering/scripts/context_analyzer.py +317 -0
- package/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/skills/cook/README.md +15 -0
- package/skills/cook/SKILL.md +306 -0
- package/skills/cook/references/intent-detection.md +109 -0
- package/skills/cook/references/plan-state-files-first.md +182 -0
- package/skills/cook/references/review-cycle.md +75 -0
- package/skills/cook/references/subagent-patterns.md +87 -0
- package/skills/cook/references/workflow-routing.md +53 -0
- package/skills/cook/references/workflow-steps.md +261 -0
- package/skills/copywriting/SKILL.md +96 -0
- package/skills/copywriting/references/copy-formulas.md +150 -0
- package/skills/copywriting/references/cta-patterns.md +168 -0
- package/skills/copywriting/references/email-copy.md +193 -0
- package/skills/copywriting/references/headline-templates.md +140 -0
- package/skills/copywriting/references/landing-page-copy.md +175 -0
- package/skills/copywriting/references/power-words.md +189 -0
- package/skills/copywriting/references/social-media-copy.md +222 -0
- package/skills/copywriting/references/writing-styles.md +247 -0
- package/skills/copywriting/scripts/extract-writing-styles.py +304 -0
- package/skills/copywriting/templates/copy-brief.md +49 -0
- package/skills/cti-expert/LICENSE +62 -0
- package/skills/cti-expert/README.md +1318 -0
- package/skills/cti-expert/SKILL.md +927 -0
- package/skills/cti-expert/analysis/archive-explorer.md +370 -0
- package/skills/cti-expert/analysis/auto-branch-rules.md +198 -0
- package/skills/cti-expert/analysis/cross-reference-engine.md +194 -0
- package/skills/cti-expert/analysis/deviation-detector.md +187 -0
- package/skills/cti-expert/analysis/drift-monitor.md +198 -0
- package/skills/cti-expert/analysis/exposure-model.md +195 -0
- package/skills/cti-expert/analysis/pattern-library.md +217 -0
- package/skills/cti-expert/analysis/risk-trend-tracker.md +169 -0
- package/skills/cti-expert/analysis/signature-catalog.md +195 -0
- package/skills/cti-expert/analysis/weight-engine.md +198 -0
- package/skills/cti-expert/connectors/maltego-export.md +565 -0
- package/skills/cti-expert/connectors/notion-schema.md +517 -0
- package/skills/cti-expert/connectors/obsidian-setup.md +718 -0
- package/skills/cti-expert/engine/case-schema.json +535 -0
- package/skills/cti-expert/engine/conflict-resolver.md +445 -0
- package/skills/cti-expert/engine/finding-framework.md +386 -0
- package/skills/cti-expert/engine/subject-registry.md +640 -0
- package/skills/cti-expert/engine/workspace-format.md +447 -0
- package/skills/cti-expert/engine/workspace-manager.md +595 -0
- package/skills/cti-expert/experience/accessibility/accessible-mode.md +306 -0
- package/skills/cti-expert/experience/accessibility/glossary.md +242 -0
- package/skills/cti-expert/experience/case-progress.md +190 -0
- package/skills/cti-expert/experience/case-templates/tpl-background-check.md +499 -0
- package/skills/cti-expert/experience/case-templates/tpl-due-diligence.md +205 -0
- package/skills/cti-expert/experience/case-templates/tpl-index.md +195 -0
- package/skills/cti-expert/experience/case-templates/tpl-security-review.md +272 -0
- package/skills/cti-expert/experience/feedback-system.md +176 -0
- package/skills/cti-expert/experience/guidance-system.md +234 -0
- package/skills/cti-expert/experience/guided-flows/flow-domain-sweep.md +275 -0
- package/skills/cti-expert/experience/guided-flows/flow-image-check.md +306 -0
- package/skills/cti-expert/experience/guided-flows/flow-person-lookup.md +286 -0
- package/skills/cti-expert/experience/layered-detail.md +205 -0
- package/skills/cti-expert/experience/skill-tiers.md +164 -0
- package/skills/cti-expert/experience/tutorial.md +198 -0
- package/skills/cti-expert/guides/walkthroughs/walkthrough-domain-sweep.md +131 -0
- package/skills/cti-expert/guides/walkthroughs/walkthrough-person-lookup.md +124 -0
- package/skills/cti-expert/guides/walkthroughs/walkthrough-username-trace.md +130 -0
- package/skills/cti-expert/handbook/discovery-paths.md +534 -0
- package/skills/cti-expert/handbook/operator-queries.md +337 -0
- package/skills/cti-expert/handbook/quick-report.md +96 -0
- package/skills/cti-expert/handbook/report-template.md +129 -0
- package/skills/cti-expert/handbook/tool-cascade-reference.md +249 -0
- package/skills/cti-expert/output/reports/citation-guide.md +145 -0
- package/skills/cti-expert/output/reports/export-specs.md +213 -0
- package/skills/cti-expert/output/reports/format-catalog.md +161 -0
- package/skills/cti-expert/output/reports/leadership-brief-template.md +531 -0
- package/skills/cti-expert/output/visuals/attack-path-diagram.md +178 -0
- package/skills/cti-expert/output/visuals/attack-surface-map.md +152 -0
- package/skills/cti-expert/output/visuals/case-dashboard.md +96 -0
- package/skills/cti-expert/output/visuals/chart-templates.md +1001 -0
- package/skills/cti-expert/output/visuals/render-engine.md +188 -0
- package/skills/cti-expert/output/visuals/ui-components.md +763 -0
- package/skills/cti-expert/scripts/cti_docx_charts.py +289 -0
- package/skills/cti-expert/scripts/cti_docx_diagrams.py +230 -0
- package/skills/cti-expert/scripts/cti_docx_postprocess.py +451 -0
- package/skills/cti-expert/scripts/cti_docx_sections.py +319 -0
- package/skills/cti-expert/scripts/cti_docx_styles.py +253 -0
- package/skills/cti-expert/scripts/generate-cti-docx-hybrid.py +178 -0
- package/skills/cti-expert/scripts/generate-cti-docx.py +210 -0
- package/skills/cti-expert/scripts/install.sh +322 -0
- package/skills/cti-expert/scripts/requirements.txt +6 -0
- package/skills/cti-expert/scripts/sample-cti-report-data.json +251 -0
- package/skills/cti-expert/techniques/advanced-geolocation-techniques.md +314 -0
- package/skills/cti-expert/techniques/agentflow-enrichment.md +150 -0
- package/skills/cti-expert/techniques/blockchain-investigation.md +247 -0
- package/skills/cti-expert/techniques/cloud-audit.md +175 -0
- package/skills/cti-expert/techniques/darknet-investigation.md +397 -0
- package/skills/cti-expert/techniques/dependency-audit.md +253 -0
- package/skills/cti-expert/techniques/disk-forensics.md +209 -0
- package/skills/cti-expert/techniques/domain-advanced.md +250 -0
- package/skills/cti-expert/techniques/email-osint.md +482 -0
- package/skills/cti-expert/techniques/fx-breach-discovery.md +142 -0
- package/skills/cti-expert/techniques/fx-dns-cert-history.md +257 -0
- package/skills/cti-expert/techniques/fx-document-forensics.md +64 -0
- package/skills/cti-expert/techniques/fx-document-leak-hunt.md +121 -0
- package/skills/cti-expert/techniques/fx-dork-sweep.md +157 -0
- package/skills/cti-expert/techniques/fx-email-header-analysis.md +91 -0
- package/skills/cti-expert/techniques/fx-geolocation.md +70 -0
- package/skills/cti-expert/techniques/fx-http-fingerprint.md +91 -0
- package/skills/cti-expert/techniques/fx-image-verification.md +87 -0
- package/skills/cti-expert/techniques/fx-leak-monitoring.md +84 -0
- package/skills/cti-expert/techniques/fx-metadata-parsing.md +96 -0
- package/skills/cti-expert/techniques/fx-network-mapping.md +95 -0
- package/skills/cti-expert/techniques/fx-social-topology.md +90 -0
- package/skills/cti-expert/techniques/fx-visitor-intelligence.md +413 -0
- package/skills/cti-expert/techniques/image-forensics-and-face-search.md +224 -0
- package/skills/cti-expert/techniques/incident-triage.md +197 -0
- package/skills/cti-expert/techniques/ioc-export.md +176 -0
- package/skills/cti-expert/techniques/microsoft-tenant-recon.md +86 -0
- package/skills/cti-expert/techniques/owasp-audit.md +178 -0
- package/skills/cti-expert/techniques/phone-osint.md +316 -0
- package/skills/cti-expert/techniques/prompt-injection-audit.md +236 -0
- package/skills/cti-expert/techniques/scam-check.md +217 -0
- package/skills/cti-expert/techniques/secret-scanning.md +195 -0
- package/skills/cti-expert/techniques/social-media-platforms.md +514 -0
- package/skills/cti-expert/techniques/threat-intel.md +315 -0
- package/skills/cti-expert/techniques/transport-tracking.md +353 -0
- package/skills/cti-expert/techniques/username-osint.md +227 -0
- package/skills/cti-expert/techniques/web-collection-scrapling.md +164 -0
- package/skills/cti-expert/techniques/web-dns-forensics.md +293 -0
- package/skills/cti-expert/techniques/web-traffic-analysis.md +180 -0
- package/skills/cti-expert/techniques/whois-universal.md +217 -0
- package/skills/cti-expert/techniques/wifi-ssid-osint.md +221 -0
- package/skills/cti-expert/validation/coverage-matrix.md +196 -0
- package/skills/cti-expert/validation/quality-scoring.md +114 -0
- package/skills/cti-expert/validation/verification-checklist.md +191 -0
- package/skills/cti-expert/workflows/wf-hr-screening.md +124 -0
- package/skills/cti-expert/workflows/wf-journalist.md +94 -0
- package/skills/cti-expert/workflows/wf-private-investigator.md +133 -0
- package/skills/cti-expert/workflows/wf-threat-analyst.md +126 -0
- package/skills/databases/SKILL.md +91 -0
- package/skills/databases/references/db-design.md +50 -0
- package/skills/databases/references/mongodb-aggregation.md +447 -0
- package/skills/databases/references/mongodb-atlas.md +465 -0
- package/skills/databases/references/mongodb-crud.md +408 -0
- package/skills/databases/references/mongodb-indexing.md +442 -0
- package/skills/databases/references/postgresql-administration.md +594 -0
- package/skills/databases/references/postgresql-performance.md +527 -0
- package/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/databases/references/postgresql-queries.md +475 -0
- package/skills/databases/scripts/db_backup.py +502 -0
- package/skills/databases/scripts/db_migrate.py +426 -0
- package/skills/databases/scripts/db_performance_check.py +457 -0
- package/skills/databases/scripts/requirements.txt +20 -0
- package/skills/databases/scripts/tests/coverage-db.json +1 -0
- package/skills/databases/scripts/tests/requirements.txt +4 -0
- package/skills/databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/debug/SKILL.md +161 -0
- package/skills/debug/references/defense-in-depth.md +124 -0
- package/skills/debug/references/frontend-verification.md +104 -0
- package/skills/debug/references/investigation-methodology.md +102 -0
- package/skills/debug/references/log-and-ci-analysis.md +97 -0
- package/skills/debug/references/performance-diagnostics.md +113 -0
- package/skills/debug/references/reporting-standards.md +122 -0
- package/skills/debug/references/root-cause-tracing.md +122 -0
- package/skills/debug/references/systematic-debugging.md +102 -0
- package/skills/debug/references/task-management-debugging.md +44 -0
- package/skills/debug/references/verification.md +123 -0
- package/skills/debug/scripts/find-polluter.sh +63 -0
- package/skills/debug/scripts/find-polluter.test.md +102 -0
- package/skills/deep-swe/LICENSE.txt +21 -0
- package/skills/deep-swe/SKILL.md +82 -0
- package/skills/deploy/SKILL.md +161 -0
- package/skills/deploy/references/platform-config-templates.md +35 -0
- package/skills/deploy/references/platforms/aws.md +58 -0
- package/skills/deploy/references/platforms/cloudflare.md +41 -0
- package/skills/deploy/references/platforms/coolify.md +32 -0
- package/skills/deploy/references/platforms/digitalocean.md +45 -0
- package/skills/deploy/references/platforms/dokploy.md +29 -0
- package/skills/deploy/references/platforms/flyio.md +54 -0
- package/skills/deploy/references/platforms/gcp.md +45 -0
- package/skills/deploy/references/platforms/github-pages.md +56 -0
- package/skills/deploy/references/platforms/heroku.md +31 -0
- package/skills/deploy/references/platforms/netlify.md +39 -0
- package/skills/deploy/references/platforms/railway.md +38 -0
- package/skills/deploy/references/platforms/render.md +39 -0
- package/skills/deploy/references/platforms/tose.md +35 -0
- package/skills/deploy/references/platforms/vercel.md +37 -0
- package/skills/deploy/references/platforms/vultr.md +27 -0
- package/skills/design/SKILL.md +368 -0
- package/skills/design/data/cip/deliverables.csv +51 -0
- package/skills/design/data/cip/industries.csv +21 -0
- package/skills/design/data/cip/mockup-contexts.csv +21 -0
- package/skills/design/data/cip/styles.csv +21 -0
- package/skills/design/data/icon/styles.csv +16 -0
- package/skills/design/data/logo/colors.csv +56 -0
- package/skills/design/data/logo/industries.csv +56 -0
- package/skills/design/data/logo/styles.csv +56 -0
- package/skills/design/data/poster/analysis/clusters.json +460 -0
- package/skills/design/data/poster/analysis/raw/03830de3c6fa0bec270ba0d7fc0e7846.json +41 -0
- package/skills/design/data/poster/analysis/raw/0720a64949fc9de76f4ef558c4a2a255.json +44 -0
- package/skills/design/data/poster/analysis/raw/0d2b819566c50e78e085d92cfc86d027.json +44 -0
- package/skills/design/data/poster/analysis/raw/11a3b9453165c20f093ba2b23dd88d12.json +43 -0
- package/skills/design/data/poster/analysis/raw/1327e16933d7c1a9f29e0b7427088724.json +45 -0
- package/skills/design/data/poster/analysis/raw/19b3f41ac3316417b7b3c05b6f259f78.json +45 -0
- package/skills/design/data/poster/analysis/raw/1d3081c243a0158eef6ac3f75fc9b210.json +44 -0
- package/skills/design/data/poster/analysis/raw/1e087bf80f15859a8c25f64c1f60eb05.json +46 -0
- package/skills/design/data/poster/analysis/raw/206bbb22ad70bdf9424a352c53885ded.json +44 -0
- package/skills/design/data/poster/analysis/raw/208f93c9e0e26a587c675482bb6159c0.json +46 -0
- package/skills/design/data/poster/analysis/raw/20a8613560d7b6950b3bb60f3b305ee9.json +46 -0
- package/skills/design/data/poster/analysis/raw/23b7c4cf67425a4586f52b5ab3193485.json +45 -0
- package/skills/design/data/poster/analysis/raw/29a4c5c51006e4e614a5d4e5f9a0cf38.json +42 -0
- package/skills/design/data/poster/analysis/raw/2ebb49c2e9cee470cfbf140ff55908db.json +45 -0
- package/skills/design/data/poster/analysis/raw/2f3b297a6f24872fb8e6b4df1b952ee7.json +43 -0
- package/skills/design/data/poster/analysis/raw/2f674e0079d3b0072bc464befc013291.json +44 -0
- package/skills/design/data/poster/analysis/raw/310540d28ae16e6c2e287e2848a70d59.json +42 -0
- package/skills/design/data/poster/analysis/raw/329159bd006090d76c9f17723b03266e.json +47 -0
- package/skills/design/data/poster/analysis/raw/32ce1f4f0710079bfcad7e9cd8b9ac23.json +46 -0
- package/skills/design/data/poster/analysis/raw/35021de3de00711b2253f3998a676ac7.json +43 -0
- package/skills/design/data/poster/analysis/raw/352817058d62df6c2a2187529ebc0811.json +44 -0
- package/skills/design/data/poster/analysis/raw/36097cd2af4616c9352ceef92e5b743e.json +44 -0
- package/skills/design/data/poster/analysis/raw/36f617c7bd8eb399694be84da430c4fe.json +42 -0
- package/skills/design/data/poster/analysis/raw/3931212aa88036d9380735e577f301c5.json +43 -0
- package/skills/design/data/poster/analysis/raw/39dbb26b8a479d276329d352fe530540.json +45 -0
- package/skills/design/data/poster/analysis/raw/3dc3adf1e1542239db8acbe7233ef6d3.json +44 -0
- package/skills/design/data/poster/analysis/raw/3f168ed33e3a90bca52d731b43b7f8ff.json +46 -0
- package/skills/design/data/poster/analysis/raw/43e8f9dec2c7b2b090ec370bd0948920.json +48 -0
- package/skills/design/data/poster/analysis/raw/451205c93b056ccbc22cbe473afacf2c.json +45 -0
- package/skills/design/data/poster/analysis/raw/451a8579b449a332a95f0b8f1022ce97.json +44 -0
- package/skills/design/data/poster/analysis/raw/463e4a2b40d25116c7fb6edc4f62a237.json +43 -0
- package/skills/design/data/poster/analysis/raw/4700136bbc2d6987577c3c16f4e187b3.json +43 -0
- package/skills/design/data/poster/analysis/raw/49d16faee41a2b99901fca62dc41fcbd.json +45 -0
- package/skills/design/data/poster/analysis/raw/4b25a302c481d7aa8913bcd5d5053688.json +43 -0
- package/skills/design/data/poster/analysis/raw/4e84eb4cb51d17fdaa195243e9271c0c.json +44 -0
- package/skills/design/data/poster/analysis/raw/4f616e824a5d2b3b596b4b07128cd2e2.json +45 -0
- package/skills/design/data/poster/analysis/raw/4f7e7f95ec46254afbcb4ed0f2f3556a.json +43 -0
- package/skills/design/data/poster/analysis/raw/52df1b896ff6d0d0de31f9e1e38cddc9.json +46 -0
- package/skills/design/data/poster/analysis/raw/5364e461254c715eb4302b5daafd8ce1.json +44 -0
- package/skills/design/data/poster/analysis/raw/558fa3a048e27a9558d0d568c15b7cf0.json +44 -0
- package/skills/design/data/poster/analysis/raw/5737d7fd13c865fff12218cd86d4a176.json +43 -0
- package/skills/design/data/poster/analysis/raw/59dda9c5466b0ca79913f3874efa36a1.json +44 -0
- package/skills/design/data/poster/analysis/raw/59ea108d8959586d359980808dc84fc3.json +44 -0
- package/skills/design/data/poster/analysis/raw/5c9277ead15d4e599740c7d6e698c3fa.json +44 -0
- package/skills/design/data/poster/analysis/raw/629edf88f617724399b5b5ee70c9fde9.json +45 -0
- package/skills/design/data/poster/analysis/raw/65326a5cf732897196f0fe5d81e1d7b5.json +44 -0
- package/skills/design/data/poster/analysis/raw/6ec5149c0f8046824346106d4ccaa9b7.json +44 -0
- package/skills/design/data/poster/analysis/raw/6fa6fe57aebc755736959ad860b806fd.json +45 -0
- package/skills/design/data/poster/analysis/raw/72f7066f8bfd58ae11cba72b7e986c67.json +45 -0
- package/skills/design/data/poster/analysis/raw/74a1e3bb73287a3e587d670074d3e09c.json +45 -0
- package/skills/design/data/poster/analysis/raw/75b9a7dbfc4f5298f6092a3dbbda9c80.json +44 -0
- package/skills/design/data/poster/analysis/raw/763a0cf095244d0ae0244a89d1863890.json +43 -0
- package/skills/design/data/poster/analysis/raw/780f94a12f778c2f2b5514597c6fef4a.json +48 -0
- package/skills/design/data/poster/analysis/raw/79bba33787bae383c829457dd6d90c02.json +44 -0
- package/skills/design/data/poster/analysis/raw/7a1e91d4e6c39f5d278ab4c833616ebf.json +44 -0
- package/skills/design/data/poster/analysis/raw/7a3e1681626bc52e3888dba109a072ba.json +44 -0
- package/skills/design/data/poster/analysis/raw/7b4120d6690f603ac417c9395a9b0aa7.json +44 -0
- package/skills/design/data/poster/analysis/raw/7bd18b2d9f4c813402f7bc5a4beb5022.json +44 -0
- package/skills/design/data/poster/analysis/raw/7e14dd460280476a871db304cd5b266b.json +45 -0
- package/skills/design/data/poster/analysis/raw/804ab63a723f046ed504683e5ff029ac.json +44 -0
- package/skills/design/data/poster/analysis/raw/80f5c85b6886175b4d4cdb009c33bd4b.json +46 -0
- package/skills/design/data/poster/analysis/raw/84f8e5e99ecc1448694574af98c9b261.json +43 -0
- package/skills/design/data/poster/analysis/raw/889907f1db801ccf18426d7111f37ad5.json +42 -0
- package/skills/design/data/poster/analysis/raw/8a800a072bcb22af6a8851b2d9274af4.json +46 -0
- package/skills/design/data/poster/analysis/raw/8ab3a73073a3d2be0f50605265264aa8.json +45 -0
- package/skills/design/data/poster/analysis/raw/8e9ab36670f8abb6e30ea8ee0936e76a.json +43 -0
- package/skills/design/data/poster/analysis/raw/961cdae977416844899cdf6d27f68c17.json +44 -0
- package/skills/design/data/poster/analysis/raw/9befb4c704b8f90d7988ca53b27bbaf8.json +46 -0
- package/skills/design/data/poster/analysis/raw/9cd149253f974524620fc7e626e7ab8b.json +45 -0
- package/skills/design/data/poster/analysis/raw/9e8eb8cd216c308eb955be98c8b5469c.json +43 -0
- package/skills/design/data/poster/analysis/raw/a00214fa42e14653b71e7e19750b2dd1.json +44 -0
- package/skills/design/data/poster/analysis/raw/a559e4c0235989ea746a1580a7a5fd67.json +46 -0
- package/skills/design/data/poster/analysis/raw/a820e920a16841be386901670b719cf8.json +45 -0
- package/skills/design/data/poster/analysis/raw/a886ff142548b39c4502de58a2c84015.json +44 -0
- package/skills/design/data/poster/analysis/raw/aaae7f36ab82d74cd378422e615e0c6b.json +47 -0
- package/skills/design/data/poster/analysis/raw/ad954edcb87747e9098689cbe4baa5ef.json +44 -0
- package/skills/design/data/poster/analysis/raw/ae121a7d8e2061230c1e894400c8a373.json +44 -0
- package/skills/design/data/poster/analysis/raw/ae8e1437e0cc1aaded8f58f5009e019d.json +46 -0
- package/skills/design/data/poster/analysis/raw/afdad5e00f97585a463bcc08b03f57a9.json +44 -0
- package/skills/design/data/poster/analysis/raw/b070823f2005d717d491ba63ceb79335.json +43 -0
- package/skills/design/data/poster/analysis/raw/b3f19b9d48b6bd983a43358cca317e8f.json +44 -0
- package/skills/design/data/poster/analysis/raw/b512b0981a30a0b48f8b0a8c20fbad39.json +44 -0
- package/skills/design/data/poster/analysis/raw/b545932bc5c82b7bb13a2f340f0eb38d.json +44 -0
- package/skills/design/data/poster/analysis/raw/b63f0dd0ab98a335966e47f29795f9c2.json +42 -0
- package/skills/design/data/poster/analysis/raw/bdc469042c5e3dc7e6e3748b431ae2a6.json +45 -0
- package/skills/design/data/poster/analysis/raw/c19c048627cb33e313b02b020789ce71.json +46 -0
- package/skills/design/data/poster/analysis/raw/c30fb63c7960e6bad555c859b4001111.json +47 -0
- package/skills/design/data/poster/analysis/raw/cbe2866e0e348558718f7e77168f0be7.json +46 -0
- package/skills/design/data/poster/analysis/raw/cd3600a62153c51f0a82aace1c49e56a.json +45 -0
- package/skills/design/data/poster/analysis/raw/d1f6cc3afc6b1ec24165658ec52495a0.json +46 -0
- package/skills/design/data/poster/analysis/raw/d28930761f38f870bd181a91bc20d283.json +47 -0
- package/skills/design/data/poster/analysis/raw/d4b8f9a965ada05816219f382658885b.json +44 -0
- package/skills/design/data/poster/analysis/raw/d526846fb5a303411a18ffb41c93995d.json +45 -0
- package/skills/design/data/poster/analysis/raw/d52d0671f8a0d52c5d1343020b8f3e8e.json +45 -0
- package/skills/design/data/poster/analysis/raw/d5c9c14b21ac3a63d3029c736af62814.json +45 -0
- package/skills/design/data/poster/analysis/raw/d8209a3ab55acb51fc51a77807842349.json +46 -0
- package/skills/design/data/poster/analysis/raw/da140c13475db4beeaf53a923139e6a6.json +45 -0
- package/skills/design/data/poster/analysis/raw/daf8de499d7734e187779e1400361420.json +45 -0
- package/skills/design/data/poster/analysis/raw/db7b1e073e80bee4fec31bfaabe06565.json +44 -0
- package/skills/design/data/poster/analysis/raw/dcba357e7239c0f3b7eddf412558e68c.json +42 -0
- package/skills/design/data/poster/analysis/raw/dcc5bc4453e379070d8dac1f8a50704d.json +46 -0
- package/skills/design/data/poster/analysis/raw/download.json +46 -0
- package/skills/design/data/poster/analysis/raw/e148e8bcff846b7c872c7c1d50452fd4.json +44 -0
- package/skills/design/data/poster/analysis/raw/e690c2a063b2e91da0612d818ac8f2f4.json +44 -0
- package/skills/design/data/poster/analysis/raw/e697e58f5a500c4b7ba0fb5c02a5506e.json +45 -0
- package/skills/design/data/poster/analysis/raw/ecb624bec81a0d5b229dc2fe4ed585fd.json +47 -0
- package/skills/design/data/poster/analysis/raw/eed5317c07fd8b093f039a0848e801d8.json +44 -0
- package/skills/design/data/poster/analysis/raw/f1853524781a04e99e9279cd6526e447.json +44 -0
- package/skills/design/data/poster/analysis/raw/f1a3249b2798d37edb956bfe1ea9d44b.json +44 -0
- package/skills/design/data/poster/analysis/raw/f3a81ad0c4189fd3ef83122e4c3f1d18.json +43 -0
- package/skills/design/data/poster/analysis/raw/f3e0358f167e6471f7dd6636529a9fc6.json +46 -0
- package/skills/design/data/poster/analysis/raw/f99f4bfc2eb5f0b11f8069aab956231b.json +47 -0
- package/skills/design/data/poster/analysis/raw/fc92743155daf8ccafe80dad8f7b1907.json +46 -0
- package/skills/design/data/poster/poster-layouts.csv +15 -0
- package/skills/design/data/poster/poster-palettes.csv +17 -0
- package/skills/design/data/poster/poster-styles.csv +23 -0
- package/skills/design/data/poster/poster-textures.csv +9 -0
- package/skills/design/references/banner-sizes-and-styles.md +118 -0
- package/skills/design/references/brand-asset-protocol.md +226 -0
- package/skills/design/references/cip-deliverable-guide.md +95 -0
- package/skills/design/references/cip-design.md +121 -0
- package/skills/design/references/cip-prompt-engineering.md +84 -0
- package/skills/design/references/cip-style-guide.md +68 -0
- package/skills/design/references/design-critique-guide.md +246 -0
- package/skills/design/references/design-routing.md +209 -0
- package/skills/design/references/design-workflow.md +194 -0
- package/skills/design/references/handoff-gate.md +56 -0
- package/skills/design/references/icon-design.md +122 -0
- package/skills/design/references/logo-color-psychology.md +101 -0
- package/skills/design/references/logo-design.md +92 -0
- package/skills/design/references/logo-prompt-engineering.md +158 -0
- package/skills/design/references/logo-style-guide.md +109 -0
- package/skills/design/references/poster-design.md +86 -0
- package/skills/design/references/poster-prompt-engineering.md +69 -0
- package/skills/design/references/slides-copywriting-formulas.md +84 -0
- package/skills/design/references/slides-create.md +4 -0
- package/skills/design/references/slides-html-template.md +295 -0
- package/skills/design/references/slides-layout-patterns.md +137 -0
- package/skills/design/references/slides-strategies.md +94 -0
- package/skills/design/references/slides.md +42 -0
- package/skills/design/references/social-photos-design.md +329 -0
- package/skills/design/scripts/cip/core.py +215 -0
- package/skills/design/scripts/cip/generate.py +484 -0
- package/skills/design/scripts/cip/render-html.py +424 -0
- package/skills/design/scripts/cip/search.py +127 -0
- package/skills/design/scripts/icon/generate.py +487 -0
- package/skills/design/scripts/logo/core.py +175 -0
- package/skills/design/scripts/logo/generate.py +362 -0
- package/skills/design/scripts/logo/search.py +114 -0
- package/skills/design/scripts/poster/analyze.py +124 -0
- package/skills/design/scripts/poster/cluster.py +432 -0
- package/skills/design/scripts/poster/core.py +124 -0
- package/skills/design/scripts/poster/generate.py +176 -0
- package/skills/design/scripts/poster/search.py +132 -0
- package/skills/devops/.env.example +76 -0
- package/skills/devops/SKILL.md +98 -0
- package/skills/devops/references/browser-rendering.md +305 -0
- package/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/devops/references/cloudflare-platform.md +271 -0
- package/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/devops/references/docker-basics.md +297 -0
- package/skills/devops/references/docker-compose.md +292 -0
- package/skills/devops/references/gcloud-platform.md +297 -0
- package/skills/devops/references/gcloud-services.md +304 -0
- package/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/devops/scripts/docker_optimize.py +332 -0
- package/skills/devops/scripts/requirements.txt +20 -0
- package/skills/devops/scripts/tests/requirements.txt +3 -0
- package/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/diagram/SKILL.md +186 -0
- package/skills/diagram/agents/openai.yaml +4 -0
- package/skills/diagram/assets/connector-effects.css +122 -0
- package/skills/diagram/assets/effects-demo.html +125 -0
- package/skills/diagram/assets/mermaid.min.js +2314 -0
- package/skills/diagram/assets/templates/architecture/dark.html +190 -0
- package/skills/diagram/assets/templates/architecture/full.html +202 -0
- package/skills/diagram/assets/templates/architecture/light.html +191 -0
- package/skills/diagram/assets/templates/bar/dark.html +137 -0
- package/skills/diagram/assets/templates/bar/full.html +113 -0
- package/skills/diagram/assets/templates/bar/light.html +137 -0
- package/skills/diagram/assets/templates/data-flow/dark.html +151 -0
- package/skills/diagram/assets/templates/data-flow/full.html +193 -0
- package/skills/diagram/assets/templates/data-flow/light.html +151 -0
- package/skills/diagram/assets/templates/dp-integration/dark.html +88 -0
- package/skills/diagram/assets/templates/dp-integration/full.html +98 -0
- package/skills/diagram/assets/templates/dp-integration/light.html +88 -0
- package/skills/diagram/assets/templates/dp-security-matrix/dark.html +39 -0
- package/skills/diagram/assets/templates/dp-security-matrix/full.html +40 -0
- package/skills/diagram/assets/templates/dp-security-matrix/light.html +96 -0
- package/skills/diagram/assets/templates/flowchart/dark.html +164 -0
- package/skills/diagram/assets/templates/flowchart/full.html +167 -0
- package/skills/diagram/assets/templates/flowchart/light.html +164 -0
- package/skills/diagram/assets/templates/gantt/dark.html +145 -0
- package/skills/diagram/assets/templates/gantt/full.html +135 -0
- package/skills/diagram/assets/templates/gantt/light.html +145 -0
- package/skills/diagram/assets/templates/high-level/dark.html +259 -0
- package/skills/diagram/assets/templates/high-level/full.html +255 -0
- package/skills/diagram/assets/templates/high-level/light.html +309 -0
- package/skills/diagram/assets/templates/it-state/dark.html +98 -0
- package/skills/diagram/assets/templates/it-state/full.html +77 -0
- package/skills/diagram/assets/templates/it-state/light.html +136 -0
- package/skills/diagram/assets/templates/layers/dark.html +131 -0
- package/skills/diagram/assets/templates/layers/full.html +134 -0
- package/skills/diagram/assets/templates/layers/light.html +131 -0
- package/skills/diagram/assets/templates/line/dark.html +119 -0
- package/skills/diagram/assets/templates/line/full.html +113 -0
- package/skills/diagram/assets/templates/line/light.html +119 -0
- package/skills/diagram/assets/templates/loop/dark.html +108 -0
- package/skills/diagram/assets/templates/loop/full.html +145 -0
- package/skills/diagram/assets/templates/loop/light.html +108 -0
- package/skills/diagram/assets/templates/medallion/dark.html +167 -0
- package/skills/diagram/assets/templates/medallion/full.html +209 -0
- package/skills/diagram/assets/templates/medallion/light.html +167 -0
- package/skills/diagram/assets/templates/nested/dark.html +140 -0
- package/skills/diagram/assets/templates/nested/full.html +143 -0
- package/skills/diagram/assets/templates/nested/light.html +144 -0
- package/skills/diagram/assets/templates/org-chart/dark.html +53 -0
- package/skills/diagram/assets/templates/org-chart/full.html +53 -0
- package/skills/diagram/assets/templates/org-chart/light.html +53 -0
- package/skills/diagram/assets/templates/process/dark.html +72 -0
- package/skills/diagram/assets/templates/process/full.html +82 -0
- package/skills/diagram/assets/templates/process/light.html +72 -0
- package/skills/diagram/assets/templates/pyramid/dark.html +127 -0
- package/skills/diagram/assets/templates/pyramid/full.html +130 -0
- package/skills/diagram/assets/templates/pyramid/light.html +127 -0
- package/skills/diagram/assets/templates/quadrant/dark.html +143 -0
- package/skills/diagram/assets/templates/quadrant/full.html +146 -0
- package/skills/diagram/assets/templates/quadrant/light.html +143 -0
- package/skills/diagram/assets/templates/radar/dark.html +147 -0
- package/skills/diagram/assets/templates/radar/full.html +143 -0
- package/skills/diagram/assets/templates/radar/light.html +147 -0
- package/skills/diagram/assets/templates/scatter/dark.html +149 -0
- package/skills/diagram/assets/templates/scatter/full.html +124 -0
- package/skills/diagram/assets/templates/scatter/light.html +149 -0
- package/skills/diagram/assets/templates/sequence/dark.html +230 -0
- package/skills/diagram/assets/templates/sequence/full.html +396 -0
- package/skills/diagram/assets/templates/sequence/light.html +230 -0
- package/skills/diagram/assets/templates/state/dark.html +155 -0
- package/skills/diagram/assets/templates/state/full.html +158 -0
- package/skills/diagram/assets/templates/state/light.html +155 -0
- package/skills/diagram/assets/templates/swimlane/dark.html +180 -0
- package/skills/diagram/assets/templates/swimlane/full.html +183 -0
- package/skills/diagram/assets/templates/swimlane/light.html +180 -0
- package/skills/diagram/assets/templates/timeline/dark.html +143 -0
- package/skills/diagram/assets/templates/timeline/full.html +146 -0
- package/skills/diagram/assets/templates/timeline/light.html +143 -0
- package/skills/diagram/assets/tokens.css +116 -0
- package/skills/diagram/references/animation-effects.md +142 -0
- package/skills/diagram/references/mermaid-input.md +62 -0
- package/skills/diagram/references/per-type-schemas/README.md +60 -0
- package/skills/diagram/references/per-type-schemas/architecture.json +50 -0
- package/skills/diagram/references/per-type-schemas/bar.json +44 -0
- package/skills/diagram/references/per-type-schemas/data-flow.json +71 -0
- package/skills/diagram/references/per-type-schemas/dp-integration.json +47 -0
- package/skills/diagram/references/per-type-schemas/dp-security-matrix.json +51 -0
- package/skills/diagram/references/per-type-schemas/high-level.json +47 -0
- package/skills/diagram/references/per-type-schemas/it-state.json +51 -0
- package/skills/diagram/references/per-type-schemas/layers.json +41 -0
- package/skills/diagram/references/per-type-schemas/line.json +65 -0
- package/skills/diagram/references/per-type-schemas/loop.json +19 -0
- package/skills/diagram/references/per-type-schemas/medallion.json +48 -0
- package/skills/diagram/references/per-type-schemas/nested.json +45 -0
- package/skills/diagram/references/per-type-schemas/org-chart.json +48 -0
- package/skills/diagram/references/per-type-schemas/process.json +35 -0
- package/skills/diagram/references/per-type-schemas/pyramid.json +37 -0
- package/skills/diagram/references/per-type-schemas/quadrant.json +78 -0
- package/skills/diagram/references/per-type-schemas/radar.json +57 -0
- package/skills/diagram/references/per-type-schemas/scatter.json +58 -0
- package/skills/diagram/references/per-type-schemas/swimlane.json +50 -0
- package/skills/diagram/references/per-type-schemas/timeline.json +50 -0
- package/skills/diagram/references/snapshot-hashes.yaml +73 -0
- package/skills/diagram/references/snapshot-requirements.txt +2 -0
- package/skills/diagram/references/vendoring-metadata.yaml +379 -0
- package/skills/diagram/scripts/doctor.py +153 -0
- package/skills/diagram/scripts/record.py +151 -0
- package/skills/diagram/scripts/render.py +276 -0
- package/skills/diagram/scripts/snapshot_test.py +200 -0
- package/skills/diagram/scripts/vendor_from_upstream.py +201 -0
- package/skills/docs/SKILL.md +123 -0
- package/skills/docs/references/agent-context-rules.md +103 -0
- package/skills/docs/references/agents-workflow.md +268 -0
- package/skills/docs/references/doc-content-rules.md +77 -0
- package/skills/docs/references/documentation-management.md +51 -0
- package/skills/docs/references/init-workflow.md +60 -0
- package/skills/docs/references/llms.md +151 -0
- package/skills/docs/references/practical-principles-for-setting-up-and-running-tests.md +85 -0
- package/skills/docs/references/summarize-workflow.md +16 -0
- package/skills/docs/references/update-workflow.md +58 -0
- package/skills/docs-seeker/.env.example +15 -0
- package/skills/docs-seeker/SKILL.md +104 -0
- package/skills/docs-seeker/package.json +25 -0
- package/skills/docs-seeker/references/advanced.md +79 -0
- package/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/skills/docs-seeker/references/errors.md +68 -0
- package/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
- package/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/skills/docs-seeker/workflows/library-search.md +87 -0
- package/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/skills/document-skills/SKILL.md +10 -0
- package/skills/document-skills/ak-docx/LICENSE.txt +30 -0
- package/skills/document-skills/ak-docx/SKILL.md +204 -0
- package/skills/document-skills/ak-docx/docx-js.md +350 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/document-skills/ak-docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/pack.py +159 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/unpack.py +29 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/validate.py +69 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/document-skills/ak-docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/document-skills/ak-docx/ooxml.md +610 -0
- package/skills/document-skills/ak-docx/scripts/__init__.py +1 -0
- package/skills/document-skills/ak-docx/scripts/document.py +1276 -0
- package/skills/document-skills/ak-docx/scripts/templates/comments.xml +3 -0
- package/skills/document-skills/ak-docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/document-skills/ak-docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/document-skills/ak-docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/document-skills/ak-docx/scripts/templates/people.xml +3 -0
- package/skills/document-skills/ak-docx/scripts/utilities.py +374 -0
- package/skills/document-skills/ak-pdf/LICENSE.txt +30 -0
- package/skills/document-skills/ak-pdf/SKILL.md +301 -0
- package/skills/document-skills/ak-pdf/forms.md +205 -0
- package/skills/document-skills/ak-pdf/reference.md +612 -0
- package/skills/document-skills/ak-pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/document-skills/ak-pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/document-skills/ak-pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/document-skills/ak-pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/document-skills/ak-pdf/scripts/create_validation_image.py +41 -0
- package/skills/document-skills/ak-pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/document-skills/ak-pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/document-skills/ak-pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/document-skills/ak-pptx/LICENSE.txt +30 -0
- package/skills/document-skills/ak-pptx/SKILL.md +491 -0
- package/skills/document-skills/ak-pptx/html2pptx.md +625 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/document-skills/ak-pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/pack.py +159 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/validate.py +69 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/document-skills/ak-pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/document-skills/ak-pptx/ooxml.md +427 -0
- package/skills/document-skills/ak-pptx/scripts/html2pptx.js +979 -0
- package/skills/document-skills/ak-pptx/scripts/inventory.py +1020 -0
- package/skills/document-skills/ak-pptx/scripts/rearrange.py +231 -0
- package/skills/document-skills/ak-pptx/scripts/replace.py +385 -0
- package/skills/document-skills/ak-pptx/scripts/thumbnail.py +450 -0
- package/skills/document-skills/ak-xlsx/LICENSE.txt +30 -0
- package/skills/document-skills/ak-xlsx/SKILL.md +296 -0
- package/skills/document-skills/ak-xlsx/recalc.py +191 -0
- package/skills/excalidraw/SKILL.md +210 -0
- package/skills/excalidraw/references/auto-diagram-guide.md +150 -0
- package/skills/excalidraw/references/color-palette.md +128 -0
- package/skills/excalidraw/references/design-methodology.md +129 -0
- package/skills/excalidraw/references/element-templates.md +182 -0
- package/skills/excalidraw/references/file-workflow.md +105 -0
- package/skills/excalidraw/references/json-schema.md +85 -0
- package/skills/excalidraw/references/mcp-workflow.md +194 -0
- package/skills/excalidraw/references/pyproject.toml +7 -0
- package/skills/excalidraw/references/render_excalidraw.py +187 -0
- package/skills/excalidraw/references/render_template.html +57 -0
- package/skills/excalidraw/references/uv.lock +106 -0
- package/skills/explore/SKILL.md +44 -0
- package/skills/fable-thinking/SKILL.md +399 -0
- package/skills/fable-thinking/references/content-taste.md +178 -0
- package/skills/fable-thinking/references/design-taste.md +182 -0
- package/skills/fable-thinking/references/worked-examples.md +228 -0
- package/skills/find-skills/SKILL.md +147 -0
- package/skills/find-skills/references/domain-routing.md +108 -0
- package/skills/fix/SKILL.md +354 -0
- package/skills/fix/references/complexity-assessment.md +73 -0
- package/skills/fix/references/mode-selection.md +46 -0
- package/skills/fix/references/parallel-exploration.md +87 -0
- package/skills/fix/references/review-cycle.md +77 -0
- package/skills/fix/references/skill-activation-matrix.md +100 -0
- package/skills/fix/references/workflow-ci.md +28 -0
- package/skills/fix/references/workflow-deep.md +165 -0
- package/skills/fix/references/workflow-logs.md +59 -0
- package/skills/fix/references/workflow-quick.md +99 -0
- package/skills/fix/references/workflow-standard.md +127 -0
- package/skills/fix/references/workflow-test.md +57 -0
- package/skills/fix/references/workflow-types.md +33 -0
- package/skills/fix/references/workflow-ui.md +59 -0
- package/skills/folder-context/LICENSE.txt +21 -0
- package/skills/folder-context/SKILL.md +55 -0
- package/skills/frontend-design/SKILL.md +276 -0
- package/skills/frontend-design/references/ai-multimodal-overview.md +162 -0
- package/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/skills/frontend-design/references/analysis-techniques.md +112 -0
- package/skills/frontend-design/references/animejs.md +396 -0
- package/skills/frontend-design/references/asset-generation.md +326 -0
- package/skills/frontend-design/references/design-extraction-overview.md +67 -0
- package/skills/frontend-design/references/design-quality-preflight.md +36 -0
- package/skills/frontend-design/references/extraction-best-practices.md +138 -0
- package/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/skills/frontend-design/references/motion-craft.md +166 -0
- package/skills/frontend-design/references/technical-accessibility.md +118 -0
- package/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/skills/frontend-design/references/technical-optimization.md +44 -0
- package/skills/frontend-design/references/technical-overview.md +88 -0
- package/skills/frontend-design/references/technical-workflows.md +137 -0
- package/skills/frontend-design/references/visual-analysis-overview.md +100 -0
- package/skills/frontend-design/references/workflow-3d.md +102 -0
- package/skills/frontend-design/references/workflow-describe.md +87 -0
- package/skills/frontend-design/references/workflow-immersive.md +87 -0
- package/skills/frontend-design/references/workflow-quick.md +57 -0
- package/skills/frontend-design/references/workflow-screenshot.md +63 -0
- package/skills/frontend-design/references/workflow-video.md +74 -0
- package/skills/frontend-development/SKILL.md +407 -0
- package/skills/frontend-development/resources/common-patterns.md +331 -0
- package/skills/frontend-development/resources/complete-examples.md +872 -0
- package/skills/frontend-development/resources/component-patterns.md +502 -0
- package/skills/frontend-development/resources/data-fetching.md +767 -0
- package/skills/frontend-development/resources/file-organization.md +502 -0
- package/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/frontend-development/resources/performance.md +406 -0
- package/skills/frontend-development/resources/routing-guide.md +364 -0
- package/skills/frontend-development/resources/styling-guide.md +428 -0
- package/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/skills/git/SKILL.md +133 -0
- package/skills/git/references/branch-management.md +88 -0
- package/skills/git/references/commit-standards.md +46 -0
- package/skills/git/references/gh-cli-guide.md +109 -0
- package/skills/git/references/safety-protocols.md +69 -0
- package/skills/git/references/workflow-commit.md +58 -0
- package/skills/git/references/workflow-merge-pr.md +198 -0
- package/skills/git/references/workflow-merge.md +48 -0
- package/skills/git/references/workflow-pr.md +58 -0
- package/skills/git/references/workflow-push.md +52 -0
- package/skills/git/references/workflow-stacked-prs.md +110 -0
- package/skills/github/SKILL.md +162 -0
- package/skills/github/assets/templates/issue-bug.md +46 -0
- package/skills/github/assets/templates/issue-docs.md +29 -0
- package/skills/github/assets/templates/issue-enhancement.md +31 -0
- package/skills/github/assets/templates/issue-feature.md +49 -0
- package/skills/github/assets/templates/pr-body.md +35 -0
- package/skills/github/references/admin-operations.md +107 -0
- package/skills/github/references/issue-workflows.md +151 -0
- package/skills/github/references/pr-workflows.md +89 -0
- package/skills/github/references/projects-actions.md +92 -0
- package/skills/gkg/SKILL.md +98 -0
- package/skills/gkg/references/cli-commands.md +106 -0
- package/skills/gkg/references/http-api.md +102 -0
- package/skills/gkg/references/language-support.md +57 -0
- package/skills/gkg/references/mcp-tools.md +99 -0
- package/skills/goal-warmup/SKILL.md +217 -0
- package/skills/goal-warmup/fixtures/blocked-missing-credential.md +32 -0
- package/skills/goal-warmup/fixtures/blocked-third-party.md +28 -0
- package/skills/goal-warmup/fixtures/decision-required.md +28 -0
- package/skills/goal-warmup/fixtures/fast-refused-external.md +22 -0
- package/skills/goal-warmup/fixtures/ready-local.md +39 -0
- package/skills/goal-warmup/fixtures/redteam-scope-change.md +26 -0
- package/skills/goal-warmup/references/contract-preserving-review.md +61 -0
- package/skills/goal-warmup/references/decisions.md +21 -0
- package/skills/goal-warmup/references/fast-path.md +41 -0
- package/skills/goal-warmup/references/handoff-packet.md +80 -0
- package/skills/goal-warmup/references/outcome-contract.md +50 -0
- package/skills/goal-warmup/references/preflight-matrix.md +42 -0
- package/skills/google-adk-python/SKILL.md +139 -0
- package/skills/google-adk-python/references/agent-types-and-architecture.md +128 -0
- package/skills/google-adk-python/references/callbacks-plugins-observability.md +117 -0
- package/skills/google-adk-python/references/deployment-cloud-run-vertex-gke.md +138 -0
- package/skills/google-adk-python/references/evaluation-testing-cli.md +112 -0
- package/skills/google-adk-python/references/multi-agent-and-a2a-protocol.md +145 -0
- package/skills/google-adk-python/references/sessions-state-memory-artifacts.md +131 -0
- package/skills/google-adk-python/references/tools-and-mcp-integration.md +148 -0
- package/skills/graphify/SKILL.md +160 -0
- package/skills/handoff/LICENSE.txt +21 -0
- package/skills/handoff/SKILL.md +258 -0
- package/skills/handoff/references/artifact-schema.md +147 -0
- package/skills/handoff/references/redaction-patterns.md +80 -0
- package/skills/handover/SKILL.md +274 -0
- package/skills/handover/references/job-spec-template.md +155 -0
- package/skills/handover/references/runtime-catalog.md +102 -0
- package/skills/help/SKILL.md +21 -0
- package/skills/html-video/SKILL.md +185 -0
- package/skills/hyperframes/SKILL.md +129 -0
- package/skills/hyperframes/references/composition-basics.md +77 -0
- package/skills/hyperframes/references/env-and-deps.md +55 -0
- package/skills/hyperframes/references/heygen-skills.md +36 -0
- package/skills/hyperframes/references/render-workflow.md +88 -0
- package/skills/hyperframes/scripts/verify-prereqs.mjs +148 -0
- package/skills/hyperframes/scripts/verify-prereqs.test.cjs +60 -0
- package/skills/implement/SKILL.md +38 -0
- package/skills/interview-docs/LICENSE.txt +21 -0
- package/skills/interview-docs/SKILL.md +58 -0
- package/skills/issue-to-plan/SKILL.md +249 -0
- package/skills/journal/SKILL.md +147 -0
- package/skills/journal/assets/journal.yaml.example +33 -0
- package/skills/journal/references/channels-config.md +107 -0
- package/skills/journal/references/config-schema.md +95 -0
- package/skills/journal/references/env-cascade.md +61 -0
- package/skills/journal/references/media-flags.md +118 -0
- package/skills/journal/references/writing-styles-resolver.md +56 -0
- package/skills/journal/references/zernio-integration.md +143 -0
- package/skills/journal/scripts/env-loader.cjs +150 -0
- package/skills/journal/scripts/env-loader.test.cjs +131 -0
- package/skills/journal/scripts/generate-image.cjs +195 -0
- package/skills/journal/scripts/generate-image.test.cjs +171 -0
- package/skills/journal/scripts/generate-video.cjs +288 -0
- package/skills/journal/scripts/generate-video.test.cjs +186 -0
- package/skills/journal/scripts/media-utils.cjs +153 -0
- package/skills/journal/scripts/mini-yaml-parser.cjs +234 -0
- package/skills/journal/scripts/post-social.cjs +549 -0
- package/skills/journal/scripts/post-social.test.cjs +479 -0
- package/skills/journal/scripts/resolve-config.cjs +182 -0
- package/skills/journal/scripts/resolve-config.test.cjs +248 -0
- package/skills/journal/scripts/split-thread.cjs +254 -0
- package/skills/journal/scripts/split-thread.test.cjs +138 -0
- package/skills/llms/SKILL.md +124 -0
- package/skills/llms/references/llms-txt-specification.md +87 -0
- package/skills/llms/scripts/generate-llms-txt.py +350 -0
- package/skills/loop/SKILL.md +189 -0
- package/skills/loop/references/autonomous-loop-protocol.md +193 -0
- package/skills/loop/references/git-memory-pattern.md +109 -0
- package/skills/loop/references/guard-and-noise.md +140 -0
- package/skills/loop/references/metric-library.md +200 -0
- package/skills/loop/references/results-logging.md +74 -0
- package/skills/markdown-novel-viewer/SKILL.md +319 -0
- package/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
- package/skills/markdown-novel-viewer/assets/favicon.png +0 -0
- package/skills/markdown-novel-viewer/assets/novel-theme.css +16 -0
- package/skills/markdown-novel-viewer/assets/reader.js +850 -0
- package/skills/markdown-novel-viewer/assets/template.html +149 -0
- package/skills/markdown-novel-viewer/package.json +15 -0
- package/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
- package/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
- package/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +205 -0
- package/skills/markdown-novel-viewer/scripts/lib/plan-table-parser.cjs +231 -0
- package/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
- package/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
- package/skills/markdown-novel-viewer/scripts/server.cjs +411 -0
- package/skills/markdown-novel-viewer/scripts/tests/server.test.cjs +327 -0
- package/skills/markdown-novel-viewer/tests/http-server.test.cjs +271 -0
- package/skills/markdown-novel-viewer/tests/run-tests.cjs +49 -0
- package/skills/markdown-novel-viewer/tests/test-framework.cjs +154 -0
- package/skills/mcp-builder/LICENSE.txt +202 -0
- package/skills/mcp-builder/SKILL.md +336 -0
- package/skills/mcp-builder/reference/evaluation.md +584 -0
- package/skills/mcp-builder/reference/mcp-best-practices.md +915 -0
- package/skills/mcp-builder/reference/node-mcp-server.md +918 -0
- package/skills/mcp-builder/reference/python-mcp-server.md +752 -0
- package/skills/mcp-builder/scripts/connections.py +151 -0
- package/skills/mcp-builder/scripts/evaluation.py +381 -0
- package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/skills/media-processing/SKILL.md +101 -0
- package/skills/media-processing/references/common-workflows.md +132 -0
- package/skills/media-processing/references/ffmpeg-encoding.md +358 -0
- package/skills/media-processing/references/ffmpeg-filters.md +503 -0
- package/skills/media-processing/references/ffmpeg-streaming.md +403 -0
- package/skills/media-processing/references/format-compatibility.md +375 -0
- package/skills/media-processing/references/imagemagick-batch.md +612 -0
- package/skills/media-processing/references/imagemagick-editing.md +623 -0
- package/skills/media-processing/references/rmbg-background-removal.md +66 -0
- package/skills/media-processing/references/troubleshooting.md +109 -0
- package/skills/media-processing/scripts/README.md +111 -0
- package/skills/media-processing/scripts/batch-remove-background.sh +124 -0
- package/skills/media-processing/scripts/batch_resize.py +342 -0
- package/skills/media-processing/scripts/media_convert.py +311 -0
- package/skills/media-processing/scripts/remove-background.sh +96 -0
- package/skills/media-processing/scripts/remove-bg-node.js +158 -0
- package/skills/media-processing/scripts/requirements.txt +24 -0
- package/skills/media-processing/scripts/tests/requirements.txt +2 -0
- package/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
- package/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/skills/media-processing/scripts/video_optimize.py +414 -0
- package/skills/mermaidjs-v11/SKILL.md +125 -0
- package/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/skills/mermaidjs-v11/references/examples.md +344 -0
- package/skills/mermaidjs-v11/references/integration.md +310 -0
- package/skills/mintlify/SKILL.md +127 -0
- package/skills/mintlify/references/ai-features-and-integrations-reference.md +756 -0
- package/skills/mintlify/references/api-documentation-components-reference.md +873 -0
- package/skills/mintlify/references/deployment-and-continuous-integration-reference.md +674 -0
- package/skills/mintlify/references/docs-json-configuration-reference.md +724 -0
- package/skills/mintlify/references/mdx-components-reference.md +551 -0
- package/skills/mintlify/references/navigation-structure-and-organization-reference.md +775 -0
- package/skills/mobile-development/SKILL.md +219 -0
- package/skills/mobile-development/references/mobile-android.md +604 -0
- package/skills/mobile-development/references/mobile-best-practices.md +545 -0
- package/skills/mobile-development/references/mobile-debugging.md +1089 -0
- package/skills/mobile-development/references/mobile-frameworks.md +465 -0
- package/skills/mobile-development/references/mobile-ios.md +496 -0
- package/skills/mobile-development/references/mobile-mindset.md +544 -0
- package/skills/orchestrate/SKILL.md +366 -0
- package/skills/orchestrate/references/harness-profiles.md +148 -0
- package/skills/orchestrate/references/internal-routing.md +154 -0
- package/skills/orchestrate/references/job-spec.md +251 -0
- package/skills/orchestrate/references/model-routing.md +199 -0
- package/skills/orchestrate/references/runtime-matrix.md +199 -0
- package/skills/payment-integration/README.md +217 -0
- package/skills/payment-integration/SKILL.md +81 -0
- package/skills/payment-integration/references/multi-provider-order-management-patterns.md +821 -0
- package/skills/payment-integration/references/polar/benefits.md +396 -0
- package/skills/payment-integration/references/polar/best-practices.md +902 -0
- package/skills/payment-integration/references/polar/checkouts.md +266 -0
- package/skills/payment-integration/references/polar/overview.md +184 -0
- package/skills/payment-integration/references/polar/products.md +244 -0
- package/skills/payment-integration/references/polar/sdk.md +436 -0
- package/skills/payment-integration/references/polar/subscriptions.md +340 -0
- package/skills/payment-integration/references/polar/webhooks.md +405 -0
- package/skills/payment-integration/references/sepay/api.md +140 -0
- package/skills/payment-integration/references/sepay/best-practices.md +939 -0
- package/skills/payment-integration/references/sepay/overview.md +138 -0
- package/skills/payment-integration/references/sepay/qr-codes.md +228 -0
- package/skills/payment-integration/references/sepay/sdk.md +213 -0
- package/skills/payment-integration/references/sepay/webhooks.md +208 -0
- package/skills/payment-integration/references/stripe/stripe-best-practices.md +32 -0
- package/skills/payment-integration/references/stripe/stripe-cli.md +148 -0
- package/skills/payment-integration/references/stripe/stripe-js.md +116 -0
- package/skills/payment-integration/references/stripe/stripe-sdks.md +84 -0
- package/skills/payment-integration/references/stripe/stripe-upgrade.md +175 -0
- package/skills/payment-integration/scripts/.env.example +20 -0
- package/skills/payment-integration/scripts/checkout-helper.js +244 -0
- package/skills/payment-integration/scripts/package.json +17 -0
- package/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/skills/payment-integration/scripts/test-scripts.js +237 -0
- package/skills/plan/SKILL.md +676 -0
- package/skills/plan/references/archive-workflow.md +81 -0
- package/skills/plan/references/codebase-understanding.md +48 -0
- package/skills/plan/references/output-standards.md +225 -0
- package/skills/plan/references/plan-organization.md +267 -0
- package/skills/plan/references/red-team-personas.md +101 -0
- package/skills/plan/references/red-team-workflow.md +97 -0
- package/skills/plan/references/research-phase.md +49 -0
- package/skills/plan/references/scope-challenge.md +104 -0
- package/skills/plan/references/solution-design.md +83 -0
- package/skills/plan/references/task-management.md +52 -0
- package/skills/plan/references/validate-question-framework.md +80 -0
- package/skills/plan/references/validate-workflow.md +107 -0
- package/skills/plan/references/verification-roles.md +150 -0
- package/skills/plan/references/workflow-modes.md +424 -0
- package/skills/plans-kanban/SKILL.md +110 -0
- package/skills/plans-kanban/package.json +9 -0
- package/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +494 -0
- package/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
- package/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
- package/skills/plans-kanban/scripts/lib/plan-table-parser.cjs +231 -0
- package/skills/plans-kanban/scripts/open-dashboard.cjs +220 -0
- package/skills/predict/SKILL.md +150 -0
- package/skills/preview/SKILL.md +173 -0
- package/skills/preview/references/generation-modes.md +210 -0
- package/skills/preview/references/html-antv-infographic.md +140 -0
- package/skills/preview/references/html-css-patterns.md +1717 -0
- package/skills/preview/references/html-design-guidelines.md +393 -0
- package/skills/preview/references/html-diagram-design.md +156 -0
- package/skills/preview/references/html-libraries.md +604 -0
- package/skills/preview/references/html-responsive-nav.md +212 -0
- package/skills/preview/references/html-slide-patterns.md +1401 -0
- package/skills/preview/references/vendor/diagram-design-scripts/PROVENANCE.md +27 -0
- package/skills/preview/references/vendor/diagram-design-scripts/UPSTREAM-LICENSE +21 -0
- package/skills/preview/references/vendor/diagram-design-scripts/run-validators.sh +25 -0
- package/skills/preview/references/vendor/diagram-design-scripts/self_check.py +389 -0
- package/skills/preview/references/vendor/diagram-design-scripts/verify-geometry.py +166 -0
- package/skills/preview/references/vendor/diagram-design-scripts/verify-motion.py +525 -0
- package/skills/preview/references/view-mode.md +42 -0
- package/skills/preview/references/visual-explanation-routing.md +39 -0
- package/skills/preview/templates/architecture.html +650 -0
- package/skills/preview/templates/data-table.html +590 -0
- package/skills/preview/templates/mermaid-flowchart.html +768 -0
- package/skills/preview/templates/slide-deck.html +968 -0
- package/skills/problem-solving/SKILL.md +126 -0
- package/skills/problem-solving/references/attribution.md +69 -0
- package/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/skills/problem-solving/references/scale-game.md +95 -0
- package/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/skills/problem-solving/references/when-stuck.md +72 -0
- package/skills/project-management/SKILL.md +137 -0
- package/skills/project-management/references/documentation-triggers.md +33 -0
- package/skills/project-management/references/hydration-workflow.md +45 -0
- package/skills/project-management/references/progress-tracking.md +110 -0
- package/skills/project-management/references/reporting-patterns.md +94 -0
- package/skills/project-management/references/task-operations.md +35 -0
- package/skills/project-organization/SKILL.md +232 -0
- package/skills/project-organization/references/directory-patterns.md +175 -0
- package/skills/project-organization/references/markdown-body-templates.md +314 -0
- package/skills/project-organization/references/naming-conventions.md +140 -0
- package/skills/react-best-practices/AGENTS.md +2249 -0
- package/skills/react-best-practices/README.md +123 -0
- package/skills/react-best-practices/SKILL.md +129 -0
- package/skills/react-best-practices/metadata.json +17 -0
- package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/react-best-practices/rules/sections.md +46 -0
- package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/skills/react-best-practices/rules/template.md +28 -0
- package/skills/remotion/SKILL.md +58 -0
- package/skills/remotion/rules/3d.md +86 -0
- package/skills/remotion/rules/animations.md +29 -0
- package/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -0
- package/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -0
- package/skills/remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/skills/remotion/rules/assets.md +78 -0
- package/skills/remotion/rules/audio.md +172 -0
- package/skills/remotion/rules/calculate-metadata.md +104 -0
- package/skills/remotion/rules/can-decode.md +75 -0
- package/skills/remotion/rules/charts.md +58 -0
- package/skills/remotion/rules/compositions.md +146 -0
- package/skills/remotion/rules/display-captions.md +126 -0
- package/skills/remotion/rules/effects.md +22 -0
- package/skills/remotion/rules/extract-frames.md +229 -0
- package/skills/remotion/rules/fonts.md +152 -0
- package/skills/remotion/rules/get-audio-duration.md +58 -0
- package/skills/remotion/rules/get-video-dimensions.md +68 -0
- package/skills/remotion/rules/get-video-duration.md +58 -0
- package/skills/remotion/rules/gifs.md +138 -0
- package/skills/remotion/rules/images.md +130 -0
- package/skills/remotion/rules/import-srt-captions.md +67 -0
- package/skills/remotion/rules/lottie.md +68 -0
- package/skills/remotion/rules/measuring-dom-nodes.md +35 -0
- package/skills/remotion/rules/measuring-text.md +143 -0
- package/skills/remotion/rules/sequencing.md +106 -0
- package/skills/remotion/rules/tailwind.md +11 -0
- package/skills/remotion/rules/text-animations.md +20 -0
- package/skills/remotion/rules/timing.md +179 -0
- package/skills/remotion/rules/transcribe-captions.md +19 -0
- package/skills/remotion/rules/transitions.md +122 -0
- package/skills/remotion/rules/trimming.md +53 -0
- package/skills/remotion/rules/videos.md +171 -0
- package/skills/repomix/SKILL.md +257 -0
- package/skills/repomix/references/configuration.md +211 -0
- package/skills/repomix/references/usage-patterns.md +232 -0
- package/skills/repomix/scripts/README.md +179 -0
- package/skills/repomix/scripts/repomix_batch.py +455 -0
- package/skills/repomix/scripts/repos.example.json +15 -0
- package/skills/repomix/scripts/requirements.txt +15 -0
- package/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/research/SKILL.md +201 -0
- package/skills/research-prompt/LICENSE.txt +21 -0
- package/skills/research-prompt/SKILL.md +57 -0
- package/skills/retro/SKILL.md +150 -0
- package/skills/retro/references/metrics-guide.md +133 -0
- package/skills/retro/references/report-template.md +110 -0
- package/skills/review/SKILL.md +41 -0
- package/skills/review-pr/SKILL.md +567 -0
- package/skills/review-pr/references/anti-ai-slop.md +235 -0
- package/skills/review-pr/references/gh-api-helpers.sh +185 -0
- package/skills/review-pr/references/pr-body-contract.md +53 -0
- package/skills/review-pr/references/project-rules-example.md +101 -0
- package/skills/review-pr/references/writing-language.md +58 -0
- package/skills/scenario/SKILL.md +229 -0
- package/skills/scout/SKILL.md +147 -0
- package/skills/scout/references/external-scouting.md +85 -0
- package/skills/scout/references/internal-scouting.md +148 -0
- package/skills/security/SKILL.md +196 -0
- package/skills/security/references/red-team-personas.md +188 -0
- package/skills/security/references/stride-owasp-checklist.md +128 -0
- package/skills/security-scan/SKILL.md +145 -0
- package/skills/security-scan/references/secret-patterns.md +77 -0
- package/skills/security-scan/references/vulnerability-patterns.md +105 -0
- package/skills/sequential-thinking/.env.example +8 -0
- package/skills/sequential-thinking/README.md +183 -0
- package/skills/sequential-thinking/SKILL.md +101 -0
- package/skills/sequential-thinking/package.json +31 -0
- package/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/skills/sequential-thinking/references/examples-api.md +88 -0
- package/skills/sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/sequential-thinking/references/examples-debug.md +90 -0
- package/skills/sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/shader/SKILL.md +119 -0
- package/skills/shader/references/glsl-cellular-voronoi-worley-noise-patterns.md +142 -0
- package/skills/shader/references/glsl-colors-rgb-hsb-gradients-mixing-color-spaces.md +143 -0
- package/skills/shader/references/glsl-fbm-fractional-brownian-motion-turbulence-octaves.md +146 -0
- package/skills/shader/references/glsl-fundamentals-data-types-vectors-precision-coordinates.md +104 -0
- package/skills/shader/references/glsl-noise-random-perlin-simplex-cellular-voronoi.md +115 -0
- package/skills/shader/references/glsl-pattern-symmetry-truchet-domain-warping.md +134 -0
- package/skills/shader/references/glsl-patterns-tiling-fract-matrices-transformations.md +133 -0
- package/skills/shader/references/glsl-procedural-textures-clouds-marble-wood-terrain.md +144 -0
- package/skills/shader/references/glsl-shader-builtin-functions-complete-api-reference.md +112 -0
- package/skills/shader/references/glsl-shapes-polygon-star-polar-sdf-combinations.md +124 -0
- package/skills/shader/references/glsl-shapes-sdf-circles-rectangles-polar-distance-fields.md +106 -0
- package/skills/shader/references/glsl-shaping-functions-step-smoothstep-curves-interpolation.md +141 -0
- package/skills/ship/SKILL.md +244 -0
- package/skills/ship/references/auto-detect.md +103 -0
- package/skills/ship/references/dual-stage-workflow.md +86 -0
- package/skills/ship/references/pr-template.md +87 -0
- package/skills/ship/references/release-and-social-workflow.md +117 -0
- package/skills/ship/references/review-and-merge-workflow.md +31 -0
- package/skills/ship/references/ship-workflow.md +294 -0
- package/skills/ship/scripts/compose-build-in-public.cjs +257 -0
- package/skills/ship/scripts/compose-build-in-public.test.cjs +125 -0
- package/skills/shopify/README.md +66 -0
- package/skills/shopify/SKILL.md +327 -0
- package/skills/shopify/references/app-development.md +470 -0
- package/skills/shopify/references/extensions.md +493 -0
- package/skills/shopify/references/themes.md +498 -0
- package/skills/shopify/scripts/requirements.txt +19 -0
- package/skills/shopify/scripts/shopify_init.py +423 -0
- package/skills/shopify/scripts/tests/test_shopify_init.py +385 -0
- package/skills/show-off/SKILL.md +244 -0
- package/skills/show-off/scripts/capture-sections.js +310 -0
- package/skills/show-off/scripts/package.json +16 -0
- package/skills/show-off/scripts/preferences.js +228 -0
- package/skills/show-off/scripts/preferences.test.js +94 -0
- package/skills/skill-creator/LICENSE-MIT.txt +21 -0
- package/skills/skill-creator/LICENSE.txt +202 -0
- package/skills/skill-creator/SKILL.md +156 -0
- package/skills/skill-creator/references/benchmark-optimization-guide.md +86 -0
- package/skills/skill-creator/references/cross-marketplace-distribution.md +262 -0
- package/skills/skill-creator/references/distribution-guide.md +79 -0
- package/skills/skill-creator/references/mcp-skills-integration.md +71 -0
- package/skills/skill-creator/references/metadata-quality-criteria.md +94 -0
- package/skills/skill-creator/references/plugin-marketplace-hosting.md +104 -0
- package/skills/skill-creator/references/plugin-marketplace-overview.md +90 -0
- package/skills/skill-creator/references/plugin-marketplace-schema.md +93 -0
- package/skills/skill-creator/references/plugin-marketplace-sources.md +103 -0
- package/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +76 -0
- package/skills/skill-creator/references/script-dependency-strategy.md +141 -0
- package/skills/skill-creator/references/script-quality-criteria.md +151 -0
- package/skills/skill-creator/references/skill-anatomy-and-requirements.md +77 -0
- package/skills/skill-creator/references/skill-creation-workflow.md +160 -0
- package/skills/skill-creator/references/skill-design-patterns.md +75 -0
- package/skills/skill-creator/references/skill-ecosystem-portability-and-safety.md +60 -0
- package/skills/skill-creator/references/skillmark-benchmark-criteria.md +102 -0
- package/skills/skill-creator/references/structure-organization-criteria.md +114 -0
- package/skills/skill-creator/references/testing-and-iteration.md +78 -0
- package/skills/skill-creator/references/token-efficiency-criteria.md +74 -0
- package/skills/skill-creator/references/troubleshooting-guide.md +81 -0
- package/skills/skill-creator/references/validation-checklist.md +83 -0
- package/skills/skill-creator/references/writing-effective-instructions.md +88 -0
- package/skills/skill-creator/references/yaml-frontmatter-reference.md +92 -0
- package/skills/skill-creator/scripts/encoding_utils.py +36 -0
- package/skills/skill-creator/scripts/init_skill.py +371 -0
- package/skills/skill-creator/scripts/package_skill.py +161 -0
- package/skills/skill-creator/scripts/quick_validate.py +110 -0
- package/skills/sowat/SKILL.md +41 -0
- package/skills/stitch/SKILL.md +193 -0
- package/skills/stitch/data/mcp-config-snippet.json +11 -0
- package/skills/stitch/references/design-to-code-pipeline.md +128 -0
- package/skills/stitch/references/quota-management.md +64 -0
- package/skills/stitch/references/stitch-mcp-setup.md +95 -0
- package/skills/stitch/references/stitch-sdk-api.md +136 -0
- package/skills/stitch/scripts/package.json +17 -0
- package/skills/stitch/scripts/stitch-export.ts +241 -0
- package/skills/stitch/scripts/stitch-generate.ts +242 -0
- package/skills/stitch/scripts/stitch-quota.ts +123 -0
- package/skills/sumup/SKILL.md +48 -0
- package/skills/tanstack/SKILL.md +148 -0
- package/skills/tanstack/references/tanstack-ai.md +97 -0
- package/skills/tanstack/references/tanstack-form.md +125 -0
- package/skills/tanstack/references/tanstack-start.md +100 -0
- package/skills/team/SKILL.md +226 -0
- package/skills/team/references/agent-teams-controls-and-modes.md +53 -0
- package/skills/team/references/agent-teams-examples-and-best-practices.md +145 -0
- package/skills/team/references/agent-teams-official-docs.md +67 -0
- package/skills/team/references/team-coordination-rules.md +92 -0
- package/skills/tech-graph/LICENSE +21 -0
- package/skills/tech-graph/README.md +524 -0
- package/skills/tech-graph/SKILL.md +445 -0
- package/skills/tech-graph/agents/openai.yaml +4 -0
- package/skills/tech-graph/fixtures/agent-memory-types-style4.json +181 -0
- package/skills/tech-graph/fixtures/api-flow-style7.json +40 -0
- package/skills/tech-graph/fixtures/mem0-style1.json +297 -0
- package/skills/tech-graph/fixtures/microservices-style3.json +64 -0
- package/skills/tech-graph/fixtures/multi-agent-style5.json +45 -0
- package/skills/tech-graph/fixtures/system-architecture-style6.json +48 -0
- package/skills/tech-graph/fixtures/tool-call-style2.json +182 -0
- package/skills/tech-graph/references/icons.md +406 -0
- package/skills/tech-graph/references/style-1-flat-icon.md +108 -0
- package/skills/tech-graph/references/style-2-dark-terminal.md +107 -0
- package/skills/tech-graph/references/style-3-blueprint.md +113 -0
- package/skills/tech-graph/references/style-4-notion-clean.md +95 -0
- package/skills/tech-graph/references/style-5-glassmorphism.md +125 -0
- package/skills/tech-graph/references/style-6-claude-official.md +209 -0
- package/skills/tech-graph/references/style-7-openai.md +215 -0
- package/skills/tech-graph/references/style-diagram-matrix.md +135 -0
- package/skills/tech-graph/references/svg-layout-best-practices.md +100 -0
- package/skills/tech-graph/scripts/README.md +244 -0
- package/skills/tech-graph/scripts/generate-diagram.sh +157 -0
- package/skills/tech-graph/scripts/generate-from-template.py +1556 -0
- package/skills/tech-graph/scripts/test-all-styles.sh +135 -0
- package/skills/tech-graph/scripts/validate-svg.sh +292 -0
- package/skills/tech-graph/templates/agent-architecture.svg +28 -0
- package/skills/tech-graph/templates/architecture.svg +23 -0
- package/skills/tech-graph/templates/comparison-matrix.svg +14 -0
- package/skills/tech-graph/templates/data-flow.svg +28 -0
- package/skills/tech-graph/templates/er-diagram.svg +21 -0
- package/skills/tech-graph/templates/flowchart.svg +21 -0
- package/skills/tech-graph/templates/sequence.svg +20 -0
- package/skills/tech-graph/templates/state-machine.svg +20 -0
- package/skills/tech-graph/templates/timeline.svg +19 -0
- package/skills/tech-graph/templates/use-case.svg +21 -0
- package/skills/test/SKILL.md +200 -0
- package/skills/test/references/audit-suite-workflow.md +70 -0
- package/skills/test/references/create-suite-workflow.md +60 -0
- package/skills/test/references/optimize-suite-workflow.md +61 -0
- package/skills/test/references/report-format.md +58 -0
- package/skills/test/references/test-execution-workflow.md +103 -0
- package/skills/test/references/ui-testing-workflow.md +64 -0
- package/skills/threejs/SKILL.md +148 -0
- package/skills/threejs/data/api-reference.csv +61 -0
- package/skills/threejs/data/categories.csv +14 -0
- package/skills/threejs/data/examples-all.csv +557 -0
- package/skills/threejs/data/use-cases.csv +21 -0
- package/skills/threejs/references/00-fundamentals.md +487 -0
- package/skills/threejs/references/01-getting-started.md +177 -0
- package/skills/threejs/references/02-loaders.md +169 -0
- package/skills/threejs/references/03-textures.md +170 -0
- package/skills/threejs/references/04-cameras.md +195 -0
- package/skills/threejs/references/05-lights.md +183 -0
- package/skills/threejs/references/06-animations.md +214 -0
- package/skills/threejs/references/07-math.md +260 -0
- package/skills/threejs/references/08-interaction.md +267 -0
- package/skills/threejs/references/09-postprocessing.md +240 -0
- package/skills/threejs/references/10-controls.md +259 -0
- package/skills/threejs/references/11-materials-advanced.md +270 -0
- package/skills/threejs/references/11-materials.md +519 -0
- package/skills/threejs/references/12-performance.md +269 -0
- package/skills/threejs/references/13-node-materials.md +298 -0
- package/skills/threejs/references/14-physics-vr.md +304 -0
- package/skills/threejs/references/15-specialized-loaders.md +333 -0
- package/skills/threejs/references/16-webgpu.md +302 -0
- package/skills/threejs/references/17-shader.md +641 -0
- package/skills/threejs/references/18-geometry.md +547 -0
- package/skills/threejs/scripts/core.py +236 -0
- package/skills/threejs/scripts/extract_examples.py +688 -0
- package/skills/threejs/scripts/generate_csv_from_json.py +135 -0
- package/skills/threejs/scripts/search.py +77 -0
- package/skills/ui-styling/LICENSE.txt +202 -0
- package/skills/ui-styling/SKILL.md +328 -0
- package/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ui-styling/references/shadcn-components.md +424 -0
- package/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ui-styling/scripts/requirements.txt +17 -0
- package/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/ui-ux-pro-max/SKILL.md +666 -0
- package/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
- package/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +162 -0
- package/skills/ui-ux-pro-max/data/design.csv +1776 -0
- package/skills/ui-ux-pro-max/data/draft.csv +1779 -0
- package/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
- package/skills/ui-ux-pro-max/data/icons.csv +106 -0
- package/skills/ui-ux-pro-max/data/landing.csv +35 -0
- package/skills/ui-ux-pro-max/data/products.csv +162 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/styles.csv +85 -0
- package/skills/ui-ux-pro-max/data/typography.csv +74 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/scripts/core.py +247 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/use-mcp/SKILL.md +82 -0
- package/skills/use-mcp/assets/tools.json +3146 -0
- package/skills/use-mcp/references/configuration.md +115 -0
- package/skills/use-mcp/references/gemini-cli-integration.md +24 -0
- package/skills/use-mcp/references/mcp-protocol.md +116 -0
- package/skills/use-mcp/scripts/.env.example +10 -0
- package/skills/use-mcp/scripts/cli.ts +195 -0
- package/skills/use-mcp/scripts/mcp-client.ts +230 -0
- package/skills/use-mcp/scripts/package.json +20 -0
- package/skills/use-mcp/scripts/smoke-test.sh +82 -0
- package/skills/use-mcp/scripts/tsconfig.json +15 -0
- package/skills/vibe/SKILL.md +287 -0
- package/skills/watzup/SKILL.md +80 -0
- package/skills/watzup/scripts/lib/checkboxes.cjs +69 -0
- package/skills/watzup/scripts/lib/priority.cjs +149 -0
- package/skills/watzup/scripts/lib/roadmap.cjs +102 -0
- package/skills/watzup/scripts/watzup-scan.cjs +534 -0
- package/skills/watzup/scripts/watzup-scan.test.cjs +392 -0
- package/skills/web-design-guidelines/SKILL.md +43 -0
- package/skills/web-frameworks/SKILL.md +332 -0
- package/skills/web-frameworks/references/nextjs-app-router.md +465 -0
- package/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/skills/web-frameworks/references/nextjs-optimization.md +511 -0
- package/skills/web-frameworks/references/nextjs-server-components.md +495 -0
- package/skills/web-frameworks/references/remix-icon-integration.md +603 -0
- package/skills/web-frameworks/references/turborepo-caching.md +551 -0
- package/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/skills/web-frameworks/references/turborepo-setup.md +542 -0
- package/skills/web-frameworks/scripts/__init__.py +0 -0
- package/skills/web-frameworks/scripts/nextjs_init.py +547 -0
- package/skills/web-frameworks/scripts/requirements.txt +16 -0
- package/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
- package/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/skills/web-testing/SKILL.md +103 -0
- package/skills/web-testing/references/accessibility-testing.md +84 -0
- package/skills/web-testing/references/api-testing.md +78 -0
- package/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
- package/skills/web-testing/references/component-testing.md +94 -0
- package/skills/web-testing/references/contract-testing.md +146 -0
- package/skills/web-testing/references/cross-browser-checklist.md +72 -0
- package/skills/web-testing/references/database-testing.md +139 -0
- package/skills/web-testing/references/e2e-testing-playwright.md +119 -0
- package/skills/web-testing/references/functional-testing-checklist.md +88 -0
- package/skills/web-testing/references/interactive-testing-patterns.md +89 -0
- package/skills/web-testing/references/load-testing-k6.md +93 -0
- package/skills/web-testing/references/mobile-gesture-testing.md +85 -0
- package/skills/web-testing/references/performance-core-web-vitals.md +124 -0
- package/skills/web-testing/references/playwright-component-testing.md +115 -0
- package/skills/web-testing/references/pre-release-checklist.md +75 -0
- package/skills/web-testing/references/security-checklists.md +81 -0
- package/skills/web-testing/references/security-testing-overview.md +92 -0
- package/skills/web-testing/references/shadow-dom-testing.md +70 -0
- package/skills/web-testing/references/test-data-management.md +131 -0
- package/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
- package/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
- package/skills/web-testing/references/unit-integration-testing.md +138 -0
- package/skills/web-testing/references/visual-regression.md +92 -0
- package/skills/web-testing/references/vulnerability-payloads.md +93 -0
- package/skills/web-testing/scripts/analyze-test-results.js +280 -0
- package/skills/web-testing/scripts/init-playwright.js +233 -0
- package/skills/web-testing/skill.yaml +17 -0
- package/skills/worktree/SKILL.md +174 -0
- package/skills/worktree/scripts/mini-yaml-parser.cjs +232 -0
- package/skills/worktree/scripts/resolve-worktree-root.cjs +266 -0
- package/skills/worktree/scripts/resolve-worktree-root.test.cjs +257 -0
- package/skills/worktree/scripts/worktree.cjs +1337 -0
- package/skills/worktree/scripts/worktree.test.cjs +1127 -0
- package/skills/xia/SKILL.md +197 -0
- package/skills/xia/intro.html +487 -0
- package/skills/xia/references/challenge-framework.md +40 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Anti AI-Slop Reference
|
|
2
|
+
|
|
3
|
+
Concrete taxonomy of "AI slop" code patterns the reviewer should flag, with detection heuristics, fix guidance, and calibration on when **not** to flag.
|
|
4
|
+
|
|
5
|
+
## Why this matters
|
|
6
|
+
|
|
7
|
+
LLM-assisted contributions often produce code that *compiles, passes tests, and looks reasonable per-file* — but pollutes the codebase at the aggregate. Common drivers:
|
|
8
|
+
|
|
9
|
+
- Low-quality LLMs that pattern-match without understanding constraints
|
|
10
|
+
- Contributors who don't read their own diffs before pushing
|
|
11
|
+
- Lack of engineering judgment to push back on agent suggestions
|
|
12
|
+
- Coding agents that prioritize "doing something" over "doing nothing when the right answer is no change"
|
|
13
|
+
|
|
14
|
+
The result is **code rác** (garbage code) and **code dư thừa** (redundant code) that look harmless individually but compound. This reference gives the reviewer the lens to spot it.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Section 1: Structural slop (high impact — flag as **Important**)
|
|
19
|
+
|
|
20
|
+
One bad call here infects 100 files later. Always flag.
|
|
21
|
+
|
|
22
|
+
### 1.1 Dumping-ground new files
|
|
23
|
+
**Pattern**: New file at `utils/helpers.ts`, `lib/common/index.ts`, `services/manager.ts`, `core/utils.go`.
|
|
24
|
+
**Why bad**: Generic name = no domain anchor. The next agent dumps more there. Within 6 months it's a 2000-line junk drawer.
|
|
25
|
+
**Detection**: `git diff --name-status --diff-filter=A` for new files with generic names in dumping-ground dirs.
|
|
26
|
+
**Fix**: Rename to a domain-anchored name (`token-bucket-rate-limit.ts`, not `rate-limit-helper.ts`). Or move the function into the only file that calls it.
|
|
27
|
+
|
|
28
|
+
### 1.2 Parallel reimplementation
|
|
29
|
+
**Pattern**: New `formatDate()` / `slugify()` / `chunk()` / HTTP retry wrapper when the repo already has one.
|
|
30
|
+
**Why bad**: Two implementations diverge over time. Bugs get fixed in one but not the other.
|
|
31
|
+
**Detection**: Grep the repo for similar function names or behavior before approving any new utility.
|
|
32
|
+
**Fix**: Use the existing one. If the existing one is inadequate, *extend* it — don't fork it.
|
|
33
|
+
|
|
34
|
+
### 1.3 Premature abstraction
|
|
35
|
+
**Pattern**: New interface + factory + builder + adapter for a feature with one implementation and two callers.
|
|
36
|
+
**Why bad**: Abstraction cost (indirection, mental load, test surface) paid up front without the payoff (multiple implementations) that justifies it.
|
|
37
|
+
**Detection**: Count concrete implementations of any new interface. One = premature.
|
|
38
|
+
**Fix**: Inline the concrete type. Add the abstraction when the second implementation actually shows up.
|
|
39
|
+
|
|
40
|
+
### 1.4 Config flag for what should be a constant
|
|
41
|
+
**Pattern**: New env var or config field `ENABLE_X`, `USE_NEW_Y`, `FEATURE_Z_ENABLED` for behavior that should be hardcoded.
|
|
42
|
+
**Why bad**: Will never be turned off. Becomes documentation lag and a foot-gun. Doubles the test matrix.
|
|
43
|
+
**Detection**: Any new config field — ask "would we actually flip this in production? If no, why is it a flag?"
|
|
44
|
+
**Fix**: Pick the value, hardcode it. Delete the flag plumbing.
|
|
45
|
+
|
|
46
|
+
### 1.5 Schema/contract change without migration
|
|
47
|
+
**Pattern**: PR adds a NOT NULL column, renames a field, changes a response shape — no migration, no backward-compat shim.
|
|
48
|
+
**Why bad**: Breaks deployed clients or existing data.
|
|
49
|
+
**Detection**: Diff touches DB schema, API DTOs, public types, or persisted config formats.
|
|
50
|
+
**Fix**: Add migration, deprecation path, or version the contract.
|
|
51
|
+
|
|
52
|
+
### 1.6 God-file growth
|
|
53
|
+
**Pattern**: A 180-line file grows to 450 in one PR. Project's stated size limit (often 200 lines) ignored.
|
|
54
|
+
**Why bad**: Files become unreadable. Context loads become expensive. The next agent has even less room to work cleanly.
|
|
55
|
+
**Detection**: `wc -l` on modified files in the diff vs project size convention.
|
|
56
|
+
**Fix**: Split before merge. Group related additions into a new focused module.
|
|
57
|
+
|
|
58
|
+
### 1.7 Phantom dependencies
|
|
59
|
+
**Pattern**: `package.json` / `go.mod` / `requirements.txt` adds a dep — diff doesn't actually import it, OR imports it for one trivial call that the language stdlib already supports.
|
|
60
|
+
**Why bad**: Supply chain risk, install size, transitive vulnerabilities — all for nothing.
|
|
61
|
+
**Detection**: Cross-check dep additions against actual `import`/`require`/`use` lines in the diff.
|
|
62
|
+
**Fix**: Remove the dep, inline the trivial call, or use stdlib.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Section 2: Micro slop (each instance small — flag as **Suggestion**)
|
|
67
|
+
|
|
68
|
+
Don't block merges, but call out. Aggregate is rot.
|
|
69
|
+
|
|
70
|
+
### 2.1 Defensive paranoia
|
|
71
|
+
**Pattern**: `try/catch` around code that cannot throw. Null checks on typed-non-null parameters. "Just in case" guards before stdlib calls that already validate.
|
|
72
|
+
**Fix**: Delete the guard. Trust the types and the stdlib.
|
|
73
|
+
|
|
74
|
+
### 2.2 Catch-and-swallow
|
|
75
|
+
**Pattern**: `catch (e) { console.log(e) }`, `catch { return null }`, `except: pass`.
|
|
76
|
+
**Fix**: Either handle the error meaningfully (retry, fallback, user message) or let it propagate. Logging-and-continuing is a bug factory.
|
|
77
|
+
|
|
78
|
+
### 2.3 Comment paraphrasing
|
|
79
|
+
**Pattern**: `// increment counter` next to `counter++`. `// returns the user's name` above `getUserName()`.
|
|
80
|
+
**Fix**: Delete. Comments should explain *why*, not narrate *what*.
|
|
81
|
+
|
|
82
|
+
### 2.4 Generic error messages
|
|
83
|
+
**Pattern**: `"An error occurred. Please try again."`, `throw new Error("Failed")`, `return errors.New("error")`.
|
|
84
|
+
**Fix**: Include the operation, the inputs, and the failure mode. `"failed to fetch user %d: %w"`.
|
|
85
|
+
|
|
86
|
+
### 2.5 One-line wrappers
|
|
87
|
+
**Pattern**: `function getName(u) { return u.name }`. Adds indirection, hides nothing.
|
|
88
|
+
**Fix**: Inline. Delete the wrapper.
|
|
89
|
+
|
|
90
|
+
### 2.6 Reimplementing stdlib
|
|
91
|
+
**Pattern**: Custom `chunk`, `range`, `groupBy`, `debounce`, `deepEqual` when language stdlib or an existing dep covers it.
|
|
92
|
+
**Fix**: Use the stdlib/dep. If you don't trust the dep, that's a separate decision worth flagging upward.
|
|
93
|
+
|
|
94
|
+
### 2.7 Silencing the linter
|
|
95
|
+
**Pattern**: `any` widening, `@ts-ignore`, `@ts-expect-error`, `// eslint-disable`, `# noqa`, `//nolint` introduced to hide a warning instead of resolving it.
|
|
96
|
+
**Detection**: `git diff | grep -E '^\+.*(any|@ts-ignore|@ts-expect-error|eslint-disable|noqa|nolint)'`
|
|
97
|
+
**Fix**: Resolve the underlying issue. Use these only with a comment explaining why the linter is wrong.
|
|
98
|
+
|
|
99
|
+
### 2.8 Phantom test coverage
|
|
100
|
+
**Pattern**: Tests that exercise lines without meaningful assertions: `expect(result).toBeTruthy()` on a value that's always truthy; `assert result is not None` when the function can't return None.
|
|
101
|
+
**Fix**: Assert on the actual behavior — value, side effect, error.
|
|
102
|
+
|
|
103
|
+
### 2.9 Mock-of-a-mock
|
|
104
|
+
**Pattern**: Tests where 80% of setup is mocking, and the assertions verify the mock got called — not that the SUT did the right thing.
|
|
105
|
+
**Fix**: Use real implementations where possible. Mock only at integration boundaries.
|
|
106
|
+
|
|
107
|
+
### 2.10 Unused symbols introduced
|
|
108
|
+
**Pattern**: New imports, exports, parameters, or variables in the diff that nothing references.
|
|
109
|
+
**Detection**: Language linter (`tsc --noUnusedLocals`, `go vet`, `pyflakes`, `ruff`).
|
|
110
|
+
**Fix**: Delete.
|
|
111
|
+
|
|
112
|
+
### 2.11 Magic numbers
|
|
113
|
+
**Pattern**: `if (retries > 7)`, `setTimeout(fn, 3600000)`, `if (status === 418)`.
|
|
114
|
+
**Fix**: Name the constant. `const MAX_RETRIES = 7`.
|
|
115
|
+
|
|
116
|
+
### 2.12 Style inconsistency
|
|
117
|
+
**Pattern**: New code uses arrow functions / camelCase / async-await / a different formatter than the rest of the file.
|
|
118
|
+
**Fix**: Match the surrounding file. The reviewer should not have to think about style.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Section 3: Process slop (PR-level signals)
|
|
123
|
+
|
|
124
|
+
Look across the whole diff, not per-file.
|
|
125
|
+
|
|
126
|
+
### 3.1 Scope mismatch
|
|
127
|
+
**Signal**: PR title says "fix typo" but diff is +800/−60 across 12 files.
|
|
128
|
+
**What it means**: Author wasn't watching what the agent did, OR the title is wrong.
|
|
129
|
+
**Action**: Ask for the PR to be split into focused commits, or ask the author to rewrite the title/description.
|
|
130
|
+
|
|
131
|
+
### 3.2 Unrelated files
|
|
132
|
+
**Signal**: "Fix auth bug" PR also rewrites a logging helper, reorders imports in 5 unrelated files, bumps a dep.
|
|
133
|
+
**Action**: Ask the author to separate the unrelated changes into their own PR.
|
|
134
|
+
|
|
135
|
+
### 3.3 Tests missing or skipped
|
|
136
|
+
**Signal**: Production code changed; no test changes. Or test changes are `it.skip()` / `t.Skip()` / `@pytest.mark.skip` on previously-passing tests.
|
|
137
|
+
**Action**: Block until tests cover the new path, or the skips are justified in the PR description.
|
|
138
|
+
|
|
139
|
+
### 3.4 Docs claim features that don't exist
|
|
140
|
+
**Signal**: README, changelog, or doc updates describe behavior the diff doesn't implement.
|
|
141
|
+
**Action**: Either the docs are aspirational (remove), or the implementation is incomplete (block).
|
|
142
|
+
|
|
143
|
+
### 3.5 Commit messages with LLM-style fluff
|
|
144
|
+
**Signal**: Commits titled "Improve code quality and enhance maintainability", "Refactor for clarity", "Update various files".
|
|
145
|
+
**What it means**: Author didn't read the diff before committing.
|
|
146
|
+
**Action**: Informational. Mention it in the review — recommend conventional-commits format with the *actual* change described.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Section 4: How to phrase the finding
|
|
151
|
+
|
|
152
|
+
Slop findings are *judgment calls*. Bug findings are not. The reviewer LLM tends to swing between "aggressive style cop" and "too polite to flag anything". Both fail.
|
|
153
|
+
|
|
154
|
+
### Good phrasing
|
|
155
|
+
|
|
156
|
+
- **State the cost, not the rule.** "This abstraction has one caller and one implementation — the indirection adds 15 lines of test surface without enabling a second use case. Consider inlining until a second caller appears."
|
|
157
|
+
- **Tie to a concrete future risk.** "Naming the file `utils/helpers.ts` invites future additions. Within 6 months this file tends to grow to 1000+ lines. Suggest renaming to `<domain-specific-name>.ts`."
|
|
158
|
+
- **Offer the alternative.** Don't just flag — say what good looks like.
|
|
159
|
+
- **Acknowledge it's a call.** "This is a Suggestion, not a blocker. If you have a use case in mind for the second implementation, leave it."
|
|
160
|
+
|
|
161
|
+
### Bad phrasing
|
|
162
|
+
|
|
163
|
+
- "This is AI slop." — accusatory, unhelpful, often wrong.
|
|
164
|
+
- "This violates DRY/YAGNI/SOLID." — principle-thumping. State the concrete cost instead.
|
|
165
|
+
- "Please refactor." — vague. Refactor *how*?
|
|
166
|
+
- "I don't like this." — preference dressed as review.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Section 5: When NOT to flag
|
|
171
|
+
|
|
172
|
+
The witch-hunt is the failure mode opposite to the slop. Calibrate:
|
|
173
|
+
|
|
174
|
+
- **Humans also write defensive code.** A `null` check at a system boundary (API input, external response) is correct — don't flag it as paranoia.
|
|
175
|
+
- **One-line wrappers can earn their weight** when they name a domain concept. `function isWeekend(d) { return d.getDay() === 0 || d.getDay() === 6 }` is fine.
|
|
176
|
+
- **Try/catch around legacy code with unknown failure modes** is a reasonable hedge while the code is being understood.
|
|
177
|
+
- **Abstractions can be intentional** if the author knows the second implementation is coming in the next PR. Ask, don't assume.
|
|
178
|
+
- **Verbose error messages** are appropriate at log/user boundaries even when they feel chatty.
|
|
179
|
+
- **Repetitive code** is fine if the alternatives (abstraction, metaprogramming) cost more than the duplication. Rule of three.
|
|
180
|
+
- **Tests that look thin** may be intentional smoke tests for a path that's hard to exercise more deeply.
|
|
181
|
+
- **Magic numbers in tests** are often more readable than named constants. `expect(result).toEqual(42)` doesn't need `EXPECTED_MEANING_OF_LIFE`.
|
|
182
|
+
|
|
183
|
+
Rule of thumb: if you cannot articulate the **concrete cost** of the pattern in this specific codebase, do not flag it.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Section 6: Stack-specific appendix
|
|
188
|
+
|
|
189
|
+
Concrete examples from common stacks. Use these as templates for finding language.
|
|
190
|
+
|
|
191
|
+
### 6.1 Go
|
|
192
|
+
|
|
193
|
+
- **Error wrapping**: `fmt.Errorf("doing X: %w", err)` — wrapping with `%w` preserves the chain. `fmt.Errorf("doing X: %v", err)` *loses* the chain. Flag the latter.
|
|
194
|
+
- **`if err != nil { return err }`** is canonical Go — do **not** flag it as defensive paranoia.
|
|
195
|
+
- **`interface{}` / `any` parameter** introduced where a concrete type would do — flag.
|
|
196
|
+
- **`for rows.Next()` loop missing `rows.Err()` check** — `database/sql` requires it. Bug, not slop.
|
|
197
|
+
- **goroutine launched without lifetime owner** (no `context`, no `wg`, no channel return) — leak risk.
|
|
198
|
+
- **Mutex by value embedded in a struct that gets copied** — silent data race.
|
|
199
|
+
|
|
200
|
+
### 6.2 React / TypeScript
|
|
201
|
+
|
|
202
|
+
- **`useEffect` with empty deps doing data fetch** — usually wants `useEffect` + `AbortController`, or better, the data-fetch lib already in the project (React Query, SWR, tRPC).
|
|
203
|
+
- **`useState` for derived state** that should be a memoized computation.
|
|
204
|
+
- **Inline anonymous functions in props** are usually fine — don't flag them as performance issues unless profiling shows otherwise.
|
|
205
|
+
- **`any` in component props** — flag. Components are the public contract of the UI layer.
|
|
206
|
+
- **New context provider for state that two siblings share** — premature; lift state to the parent or use the project's state lib.
|
|
207
|
+
- **Component file >200 lines** mixing data fetching, business logic, and rendering — split.
|
|
208
|
+
|
|
209
|
+
### 6.3 Tailwind / CSS
|
|
210
|
+
|
|
211
|
+
- **Arbitrary values everywhere** (`h-[473px]`, `text-[#3a5b71]`) — should use design tokens or the closest scale value.
|
|
212
|
+
- **`!important` (`!h-screen`)** introduced to override — almost always wrong; find the source of the cascade conflict.
|
|
213
|
+
- **`h-screen` on mobile-facing UI** — breaks on iOS Safari (chrome + virtual keyboard). Prefer `h-dvh` or `min-h-dvh`.
|
|
214
|
+
- **Fixed `grid-cols-N` without mobile breakpoint** — should be `grid-cols-1 sm:grid-cols-2 lg:grid-cols-N`.
|
|
215
|
+
- **`<input>` / `<textarea>` with `text-sm` only** — font-size <16px triggers iOS Safari auto-zoom on focus. Use `text-base md:text-sm`.
|
|
216
|
+
- **Inline `style={{...}}` for things Tailwind covers** — should use a class.
|
|
217
|
+
|
|
218
|
+
### 6.4 SQL / migrations
|
|
219
|
+
|
|
220
|
+
- **String concatenation building SQL** with user input — injection. Always parameterize.
|
|
221
|
+
- **`SELECT *` in production queries** — fragile to schema change, fetches unused columns.
|
|
222
|
+
- **Migration that's not idempotent** — re-running it fails. Use `IF NOT EXISTS` / `IF EXISTS` where appropriate.
|
|
223
|
+
- **NOT NULL column added without DEFAULT or backfill** — breaks deployed code reading old rows.
|
|
224
|
+
- **Index added on a low-cardinality column** without justification — waste.
|
|
225
|
+
- **`ORDER BY` / `WHERE` on a column with no index** in a query expected to be hot — performance landmine.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## How to use this reference
|
|
230
|
+
|
|
231
|
+
1. Read the relevant section based on the slop signals from the inline SKILL.md checklist.
|
|
232
|
+
2. Match the pattern to a section here.
|
|
233
|
+
3. Use the **phrasing** guide (Section 4) to write the finding.
|
|
234
|
+
4. Apply the **severity rule** from SKILL.md: structural (§1, §3) → Important; micro (§2) → Suggestion.
|
|
235
|
+
5. If unsure whether to flag, re-read Section 5 ("When NOT to flag") first.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# GitHub API compatibility helpers for ak:review-pr.
|
|
2
|
+
#
|
|
3
|
+
# Source this file from every per-PR bash block using the multi-install-path
|
|
4
|
+
# loader below (project-scoped installs, user-scoped installs, the AgentKit
|
|
5
|
+
# monorepo checkout, and a plugin-delivered install):
|
|
6
|
+
#
|
|
7
|
+
# _ak_lib=.claude/skills/ak-review-pr/references/gh-api-helpers.sh
|
|
8
|
+
# [ -f "$_ak_lib" ] || _ak_lib="${HOME:-}/.claude/skills/ak-review-pr/references/gh-api-helpers.sh"
|
|
9
|
+
# [ -f "$_ak_lib" ] || _ak_lib=kits/core/skills/ak-review-pr/references/gh-api-helpers.sh
|
|
10
|
+
# [ -f "$_ak_lib" ] || { (set +u; [ -n "${CLAUDE_PLUGIN_ROOT}" ]) && _ak_lib="${CLAUDE_PLUGIN_ROOT}/skills/ak-review-pr/references/gh-api-helpers.sh"; }
|
|
11
|
+
# [ -f "$_ak_lib" ] || { echo "gh-api-helpers.sh not found" >&2; exit 1; }
|
|
12
|
+
# . "$_ak_lib"
|
|
13
|
+
#
|
|
14
|
+
# Also sourced by `ak:git` merge-pr workflow to keep GraphQL/REST branching
|
|
15
|
+
# consistent across skills.
|
|
16
|
+
#
|
|
17
|
+
# Falls the skill back to REST when the GitHub GraphQL API is blocked at the
|
|
18
|
+
# proxy (e.g. Claude Cloud Environment). Read commands honour AK_GH_REST;
|
|
19
|
+
# write commands try native `gh pr …` first and fall back to REST via
|
|
20
|
+
# `gh api repos/{o}/{r}/…` on a GraphQL-not-enabled error or when the probe
|
|
21
|
+
# already reported `AK_GH_REST=1`.
|
|
22
|
+
|
|
23
|
+
# Detect GraphQL availability. Sets AK_GH_REST=1 when GraphQL is blocked.
|
|
24
|
+
# Idempotent — safe to call many times per run.
|
|
25
|
+
_ak_probe_gh_api() {
|
|
26
|
+
if [ -n "${AK_GH_REST_PROBED:-}" ]; then
|
|
27
|
+
return 0
|
|
28
|
+
fi
|
|
29
|
+
AK_GH_REST=0
|
|
30
|
+
if ! gh api graphql -f query='{__typename}' >/dev/null 2>&1; then
|
|
31
|
+
AK_GH_REST=1
|
|
32
|
+
fi
|
|
33
|
+
AK_GH_REST_PROBED=1
|
|
34
|
+
export AK_GH_REST AK_GH_REST_PROBED
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
# Parse a PR ref into "owner repo number".
|
|
38
|
+
# Accepts: 123 | #123 | https://github.com/OWNER/REPO/pull/123
|
|
39
|
+
_ak_split_pr() {
|
|
40
|
+
local ref="${1#\#}"
|
|
41
|
+
if [[ "$ref" =~ ^https?://github\.com/([^/]+)/([^/]+)/pull/([0-9]+) ]]; then
|
|
42
|
+
printf '%s %s %s\n' "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}"
|
|
43
|
+
return 0
|
|
44
|
+
fi
|
|
45
|
+
# Resolve OWNER/REPO from the git remote URL (no API call, works even when
|
|
46
|
+
# GraphQL is blocked and `gh repo view` fails). `|| true` shields callers
|
|
47
|
+
# running under `set -e` when the named remote is absent.
|
|
48
|
+
local url
|
|
49
|
+
url="$(git remote get-url upstream 2>/dev/null || true)"
|
|
50
|
+
[ -n "$url" ] || url="$(git remote get-url origin 2>/dev/null || true)"
|
|
51
|
+
local slug=""
|
|
52
|
+
if [ -n "$url" ]; then
|
|
53
|
+
# Strip trailing .git and any URL prefix (https://…/, git@…:, ssh://…/).
|
|
54
|
+
slug="${url%.git}"
|
|
55
|
+
slug="${slug##*github.com[/:]}"
|
|
56
|
+
slug="${slug##*github.com/}"
|
|
57
|
+
fi
|
|
58
|
+
# Last-resort: try gh (works only when GraphQL is available).
|
|
59
|
+
if [ -z "$slug" ] || [[ ! "$slug" =~ ^[^/]+/[^/]+$ ]]; then
|
|
60
|
+
slug="$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || true)"
|
|
61
|
+
fi
|
|
62
|
+
# Final validation — enterprise GHE remotes and unrelated remotes can leave
|
|
63
|
+
# garbage here.
|
|
64
|
+
if [ -z "$slug" ] || [[ ! "$slug" =~ ^[^/]+/[^/]+$ ]]; then
|
|
65
|
+
echo "ak-review-pr: cannot resolve OWNER/REPO — pass a full PR URL or run inside a github.com-linked repo (got: '$slug')" >&2
|
|
66
|
+
return 1
|
|
67
|
+
fi
|
|
68
|
+
printf '%s %s %s\n' "${slug%/*}" "${slug#*/}" "$ref"
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
# PR JSON metadata — mirrors `gh pr view --json …`.
|
|
72
|
+
_ak_pr_meta() { # $1=owner $2=repo $3=number
|
|
73
|
+
_ak_probe_gh_api
|
|
74
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
75
|
+
gh api "repos/$1/$2/pulls/$3"
|
|
76
|
+
else
|
|
77
|
+
gh pr view "$3" --repo "$1/$2" \
|
|
78
|
+
--json number,title,body,author,state,mergeable,mergeStateStatus,reviewDecision,baseRefName,headRefName,additions,deletions,changedFiles,url,headRefOid,files
|
|
79
|
+
fi
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
# Unified diff for the PR.
|
|
83
|
+
_ak_pr_diff() { # $1=owner $2=repo $3=number
|
|
84
|
+
_ak_probe_gh_api
|
|
85
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
86
|
+
gh api "repos/$1/$2/pulls/$3" -H "Accept: application/vnd.github.v3.diff"
|
|
87
|
+
else
|
|
88
|
+
gh pr diff "$3" --repo "$1/$2"
|
|
89
|
+
fi
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
# Changed file list (one path per line).
|
|
93
|
+
_ak_pr_files() { # $1=owner $2=repo $3=number
|
|
94
|
+
_ak_probe_gh_api
|
|
95
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
96
|
+
gh api "repos/$1/$2/pulls/$3/files" --paginate --jq '.[].filename'
|
|
97
|
+
else
|
|
98
|
+
gh pr diff "$3" --repo "$1/$2" --name-only
|
|
99
|
+
fi
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
# CI check summary. Prints `<name>\t<status>\t<conclusion>\t<url>` per run,
|
|
103
|
+
# or "No checks found" when there are no runs.
|
|
104
|
+
_ak_pr_checks() { # $1=owner $2=repo $3=number
|
|
105
|
+
_ak_probe_gh_api
|
|
106
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
107
|
+
local sha
|
|
108
|
+
sha="$(gh api "repos/$1/$2/pulls/$3" --jq .head.sha 2>/dev/null)"
|
|
109
|
+
[ -n "$sha" ] || { echo "No checks found"; return 0; }
|
|
110
|
+
local out
|
|
111
|
+
out="$(gh api "repos/$1/$2/commits/$sha/check-runs" --paginate \
|
|
112
|
+
--jq '.check_runs[] | "\(.name)\t\(.status)\t\(.conclusion // "")\t\(.html_url)"' 2>/dev/null)"
|
|
113
|
+
if [ -z "$out" ]; then
|
|
114
|
+
echo "No checks found"
|
|
115
|
+
else
|
|
116
|
+
printf '%s\n' "$out"
|
|
117
|
+
fi
|
|
118
|
+
else
|
|
119
|
+
gh pr checks "$3" --repo "$1/$2" 2>/dev/null || echo "No checks found"
|
|
120
|
+
fi
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
# PR body only — for feeding into pr-body-contract.cjs.
|
|
124
|
+
_ak_pr_body() { # $1=owner $2=repo $3=number
|
|
125
|
+
_ak_probe_gh_api
|
|
126
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
127
|
+
gh api "repos/$1/$2/pulls/$3" --jq .body
|
|
128
|
+
else
|
|
129
|
+
gh pr view "$3" --repo "$1/$2" --json body -q .body
|
|
130
|
+
fi
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
# Post a formal review. Reads body from stdin.
|
|
134
|
+
# $1=owner $2=repo $3=number $4=event (APPROVE|REQUEST_CHANGES|COMMENT)
|
|
135
|
+
_ak_pr_review() {
|
|
136
|
+
_ak_probe_gh_api
|
|
137
|
+
local body
|
|
138
|
+
body="$(cat)"
|
|
139
|
+
local flag
|
|
140
|
+
case "$4" in
|
|
141
|
+
APPROVE) flag="--approve" ;;
|
|
142
|
+
REQUEST_CHANGES) flag="--request-changes" ;;
|
|
143
|
+
COMMENT) flag="--comment" ;;
|
|
144
|
+
*) echo "ak-review-pr: invalid review event: $4" >&2; return 2 ;;
|
|
145
|
+
esac
|
|
146
|
+
# When the probe already reports REST-only, skip the native attempt.
|
|
147
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
148
|
+
printf '%s' "$body" | gh api "repos/$1/$2/pulls/$3/reviews" -f "event=$4" -F "body=@-"
|
|
149
|
+
return $?
|
|
150
|
+
fi
|
|
151
|
+
local err
|
|
152
|
+
if err="$(printf '%s' "$body" | gh pr review "$3" --repo "$1/$2" "$flag" --body-file - 2>&1)"; then
|
|
153
|
+
printf '%s\n' "$err"
|
|
154
|
+
return 0
|
|
155
|
+
fi
|
|
156
|
+
# Native failed — try REST once (covers proxy-side GraphQL blocks the probe
|
|
157
|
+
# missed and error-message wording drift across gh versions).
|
|
158
|
+
if printf '%s' "$body" | gh api "repos/$1/$2/pulls/$3/reviews" -f "event=$4" -F "body=@-" 2>/dev/null; then
|
|
159
|
+
return 0
|
|
160
|
+
fi
|
|
161
|
+
# Surface the original native error.
|
|
162
|
+
printf '%s\n' "$err" >&2
|
|
163
|
+
return 1
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
# Post an issue/PR comment. Reads body from stdin.
|
|
167
|
+
_ak_pr_comment() { # $1=owner $2=repo $3=number
|
|
168
|
+
_ak_probe_gh_api
|
|
169
|
+
local body
|
|
170
|
+
body="$(cat)"
|
|
171
|
+
if [ "$AK_GH_REST" = 1 ]; then
|
|
172
|
+
printf '%s' "$body" | gh api "repos/$1/$2/issues/$3/comments" -F "body=@-"
|
|
173
|
+
return $?
|
|
174
|
+
fi
|
|
175
|
+
local err
|
|
176
|
+
if err="$(printf '%s' "$body" | gh pr comment "$3" --repo "$1/$2" --body-file - 2>&1)"; then
|
|
177
|
+
printf '%s\n' "$err"
|
|
178
|
+
return 0
|
|
179
|
+
fi
|
|
180
|
+
if printf '%s' "$body" | gh api "repos/$1/$2/issues/$3/comments" -F "body=@-" 2>/dev/null; then
|
|
181
|
+
return 0
|
|
182
|
+
fi
|
|
183
|
+
printf '%s\n' "$err" >&2
|
|
184
|
+
return 1
|
|
185
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Evidence-rich PR body contract (#1195)
|
|
2
|
+
|
|
3
|
+
`pk:ship` must create/update PR bodies with these sections (headings localized
|
|
4
|
+
to the effective writing language; English forms shown). Validate with:
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
gh pr view "$PR" --json body -q .body | PR_BIN=.claude/hooks/lib/pr-body-contract.cjs
|
|
8
|
+
test -f "$PR_BIN" || PR_BIN=kits/core/hooks/lib/pr-body-contract.cjs
|
|
9
|
+
node "$PR_BIN"
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Required sections
|
|
13
|
+
|
|
14
|
+
### 1. End-to-end work summary
|
|
15
|
+
Workflow from task/issue/plan → implementation → verification → review → ship.
|
|
16
|
+
Facts only; do not invent steps that did not run.
|
|
17
|
+
|
|
18
|
+
### 2. Subagent delegation
|
|
19
|
+
Count used. For each: role, task, status, concise result. If none: say so.
|
|
20
|
+
|
|
21
|
+
### 3. Technical decisions
|
|
22
|
+
Material decisions + rationale/evidence. Do not fabricate filler.
|
|
23
|
+
|
|
24
|
+
### 4. Deviations from plan
|
|
25
|
+
Compare to the active plan when one exists. If none/no deviations: state that.
|
|
26
|
+
|
|
27
|
+
### 5. Completion evidence
|
|
28
|
+
Map acceptance criteria to tests, commands, artifacts, review, CI. UI/UX PRs
|
|
29
|
+
need relevant screenshots (or an explicit unavailable reason). Non-UI PRs must
|
|
30
|
+
not add decorative screenshots.
|
|
31
|
+
|
|
32
|
+
### 6. Checklist
|
|
33
|
+
Completed vs incomplete/skipped with reasons. Never mark unknown work done.
|
|
34
|
+
|
|
35
|
+
### 7. Human actions required
|
|
36
|
+
Decisions, credentials, manual QA, rollout, approvals. If none: `None` (localized).
|
|
37
|
+
|
|
38
|
+
## Traceability (retain)
|
|
39
|
+
|
|
40
|
+
Fold prior ship fields into this body without duplicating facts:
|
|
41
|
+
|
|
42
|
+
- **Linked Issues** (`Closes #N` / `Relates to #N`)
|
|
43
|
+
- Pre-landing review outcome (under Completion evidence or Checklist)
|
|
44
|
+
- Test results (under Completion evidence / Checklist)
|
|
45
|
+
- Diff/changes summary (under Completion evidence)
|
|
46
|
+
- **Ship Mode** (mode + target branch)
|
|
47
|
+
|
|
48
|
+
## `pk:review-pr` validation
|
|
49
|
+
|
|
50
|
+
- Missing required sections → **Important** findings.
|
|
51
|
+
- Unsupported claims / empty evidence where evidence is asserted → **Important**.
|
|
52
|
+
- Missing Linked Issues / Ship Mode on ship-authored PRs → **Suggestion**.
|
|
53
|
+
- Do not pad sections; prefer honest `None` / `Not run` / `Unavailable`.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Project-Specific Compliance Rules — Worked Example
|
|
2
|
+
|
|
3
|
+
The "Project-specific compliance" section in SKILL.md is intentionally generic — every project has different architecture patterns, ID conventions, SQL store rules, and UI compliance requirements.
|
|
4
|
+
|
|
5
|
+
This reference is a **worked example** from a real production project (Go gateway service + React/Tailwind admin UI) showing how to encode project-specific reviewer rules. Adapt the pattern in your repository's existing instruction or standards authority, then reference that authority from the SKILL.md "Project-specific compliance" section.
|
|
6
|
+
|
|
7
|
+
The reviewer should adapt these rules to *your* project — do not flag PRs in unrelated codebases for not following these specific conventions.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Example: Architecture patterns
|
|
12
|
+
|
|
13
|
+
**Cache invalidation MUST use the pubsub pattern**:
|
|
14
|
+
|
|
15
|
+
```go
|
|
16
|
+
msgBus.Broadcast(bus.Event{
|
|
17
|
+
Name: protocol.EventCacheInvalidate,
|
|
18
|
+
Payload: bus.CacheInvalidatePayload{Kind: ..., Key: ...},
|
|
19
|
+
})
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Do NOT thread direct references to cache structs (e.g. `*ContextFileInterceptor`) through constructors. Subscribers in `cmd/gateway_managed.go` handle dispatch to the correct cache layer. See `internal/http/agents.go` `emitCacheInvalidate()` for the canonical pattern.
|
|
23
|
+
|
|
24
|
+
**Why this is a project-specific rule**: violating it works locally (cache gets invalidated) but breaks when the service runs multi-instance behind a load balancer (only the receiving instance's cache clears). The pubsub pattern fans out via the message bus.
|
|
25
|
+
|
|
26
|
+
**Lesson for your project**: identify the patterns where the "obvious" implementation works in dev but breaks in production. Encode them.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Example: ID scoping
|
|
31
|
+
|
|
32
|
+
`store.UserIDFromContext(ctx)` returns DIFFERENT values depending on context:
|
|
33
|
+
- **In DM**: individual user ID (e.g. `"123456"`)
|
|
34
|
+
- **In group chat**: group-scoped compound ID (e.g. `"group:telegram:-1002541239372"`), composed in `gateway_consumer.go`
|
|
35
|
+
|
|
36
|
+
The individual sender is available separately via `store.SenderIDFromContext(ctx)`.
|
|
37
|
+
|
|
38
|
+
When reviewing code that uses UserID, verify:
|
|
39
|
+
1. Uses the correct ID type for its purpose — `UserID` for scoping/isolation, `SenderID` for identifying the actual person
|
|
40
|
+
2. Group chat behavior is correct — all group members share the same UserID
|
|
41
|
+
3. Code that filters/stores by `user_id` works correctly with the `"group:channel:chatID"` format
|
|
42
|
+
|
|
43
|
+
**Lesson for your project**: if your IDs change shape based on context, document it here. Reviewers can't catch this from the diff alone.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Example: SQL store safety
|
|
48
|
+
|
|
49
|
+
When the PR touches `store/pg/*.go`, migrations, or any DB queries:
|
|
50
|
+
|
|
51
|
+
- All user inputs MUST use parameterized queries (`$1, $2, ...`) — never string concatenation or `fmt.Sprintf` for SQL values
|
|
52
|
+
- Queries MUST be optimized — no N+1 queries, no unnecessary full table scans
|
|
53
|
+
- WHERE clauses, JOINs, and ORDER BY columns MUST use existing indices — cross-check with migration files for available indexes
|
|
54
|
+
- `rows.Err()` MUST be checked after every `for rows.Next()` loop (Go `database/sql` requirement)
|
|
55
|
+
- Nullable columns MUST use pointer types (`*string`, `*time.Time`, etc.) in Scan destinations
|
|
56
|
+
|
|
57
|
+
**Lesson for your project**: SQL store conventions are often the highest-leverage place to encode rules — bugs here cost production data.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Example: i18n compliance
|
|
62
|
+
|
|
63
|
+
- New user-facing strings in Go code MUST use `i18n.T(locale, i18n.MsgXxx, args...)` — no hardcoded English in error responses
|
|
64
|
+
- New user-facing strings in React components MUST use `t("namespace.key")` via `useTranslation()` — no hardcoded English in JSX
|
|
65
|
+
- New i18n keys MUST be added to ALL 3 locale files (en, vi, zh) for both backend (`internal/i18n/catalog_{en,vi,zh}.go`) and frontend (`ui/web/src/i18n/locales/{en,vi,zh}/`)
|
|
66
|
+
- `slog` messages and `console.log` stay English (internal logs, not user-facing)
|
|
67
|
+
|
|
68
|
+
**Lesson for your project**: if you support multiple locales, "added a string in English only" is a regression. Encode the catalog paths.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Example: Web UI compliance (React + Tailwind + Radix)
|
|
73
|
+
|
|
74
|
+
When the PR touches the web UI:
|
|
75
|
+
|
|
76
|
+
- `h-dvh` MUST be used instead of `h-screen` — `h-screen` breaks on mobile (content hides behind browser chrome / virtual keyboard)
|
|
77
|
+
- All `<input>`, `<textarea>`, `<select>` MUST use `text-base md:text-sm` (16px mobile) — font-size <16px triggers iOS Safari auto-zoom on focus
|
|
78
|
+
- Edge-anchored elements (app shell, sidebar, toasts, chat input) MUST use `safe-top`, `safe-bottom`, `safe-left`, `safe-right` for notched devices
|
|
79
|
+
- Icon buttons MUST have ≥44px touch target on touch devices (CSS `@media (pointer: coarse)` with `::after` pseudo-elements)
|
|
80
|
+
- `<table>` MUST be wrapped in `<div className="overflow-x-auto">` with `min-w-[600px]` on the table
|
|
81
|
+
- Grid layouts MUST be mobile-first: `grid-cols-1 sm:grid-cols-2 lg:grid-cols-N` — never fixed `grid-cols-N` without mobile breakpoint
|
|
82
|
+
- Dialogs: full-screen on mobile (`max-sm:inset-0`), centered on desktop (`sm:max-w-lg`) — follow pattern in `ui/dialog.tsx`
|
|
83
|
+
- Scrollable areas MUST use `overscroll-contain` to prevent background scroll bleed
|
|
84
|
+
- Landscape phone: top bars should use `landscape-compact` class to reduce padding (`max-height: 500px`)
|
|
85
|
+
- Portal dropdowns in dialogs using `createPortal(content, document.body)` MUST add `pointer-events-auto` — Radix Dialog sets `pointer-events: none` on body. Radix-native portals (Select, Popover) handle this automatically
|
|
86
|
+
- Timezone: charts MUST use `formatBucketTz()` from `lib/format.ts` with `Intl.DateTimeFormat` — no `date-fns-tz` dependency
|
|
87
|
+
- Package manager: MUST use `pnpm` (not `npm`) for `ui/web/`
|
|
88
|
+
- File size: individual component files should stay under 200 lines — split into focused modules if exceeding
|
|
89
|
+
|
|
90
|
+
**Lesson for your project**: encode mobile-first conventions, accessibility minimums, safe-area handling, and package-manager rules. These are easy to forget and tedious to enforce manually.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## How to encode project-specific rules in your own repo
|
|
95
|
+
|
|
96
|
+
1. Follow the repository's instruction and documentation navigation to find the authority that owns review standards; if none exists, choose a location consistent with the project's conventions
|
|
97
|
+
2. Reference them from your project's review instructions
|
|
98
|
+
3. Update them when patterns change — stale rules generate false-positive findings
|
|
99
|
+
4. Cross-check: when the reviewer cites a rule, the path/file referenced must still exist. Move with the code
|
|
100
|
+
|
|
101
|
+
The reviewer is only as good as the rules. Invest here.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Writing language for GitHub prose
|
|
2
|
+
|
|
3
|
+
Shared by `pk:ship` and `pk:review-pr` (#1195).
|
|
4
|
+
|
|
5
|
+
## Resolve before authoring
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
WL_BIN=.claude/hooks/lib/writing-language.cjs
|
|
9
|
+
test -f "$WL_BIN" || WL_BIN=kits/core/hooks/lib/writing-language.cjs
|
|
10
|
+
node "$WL_BIN" --json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Use `language` from the JSON for all human-facing GitHub prose. If
|
|
14
|
+
`fallbackReason` is set, state the fallback explicitly in the PR/review body
|
|
15
|
+
(do not claim the unsupported tag was honored).
|
|
16
|
+
|
|
17
|
+
## Precedence
|
|
18
|
+
|
|
19
|
+
1. `AGENTKIT_LANGUAGE`
|
|
20
|
+
2. `CK_RESPONSE_LANGUAGE`
|
|
21
|
+
3. `<project>/.primekit/config.yaml` → `locale.response_language` or top-level `language`
|
|
22
|
+
4. `$AGENTKIT_HOME/config.yaml` (default `~/.primekit/config.yaml`) → same keys
|
|
23
|
+
5. `<project>/.claude/.ck.json` → `locale.responseLanguage`
|
|
24
|
+
6. `~/.claude/.ck.json` → `locale.responseLanguage`
|
|
25
|
+
7. Default: `en`
|
|
26
|
+
|
|
27
|
+
## What is localized
|
|
28
|
+
|
|
29
|
+
- PR description headings and prose (`pk:ship`)
|
|
30
|
+
- Review Summary / Risk / Findings / Verdict / handoff text (`pk:review-pr`)
|
|
31
|
+
- Checklist labels and human-action requests
|
|
32
|
+
|
|
33
|
+
## What stays intact
|
|
34
|
+
|
|
35
|
+
- Conventional-commit **PR titles** (English)
|
|
36
|
+
- Code, commands, paths, URLs, identifiers
|
|
37
|
+
- GitHub keywords (`Closes #123`, `Relates to #456`)
|
|
38
|
+
- User-provided quotes, issue titles, error output, evidence blobs
|
|
39
|
+
|
|
40
|
+
## Invalid tags
|
|
41
|
+
|
|
42
|
+
Normalize to lowercase BCP47-like `/^[a-z]{2,3}(-[a-z0-9]+)*$/`. Invalid
|
|
43
|
+
candidates are **skipped** so lower-precedence sources can still win. If every
|
|
44
|
+
configured value is invalid/empty, use `en` and record `fallbackReason` plus
|
|
45
|
+
`rejected[]`.
|
|
46
|
+
|
|
47
|
+
## YAML parser limits
|
|
48
|
+
|
|
49
|
+
The resolver uses a minimal line parser (no YAML dependency). Supported shapes:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
language: vi
|
|
53
|
+
locale:
|
|
54
|
+
response_language: vi
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Inline maps like `locale: { response_language: vi }` are **not** read. Prefer
|
|
58
|
+
block form until #1093 ships a full YAML consumer.
|