@cubis/foundry 0.3.71 → 0.3.73
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 +23 -2
- package/dist/cli/core.js +9 -22
- package/dist/cli/core.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/core.ts +13 -22
- 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
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/rules/GEMINI.md +65 -42
- package/workflows/workflows/agent-environment-setup/platforms/claude/rules/CLAUDE.md +8 -6
- package/workflows/workflows/agent-environment-setup/platforms/codex/rules/AGENTS.md +65 -41
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/copilot-instructions.md +8 -6
- package/workflows/workflows/agent-environment-setup/shared/rules/STEERING.md +9 -8
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/codex.md +1 -1
package/package.json
CHANGED
package/src/cli/core.ts
CHANGED
|
@@ -987,15 +987,8 @@ function buildEngineeringRulesTemplate() {
|
|
|
987
987
|
"",
|
|
988
988
|
"- For planning/review/execution summaries, use a `Decision Log` structure.",
|
|
989
989
|
"- Each decision entry must include: `Context`, `Decision`, `Rationale`, `Tradeoffs`, `Validation`.",
|
|
990
|
-
"- Include `
|
|
991
|
-
"- Include `Skills Used` with skill IDs and full skill file paths when skills are loaded.",
|
|
992
|
-
"- Minimum required entries in `Files Used` for project work:",
|
|
993
|
-
" - `active_rules_file`: active platform rules file path (for example `AGENTS.md`, `.agent/rules/GEMINI.md`, or `.github/copilot-instructions.md`)",
|
|
994
|
-
" - `engineering_rules_file`: `/abs/path/ENGINEERING_RULES.md`",
|
|
995
|
-
" - `tech_map_file`: `/abs/path/TECH.md`",
|
|
990
|
+
"- Include `Skills Used` listing the skill, workflow, or agent names that were loaded.",
|
|
996
991
|
"- If no skill is loaded, write `Skills Used: none` explicitly.",
|
|
997
|
-
"- Never hide key file paths behind aliases or abbreviated labels.",
|
|
998
|
-
"- A Decision Log without required `Files Used` and `Skills Used` is incomplete and must be corrected before final response.",
|
|
999
992
|
"",
|
|
1000
993
|
"Required shape:",
|
|
1001
994
|
"",
|
|
@@ -1006,14 +999,8 @@ function buildEngineeringRulesTemplate() {
|
|
|
1006
999
|
"Tradeoffs: ...",
|
|
1007
1000
|
"Validation: ...",
|
|
1008
1001
|
"",
|
|
1009
|
-
"Files Used",
|
|
1010
|
-
"- active_rules_file: /abs/path/<platform-rule-file>",
|
|
1011
|
-
"- engineering_rules_file: /abs/path/ENGINEERING_RULES.md",
|
|
1012
|
-
"- tech_map_file: /abs/path/TECH.md",
|
|
1013
|
-
"- implementation_file: /abs/path/other/file.ts (as needed)",
|
|
1014
|
-
"",
|
|
1015
1002
|
"Skills Used",
|
|
1016
|
-
"- skill-
|
|
1003
|
+
"- skill-name, workflow-name, or agent-name",
|
|
1017
1004
|
"- or: none",
|
|
1018
1005
|
"",
|
|
1019
1006
|
"## 9) Keep TECH.md Fresh",
|
|
@@ -1051,9 +1038,8 @@ function buildEngineeringRulesManagedBlock({
|
|
|
1051
1038
|
"4. Use clear naming with focused responsibilities and explicit boundaries.",
|
|
1052
1039
|
"5. Require validation evidence (lint/types/tests) before merge.",
|
|
1053
1040
|
"6. Use Decision Log response style.",
|
|
1054
|
-
"7. Every Decision Log must include
|
|
1055
|
-
"8.
|
|
1056
|
-
"9. If no skill loaded, `Skills Used: none` is mandatory.",
|
|
1041
|
+
"7. Every Decision Log must include a `Skills Used` section listing skill, workflow, or agent names.",
|
|
1042
|
+
"8. If no skill loaded, `Skills Used: none` is mandatory.",
|
|
1057
1043
|
"",
|
|
1058
1044
|
"<!-- cbx:engineering:auto:end -->",
|
|
1059
1045
|
].join("\n");
|
|
@@ -3801,15 +3787,20 @@ function buildManagedWorkflowBlock(platformId, workflows) {
|
|
|
3801
3787
|
lines.push("<!-- cbx:managed:skill-routing start -->");
|
|
3802
3788
|
lines.push("Classify intent before any MCP call.");
|
|
3803
3789
|
lines.push(
|
|
3804
|
-
"- TIER 1 DIRECT: `skill_get <exact-skill-id>` when
|
|
3790
|
+
"- TIER 1 DIRECT: `skill_get <exact-skill-id>` when skill ID is known from route or context.",
|
|
3791
|
+
);
|
|
3792
|
+
lines.push(
|
|
3793
|
+
"- TIER 1b ROUTE-RECOMMENDED: after `route_resolve`, load `primarySkillHint` or first `primarySkills` entry via `skill_validate` -> `skill_get` before executing non-trivial tasks.",
|
|
3794
|
+
);
|
|
3795
|
+
lines.push(
|
|
3796
|
+
"- TIER 2 TARGETED SEARCH: one `skill_search <1-3 word noun>` max when domain is unclear, then `skill_validate` -> `skill_get`.",
|
|
3805
3797
|
);
|
|
3806
3798
|
lines.push(
|
|
3807
|
-
"- TIER
|
|
3799
|
+
"- TIER 3 SKIP: no MCP call for conversational replies, trivial one-liners, or identical skill already loaded this session.",
|
|
3808
3800
|
);
|
|
3809
3801
|
lines.push(
|
|
3810
|
-
"-
|
|
3802
|
+
"- Never pre-load skills or agents speculatively before route resolution.",
|
|
3811
3803
|
);
|
|
3812
|
-
lines.push("- Never pre-load skills or agents speculatively.");
|
|
3813
3804
|
lines.push("- Keep one primary agent and one primary skill by default.");
|
|
3814
3805
|
lines.push(
|
|
3815
3806
|
"- Add supporting skills only when the active task explicitly crosses domains.",
|
|
@@ -1,105 +1,94 @@
|
|
|
1
1
|
````markdown
|
|
2
2
|
---
|
|
3
3
|
inclusion: manual
|
|
4
|
-
name:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"wcag",
|
|
12
|
-
"semantics",
|
|
13
|
-
"screen reader",
|
|
14
|
-
"focus",
|
|
15
|
-
"contrast",
|
|
16
|
-
"flutter accessibility",
|
|
17
|
-
]
|
|
4
|
+
name: accessibility
|
|
5
|
+
description: "Use when auditing, implementing, or reviewing web accessibility (WCAG, ARIA, keyboard navigation, screen reader support, and inclusive interaction patterns)."
|
|
6
|
+
license: MIT
|
|
7
|
+
metadata:
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "1.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
18
11
|
---
|
|
19
12
|
|
|
20
|
-
# Accessibility
|
|
13
|
+
# Accessibility
|
|
21
14
|
|
|
22
|
-
##
|
|
15
|
+
## Purpose
|
|
23
16
|
|
|
24
|
-
|
|
17
|
+
Use when auditing, implementing, or reviewing web accessibility (WCAG, ARIA, keyboard navigation, screen reader support, and inclusive interaction patterns).
|
|
25
18
|
|
|
26
19
|
## When to Use
|
|
27
20
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
## Templates
|
|
102
|
-
|
|
103
|
-
- `focus_form` - Form with proper focus management
|
|
104
|
-
- `semantics_icon_button` - Icon button with semantic labels
|
|
21
|
+
- Auditing existing UI for WCAG 2.2 AA compliance.
|
|
22
|
+
- Building new components that must be keyboard-navigable and screen-reader friendly.
|
|
23
|
+
- Reviewing PR diffs for accessibility regressions.
|
|
24
|
+
- Fixing focus management, ARIA labeling, or color contrast issues.
|
|
25
|
+
- Choosing between native HTML semantics and ARIA attributes.
|
|
26
|
+
|
|
27
|
+
## Instructions
|
|
28
|
+
|
|
29
|
+
1. Identify the interaction pattern and which WCAG success criteria apply.
|
|
30
|
+
2. Use semantic HTML first — only add ARIA when native semantics are insufficient.
|
|
31
|
+
3. Verify keyboard flow: focus order, focus visibility, escape/close behavior.
|
|
32
|
+
4. Check screen reader announcements for dynamic content and state changes.
|
|
33
|
+
5. Validate contrast ratios and motion preferences before shipping.
|
|
34
|
+
|
|
35
|
+
### Baseline standards
|
|
36
|
+
|
|
37
|
+
- Use native HTML elements (`<button>`, `<nav>`, `<dialog>`, `<details>`) before custom ARIA widgets.
|
|
38
|
+
- Every interactive element must be keyboard-reachable and operable.
|
|
39
|
+
- Every image has `alt` text (or `alt=""` for decorative images).
|
|
40
|
+
- Color alone is never the only way to convey information.
|
|
41
|
+
- Focus indicators are visible in all themes (light, dark, high contrast).
|
|
42
|
+
- Dynamic content changes are announced via live regions or focus management.
|
|
43
|
+
- Forms have visible labels, error messages linked to inputs, and clear required-field indicators.
|
|
44
|
+
|
|
45
|
+
### ARIA rules
|
|
46
|
+
|
|
47
|
+
- First rule of ARIA: don't use ARIA if a native HTML element does the job.
|
|
48
|
+
- Never change native semantics unless absolutely necessary (`<button>` is always better than `<div role="button">`).
|
|
49
|
+
- All interactive ARIA elements must be keyboard-operable.
|
|
50
|
+
- All ARIA references (`aria-labelledby`, `aria-describedby`, `aria-controls`) must point to existing element IDs.
|
|
51
|
+
- Use `aria-live="polite"` for status updates, `aria-live="assertive"` only for critical errors.
|
|
52
|
+
|
|
53
|
+
### Testing checklist
|
|
54
|
+
|
|
55
|
+
- Tab through every interactive element — focus order must be logical.
|
|
56
|
+
- Operate every control with keyboard only (Enter, Space, Escape, Arrow keys).
|
|
57
|
+
- Run axe-core or Lighthouse accessibility audit — zero critical/serious violations.
|
|
58
|
+
- Test with a screen reader (VoiceOver, NVDA, or JAWS) on at least one real flow.
|
|
59
|
+
- Check `prefers-reduced-motion` — animations must respect this media query.
|
|
60
|
+
- Verify contrast with a tool (minimum 4.5:1 for normal text, 3:1 for large text and UI).
|
|
61
|
+
- Test with zoom at 200% — layout must not break or hide content.
|
|
62
|
+
|
|
63
|
+
### Constraints
|
|
64
|
+
|
|
65
|
+
- Avoid using `div` or `span` with click handlers instead of `<button>`.
|
|
66
|
+
- Avoid suppressing focus outlines globally (`outline: none` without replacement).
|
|
67
|
+
- Avoid using `aria-hidden="true"` on elements that contain interactive content.
|
|
68
|
+
- Avoid auto-playing audio or video without user consent or a stop mechanism.
|
|
69
|
+
- Avoid using only color to indicate errors, status, or selected state.
|
|
70
|
+
- Avoid positive `tabindex` values — they create unpredictable focus order.
|
|
71
|
+
- Avoid tooltip-only labels with no accessible name on the trigger element.
|
|
72
|
+
|
|
73
|
+
## Output Format
|
|
74
|
+
|
|
75
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
76
|
+
|
|
77
|
+
## References
|
|
78
|
+
|
|
79
|
+
Load on demand. Do not preload all reference files.
|
|
80
|
+
|
|
81
|
+
| File | Load when |
|
|
82
|
+
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
|
|
83
|
+
| `references/wcag-audit-checklist.md` | You need a structured WCAG 2.2 AA audit checklist for a full-page or full-app review. |
|
|
84
|
+
| `references/aria-patterns-guide.md` | The task involves custom widgets (modals, menus, tabs, trees, comboboxes) that need correct ARIA patterns. |
|
|
85
|
+
|
|
86
|
+
## Scripts
|
|
87
|
+
|
|
88
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
89
|
+
|
|
90
|
+
## Examples
|
|
91
|
+
|
|
92
|
+
- "Help me with accessibility best practices in this project"
|
|
93
|
+
- "Review my accessibility implementation for issues"
|
|
105
94
|
````
|
|
@@ -1,103 +1,91 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"wcag",
|
|
10
|
-
"semantics",
|
|
11
|
-
"screen reader",
|
|
12
|
-
"focus",
|
|
13
|
-
"contrast",
|
|
14
|
-
"flutter accessibility",
|
|
15
|
-
]
|
|
2
|
+
name: accessibility
|
|
3
|
+
description: "Use when auditing, implementing, or reviewing web accessibility (WCAG, ARIA, keyboard navigation, screen reader support, and inclusive interaction patterns)."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: cubis-foundry
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
16
9
|
---
|
|
17
10
|
|
|
18
|
-
# Accessibility
|
|
11
|
+
# Accessibility
|
|
19
12
|
|
|
20
|
-
##
|
|
13
|
+
## Purpose
|
|
21
14
|
|
|
22
|
-
|
|
15
|
+
Use when auditing, implementing, or reviewing web accessibility (WCAG, ARIA, keyboard navigation, screen reader support, and inclusive interaction patterns).
|
|
23
16
|
|
|
24
17
|
## When to Use
|
|
25
18
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
## Quick Reference
|
|
33
|
-
|
|
34
|
-
### Semantic Labels for Icon Buttons
|
|
35
|
-
|
|
36
|
-
```dart
|
|
37
|
-
// ❌ Bad - no semantic label
|
|
38
|
-
IconButton(
|
|
39
|
-
icon: Icon(Icons.delete),
|
|
40
|
-
onPressed: () => deleteItem(),
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
// ✅ Good - has semantic label
|
|
44
|
-
Semantics(
|
|
45
|
-
label: 'Delete item',
|
|
46
|
-
button: true,
|
|
47
|
-
child: IconButton(
|
|
48
|
-
icon: Icon(Icons.delete),
|
|
49
|
-
onPressed: () => deleteItem(),
|
|
50
|
-
),
|
|
51
|
-
)
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Form Focus Management
|
|
55
|
-
|
|
56
|
-
```dart
|
|
57
|
-
// Create focus nodes
|
|
58
|
-
final _emailFocus = FocusNode();
|
|
59
|
-
final _passwordFocus = FocusNode();
|
|
60
|
-
|
|
61
|
-
// Link them in text fields
|
|
62
|
-
TextField(
|
|
63
|
-
focusNode: _emailFocus,
|
|
64
|
-
textInputAction: TextInputAction.next,
|
|
65
|
-
onSubmitted: (_) => _passwordFocus.requestFocus(),
|
|
66
|
-
)
|
|
67
|
-
|
|
68
|
-
TextField(
|
|
69
|
-
focusNode: _passwordFocus,
|
|
70
|
-
textInputAction: TextInputAction.done,
|
|
71
|
-
onSubmitted: (_) => _submitForm(),
|
|
72
|
-
)
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Minimum Touch Target Size
|
|
76
|
-
|
|
77
|
-
```dart
|
|
78
|
-
// Ensure 48x48 minimum for interactive elements
|
|
79
|
-
SizedBox(
|
|
80
|
-
width: 48,
|
|
81
|
-
height: 48,
|
|
82
|
-
child: IconButton(...),
|
|
83
|
-
)
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Key Principles
|
|
87
|
-
|
|
88
|
-
1. **Semantic Labels**: All icon buttons, images, and non-text elements need labels
|
|
89
|
-
2. **Focus Order**: Tab order should follow visual/logical flow
|
|
90
|
-
3. **Touch Targets**: Minimum 48x48 dp for all interactive elements
|
|
91
|
-
4. **Color Contrast**: Text must have 4.5:1 contrast ratio (3:1 for large text)
|
|
92
|
-
5. **Screen Reader**: Test with TalkBack (Android) and VoiceOver (iOS)
|
|
93
|
-
|
|
94
|
-
## Steering Files
|
|
95
|
-
|
|
96
|
-
Load detailed guidance:
|
|
97
|
-
- `a11y_checklist.md` - Complete accessibility checklist for reviews
|
|
98
|
-
|
|
99
|
-
## Templates
|
|
100
|
-
|
|
101
|
-
- `focus_form` - Form with proper focus management
|
|
102
|
-
- `semantics_icon_button` - Icon button with semantic labels
|
|
19
|
+
- Auditing existing UI for WCAG 2.2 AA compliance.
|
|
20
|
+
- Building new components that must be keyboard-navigable and screen-reader friendly.
|
|
21
|
+
- Reviewing PR diffs for accessibility regressions.
|
|
22
|
+
- Fixing focus management, ARIA labeling, or color contrast issues.
|
|
23
|
+
- Choosing between native HTML semantics and ARIA attributes.
|
|
103
24
|
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Identify the interaction pattern and which WCAG success criteria apply.
|
|
28
|
+
2. Use semantic HTML first — only add ARIA when native semantics are insufficient.
|
|
29
|
+
3. Verify keyboard flow: focus order, focus visibility, escape/close behavior.
|
|
30
|
+
4. Check screen reader announcements for dynamic content and state changes.
|
|
31
|
+
5. Validate contrast ratios and motion preferences before shipping.
|
|
32
|
+
|
|
33
|
+
### Baseline standards
|
|
34
|
+
|
|
35
|
+
- Use native HTML elements (`<button>`, `<nav>`, `<dialog>`, `<details>`) before custom ARIA widgets.
|
|
36
|
+
- Every interactive element must be keyboard-reachable and operable.
|
|
37
|
+
- Every image has `alt` text (or `alt=""` for decorative images).
|
|
38
|
+
- Color alone is never the only way to convey information.
|
|
39
|
+
- Focus indicators are visible in all themes (light, dark, high contrast).
|
|
40
|
+
- Dynamic content changes are announced via live regions or focus management.
|
|
41
|
+
- Forms have visible labels, error messages linked to inputs, and clear required-field indicators.
|
|
42
|
+
|
|
43
|
+
### ARIA rules
|
|
44
|
+
|
|
45
|
+
- First rule of ARIA: don't use ARIA if a native HTML element does the job.
|
|
46
|
+
- Never change native semantics unless absolutely necessary (`<button>` is always better than `<div role="button">`).
|
|
47
|
+
- All interactive ARIA elements must be keyboard-operable.
|
|
48
|
+
- All ARIA references (`aria-labelledby`, `aria-describedby`, `aria-controls`) must point to existing element IDs.
|
|
49
|
+
- Use `aria-live="polite"` for status updates, `aria-live="assertive"` only for critical errors.
|
|
50
|
+
|
|
51
|
+
### Testing checklist
|
|
52
|
+
|
|
53
|
+
- Tab through every interactive element — focus order must be logical.
|
|
54
|
+
- Operate every control with keyboard only (Enter, Space, Escape, Arrow keys).
|
|
55
|
+
- Run axe-core or Lighthouse accessibility audit — zero critical/serious violations.
|
|
56
|
+
- Test with a screen reader (VoiceOver, NVDA, or JAWS) on at least one real flow.
|
|
57
|
+
- Check `prefers-reduced-motion` — animations must respect this media query.
|
|
58
|
+
- Verify contrast with a tool (minimum 4.5:1 for normal text, 3:1 for large text and UI).
|
|
59
|
+
- Test with zoom at 200% — layout must not break or hide content.
|
|
60
|
+
|
|
61
|
+
### Constraints
|
|
62
|
+
|
|
63
|
+
- Avoid using `div` or `span` with click handlers instead of `<button>`.
|
|
64
|
+
- Avoid suppressing focus outlines globally (`outline: none` without replacement).
|
|
65
|
+
- Avoid using `aria-hidden="true"` on elements that contain interactive content.
|
|
66
|
+
- Avoid auto-playing audio or video without user consent or a stop mechanism.
|
|
67
|
+
- Avoid using only color to indicate errors, status, or selected state.
|
|
68
|
+
- Avoid positive `tabindex` values — they create unpredictable focus order.
|
|
69
|
+
- Avoid tooltip-only labels with no accessible name on the trigger element.
|
|
70
|
+
|
|
71
|
+
## Output Format
|
|
72
|
+
|
|
73
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
74
|
+
|
|
75
|
+
## References
|
|
76
|
+
|
|
77
|
+
Load on demand. Do not preload all reference files.
|
|
78
|
+
|
|
79
|
+
| File | Load when |
|
|
80
|
+
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
|
|
81
|
+
| `references/wcag-audit-checklist.md` | You need a structured WCAG 2.2 AA audit checklist for a full-page or full-app review. |
|
|
82
|
+
| `references/aria-patterns-guide.md` | The task involves custom widgets (modals, menus, tabs, trees, comboboxes) that need correct ARIA patterns. |
|
|
83
|
+
|
|
84
|
+
## Scripts
|
|
85
|
+
|
|
86
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
87
|
+
|
|
88
|
+
## Examples
|
|
89
|
+
|
|
90
|
+
- "Help me with accessibility best practices in this project"
|
|
91
|
+
- "Review my accessibility implementation for issues"
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
````markdown
|
|
2
|
+
---
|
|
3
|
+
inclusion: manual
|
|
4
|
+
name: agent-design
|
|
5
|
+
description: "Use when designing, building, or improving a CBX agent, skill, or workflow: clarification strategy, progressive disclosure structure, workflow pattern selection (sequential, parallel, evaluator-optimizer), skill type taxonomy, description tuning, and eval-first testing."
|
|
6
|
+
license: MIT
|
|
7
|
+
metadata:
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "1.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot, Gemini CLI
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Agent Design
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
|
|
17
|
+
You are the specialist for designing CBX agents and skills that behave intelligently — asking the right questions, knowing when to pause, executing in the right workflow pattern, and testing their own output.
|
|
18
|
+
|
|
19
|
+
Your job is to close the gap between "it kinda works" and "it works reliably under any input."
|
|
20
|
+
|
|
21
|
+
## When to Use
|
|
22
|
+
|
|
23
|
+
- Designing or refactoring a SKILL.md or POWER.md
|
|
24
|
+
- Choosing between sequential, parallel, or evaluator-optimizer workflow
|
|
25
|
+
- Writing clarification logic for an agent that handles ambiguous requests
|
|
26
|
+
- Deciding whether a task needs a skill or just a prompt
|
|
27
|
+
- Testing whether a skill actually works as intended
|
|
28
|
+
- Writing descriptions that trigger the right skill at the right time
|
|
29
|
+
|
|
30
|
+
## Core Principles
|
|
31
|
+
|
|
32
|
+
These come directly from Anthropic's agent engineering research (["Equipping agents for the real world"](https://claude.com/blog/equipping-agents-for-the-real-world-with-agent-skills), March 2026):
|
|
33
|
+
|
|
34
|
+
1. **Progressive disclosure** — A skill's SKILL.md provides just enough context to know when to load it. Full instructions, references, and scripts are loaded lazily, only when needed. More context in a single file does not equal better behavior — it usually hurts it.
|
|
35
|
+
|
|
36
|
+
2. **Eval before optimizing** — Define what "good looks like" (test cases + success criteria) before editing the skill. This prevents regression and tells you when improvement actually happened.
|
|
37
|
+
|
|
38
|
+
3. **Description precision** — The `description` field in YAML frontmatter controls triggering. Too broad = false positives. Too narrow = the skill never fires. Tune it like a search query.
|
|
39
|
+
|
|
40
|
+
4. **Two skill types** — See [Skill Type Taxonomy](#skill-type-taxonomy). These need different testing strategies and have different shelf lives.
|
|
41
|
+
|
|
42
|
+
5. **Start with a single agent** — Before adding workflow complexity, first try a single agent with a rich prompt. Only add orchestration when it measurably improves results.
|
|
43
|
+
|
|
44
|
+
## Skill Type Taxonomy
|
|
45
|
+
|
|
46
|
+
| Type | What it does | Testing goal | Shelf life |
|
|
47
|
+
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------- |
|
|
48
|
+
| **Capability uplift** | Teaches Claude to do something it can't do alone (e.g. manipulate PDFs, fill forms, use a domain-specific API) | Verify the output is correct and consistent | Medium — may become obsolete as models improve |
|
|
49
|
+
| **Encoded preference** | Sequences steps Claude could do individually, but in your team's specific order and style (e.g. NDA review checklist, weekly update format) | Verify fidelity to the actual workflow | High — these stay useful because they're uniquely yours |
|
|
50
|
+
|
|
51
|
+
Design question: "Is this skill teaching Claude something new, or encoding how we do things?"
|
|
52
|
+
|
|
53
|
+
## Clarification Strategy
|
|
54
|
+
|
|
55
|
+
An agent that starts wrong wastes everyone's time. Smart agents pause at the right moments.
|
|
56
|
+
|
|
57
|
+
Load `references/clarification-patterns.md` when:
|
|
58
|
+
|
|
59
|
+
- Designing how a skill should handle ambiguous or underspecified inputs
|
|
60
|
+
- Writing the early steps of a workflow where user intent matters
|
|
61
|
+
- Deciding what questions to ask vs. what to infer
|
|
62
|
+
|
|
63
|
+
## Workflow Pattern Selection
|
|
64
|
+
|
|
65
|
+
Three patterns cover 95% of production agent workflows:
|
|
66
|
+
|
|
67
|
+
| Pattern | Use when | Cost | Benefit |
|
|
68
|
+
| ----------------------- | --------------------------------------------------------------- | ----------------------- | ----------------------------------------- |
|
|
69
|
+
| **Sequential** | Steps have dependencies (B needs A's output) | Latency (linear) | Focus: each step does one thing well |
|
|
70
|
+
| **Parallel** | Steps are independent and concurrency helps | Tokens (multiplicative) | Speed + separation of concerns |
|
|
71
|
+
| **Evaluator-optimizer** | First-draft quality isn't good enough and quality is measurable | Tokens × iterations | Better output through structured feedback |
|
|
72
|
+
|
|
73
|
+
Default to sequential. Add parallel when latency is the bottleneck and tasks are genuinely independent. Add evaluator-optimizer only when you can measure the improvement.
|
|
74
|
+
|
|
75
|
+
Load `references/workflow-patterns.md` for the full decision tree, examples, and anti-patterns.
|
|
76
|
+
|
|
77
|
+
## Progressive Disclosure Structure
|
|
78
|
+
|
|
79
|
+
A well-structured CBX skill looks like:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
skill-name/
|
|
83
|
+
SKILL.md ← lean entry: name, description, purpose, when-to-use, load-table
|
|
84
|
+
references/ ← detailed guides loaded lazily when step requires it
|
|
85
|
+
topic-a.md
|
|
86
|
+
topic-b.md
|
|
87
|
+
commands/ ← slash commands (optional)
|
|
88
|
+
command.md
|
|
89
|
+
scripts/ ← executable code (optional)
|
|
90
|
+
helper.py
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**SKILL.md should be loadable in <2000 tokens.** Everything else lives in references.
|
|
94
|
+
|
|
95
|
+
The metadata table pattern that works:
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
## References
|
|
99
|
+
|
|
100
|
+
| File | Load when |
|
|
101
|
+
| ----------------------- | ------------------------------------------ |
|
|
102
|
+
| `references/topic-a.md` | Task involves [specific trigger condition] |
|
|
103
|
+
| `references/topic-b.md` | Task involves [specific trigger condition] |
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
This lets the agent make intelligent decisions about what context to load rather than ingesting everything upfront.
|
|
107
|
+
|
|
108
|
+
## Description Writing
|
|
109
|
+
|
|
110
|
+
The `description` field is a trigger — write it like a search query, not marketing copy.
|
|
111
|
+
|
|
112
|
+
**Good description:**
|
|
113
|
+
|
|
114
|
+
```yaml
|
|
115
|
+
description: "Use when evaluating an agent, skill, workflow, or MCP server: rubric design, evaluator-optimizer loops, LLM-as-judge patterns, regression suites, or prototype-vs-production quality gaps."
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Bad description:**
|
|
119
|
+
|
|
120
|
+
```yaml
|
|
121
|
+
description: "A comprehensive skill for evaluating things and making sure they work well."
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Rules:
|
|
125
|
+
|
|
126
|
+
- Lead with the specific trigger verb: "Use when [user does X]"
|
|
127
|
+
- List the specific task types with commas — these act like search keywords
|
|
128
|
+
- Include domain-specific nouns the user would actually type
|
|
129
|
+
- Avoid generic adjectives ("comprehensive", "powerful", "advanced")
|
|
130
|
+
|
|
131
|
+
Test your description: would a user's natural-language request match the intent of these words?
|
|
132
|
+
|
|
133
|
+
## Testing a Skill
|
|
134
|
+
|
|
135
|
+
Before shipping, verify with this checklist:
|
|
136
|
+
|
|
137
|
+
1. **Positive trigger** — Does the skill load when it should? Test 5 natural phrasings of the target task.
|
|
138
|
+
2. **Negative trigger** — Does it stay quiet when it shouldn't load? Test 5 near-miss phrasings.
|
|
139
|
+
3. **Happy path** — Does the skill complete the standard task correctly?
|
|
140
|
+
4. **Edge cases** — What happens with missing input, ambiguous phrasing, or edge-case content?
|
|
141
|
+
5. **Reader test** — Run the delivery (e.g., a generated doc, a plan) through a fresh sub-agent with no context. Can it answer questions about the output correctly?
|
|
142
|
+
|
|
143
|
+
For formal regression suites, load `references/skill-testing.md`.
|
|
144
|
+
|
|
145
|
+
## Instructions
|
|
146
|
+
|
|
147
|
+
### Step 1 — Understand the design task
|
|
148
|
+
|
|
149
|
+
Before touching any file, clarify:
|
|
150
|
+
|
|
151
|
+
- Is this a new skill or improving an existing one?
|
|
152
|
+
- Is it capability uplift or encoded preference?
|
|
153
|
+
- What's the specific failure mode being fixed?
|
|
154
|
+
- What would passing look like?
|
|
155
|
+
|
|
156
|
+
If any of these are unclear, apply the clarification pattern from `references/clarification-patterns.md`.
|
|
157
|
+
|
|
158
|
+
### Step 2 — Choose the structure
|
|
159
|
+
|
|
160
|
+
- If the skill is simple (single task, single purpose): lean SKILL.md with no references
|
|
161
|
+
- If the skill is complex (multiple phases, conditional logic): SKILL.md + references loaded lazily
|
|
162
|
+
- If the skill has reusable commands: add `commands/` directory
|
|
163
|
+
|
|
164
|
+
### Step 3 — Design the workflow
|
|
165
|
+
|
|
166
|
+
Use the pattern selection table above. Start with sequential. Prove you need complexity before adding it.
|
|
167
|
+
|
|
168
|
+
### Step 4 — Write the description
|
|
169
|
+
|
|
170
|
+
Write it last. Once you know what the skill does and how it differs from adjacent skills, the right description is usually obvious.
|
|
171
|
+
|
|
172
|
+
### Step 5 — Define a test
|
|
173
|
+
|
|
174
|
+
Write at least 3 test cases (input → expected output or behavior) before considering the skill done. These become the regression suite.
|
|
175
|
+
|
|
176
|
+
## Output Format
|
|
177
|
+
|
|
178
|
+
Deliver:
|
|
179
|
+
|
|
180
|
+
1. **Skill structure** — directory layout, file list
|
|
181
|
+
2. **SKILL.md** — production-ready with lean body and reference table
|
|
182
|
+
3. **Reference files** — if needed, each scoped to a specific phase or topic
|
|
183
|
+
4. **Test cases** — 3-5 natural language inputs with expected behaviors
|
|
184
|
+
5. **Description** — the final `description` field, tuned for triggering
|
|
185
|
+
|
|
186
|
+
## References
|
|
187
|
+
|
|
188
|
+
| File | Load when |
|
|
189
|
+
| -------------------------------------- | ------------------------------------------------------------------------------ |
|
|
190
|
+
| `references/clarification-patterns.md` | Designing how the agent handles ambiguous or underspecified input |
|
|
191
|
+
| `references/workflow-patterns.md` | Choosing or implementing sequential, parallel, or evaluator-optimizer workflow |
|
|
192
|
+
| `references/skill-testing.md` | Writing evals, regression sets, or triggering tests for a skill |
|
|
193
|
+
|
|
194
|
+
## Examples
|
|
195
|
+
|
|
196
|
+
- "Design a skill for our NDA review process — it should follow our checklist exactly."
|
|
197
|
+
- "The feature-forge skill triggers on the wrong prompts. Help me fix the description."
|
|
198
|
+
- "How do I test whether my skill still works after a model update?"
|
|
199
|
+
- "I need a workflow where 3 agents review code in parallel then one synthesizes findings."
|
|
200
|
+
- "This skill's SKILL.md is 4000 tokens. Help me split it into lean structure with references."
|
|
201
|
+
````
|