@cubis/foundry 0.3.70 → 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/ask-questions-if-underspecified/SKILL.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/behavioral-modes/SKILL.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
- package/workflows/skills/agent-design/SKILL.md +198 -0
- package/workflows/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/skills/deep-research/SKILL.md +25 -20
- package/workflows/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/skills/frontend-design/SKILL.md +37 -32
- package/workflows/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/skills/generated/skill-audit.json +11 -2
- package/workflows/skills/generated/skill-catalog.json +37 -5
- package/workflows/skills/skills_index.json +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/SKILL.md +198 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/skills_index.json +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/SKILL.md +197 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +1 -1
|
@@ -1,116 +1,173 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"terminal",
|
|
10
|
-
"argument parsing",
|
|
11
|
-
"shell completion",
|
|
12
|
-
"interactive prompt",
|
|
13
|
-
"progress bar",
|
|
14
|
-
"commander",
|
|
15
|
-
"click",
|
|
16
|
-
"typer",
|
|
17
|
-
"cobra",
|
|
18
|
-
]
|
|
2
|
+
name: cli-developer
|
|
3
|
+
description: Build command-line interfaces with argument parsing, subcommands, interactive prompts, terminal UX, output formatting, and cross-platform compatibility.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: cubis-foundry
|
|
7
|
+
version: "3.0"
|
|
8
|
+
compatibility: Claude Code, Codex, GitHub Copilot, Gemini CLI
|
|
19
9
|
---
|
|
20
10
|
|
|
21
11
|
# CLI Developer
|
|
22
12
|
|
|
23
|
-
##
|
|
13
|
+
## Purpose
|
|
24
14
|
|
|
25
|
-
|
|
15
|
+
Guide the design and implementation of command-line interfaces. Covers argument parsing, subcommand architecture, interactive prompts, terminal UX patterns, and cross-platform compatibility.
|
|
26
16
|
|
|
27
17
|
## When to Use
|
|
28
18
|
|
|
29
|
-
- Building CLI
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
- Designing command hierarchies and flag conventions
|
|
19
|
+
- Building a new CLI tool from scratch
|
|
20
|
+
- Adding subcommands or flags to an existing CLI
|
|
21
|
+
- Implementing interactive prompts and wizards
|
|
22
|
+
- Designing CLI output formats (tables, JSON, progress bars)
|
|
23
|
+
- Making CLIs cross-platform (Windows, macOS, Linux)
|
|
24
|
+
- Reviewing CLI usability and documentation
|
|
36
25
|
|
|
37
|
-
##
|
|
26
|
+
## Instructions
|
|
38
27
|
|
|
39
|
-
|
|
40
|
-
2. Design commands — plan subcommands, flags, arguments, configuration
|
|
41
|
-
3. Implement — build with appropriate CLI framework for the language
|
|
42
|
-
4. Polish — add completions, help text, error messages, progress indicators
|
|
43
|
-
5. Test — cross-platform testing, performance benchmarks
|
|
28
|
+
### Step 1 — Design the Command Structure
|
|
44
29
|
|
|
45
|
-
|
|
30
|
+
**Naming conventions**:
|
|
46
31
|
|
|
47
|
-
|
|
32
|
+
- Use verb-noun pattern for commands: `create project`, `list users`, `delete cache`
|
|
33
|
+
- Short flags for common options: `-v` (verbose), `-q` (quiet), `-f` (force)
|
|
34
|
+
- Long flags for clarity: `--output`, `--format`, `--dry-run`
|
|
35
|
+
- Positional arguments for required inputs: `mycli deploy <environment>`
|
|
48
36
|
|
|
49
|
-
|
|
50
|
-
| -------- | ------------- | --------------- |
|
|
51
|
-
| Node.js | Commander.js | Yargs, oclif |
|
|
52
|
-
| Python | Typer | Click, argparse |
|
|
53
|
-
| Go | Cobra + Viper | urfave/cli |
|
|
54
|
-
|
|
55
|
-
### Command Structure
|
|
37
|
+
**Subcommand architecture**:
|
|
56
38
|
|
|
57
39
|
```
|
|
58
|
-
mycli
|
|
59
|
-
├── init
|
|
40
|
+
mycli
|
|
41
|
+
├── init (one-time setup)
|
|
60
42
|
├── config
|
|
61
|
-
│ ├── get <key>
|
|
43
|
+
│ ├── get <key>
|
|
62
44
|
│ ├── set <key> <value>
|
|
63
45
|
│ └── list
|
|
64
|
-
├──
|
|
65
|
-
│ ├──
|
|
66
|
-
│ ├──
|
|
67
|
-
│ └──
|
|
68
|
-
└──
|
|
69
|
-
├── install <name>
|
|
70
|
-
├── list
|
|
71
|
-
└── remove <name>
|
|
46
|
+
├── project
|
|
47
|
+
│ ├── create <name>
|
|
48
|
+
│ ├── list
|
|
49
|
+
│ └── delete <id>
|
|
50
|
+
└── deploy <env> (positional argument)
|
|
72
51
|
```
|
|
73
52
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
53
|
+
**Rules**:
|
|
54
|
+
|
|
55
|
+
- Every command has `--help` (automatic with good parsers)
|
|
56
|
+
- Support `--version` at the root level
|
|
57
|
+
- Common flags go on the root command, specific flags on subcommands
|
|
58
|
+
- Use `--dry-run` for destructive operations
|
|
59
|
+
|
|
60
|
+
### Step 2 — Implement Argument Parsing
|
|
61
|
+
|
|
62
|
+
**Choose the right parser**:
|
|
63
|
+
| Language | Recommended |
|
|
64
|
+
|----------|-------------|
|
|
65
|
+
| Node.js | Commander, yargs, citty |
|
|
66
|
+
| Python | Click, Typer |
|
|
67
|
+
| Go | Cobra, urfave/cli |
|
|
68
|
+
| Rust | Clap |
|
|
69
|
+
|
|
70
|
+
**Validation**:
|
|
71
|
+
|
|
72
|
+
- Validate early, fail with clear error messages
|
|
73
|
+
- Show the closest valid option on typos (did-you-mean)
|
|
74
|
+
- Report all validation errors at once, not one at a time
|
|
75
|
+
|
|
76
|
+
### Step 3 — Design Terminal UX
|
|
77
|
+
|
|
78
|
+
**Output hierarchy**:
|
|
79
|
+
|
|
80
|
+
1. Primary output goes to stdout (pipeable)
|
|
81
|
+
2. Status messages go to stderr (logs, progress)
|
|
82
|
+
3. Errors go to stderr with non-zero exit code
|
|
83
|
+
|
|
84
|
+
**Formatting**:
|
|
85
|
+
|
|
86
|
+
- Default: human-readable (tables, colors, emoji)
|
|
87
|
+
- `--json`: machine-parseable JSON output
|
|
88
|
+
- `--quiet`: errors only, minimal output
|
|
89
|
+
- Detect TTY: disable colors and interactivity when piped
|
|
90
|
+
|
|
91
|
+
**Progress feedback**:
|
|
92
|
+
|
|
93
|
+
- Spinner for short operations (< 10s)
|
|
94
|
+
- Progress bar for operations with known total
|
|
95
|
+
- Log lines for multi-step operations (✓ Step 1... ✓ Step 2...)
|
|
96
|
+
|
|
97
|
+
**Colors** (use sparingly):
|
|
98
|
+
|
|
99
|
+
- Green: success
|
|
100
|
+
- Red: error
|
|
101
|
+
- Yellow: warning
|
|
102
|
+
- Blue/cyan: information
|
|
103
|
+
- Dim/gray: secondary information
|
|
104
|
+
- Always support `NO_COLOR` environment variable
|
|
105
|
+
|
|
106
|
+
### Step 4 — Interactive Prompts
|
|
107
|
+
|
|
108
|
+
**When to prompt**:
|
|
109
|
+
|
|
110
|
+
- Missing required information not provided as flags
|
|
111
|
+
- Confirmation before destructive operations
|
|
112
|
+
- Multi-step wizards for complex setup
|
|
113
|
+
|
|
114
|
+
**Prompt types**:
|
|
115
|
+
| Type | When |
|
|
116
|
+
|------|------|
|
|
117
|
+
| Text input | Free-form strings (names, paths) |
|
|
118
|
+
| Password | Secrets (mask input) |
|
|
119
|
+
| Select | Single choice from a list |
|
|
120
|
+
| Multi-select | Multiple choices from a list |
|
|
121
|
+
| Confirm | Yes/no decision |
|
|
122
|
+
|
|
123
|
+
**Rules**:
|
|
124
|
+
|
|
125
|
+
- Show defaults in brackets: `Port [3000]:`
|
|
126
|
+
- Allow non-interactive mode via flags (CI environments)
|
|
127
|
+
- Validate input inline and let the user retry
|
|
128
|
+
- Support Ctrl+C graceful cancellation
|
|
129
|
+
|
|
130
|
+
### Step 5 — Error Handling & Exit Codes
|
|
131
|
+
|
|
132
|
+
**Exit codes**:
|
|
133
|
+
| Code | Meaning |
|
|
134
|
+
|------|---------|
|
|
135
|
+
| 0 | Success |
|
|
136
|
+
| 1 | General error |
|
|
137
|
+
| 2 | Misuse / invalid arguments |
|
|
138
|
+
| 126 | Permission denied |
|
|
139
|
+
| 127 | Command not found |
|
|
140
|
+
| 130 | Terminated by Ctrl+C (SIGINT) |
|
|
141
|
+
|
|
142
|
+
**Error messages**:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
Error: Could not connect to database at localhost:5432
|
|
146
|
+
Cause: Connection refused
|
|
147
|
+
Fix: Ensure PostgreSQL is running: `pg_ctl start`
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Include: what failed, why, and how to fix.
|
|
151
|
+
|
|
152
|
+
## Output Format
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
## CLI Architecture
|
|
156
|
+
[command structure and flag design]
|
|
157
|
+
|
|
158
|
+
## Implementation
|
|
159
|
+
[code with argument parsing and command handlers]
|
|
160
|
+
|
|
161
|
+
## UX Considerations
|
|
162
|
+
[output formatting, interactivity, error handling]
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Examples
|
|
166
|
+
|
|
167
|
+
**User**: "Build a CLI for managing our API deployments"
|
|
168
|
+
|
|
169
|
+
**Response approach**: Design subcommand structure (deploy, rollback, status, logs). Implement with Commander/Click/Cobra. Add deploy confirmation prompt, progress bar for upload, JSON output for CI. Handle rollback with `--to-version` flag.
|
|
170
|
+
|
|
171
|
+
**User**: "Our CLI has bad error messages — users don't know what went wrong"
|
|
172
|
+
|
|
173
|
+
**Response approach**: Audit error handling. Add context to every error (what, why, fix). Implement did-you-mean for typos. Add `--verbose` flag for debug output. Ensure proper exit codes for scripting.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
````markdown
|
|
2
|
+
---
|
|
3
|
+
inclusion: manual
|
|
4
|
+
name: cpp-pro
|
|
5
|
+
description: "Use for modern C++23-era systems and application engineering with RAII, value semantics, toolchain awareness, and performance-safe design."
|
|
6
|
+
license: MIT
|
|
7
|
+
metadata:
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "2.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Cpp Pro
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
|
|
17
|
+
Use for modern C++23-era systems and application engineering with RAII, value semantics, toolchain awareness, and performance-safe design.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- Building or refactoring modern C++ libraries, services, or native apps.
|
|
22
|
+
- Improving ownership, templates, performance boundaries, or build structure.
|
|
23
|
+
- Fixing correctness or maintainability issues in large native codebases.
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Confirm toolchain, standard level, and module/library boundaries.
|
|
28
|
+
2. Prefer RAII, value semantics, and explicit ownership over raw lifetime juggling.
|
|
29
|
+
3. Keep templates readable and avoid metaprogramming when simpler designs suffice.
|
|
30
|
+
4. Separate correctness fixes from performance tuning unless the two are inseparable.
|
|
31
|
+
5. Validate with targeted tests, warnings, and native build checks.
|
|
32
|
+
|
|
33
|
+
### Baseline standards
|
|
34
|
+
|
|
35
|
+
- Compile with `-std=c++23` (or project minimum). Enable `-Wall -Wextra -Wpedantic -Werror`.
|
|
36
|
+
- Use smart pointers (`unique_ptr`, `shared_ptr`) instead of raw `new`/`delete`. Raw pointers are non-owning observers only.
|
|
37
|
+
- Prefer value types and move semantics over heap allocation and pointer indirection.
|
|
38
|
+
- Mark functions `[[nodiscard]]` when ignoring the return value is always a bug.
|
|
39
|
+
- Use `constexpr` and `consteval` for compile-time computation where possible.
|
|
40
|
+
- Keep header includes minimal. Use forward declarations to reduce coupling.
|
|
41
|
+
|
|
42
|
+
### RAII and ownership
|
|
43
|
+
|
|
44
|
+
- Every resource (memory, file handle, mutex lock, socket) must be managed by an RAII wrapper.
|
|
45
|
+
- Use `unique_ptr` for exclusive ownership, `shared_ptr` only when shared ownership is genuinely required.
|
|
46
|
+
- Prefer moving over copying for expensive types. Delete copy constructors when copying is semantically wrong.
|
|
47
|
+
- Use `std::optional` instead of nullable pointers for optional values.
|
|
48
|
+
- Scope-guard patterns for cleanup when RAII wrappers don't exist yet.
|
|
49
|
+
|
|
50
|
+
### Templates and generics
|
|
51
|
+
|
|
52
|
+
- Use concepts (C++20/23) to constrain template parameters. Unconstrained templates produce unreadable error messages.
|
|
53
|
+
- Prefer `auto` with trailing return types for function templates. Avoid deep template nesting.
|
|
54
|
+
- Keep template definitions in headers. Use explicit instantiation only for build-time improvement in large projects.
|
|
55
|
+
- Prefer `std::variant` and `std::visit` over inheritance hierarchies for closed type sets.
|
|
56
|
+
|
|
57
|
+
### Concurrency
|
|
58
|
+
|
|
59
|
+
- Use `std::jthread` and `std::stop_token` for manageable thread lifecycles.
|
|
60
|
+
- Prefer `std::mutex` with `std::lock_guard`/`std::scoped_lock` — never lock/unlock manually.
|
|
61
|
+
- Use `std::atomic` for lock-free counters and flags. Profile before choosing lock-free data structures.
|
|
62
|
+
- Propagate cancellation through `stop_token` rather than shared booleans.
|
|
63
|
+
- Run ThreadSanitizer in CI for all concurrent code paths.
|
|
64
|
+
|
|
65
|
+
### Performance
|
|
66
|
+
|
|
67
|
+
- Profile with `perf`, `VTune`, or `Instruments` before optimizing. Measure hot paths, not hunches.
|
|
68
|
+
- Prefer contiguous containers (`std::vector`) over node-based containers (`std::list`, `std::map`) for cache efficiency.
|
|
69
|
+
- Use `std::string_view` and `std::span` to avoid unnecessary copies at function boundaries.
|
|
70
|
+
- Avoid virtual dispatch in hot loops. Prefer CRTP or `std::variant` when static dispatch suffices.
|
|
71
|
+
- Enable LTO for release builds. Benchmark with and without to verify gains.
|
|
72
|
+
|
|
73
|
+
### Debugging
|
|
74
|
+
|
|
75
|
+
- Compile debug builds with `-g -O0 -fsanitize=address,undefined`.
|
|
76
|
+
- Use `static_assert` for compile-time invariants. Use `assert` for runtime invariants in debug mode.
|
|
77
|
+
- When debugging crashes: reproduce under sanitizers first, then inspect with gdb/lldb.
|
|
78
|
+
- Use structured error types (`std::expected` in C++23) instead of exceptions for recoverable errors in performance-sensitive code.
|
|
79
|
+
|
|
80
|
+
### Constraints
|
|
81
|
+
|
|
82
|
+
- Avoid raw `new`/`delete` — use smart pointers or containers.
|
|
83
|
+
- Avoid c-style casts — use `static_cast`, `dynamic_cast`, `const_cast`, or `reinterpret_cast` with justification.
|
|
84
|
+
- Avoid deep inheritance hierarchies — prefer composition and type erasure.
|
|
85
|
+
- Avoid `using namespace std;` in headers — pollutes all includers.
|
|
86
|
+
- Avoid exceptions for control flow — use them for truly exceptional conditions only.
|
|
87
|
+
- Avoid premature micro-optimization without profiling evidence.
|
|
88
|
+
|
|
89
|
+
## Output Format
|
|
90
|
+
|
|
91
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
92
|
+
|
|
93
|
+
## References
|
|
94
|
+
|
|
95
|
+
| File | Load when |
|
|
96
|
+
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
97
|
+
| `references/raii-and-modern-cpp-checklist.md` | RAII patterns, smart pointer selection, value semantics, move correctness, or template constraint review is needed. |
|
|
98
|
+
| `references/move-semantics-and-value-types.md` | Move constructor/assignment design, perfect forwarding, copy elision, or value category questions arise. |
|
|
99
|
+
| `references/template-and-concepts-patterns.md` | Concept constraints, SFINAE replacement, variadic templates, or compile-time computation patterns are needed. |
|
|
100
|
+
| `references/concurrency-primitives.md` | Thread management, mutex strategies, atomic operations, lock-free patterns, or coroutine design is needed. |
|
|
101
|
+
| `references/performance-and-profiling.md` | Cache optimization, allocation reduction, benchmark setup, or profiler-driven tuning is needed. |
|
|
102
|
+
|
|
103
|
+
## Scripts
|
|
104
|
+
|
|
105
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
106
|
+
|
|
107
|
+
## Examples
|
|
108
|
+
|
|
109
|
+
- "Help me with cpp pro best practices in this project"
|
|
110
|
+
- "Review my cpp pro implementation for issues"
|
|
111
|
+
````
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cpp-pro
|
|
3
|
+
description: "Use for modern C++23-era systems and application engineering with RAII, value semantics, toolchain awareness, and performance-safe design."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: cubis-foundry
|
|
7
|
+
version: "2.0"
|
|
8
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Cpp Pro
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Use for modern C++23-era systems and application engineering with RAII, value semantics, toolchain awareness, and performance-safe design.
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- Building or refactoring modern C++ libraries, services, or native apps.
|
|
20
|
+
- Improving ownership, templates, performance boundaries, or build structure.
|
|
21
|
+
- Fixing correctness or maintainability issues in large native codebases.
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
1. Confirm toolchain, standard level, and module/library boundaries.
|
|
26
|
+
2. Prefer RAII, value semantics, and explicit ownership over raw lifetime juggling.
|
|
27
|
+
3. Keep templates readable and avoid metaprogramming when simpler designs suffice.
|
|
28
|
+
4. Separate correctness fixes from performance tuning unless the two are inseparable.
|
|
29
|
+
5. Validate with targeted tests, warnings, and native build checks.
|
|
30
|
+
|
|
31
|
+
### Baseline standards
|
|
32
|
+
|
|
33
|
+
- Compile with `-std=c++23` (or project minimum). Enable `-Wall -Wextra -Wpedantic -Werror`.
|
|
34
|
+
- Use smart pointers (`unique_ptr`, `shared_ptr`) instead of raw `new`/`delete`. Raw pointers are non-owning observers only.
|
|
35
|
+
- Prefer value types and move semantics over heap allocation and pointer indirection.
|
|
36
|
+
- Mark functions `[[nodiscard]]` when ignoring the return value is always a bug.
|
|
37
|
+
- Use `constexpr` and `consteval` for compile-time computation where possible.
|
|
38
|
+
- Keep header includes minimal. Use forward declarations to reduce coupling.
|
|
39
|
+
|
|
40
|
+
### RAII and ownership
|
|
41
|
+
|
|
42
|
+
- Every resource (memory, file handle, mutex lock, socket) must be managed by an RAII wrapper.
|
|
43
|
+
- Use `unique_ptr` for exclusive ownership, `shared_ptr` only when shared ownership is genuinely required.
|
|
44
|
+
- Prefer moving over copying for expensive types. Delete copy constructors when copying is semantically wrong.
|
|
45
|
+
- Use `std::optional` instead of nullable pointers for optional values.
|
|
46
|
+
- Scope-guard patterns for cleanup when RAII wrappers don't exist yet.
|
|
47
|
+
|
|
48
|
+
### Templates and generics
|
|
49
|
+
|
|
50
|
+
- Use concepts (C++20/23) to constrain template parameters. Unconstrained templates produce unreadable error messages.
|
|
51
|
+
- Prefer `auto` with trailing return types for function templates. Avoid deep template nesting.
|
|
52
|
+
- Keep template definitions in headers. Use explicit instantiation only for build-time improvement in large projects.
|
|
53
|
+
- Prefer `std::variant` and `std::visit` over inheritance hierarchies for closed type sets.
|
|
54
|
+
|
|
55
|
+
### Concurrency
|
|
56
|
+
|
|
57
|
+
- Use `std::jthread` and `std::stop_token` for manageable thread lifecycles.
|
|
58
|
+
- Prefer `std::mutex` with `std::lock_guard`/`std::scoped_lock` — never lock/unlock manually.
|
|
59
|
+
- Use `std::atomic` for lock-free counters and flags. Profile before choosing lock-free data structures.
|
|
60
|
+
- Propagate cancellation through `stop_token` rather than shared booleans.
|
|
61
|
+
- Run ThreadSanitizer in CI for all concurrent code paths.
|
|
62
|
+
|
|
63
|
+
### Performance
|
|
64
|
+
|
|
65
|
+
- Profile with `perf`, `VTune`, or `Instruments` before optimizing. Measure hot paths, not hunches.
|
|
66
|
+
- Prefer contiguous containers (`std::vector`) over node-based containers (`std::list`, `std::map`) for cache efficiency.
|
|
67
|
+
- Use `std::string_view` and `std::span` to avoid unnecessary copies at function boundaries.
|
|
68
|
+
- Avoid virtual dispatch in hot loops. Prefer CRTP or `std::variant` when static dispatch suffices.
|
|
69
|
+
- Enable LTO for release builds. Benchmark with and without to verify gains.
|
|
70
|
+
|
|
71
|
+
### Debugging
|
|
72
|
+
|
|
73
|
+
- Compile debug builds with `-g -O0 -fsanitize=address,undefined`.
|
|
74
|
+
- Use `static_assert` for compile-time invariants. Use `assert` for runtime invariants in debug mode.
|
|
75
|
+
- When debugging crashes: reproduce under sanitizers first, then inspect with gdb/lldb.
|
|
76
|
+
- Use structured error types (`std::expected` in C++23) instead of exceptions for recoverable errors in performance-sensitive code.
|
|
77
|
+
|
|
78
|
+
### Constraints
|
|
79
|
+
|
|
80
|
+
- Avoid raw `new`/`delete` — use smart pointers or containers.
|
|
81
|
+
- Avoid c-style casts — use `static_cast`, `dynamic_cast`, `const_cast`, or `reinterpret_cast` with justification.
|
|
82
|
+
- Avoid deep inheritance hierarchies — prefer composition and type erasure.
|
|
83
|
+
- Avoid `using namespace std;` in headers — pollutes all includers.
|
|
84
|
+
- Avoid exceptions for control flow — use them for truly exceptional conditions only.
|
|
85
|
+
- Avoid premature micro-optimization without profiling evidence.
|
|
86
|
+
|
|
87
|
+
## Output Format
|
|
88
|
+
|
|
89
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
90
|
+
|
|
91
|
+
## References
|
|
92
|
+
|
|
93
|
+
| File | Load when |
|
|
94
|
+
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
95
|
+
| `references/raii-and-modern-cpp-checklist.md` | RAII patterns, smart pointer selection, value semantics, move correctness, or template constraint review is needed. |
|
|
96
|
+
| `references/move-semantics-and-value-types.md` | Move constructor/assignment design, perfect forwarding, copy elision, or value category questions arise. |
|
|
97
|
+
| `references/template-and-concepts-patterns.md` | Concept constraints, SFINAE replacement, variadic templates, or compile-time computation patterns are needed. |
|
|
98
|
+
| `references/concurrency-primitives.md` | Thread management, mutex strategies, atomic operations, lock-free patterns, or coroutine design is needed. |
|
|
99
|
+
| `references/performance-and-profiling.md` | Cache optimization, allocation reduction, benchmark setup, or profiler-driven tuning is needed. |
|
|
100
|
+
|
|
101
|
+
## Scripts
|
|
102
|
+
|
|
103
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
104
|
+
|
|
105
|
+
## Examples
|
|
106
|
+
|
|
107
|
+
- "Help me with cpp pro best practices in this project"
|
|
108
|
+
- "Review my cpp pro implementation for issues"
|