@cubis/foundry 0.3.71 → 0.3.72
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/CHANGELOG.md +15 -0
- package/dist/cli/core.js +4 -18
- package/dist/cli/core.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/core.ts +4 -18
- package/workflows/powers/accessibility/POWER.md +83 -94
- package/workflows/powers/accessibility/SKILL.md +82 -94
- package/workflows/powers/agent-design/POWER.md +201 -0
- package/workflows/powers/agent-design/SKILL.md +198 -0
- package/workflows/powers/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/powers/agent-design/references/skill-testing.md +164 -0
- package/workflows/powers/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/powers/agentic-eval/POWER.md +62 -0
- package/workflows/powers/agentic-eval/SKILL.md +59 -0
- package/workflows/powers/agentic-eval/references/rubric-and-regression-checklist.md +11 -0
- package/workflows/powers/api-designer/POWER.md +43 -71
- package/workflows/powers/api-designer/SKILL.md +43 -71
- package/workflows/powers/api-patterns/POWER.md +42 -56
- package/workflows/powers/api-patterns/SKILL.md +42 -57
- package/workflows/powers/architecture-designer/POWER.md +43 -60
- package/workflows/powers/architecture-designer/SKILL.md +43 -60
- package/workflows/powers/ask-questions-if-underspecified/POWER.md +51 -3
- package/workflows/powers/auth-architect/POWER.md +69 -0
- package/workflows/powers/auth-architect/SKILL.md +66 -0
- package/workflows/powers/auth-architect/references/session-token-policy-checklist.md +45 -0
- package/workflows/powers/behavioral-modes/POWER.md +100 -9
- package/workflows/powers/c-pro/POWER.md +105 -0
- package/workflows/powers/c-pro/SKILL.md +102 -0
- package/workflows/powers/c-pro/references/build-systems-and-toolchains.md +148 -0
- package/workflows/powers/c-pro/references/common-ub-and-portability.md +166 -0
- package/workflows/powers/c-pro/references/debugging-with-sanitizers.md +205 -0
- package/workflows/powers/c-pro/references/memory-safety-and-build-checklist.md +60 -0
- package/workflows/powers/c-pro/references/posix-and-platform-apis.md +244 -0
- package/workflows/powers/changelog-generator/POWER.md +127 -63
- package/workflows/powers/changelog-generator/SKILL.md +126 -63
- package/workflows/powers/ci-cd-pipelines/POWER.md +156 -0
- package/workflows/powers/ci-cd-pipelines/SKILL.md +153 -0
- package/workflows/powers/ci-cd-pipelines/references/github-actions-patterns.md +160 -0
- package/workflows/powers/ci-cd-pipelines/references/pipeline-security-checklist.md +57 -0
- package/workflows/powers/cli-developer/POWER.md +152 -95
- package/workflows/powers/cli-developer/SKILL.md +152 -95
- package/workflows/powers/cpp-pro/POWER.md +111 -0
- package/workflows/powers/cpp-pro/SKILL.md +108 -0
- package/workflows/powers/cpp-pro/references/concurrency-primitives.md +266 -0
- package/workflows/powers/cpp-pro/references/move-semantics-and-value-types.md +149 -0
- package/workflows/powers/cpp-pro/references/performance-and-profiling.md +191 -0
- package/workflows/powers/cpp-pro/references/raii-and-modern-cpp-checklist.md +87 -0
- package/workflows/powers/cpp-pro/references/template-and-concepts-patterns.md +205 -0
- package/workflows/powers/csharp-pro/POWER.md +47 -22
- package/workflows/powers/csharp-pro/SKILL.md +47 -22
- package/workflows/powers/dart-pro/POWER.md +68 -0
- package/workflows/powers/dart-pro/SKILL.md +65 -0
- package/workflows/powers/dart-pro/references/isolate-and-concurrency.md +180 -0
- package/workflows/powers/dart-pro/references/null-safety-and-async-patterns.md +133 -0
- package/workflows/powers/dart-pro/references/package-structure-and-linting.md +193 -0
- package/workflows/powers/dart-pro/references/sealed-records-patterns.md +173 -0
- package/workflows/powers/dart-pro/references/testing-and-mocking.md +235 -0
- package/workflows/powers/database-design/POWER.md +47 -33
- package/workflows/powers/database-design/SKILL.md +47 -33
- package/workflows/powers/database-optimizer/POWER.md +43 -64
- package/workflows/powers/database-optimizer/SKILL.md +43 -64
- package/workflows/powers/database-skills/POWER.md +59 -93
- package/workflows/powers/database-skills/SKILL.md +59 -93
- package/workflows/powers/debugging-strategies/POWER.md +69 -0
- package/workflows/powers/debugging-strategies/SKILL.md +66 -0
- package/workflows/powers/debugging-strategies/references/reproduce-isolate-verify-checklist.md +42 -0
- package/workflows/powers/deep-research/POWER.md +67 -0
- package/workflows/powers/deep-research/SKILL.md +64 -0
- package/workflows/powers/deep-research/references/multi-round-research-loop.md +80 -0
- package/workflows/powers/design-system-builder/POWER.md +130 -116
- package/workflows/powers/design-system-builder/SKILL.md +130 -116
- package/workflows/powers/devops-engineer/POWER.md +120 -57
- package/workflows/powers/devops-engineer/SKILL.md +120 -57
- package/workflows/powers/docker-kubernetes/POWER.md +94 -0
- package/workflows/powers/docker-kubernetes/SKILL.md +91 -0
- package/workflows/powers/docker-kubernetes/references/dockerfile-optimization-checklist.md +35 -0
- package/workflows/powers/docker-kubernetes/references/kubernetes-deployment-patterns.md +59 -0
- package/workflows/powers/documentation-templates/POWER.md +158 -127
- package/workflows/powers/documentation-templates/SKILL.md +158 -127
- package/workflows/powers/drizzle-expert/POWER.md +66 -0
- package/workflows/powers/drizzle-expert/SKILL.md +63 -0
- package/workflows/powers/drizzle-expert/references/runtime-pairing-matrix.md +16 -0
- package/workflows/powers/drizzle-expert/references/schema-and-migration-playbook.md +18 -0
- package/workflows/powers/error-ux-observability/POWER.md +144 -131
- package/workflows/powers/error-ux-observability/SKILL.md +143 -131
- package/workflows/powers/fastapi-expert/POWER.md +46 -60
- package/workflows/powers/fastapi-expert/SKILL.md +46 -60
- package/workflows/powers/firebase/POWER.md +65 -0
- package/workflows/powers/firebase/SKILL.md +62 -0
- package/workflows/powers/firebase/references/platform-routing.md +16 -0
- package/workflows/powers/firebase/references/rules-and-indexes-checklist.md +11 -0
- package/workflows/powers/flutter-design-system/POWER.md +63 -0
- package/workflows/powers/flutter-design-system/SKILL.md +60 -0
- package/workflows/powers/flutter-design-system/references/shared-widgets.md +29 -0
- package/workflows/powers/flutter-design-system/references/tokens-and-theme.md +34 -0
- package/workflows/powers/flutter-drift/POWER.md +65 -0
- package/workflows/powers/flutter-drift/SKILL.md +62 -0
- package/workflows/powers/flutter-drift/references/migrations.md +22 -0
- package/workflows/powers/flutter-drift/references/query-patterns.md +26 -0
- package/workflows/powers/flutter-feature/POWER.md +65 -0
- package/workflows/powers/flutter-feature/SKILL.md +62 -0
- package/workflows/powers/flutter-feature/references/architecture-rules.md +85 -0
- package/workflows/powers/flutter-feature/references/composite-provider.md +58 -0
- package/workflows/powers/flutter-feature/references/outbox-pattern.md +87 -0
- package/workflows/powers/flutter-feature/references/testing-patterns.md +218 -0
- package/workflows/powers/flutter-go-router/POWER.md +64 -0
- package/workflows/powers/flutter-go-router/SKILL.md +61 -0
- package/workflows/powers/flutter-go-router/references/guards-and-deeplinks.md +20 -0
- package/workflows/powers/flutter-go-router/references/typed-routes.md +27 -0
- package/workflows/powers/flutter-offline-sync/POWER.md +62 -0
- package/workflows/powers/flutter-offline-sync/SKILL.md +59 -0
- package/workflows/powers/flutter-offline-sync/references/outbox-full.md +44 -0
- package/workflows/powers/flutter-repository/POWER.md +64 -0
- package/workflows/powers/flutter-repository/SKILL.md +61 -0
- package/workflows/powers/flutter-repository/references/drift-patterns.md +21 -0
- package/workflows/powers/flutter-repository/references/retrofit-patterns.md +20 -0
- package/workflows/powers/flutter-riverpod/POWER.md +70 -0
- package/workflows/powers/flutter-riverpod/SKILL.md +67 -0
- package/workflows/powers/flutter-riverpod/references/async-and-mutations.md +19 -0
- package/workflows/powers/flutter-riverpod/references/async-lifecycle.md +19 -0
- package/workflows/powers/flutter-riverpod/references/provider-selection.md +20 -0
- package/workflows/powers/flutter-riverpod/references/testing.md +21 -0
- package/workflows/powers/flutter-riverpod/references/version-matrix.md +24 -0
- package/workflows/powers/flutter-state-machine/POWER.md +62 -0
- package/workflows/powers/flutter-state-machine/SKILL.md +59 -0
- package/workflows/powers/flutter-state-machine/references/app-state-contract.md +23 -0
- package/workflows/powers/flutter-state-machine/references/ui-rendering.md +14 -0
- package/workflows/powers/flutter-testing/POWER.md +64 -0
- package/workflows/powers/flutter-testing/SKILL.md +61 -0
- package/workflows/powers/flutter-testing/references/offline-sync-tests.md +16 -0
- package/workflows/powers/flutter-testing/references/test-layers.md +33 -0
- package/workflows/powers/frontend-code-review/POWER.md +137 -0
- package/workflows/powers/frontend-code-review/SKILL.md +134 -0
- package/workflows/powers/frontend-code-review/references/common-antipatterns.md +86 -0
- package/workflows/powers/frontend-code-review/references/performance-budgets.md +56 -0
- package/workflows/powers/frontend-code-review/references/review-checklists.md +47 -0
- package/workflows/powers/frontend-design/POWER.md +163 -362
- package/workflows/powers/frontend-design/SKILL.md +163 -362
- package/workflows/powers/game-development/POWER.md +57 -140
- package/workflows/powers/game-development/SKILL.md +57 -140
- package/workflows/powers/geo-fundamentals/POWER.md +64 -126
- package/workflows/powers/geo-fundamentals/SKILL.md +64 -127
- package/workflows/powers/git-workflow/POWER.md +135 -0
- package/workflows/powers/git-workflow/SKILL.md +132 -0
- package/workflows/powers/git-workflow/references/pr-review-checklist.md +63 -0
- package/workflows/powers/golang-pro/POWER.md +46 -35
- package/workflows/powers/golang-pro/SKILL.md +46 -35
- package/workflows/powers/graphql-architect/POWER.md +44 -62
- package/workflows/powers/graphql-architect/SKILL.md +44 -62
- package/workflows/powers/i18n-localization/POWER.md +118 -103
- package/workflows/powers/i18n-localization/SKILL.md +118 -103
- package/workflows/powers/java-pro/POWER.md +47 -22
- package/workflows/powers/java-pro/SKILL.md +47 -22
- package/workflows/powers/javascript-pro/POWER.md +47 -34
- package/workflows/powers/javascript-pro/SKILL.md +47 -34
- package/workflows/powers/kotlin-pro/POWER.md +46 -23
- package/workflows/powers/kotlin-pro/SKILL.md +46 -23
- package/workflows/powers/legacy-modernizer/POWER.md +43 -60
- package/workflows/powers/legacy-modernizer/SKILL.md +43 -60
- package/workflows/powers/mcp-builder/POWER.md +65 -0
- package/workflows/powers/mcp-builder/SKILL.md +62 -0
- package/workflows/powers/mcp-builder/references/testing-and-evals.md +17 -0
- package/workflows/powers/mcp-builder/references/transport-and-tool-design.md +17 -0
- package/workflows/powers/microservices-architect/POWER.md +43 -70
- package/workflows/powers/microservices-architect/SKILL.md +43 -70
- package/workflows/powers/mobile-design/POWER.md +110 -345
- package/workflows/powers/mobile-design/SKILL.md +110 -345
- package/workflows/powers/mongodb/POWER.md +67 -0
- package/workflows/powers/mongodb/SKILL.md +64 -0
- package/workflows/powers/mongodb/references/mongodb-checklist.md +20 -0
- package/workflows/powers/mysql/POWER.md +67 -0
- package/workflows/powers/mysql/SKILL.md +64 -0
- package/workflows/powers/mysql/references/mysql-checklist.md +20 -0
- package/workflows/powers/neki/POWER.md +67 -0
- package/workflows/powers/neki/SKILL.md +64 -0
- package/workflows/powers/neki/references/neki-checklist.md +18 -0
- package/workflows/powers/nestjs-expert/POWER.md +45 -91
- package/workflows/powers/nestjs-expert/SKILL.md +45 -91
- package/workflows/powers/nextjs-developer/POWER.md +51 -44
- package/workflows/powers/nextjs-developer/SKILL.md +51 -44
- package/workflows/powers/nodejs-best-practices/POWER.md +48 -29
- package/workflows/powers/nodejs-best-practices/SKILL.md +48 -29
- package/workflows/powers/observability/POWER.md +109 -0
- package/workflows/powers/observability/SKILL.md +106 -0
- package/workflows/powers/observability/references/alerting-and-slo-checklist.md +87 -0
- package/workflows/powers/observability/references/opentelemetry-setup-guide.md +121 -0
- package/workflows/powers/openai-docs/POWER.md +61 -0
- package/workflows/powers/openai-docs/SKILL.md +58 -0
- package/workflows/powers/openai-docs/references/official-source-playbook.md +10 -0
- package/workflows/powers/performance-profiling/POWER.md +61 -114
- package/workflows/powers/performance-profiling/SKILL.md +61 -114
- package/workflows/powers/php-pro/POWER.md +116 -0
- package/workflows/powers/php-pro/SKILL.md +113 -0
- package/workflows/powers/php-pro/references/architecture-and-di.md +239 -0
- package/workflows/powers/php-pro/references/modern-php-features.md +189 -0
- package/workflows/powers/php-pro/references/performance-and-deployment.md +197 -0
- package/workflows/powers/php-pro/references/php84-strict-typing-checklist.md +161 -0
- package/workflows/powers/php-pro/references/testing-and-static-analysis.md +235 -0
- package/workflows/powers/playwright-e2e/POWER.md +85 -0
- package/workflows/powers/playwright-e2e/SKILL.md +82 -0
- package/workflows/powers/playwright-e2e/references/locator-trace-flake-checklist.md +80 -0
- package/workflows/powers/postgres/POWER.md +67 -0
- package/workflows/powers/postgres/SKILL.md +64 -0
- package/workflows/powers/postgres/references/postgres-checklist.md +20 -0
- package/workflows/powers/prompt-engineer/POWER.md +47 -30
- package/workflows/powers/prompt-engineer/SKILL.md +47 -30
- package/workflows/powers/python-pro/POWER.md +47 -36
- package/workflows/powers/python-pro/SKILL.md +47 -36
- package/workflows/powers/react-best-practices/POWER.md +56 -33
- package/workflows/powers/react-best-practices/SKILL.md +56 -33
- package/workflows/powers/react-expert/POWER.md +47 -37
- package/workflows/powers/react-expert/SKILL.md +47 -37
- package/workflows/powers/redis/POWER.md +67 -0
- package/workflows/powers/redis/SKILL.md +64 -0
- package/workflows/powers/redis/references/redis-checklist.md +19 -0
- package/workflows/powers/ruby-pro/POWER.md +118 -0
- package/workflows/powers/ruby-pro/SKILL.md +115 -0
- package/workflows/powers/ruby-pro/references/modern-ruby-features.md +189 -0
- package/workflows/powers/ruby-pro/references/object-design-patterns.md +220 -0
- package/workflows/powers/ruby-pro/references/performance-and-profiling.md +224 -0
- package/workflows/powers/ruby-pro/references/ruby-concurrency-and-testing.md +190 -0
- package/workflows/powers/ruby-pro/references/testing-and-rspec.md +236 -0
- package/workflows/powers/rust-pro/POWER.md +45 -31
- package/workflows/powers/rust-pro/SKILL.md +45 -31
- package/workflows/powers/security-engineer/POWER.md +129 -0
- package/workflows/powers/security-engineer/SKILL.md +126 -0
- package/workflows/powers/seo-fundamentals/POWER.md +59 -102
- package/workflows/powers/seo-fundamentals/SKILL.md +59 -102
- package/workflows/powers/serverless-patterns/POWER.md +171 -0
- package/workflows/powers/serverless-patterns/SKILL.md +168 -0
- package/workflows/powers/skill-creator/POWER.md +90 -0
- package/workflows/powers/skill-creator/SKILL.md +87 -0
- package/workflows/powers/skill-creator/references/platform-formats.md +181 -0
- package/workflows/powers/skill-creator/references/schemas.md +430 -0
- package/workflows/powers/spec-miner/POWER.md +49 -57
- package/workflows/powers/spec-miner/SKILL.md +49 -57
- package/workflows/powers/sqlite/POWER.md +67 -0
- package/workflows/powers/sqlite/SKILL.md +64 -0
- package/workflows/powers/sqlite/references/sqlite-checklist.md +19 -0
- package/workflows/powers/sre-engineer/POWER.md +123 -64
- package/workflows/powers/sre-engineer/SKILL.md +123 -64
- package/workflows/powers/static-analysis/POWER.md +121 -77
- package/workflows/powers/static-analysis/SKILL.md +121 -77
- package/workflows/powers/stripe-best-practices/POWER.md +140 -17
- package/workflows/powers/stripe-best-practices/SKILL.md +139 -17
- package/workflows/powers/supabase/POWER.md +67 -0
- package/workflows/powers/supabase/SKILL.md +64 -0
- package/workflows/powers/supabase/references/supabase-checklist.md +19 -0
- package/workflows/powers/swift-pro/POWER.md +118 -0
- package/workflows/powers/swift-pro/SKILL.md +115 -0
- package/workflows/powers/swift-pro/references/concurrency-patterns.md +165 -0
- package/workflows/powers/swift-pro/references/protocol-and-generics.md +172 -0
- package/workflows/powers/swift-pro/references/sendable-and-isolation.md +116 -0
- package/workflows/powers/swift-pro/references/swift-concurrency-and-protocols.md +260 -0
- package/workflows/powers/swift-pro/references/testing-and-packages.md +192 -0
- package/workflows/powers/tailwind-patterns/POWER.md +71 -240
- package/workflows/powers/tailwind-patterns/SKILL.md +71 -240
- package/workflows/powers/testing-patterns/POWER.md +155 -10
- package/workflows/powers/testing-patterns/SKILL.md +155 -10
- package/workflows/powers/typescript-pro/POWER.md +47 -38
- package/workflows/powers/typescript-pro/SKILL.md +47 -38
- package/workflows/powers/vitess/POWER.md +67 -0
- package/workflows/powers/vitess/SKILL.md +64 -0
- package/workflows/powers/vitess/references/vitess-checklist.md +19 -0
- package/workflows/powers/vulnerability-scanner/POWER.md +146 -10
- package/workflows/powers/vulnerability-scanner/SKILL.md +146 -10
- package/workflows/powers/web-perf/POWER.md +43 -170
- package/workflows/powers/web-perf/SKILL.md +43 -170
- package/workflows/powers/webapp-testing/POWER.md +43 -164
- package/workflows/powers/webapp-testing/SKILL.md +43 -164
|
@@ -1,156 +1,93 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: geo-fundamentals
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: "Use when optimizing content for AI search engines (ChatGPT, Claude, Perplexity) using Generative Engine Optimization techniques and citation-worthy content patterns."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: cubis-foundry
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# GEO Fundamentals
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
## Purpose
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## 1. What is GEO?
|
|
14
|
-
|
|
15
|
-
**GEO** = Generative Engine Optimization
|
|
16
|
-
|
|
17
|
-
| Goal | Platform |
|
|
18
|
-
|------|----------|
|
|
19
|
-
| Be cited in AI responses | ChatGPT, Claude, Perplexity, Gemini |
|
|
20
|
-
|
|
21
|
-
### SEO vs GEO
|
|
22
|
-
|
|
23
|
-
| Aspect | SEO | GEO |
|
|
24
|
-
|--------|-----|-----|
|
|
25
|
-
| Goal | #1 ranking | AI citations |
|
|
26
|
-
| Platform | Google | AI engines |
|
|
27
|
-
| Metrics | Rankings, CTR | Citation rate |
|
|
28
|
-
| Focus | Keywords | Entities, data |
|
|
29
|
-
|
|
30
|
-
---
|
|
15
|
+
Use when optimizing content for AI search engines (ChatGPT, Claude, Perplexity) using Generative Engine Optimization techniques and citation-worthy content patterns.
|
|
31
16
|
|
|
32
|
-
##
|
|
17
|
+
## When to Use
|
|
33
18
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
| **Gemini** | Sources section | SEO crossover |
|
|
19
|
+
- Optimizing content to be cited by AI search engines and LLM-powered tools.
|
|
20
|
+
- Understanding the differences between traditional SEO and Generative Engine Optimization.
|
|
21
|
+
- Creating content that performs well in RAG retrieval pipelines.
|
|
22
|
+
- Configuring AI crawler access and structured data for LLM consumption.
|
|
23
|
+
- Designing content strategies that work across both traditional and AI-powered search.
|
|
40
24
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
## 3. RAG Retrieval Factors
|
|
44
|
-
|
|
45
|
-
How AI engines select content to cite:
|
|
46
|
-
|
|
47
|
-
| Factor | Weight |
|
|
48
|
-
|--------|--------|
|
|
49
|
-
| Semantic relevance | ~40% |
|
|
50
|
-
| Keyword match | ~20% |
|
|
51
|
-
| Authority signals | ~15% |
|
|
52
|
-
| Freshness | ~10% |
|
|
53
|
-
| Source diversity | ~15% |
|
|
25
|
+
## Instructions
|
|
54
26
|
|
|
55
|
-
|
|
27
|
+
1. Understand the AI search landscape — how Perplexity, ChatGPT, and Claude cite sources differently.
|
|
28
|
+
2. Optimize for RAG retrieval factors — semantic relevance (~40%), keyword match (~20%), authority (~15%), freshness (~10%), diversity (~15%).
|
|
29
|
+
3. Create citation-worthy content — original statistics, expert quotes, clear definitions, step-by-step guides, comparison tables.
|
|
30
|
+
4. Implement technical GEO — schema markup, author credentials, AI crawler access, FAQ sections.
|
|
31
|
+
5. Measure and iterate — track AI citation frequency and adapt content strategy.
|
|
56
32
|
|
|
57
|
-
|
|
33
|
+
### SEO vs GEO comparison
|
|
58
34
|
|
|
59
|
-
|
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
| **FAQ sections** | Direct answers |
|
|
35
|
+
| Aspect | Traditional SEO | Generative Engine Optimization |
|
|
36
|
+
| ------- | -------------------------- | ----------------------------------- |
|
|
37
|
+
| Target | Search engine results page | AI-generated answers |
|
|
38
|
+
| Goal | Click-through from SERP | Citation in AI response |
|
|
39
|
+
| Content | Keyword-optimized pages | Citation-worthy, structured content |
|
|
40
|
+
| Links | Backlink building | Authority signals for RAG |
|
|
41
|
+
| Schema | For rich snippets | For LLM understanding |
|
|
67
42
|
|
|
68
|
-
|
|
43
|
+
### Content patterns that get cited
|
|
69
44
|
|
|
70
|
-
|
|
45
|
+
- Original statistics and data points
|
|
46
|
+
- Expert quotes with credentials
|
|
47
|
+
- Clear, concise definitions
|
|
48
|
+
- Step-by-step guides with numbered steps
|
|
49
|
+
- Comparison tables with concrete data
|
|
50
|
+
- Unique frameworks or methodologies
|
|
71
51
|
|
|
72
|
-
###
|
|
52
|
+
### AI crawler user agents
|
|
73
53
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
-
|
|
80
|
-
- [ ] "Last updated" timestamp
|
|
81
|
-
- [ ] Author with credentials
|
|
54
|
+
| Crawler | Engine |
|
|
55
|
+
| --------------- | ------------------ |
|
|
56
|
+
| GPTBot | ChatGPT / OpenAI |
|
|
57
|
+
| Claude-Web | Claude / Anthropic |
|
|
58
|
+
| PerplexityBot | Perplexity |
|
|
59
|
+
| Google-Extended | Google AI features |
|
|
82
60
|
|
|
83
|
-
###
|
|
61
|
+
### GEO content checklist
|
|
84
62
|
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
63
|
+
- Question-based titles and headings
|
|
64
|
+
- Author credentials and expertise signals
|
|
65
|
+
- FAQ sections with structured data
|
|
66
|
+
- Article and FAQPage schema markup
|
|
67
|
+
- Clear, quotable sentences in the first paragraph
|
|
68
|
+
- Data-backed claims with sources
|
|
90
69
|
|
|
91
|
-
|
|
70
|
+
### Constraints
|
|
92
71
|
|
|
93
|
-
|
|
72
|
+
- Never block AI crawlers unless there's a specific business reason.
|
|
73
|
+
- Never create content solely for AI citation without user value.
|
|
74
|
+
- Always maintain content accuracy — AI engines amplify both good and bad information.
|
|
75
|
+
- Always include proper attribution for data and quotes.
|
|
94
76
|
|
|
95
|
-
|
|
96
|
-
|--------|---------|
|
|
97
|
-
| Google Knowledge Panel | Entity recognition |
|
|
98
|
-
| Wikipedia (if notable) | Authority source |
|
|
99
|
-
| Consistent info across web | Entity consolidation |
|
|
100
|
-
| Industry mentions | Authority signals |
|
|
77
|
+
## Output Format
|
|
101
78
|
|
|
102
|
-
|
|
79
|
+
Provide GEO audit findings, content optimization recommendations, schema markup, and crawler configuration guidance.
|
|
103
80
|
|
|
104
|
-
##
|
|
81
|
+
## References
|
|
105
82
|
|
|
106
|
-
|
|
83
|
+
No reference files for this skill right now.
|
|
107
84
|
|
|
108
|
-
|
|
109
|
-
|---------|--------|
|
|
110
|
-
| GPTBot | ChatGPT/OpenAI |
|
|
111
|
-
| Claude-Web | Claude |
|
|
112
|
-
| PerplexityBot | Perplexity |
|
|
113
|
-
| Googlebot | Gemini (shared) |
|
|
114
|
-
|
|
115
|
-
### Access Decision
|
|
116
|
-
|
|
117
|
-
| Strategy | When |
|
|
118
|
-
|----------|------|
|
|
119
|
-
| Allow all | Want AI citations |
|
|
120
|
-
| Block GPTBot | Don't want OpenAI training |
|
|
121
|
-
| Selective | Allow some, block others |
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 8. Measurement
|
|
126
|
-
|
|
127
|
-
| Metric | How to Track |
|
|
128
|
-
|--------|--------------|
|
|
129
|
-
| AI citations | Manual monitoring |
|
|
130
|
-
| "According to [Brand]" mentions | Search in AI |
|
|
131
|
-
| Competitor citations | Compare share |
|
|
132
|
-
| AI-referred traffic | UTM parameters |
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 9. Anti-Patterns
|
|
137
|
-
|
|
138
|
-
| ❌ Don't | ✅ Do |
|
|
139
|
-
|----------|-------|
|
|
140
|
-
| Publish without dates | Add timestamps |
|
|
141
|
-
| Vague attributions | Name sources |
|
|
142
|
-
| Skip author info | Show credentials |
|
|
143
|
-
| Thin content | Comprehensive coverage |
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
> **Remember:** AI cites content that's clear, authoritative, and easy to extract. Be the best answer.
|
|
148
|
-
|
|
149
|
-
---
|
|
85
|
+
## Scripts
|
|
150
86
|
|
|
151
|
-
|
|
87
|
+
No helper scripts are required for this skill right now.
|
|
152
88
|
|
|
153
|
-
|
|
154
|
-
|--------|---------|---------|
|
|
155
|
-
| `scripts/geo_checker.py` | GEO audit (AI citation readiness) | `python scripts/geo_checker.py <project_path>` |
|
|
89
|
+
## Examples
|
|
156
90
|
|
|
91
|
+
- "Optimize our documentation to be cited by AI search engines"
|
|
92
|
+
- "Create a GEO content strategy for our developer blog"
|
|
93
|
+
- "Configure AI crawler access and structured data for our site"
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
````markdown
|
|
2
|
+
---
|
|
3
|
+
inclusion: manual
|
|
4
|
+
name: git-workflow
|
|
5
|
+
description: "Use when establishing or reviewing git branching strategies, PR conventions, commit hygiene, merge policies, monorepo workflows, and release tagging. Covers trunk-based development, GitFlow alternatives, conventional commits, and code review standards."
|
|
6
|
+
license: MIT
|
|
7
|
+
metadata:
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "1.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Git Workflow
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
|
|
17
|
+
Use when establishing or reviewing git branching strategies, PR conventions, commit hygiene, merge policies, monorepo workflows, and release tagging. Covers trunk-based development, GitFlow alternatives, conventional commits, and code review standards.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- Working on git workflow related tasks
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
1. **Choose a branching model** — trunk-based for high-velocity teams, short-lived feature branches for teams needing review gates.
|
|
26
|
+
2. **Keep branches short-lived** — merge within 1-2 days. Long-lived branches create merge pain and integration risk.
|
|
27
|
+
3. **Write meaningful commits** — each commit should be a logical, reviewable unit. Squash fixup commits before merge.
|
|
28
|
+
4. **Review before merge** — every change to protected branches goes through PR review. No direct pushes.
|
|
29
|
+
5. **Automate what you can** — branch protection, CI gating, auto-merge on approval, changelog generation.
|
|
30
|
+
|
|
31
|
+
### Branching strategies
|
|
32
|
+
|
|
33
|
+
### Trunk-based development (recommended)
|
|
34
|
+
|
|
35
|
+
- All developers commit to `main` (directly or via short-lived branches).
|
|
36
|
+
- Feature branches live for hours to 1-2 days, never weeks.
|
|
37
|
+
- Use feature flags for incomplete work that must be merged.
|
|
38
|
+
- Release from `main` via tags or release branches cut at the moment of release.
|
|
39
|
+
- Best for: teams with strong CI, continuous deployment capability.
|
|
40
|
+
|
|
41
|
+
### GitHub Flow
|
|
42
|
+
|
|
43
|
+
- `main` is always deployable.
|
|
44
|
+
- Create feature branches from `main`, open PR, review, merge back.
|
|
45
|
+
- Deploy from `main` after merge.
|
|
46
|
+
- Simpler than GitFlow. No develop branch, no release branches unless needed.
|
|
47
|
+
- Best for: SaaS products with single production environment.
|
|
48
|
+
|
|
49
|
+
### Release branches (when needed)
|
|
50
|
+
|
|
51
|
+
- Cut `release/X.Y` from `main` when preparing a release.
|
|
52
|
+
- Cherry-pick critical fixes to release branch. Never merge `main` into release.
|
|
53
|
+
- Tag releases from the release branch.
|
|
54
|
+
- Delete release branch after final patch version.
|
|
55
|
+
|
|
56
|
+
### Commit conventions
|
|
57
|
+
|
|
58
|
+
### Conventional Commits
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
<type>(<scope>): <description>
|
|
62
|
+
|
|
63
|
+
[optional body]
|
|
64
|
+
|
|
65
|
+
[optional footer]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`.
|
|
69
|
+
|
|
70
|
+
- `feat`: new feature visible to users → triggers minor version bump.
|
|
71
|
+
- `fix`: bug fix → triggers patch version bump.
|
|
72
|
+
- `feat!` or `BREAKING CHANGE:` footer → triggers major version bump.
|
|
73
|
+
|
|
74
|
+
### Commit message rules
|
|
75
|
+
|
|
76
|
+
- Subject line: imperative mood, under 72 characters, no period.
|
|
77
|
+
- Body: explain WHY, not WHAT (the diff shows what changed).
|
|
78
|
+
- One logical change per commit. Do not mix refactoring with behavior changes.
|
|
79
|
+
|
|
80
|
+
### Pull request standards
|
|
81
|
+
|
|
82
|
+
- Title follows conventional commit format.
|
|
83
|
+
- Description includes: what changed, why it changed, how to test.
|
|
84
|
+
- Link related issues with `Closes #123` or `Fixes #456`.
|
|
85
|
+
- Keep PRs under 400 lines of meaningful change. Split larger work into stacked PRs.
|
|
86
|
+
- Request review from domain owners, not random team members.
|
|
87
|
+
|
|
88
|
+
### Merge strategy
|
|
89
|
+
|
|
90
|
+
| Strategy | When to use |
|
|
91
|
+
| ------------ | ------------------------------------------------------------------- |
|
|
92
|
+
| Squash merge | Default for feature PRs — clean single-commit history on main. |
|
|
93
|
+
| Merge commit | When preserving individual commits matters (multi-author, long PR). |
|
|
94
|
+
| Rebase merge | When linear history is required and branch is small/clean. |
|
|
95
|
+
|
|
96
|
+
- Configure repository default in GitHub settings.
|
|
97
|
+
- Delete branches after merge — do not accumulate stale branches.
|
|
98
|
+
|
|
99
|
+
### Protected branch rules
|
|
100
|
+
|
|
101
|
+
- [ ] Require PR reviews (minimum 1 reviewer)
|
|
102
|
+
- [ ] Require status checks to pass (CI, lint, test)
|
|
103
|
+
- [ ] Require branches to be up to date before merge
|
|
104
|
+
- [ ] Disable force push to `main` and release branches
|
|
105
|
+
- [ ] Require signed commits (optional but recommended for regulated environments)
|
|
106
|
+
- [ ] Enable merge queue for high-traffic repositories
|
|
107
|
+
|
|
108
|
+
### Constraints
|
|
109
|
+
|
|
110
|
+
- Avoid long-lived feature branches (>3 days) — merge pain grows exponentially.
|
|
111
|
+
- Avoid merge commits from `main` into feature branches — rebase instead.
|
|
112
|
+
- Avoid commit messages like "fix", "wip", "stuff" — they provide no value in history.
|
|
113
|
+
- Avoid bypassing CI checks with `--no-verify` — fix the issue instead.
|
|
114
|
+
- Avoid cherry-picking without tracking — document which commits were cherry-picked and why.
|
|
115
|
+
- Avoid force-pushing to shared branches — coordinate with collaborators first.
|
|
116
|
+
|
|
117
|
+
## Output Format
|
|
118
|
+
|
|
119
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
120
|
+
|
|
121
|
+
## References
|
|
122
|
+
|
|
123
|
+
| File | Purpose |
|
|
124
|
+
| ----------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
125
|
+
| `references/pr-review-checklist.md` | Code review process, reviewer responsibilities, approval criteria, and common review anti-patterns. |
|
|
126
|
+
|
|
127
|
+
## Scripts
|
|
128
|
+
|
|
129
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
130
|
+
|
|
131
|
+
## Examples
|
|
132
|
+
|
|
133
|
+
- "Help me with git workflow best practices in this project"
|
|
134
|
+
- "Review my git workflow implementation for issues"
|
|
135
|
+
````
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: git-workflow
|
|
3
|
+
description: "Use when establishing or reviewing git branching strategies, PR conventions, commit hygiene, merge policies, monorepo workflows, and release tagging. Covers trunk-based development, GitFlow alternatives, conventional commits, and code review standards."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: cubis-foundry
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Git Workflow
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Use when establishing or reviewing git branching strategies, PR conventions, commit hygiene, merge policies, monorepo workflows, and release tagging. Covers trunk-based development, GitFlow alternatives, conventional commits, and code review standards.
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- Working on git workflow related tasks
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
|
|
23
|
+
1. **Choose a branching model** — trunk-based for high-velocity teams, short-lived feature branches for teams needing review gates.
|
|
24
|
+
2. **Keep branches short-lived** — merge within 1-2 days. Long-lived branches create merge pain and integration risk.
|
|
25
|
+
3. **Write meaningful commits** — each commit should be a logical, reviewable unit. Squash fixup commits before merge.
|
|
26
|
+
4. **Review before merge** — every change to protected branches goes through PR review. No direct pushes.
|
|
27
|
+
5. **Automate what you can** — branch protection, CI gating, auto-merge on approval, changelog generation.
|
|
28
|
+
|
|
29
|
+
### Branching strategies
|
|
30
|
+
|
|
31
|
+
### Trunk-based development (recommended)
|
|
32
|
+
|
|
33
|
+
- All developers commit to `main` (directly or via short-lived branches).
|
|
34
|
+
- Feature branches live for hours to 1-2 days, never weeks.
|
|
35
|
+
- Use feature flags for incomplete work that must be merged.
|
|
36
|
+
- Release from `main` via tags or release branches cut at the moment of release.
|
|
37
|
+
- Best for: teams with strong CI, continuous deployment capability.
|
|
38
|
+
|
|
39
|
+
### GitHub Flow
|
|
40
|
+
|
|
41
|
+
- `main` is always deployable.
|
|
42
|
+
- Create feature branches from `main`, open PR, review, merge back.
|
|
43
|
+
- Deploy from `main` after merge.
|
|
44
|
+
- Simpler than GitFlow. No develop branch, no release branches unless needed.
|
|
45
|
+
- Best for: SaaS products with single production environment.
|
|
46
|
+
|
|
47
|
+
### Release branches (when needed)
|
|
48
|
+
|
|
49
|
+
- Cut `release/X.Y` from `main` when preparing a release.
|
|
50
|
+
- Cherry-pick critical fixes to release branch. Never merge `main` into release.
|
|
51
|
+
- Tag releases from the release branch.
|
|
52
|
+
- Delete release branch after final patch version.
|
|
53
|
+
|
|
54
|
+
### Commit conventions
|
|
55
|
+
|
|
56
|
+
### Conventional Commits
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
<type>(<scope>): <description>
|
|
60
|
+
|
|
61
|
+
[optional body]
|
|
62
|
+
|
|
63
|
+
[optional footer]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`.
|
|
67
|
+
|
|
68
|
+
- `feat`: new feature visible to users → triggers minor version bump.
|
|
69
|
+
- `fix`: bug fix → triggers patch version bump.
|
|
70
|
+
- `feat!` or `BREAKING CHANGE:` footer → triggers major version bump.
|
|
71
|
+
|
|
72
|
+
### Commit message rules
|
|
73
|
+
|
|
74
|
+
- Subject line: imperative mood, under 72 characters, no period.
|
|
75
|
+
- Body: explain WHY, not WHAT (the diff shows what changed).
|
|
76
|
+
- One logical change per commit. Do not mix refactoring with behavior changes.
|
|
77
|
+
|
|
78
|
+
### Pull request standards
|
|
79
|
+
|
|
80
|
+
- Title follows conventional commit format.
|
|
81
|
+
- Description includes: what changed, why it changed, how to test.
|
|
82
|
+
- Link related issues with `Closes #123` or `Fixes #456`.
|
|
83
|
+
- Keep PRs under 400 lines of meaningful change. Split larger work into stacked PRs.
|
|
84
|
+
- Request review from domain owners, not random team members.
|
|
85
|
+
|
|
86
|
+
### Merge strategy
|
|
87
|
+
|
|
88
|
+
| Strategy | When to use |
|
|
89
|
+
| ------------ | ------------------------------------------------------------------- |
|
|
90
|
+
| Squash merge | Default for feature PRs — clean single-commit history on main. |
|
|
91
|
+
| Merge commit | When preserving individual commits matters (multi-author, long PR). |
|
|
92
|
+
| Rebase merge | When linear history is required and branch is small/clean. |
|
|
93
|
+
|
|
94
|
+
- Configure repository default in GitHub settings.
|
|
95
|
+
- Delete branches after merge — do not accumulate stale branches.
|
|
96
|
+
|
|
97
|
+
### Protected branch rules
|
|
98
|
+
|
|
99
|
+
- [ ] Require PR reviews (minimum 1 reviewer)
|
|
100
|
+
- [ ] Require status checks to pass (CI, lint, test)
|
|
101
|
+
- [ ] Require branches to be up to date before merge
|
|
102
|
+
- [ ] Disable force push to `main` and release branches
|
|
103
|
+
- [ ] Require signed commits (optional but recommended for regulated environments)
|
|
104
|
+
- [ ] Enable merge queue for high-traffic repositories
|
|
105
|
+
|
|
106
|
+
### Constraints
|
|
107
|
+
|
|
108
|
+
- Avoid long-lived feature branches (>3 days) — merge pain grows exponentially.
|
|
109
|
+
- Avoid merge commits from `main` into feature branches — rebase instead.
|
|
110
|
+
- Avoid commit messages like "fix", "wip", "stuff" — they provide no value in history.
|
|
111
|
+
- Avoid bypassing CI checks with `--no-verify` — fix the issue instead.
|
|
112
|
+
- Avoid cherry-picking without tracking — document which commits were cherry-picked and why.
|
|
113
|
+
- Avoid force-pushing to shared branches — coordinate with collaborators first.
|
|
114
|
+
|
|
115
|
+
## Output Format
|
|
116
|
+
|
|
117
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
118
|
+
|
|
119
|
+
## References
|
|
120
|
+
|
|
121
|
+
| File | Purpose |
|
|
122
|
+
| ----------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
123
|
+
| `references/pr-review-checklist.md` | Code review process, reviewer responsibilities, approval criteria, and common review anti-patterns. |
|
|
124
|
+
|
|
125
|
+
## Scripts
|
|
126
|
+
|
|
127
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
128
|
+
|
|
129
|
+
## Examples
|
|
130
|
+
|
|
131
|
+
- "Help me with git workflow best practices in this project"
|
|
132
|
+
- "Review my git workflow implementation for issues"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# PR Review Checklist
|
|
2
|
+
|
|
3
|
+
## Reviewer responsibilities
|
|
4
|
+
|
|
5
|
+
Before approving, verify each area:
|
|
6
|
+
|
|
7
|
+
### Correctness
|
|
8
|
+
|
|
9
|
+
- [ ] Does the code do what the PR description says it does?
|
|
10
|
+
- [ ] Are edge cases handled (empty input, null, boundary values)?
|
|
11
|
+
- [ ] Are error states handled appropriately (not swallowed, not over-caught)?
|
|
12
|
+
- [ ] Does the logic match the linked issue or acceptance criteria?
|
|
13
|
+
|
|
14
|
+
### Security
|
|
15
|
+
|
|
16
|
+
- [ ] No secrets, tokens, or credentials in the code
|
|
17
|
+
- [ ] User input is validated and sanitized at system boundaries
|
|
18
|
+
- [ ] No SQL injection, XSS, or command injection vectors
|
|
19
|
+
- [ ] Auth checks are present for protected operations
|
|
20
|
+
- [ ] No PII logged or exposed in error messages
|
|
21
|
+
|
|
22
|
+
### Performance
|
|
23
|
+
|
|
24
|
+
- [ ] No N+1 queries or unbounded loops
|
|
25
|
+
- [ ] No unnecessary re-renders in UI components
|
|
26
|
+
- [ ] Large data sets are paginated, not loaded entirely
|
|
27
|
+
- [ ] Expensive operations are cached or debounced where appropriate
|
|
28
|
+
|
|
29
|
+
### Maintainability
|
|
30
|
+
|
|
31
|
+
- [ ] Code is readable without extensive comments
|
|
32
|
+
- [ ] Names are clear and consistent with codebase conventions
|
|
33
|
+
- [ ] No dead code, commented-out code, or TODO without tracking issue
|
|
34
|
+
- [ ] Test coverage exists for new behavior and critical paths
|
|
35
|
+
|
|
36
|
+
### Architecture
|
|
37
|
+
|
|
38
|
+
- [ ] Changes follow existing patterns in the codebase
|
|
39
|
+
- [ ] No unnecessary abstractions or premature generalization
|
|
40
|
+
- [ ] Dependencies are justified (not adding a library for one function)
|
|
41
|
+
- [ ] Public API surface changes are intentional and documented
|
|
42
|
+
|
|
43
|
+
## Review anti-patterns to avoid
|
|
44
|
+
|
|
45
|
+
- **Rubber-stamping**: approving without reading — undermines the entire review process.
|
|
46
|
+
- **Nitpicking style**: formatting fights belong in linters, not reviews.
|
|
47
|
+
- **Rewriting in review**: if the approach is fundamentally wrong, say so early — don't micro-edit via 50 comments.
|
|
48
|
+
- **Blocking on taste**: if the code works, is readable, and follows conventions, approve it even if you would have written it differently.
|
|
49
|
+
- **Delayed reviews**: review within 4 hours during business hours. Stale PRs kill velocity.
|
|
50
|
+
|
|
51
|
+
## When to request changes vs. comment
|
|
52
|
+
|
|
53
|
+
- **Request changes**: correctness bugs, security issues, missing tests for critical paths.
|
|
54
|
+
- **Comment (non-blocking)**: style suggestions, alternative approaches, minor improvements that can be done later.
|
|
55
|
+
- **Approve with comments**: minor nits that do not block merge.
|
|
56
|
+
|
|
57
|
+
## Stacked PR review
|
|
58
|
+
|
|
59
|
+
When PRs are stacked (PR 2 depends on PR 1):
|
|
60
|
+
|
|
61
|
+
1. Review PR 1 first. Approve and merge before deep-reviewing PR 2.
|
|
62
|
+
2. Reviewer should check the diff against the base branch, not the full stack.
|
|
63
|
+
3. Author should rebase the stack after each merge, not merge `main` into feature branches.
|
|
@@ -5,55 +5,66 @@ name: "golang-pro"
|
|
|
5
5
|
description: "Use for modern Go services and tooling with Go 1.26-era language/runtime patterns, concurrency safety, and production operations."
|
|
6
6
|
license: MIT
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
stack: "go"
|
|
12
|
-
baseline: "Go 1.26"
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "3.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
13
11
|
---
|
|
14
12
|
|
|
15
13
|
# Golang Pro
|
|
16
14
|
|
|
17
|
-
##
|
|
15
|
+
## Purpose
|
|
16
|
+
|
|
17
|
+
Expert-level guidance for modern Go development covering APIs, workers, CLIs, and microservices. Focuses on explicit error handling, context-propagated concurrency, generics where they simplify, and production profiling discipline.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
18
20
|
|
|
19
21
|
- Building APIs, workers, CLIs, and microservices in Go.
|
|
20
|
-
- Designing concurrency with goroutines
|
|
21
|
-
- Optimizing latency, allocations, and reliability.
|
|
22
|
+
- Designing concurrency patterns with goroutines, channels, and context.
|
|
23
|
+
- Optimizing latency, allocations, and reliability in Go services.
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. **Define package boundaries and interfaces** — keep interfaces small and accept them where consumed, not where implemented. Prefer composition over deep inheritance-like abstractions.
|
|
28
|
+
|
|
29
|
+
2. **Pass `context.Context` as the first parameter** in all APIs that cross network or scheduling boundaries. Do not store contexts in structs because they represent request-scoped lifetimes.
|
|
30
|
+
|
|
31
|
+
3. **Handle every error with actionable wrapping** — wrap with `%w` for traceable error chains. Define sentinel errors for well-known failure conditions. Use custom error types when errors carry structured context. Do not discard errors silently; document any intentional discard with a comment. Do not use stringly-typed error comparisons (`err.Error() == "something"`) because sentinel values and type assertions are safer and refactor-proof.
|
|
32
|
+
|
|
33
|
+
4. **Design concurrency with clear ownership** — use channels for ownership transfer, not shared mutation. Choose sync primitives (`Mutex`, `RWMutex`, `atomic`) deliberately. Keep goroutine lifecycles bounded with cancellation via `select` with `ctx.Done()`. Bound worker pools with fixed goroutine counts reading from a shared channel. Use `errgroup.Group` for coordinated fan-out with shared error propagation.
|
|
34
|
+
|
|
35
|
+
5. **Use generics where they simplify** — generics serve well when the abstraction covers 3+ distinct types. Prefer concrete types when a function has only one or two callers because generics add cognitive cost. Avoid deeply nested type parameter lists; if a generic needs 4+ parameters, break it into smaller pieces.
|
|
36
|
+
|
|
37
|
+
6. **Test with table-driven subtests and race detection** — use `t.Run` for systematic input coverage. Run `go test -race -count=1 ./...` in CI. Use `httptest.NewServer` for HTTP handler tests. Use `t.Cleanup()` for teardown. Use `testing.B` benchmarks with `b.ReportAllocs()` to prove optimization impact.
|
|
38
|
+
|
|
39
|
+
7. **Lint and format consistently** — use `golangci-lint` with `govet`, `staticcheck`, `errcheck`, `gosec`, and `revive` at minimum. Enforce `gofmt`/`goimports` in CI. Use `gofumpt` for stricter formatting.
|
|
40
|
+
|
|
41
|
+
8. **Thread observability through the stack** — use structured logs with request IDs and trace context. Make cancellation, retries, and deadlines visible in logging. Reproduce concurrency issues with race tests and deterministic fixtures first.
|
|
22
42
|
|
|
23
|
-
|
|
43
|
+
9. **Profile before optimizing** — benchmark hot paths with `testing.B` and `b.ReportAllocs()`. Use `pprof` (CPU, heap, goroutine, block, mutex) for production profiling. Do not fire-and-forget goroutines without a cancellation path because they leak resources. Do not use panic-based control flow because it circumvents explicit error handling. Do not create over-generalized interfaces without real callers because they add indirection without value.
|
|
24
44
|
|
|
25
|
-
|
|
26
|
-
2. Implement with explicit error handling and context propagation.
|
|
27
|
-
3. Add tests and race checks for behavior under load.
|
|
28
|
-
4. Profile before optimization.
|
|
45
|
+
10. **Build for production** — use `go build -trimpath -ldflags='-s -w'` for release binaries. Keep `go.mod` tidy. Use `ko` or multi-stage Docker for container builds.
|
|
29
46
|
|
|
30
|
-
##
|
|
47
|
+
## Output Format
|
|
31
48
|
|
|
32
|
-
|
|
33
|
-
- Handle every error with actionable wrapping.
|
|
34
|
-
- Use table-driven tests and subtests for logic coverage.
|
|
35
|
-
- Run `go test -race` for concurrency-sensitive paths.
|
|
36
|
-
- Prefer composition over deep inheritance-like abstractions.
|
|
49
|
+
Produces Go code following standard project layout with explicit error handling, context propagation, and bounded concurrency patterns. Includes table-driven tests and structured error types where applicable.
|
|
37
50
|
|
|
38
|
-
##
|
|
51
|
+
## References
|
|
39
52
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
53
|
+
| File | Load when |
|
|
54
|
+
| --------------------------------- | ----------------------------------------------------------------------------- |
|
|
55
|
+
| `references/concurrency.md` | Concurrency ownership, channels, mutexes, or cancellation safety need detail. |
|
|
56
|
+
| `references/generics.md` | Generics tradeoffs or reusable type-safe helpers are in scope. |
|
|
57
|
+
| `references/interfaces.md` | Interface boundaries and package seams need review. |
|
|
58
|
+
| `references/testing.md` | Test strategy, race checks, or benchmark setup is needed. |
|
|
59
|
+
| `references/project-structure.md` | Package layout or service/module decomposition needs guidance. |
|
|
45
60
|
|
|
46
|
-
##
|
|
61
|
+
## Scripts
|
|
47
62
|
|
|
48
|
-
|
|
49
|
-
- Panic-based control flow.
|
|
50
|
-
- Over-generalized interfaces without real callers.
|
|
63
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
51
64
|
|
|
52
|
-
##
|
|
65
|
+
## Examples
|
|
53
66
|
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
- `references/testing.md`
|
|
58
|
-
- `references/project-structure.md`
|
|
67
|
+
- "Design the error handling strategy for this Go API service with custom error types and middleware-based error mapping."
|
|
68
|
+
- "Refactor this unbounded goroutine fan-out into a bounded worker pool with context cancellation."
|
|
69
|
+
- "Set up a table-driven test suite for this parser with race detection and benchmark coverage."
|
|
59
70
|
````
|