@1aboveio/skills 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -2
- package/bin/cli.mjs +14 -0
- package/bin/select-core.mjs +172 -0
- package/package.json +146 -4
- package/skills/app-dev/airflow/LICENSE +3 -0
- package/skills/app-dev/airflow/SKILL.md +199 -0
- package/skills/app-dev/airflow/release-check.mjs +93 -0
- package/skills/app-dev/android-foundation/LICENSE +3 -0
- package/skills/app-dev/android-foundation/SKILL.md +192 -0
- package/skills/app-dev/android-foundation/assets/android-ci-job.yml +217 -0
- package/skills/app-dev/android-foundation/references/ci.md +87 -0
- package/skills/app-dev/android-foundation/references/gotchas.md +221 -0
- package/skills/app-dev/android-foundation/references/setup.md +164 -0
- package/skills/app-dev/android-foundation/release-check.mjs +93 -0
- package/skills/app-dev/android-foundation/scripts/device-run.sh +176 -0
- package/skills/app-dev/android-foundation/scripts/device-run.test.mjs +172 -0
- package/skills/app-dev/app-debug/LICENSE +3 -0
- package/skills/app-dev/app-debug/SKILL.md +110 -0
- package/skills/app-dev/app-debug/references/common-errors.md +128 -0
- package/skills/app-dev/app-debug/release-check.mjs +93 -0
- package/skills/app-dev/better-auth/LICENSE +3 -0
- package/skills/app-dev/better-auth/SKILL.md +598 -0
- package/skills/app-dev/better-auth/references/feishu-api.md +270 -0
- package/skills/app-dev/better-auth/release-check.mjs +93 -0
- package/skills/app-dev/data-catalog/LICENSE +3 -0
- package/skills/app-dev/data-catalog/SKILL.md +204 -0
- package/skills/app-dev/data-catalog/agents/openai.yaml +3 -0
- package/skills/app-dev/data-catalog/references/data-catalog-conventions.md +75 -0
- package/skills/app-dev/data-catalog/references/field-definitions.md +116 -0
- package/skills/app-dev/data-catalog/references/format.md +121 -0
- package/skills/app-dev/data-catalog/release-check.mjs +93 -0
- package/skills/app-dev/data-catalog/scripts/data-catalog.test.mjs +36 -0
- package/skills/app-dev/data-catalog/scripts/data_catalog.py +1392 -0
- package/skills/app-dev/data-catalog/scripts/persist-conventions-core.mjs +117 -0
- package/skills/app-dev/data-catalog/scripts/persist-conventions.mjs +17 -0
- package/skills/app-dev/data-catalog/scripts/test_data_catalog.py +571 -0
- package/skills/app-dev/ios-foundation/LICENSE +3 -0
- package/skills/app-dev/ios-foundation/SKILL.md +184 -0
- package/skills/app-dev/ios-foundation/references/setup.md +243 -0
- package/skills/app-dev/ios-foundation/release-check.mjs +93 -0
- package/skills/app-dev/monorepo/LICENSE +3 -0
- package/skills/app-dev/monorepo/SKILL.md +462 -0
- package/skills/app-dev/monorepo/release-check.mjs +93 -0
- package/skills/app-dev/nextjs-fullstack/LICENSE +3 -0
- package/skills/app-dev/nextjs-fullstack/SKILL.md +211 -0
- package/skills/app-dev/nextjs-fullstack/conventions.md +318 -0
- package/skills/app-dev/nextjs-fullstack/frontend-conventions.md +61 -0
- package/skills/app-dev/nextjs-fullstack/nextjs16.md +287 -0
- package/skills/app-dev/nextjs-fullstack/release-check.mjs +93 -0
- package/skills/app-dev/nextjs-fullstack/server-actions.md +409 -0
- package/skills/app-dev/prisma-setup/LICENSE +3 -0
- package/skills/app-dev/prisma-setup/SKILL.md +181 -0
- package/skills/app-dev/prisma-setup/nextjs.md +258 -0
- package/skills/app-dev/prisma-setup/release-check.mjs +93 -0
- package/skills/app-dev/prisma-setup/turborepo.md +301 -0
- package/skills/app-dev/pyspark/LICENSE +3 -0
- package/skills/app-dev/pyspark/SKILL.md +127 -0
- package/skills/app-dev/pyspark/assets/templates/etl.py +748 -0
- package/skills/app-dev/pyspark/assets/templates/utils/__init__.py +1 -0
- package/skills/app-dev/pyspark/assets/templates/utils/hudi_metadata.py +14 -0
- package/skills/app-dev/pyspark/references/diagnosis-and-profiling.md +169 -0
- package/skills/app-dev/pyspark/references/etl-contract.md +129 -0
- package/skills/app-dev/pyspark/references/production-validation.md +131 -0
- package/skills/app-dev/pyspark/references/reconciliation.md +38 -0
- package/skills/app-dev/pyspark/references/transformation-design.md +190 -0
- package/skills/app-dev/pyspark/references/velocity-feature-calculation.md +193 -0
- package/skills/app-dev/pyspark/release-check.mjs +93 -0
- package/skills/app-dev/pyspark/scripts/spark_eventlog_summary.py +223 -0
- package/skills/app-dev/python-backend/LICENSE +3 -0
- package/skills/app-dev/python-backend/SKILL.md +325 -0
- package/skills/app-dev/python-backend/assets/uv-install.sh +48 -0
- package/skills/app-dev/python-backend/references/uv-installs.md +83 -0
- package/skills/app-dev/python-backend/release-check.mjs +93 -0
- package/skills/app-dev/shadcn/LICENSE +3 -0
- package/skills/app-dev/shadcn/SKILL.md +120 -0
- package/skills/app-dev/shadcn/assets/shadcn-small.png +0 -0
- package/skills/app-dev/shadcn/assets/shadcn.png +0 -0
- package/skills/app-dev/shadcn/cli.md +411 -0
- package/skills/app-dev/shadcn/customization.md +224 -0
- package/skills/app-dev/shadcn/mcp.md +101 -0
- package/skills/app-dev/shadcn/release-check.mjs +93 -0
- package/skills/app-dev/shadcn/rules/base-vs-radix.md +323 -0
- package/skills/app-dev/shadcn/rules/component-selection.md +67 -0
- package/skills/app-dev/shadcn/rules/composition.md +195 -0
- package/skills/app-dev/shadcn/rules/data-table.md +201 -0
- package/skills/app-dev/shadcn/rules/forms.md +255 -0
- package/skills/app-dev/shadcn/rules/icons.md +103 -0
- package/skills/app-dev/shadcn/rules/styling.md +167 -0
- package/skills/app-dev/zod-v4/LICENSE +3 -0
- package/skills/app-dev/zod-v4/SKILL.md +286 -0
- package/skills/app-dev/zod-v4/release-check.mjs +93 -0
- package/skills/cicd/cloud-build/LICENSE +3 -0
- package/skills/cicd/cloud-build/SKILL.md +707 -0
- package/skills/cicd/cloud-build/release-check.mjs +93 -0
- package/skills/cicd/cloud-debug/LICENSE +3 -0
- package/skills/cicd/cloud-debug/SKILL.md +315 -0
- package/skills/cicd/cloud-debug/references/build-failures.md +238 -0
- package/skills/cicd/cloud-debug/references/deploy-failures.md +376 -0
- package/skills/cicd/cloud-debug/references/pipeline-failures.md +378 -0
- package/skills/cicd/cloud-debug/release-check.mjs +93 -0
- package/skills/cicd/cloud-deploy/LICENSE +3 -0
- package/skills/cicd/cloud-deploy/SKILL.md +230 -0
- package/skills/cicd/cloud-deploy/references/config-templates.md +257 -0
- package/skills/cicd/cloud-deploy/release-check.mjs +93 -0
- package/skills/cicd/docker/LICENSE +3 -0
- package/skills/cicd/docker/SKILL.md +151 -0
- package/skills/cicd/docker/release-check.mjs +93 -0
- package/skills/cicd/github-actions/LICENSE +3 -0
- package/skills/cicd/github-actions/SKILL.md +111 -0
- package/skills/cicd/github-actions/references/audit-profile-optimize.md +150 -0
- package/skills/cicd/github-actions/references/ci-case-studies.md +141 -0
- package/skills/cicd/github-actions/references/conditional-ci.md +214 -0
- package/skills/cicd/github-actions/references/debugging.md +13 -0
- package/skills/cicd/github-actions/references/pipeline.md +87 -0
- package/skills/cicd/github-actions/references/post-deploy-and-publishing.md +33 -0
- package/skills/cicd/github-actions/references/runners.md +253 -0
- package/skills/cicd/github-actions/references/security.md +29 -0
- package/skills/cicd/github-actions/references/speed-and-audit.md +115 -0
- package/skills/cicd/github-actions/references/two-pass-reading.md +92 -0
- package/skills/cicd/github-actions/release-check.mjs +93 -0
- package/skills/cicd/github-actions/scripts/ci-run-audit-core.mjs +612 -0
- package/skills/cicd/github-actions/scripts/ci-run-audit.mjs +4 -0
- package/skills/cicd/github-actions/scripts/ci-run-audit.test.mjs +637 -0
- package/skills/cicd/github-flow/LICENSE +3 -0
- package/skills/cicd/github-flow/SKILL.md +123 -0
- package/skills/cicd/github-flow/references/ci-conventions.md +14 -0
- package/skills/cicd/github-flow/release-check.mjs +93 -0
- package/skills/cicd/github-flow/scripts/flow-core.mjs +105 -0
- package/skills/cicd/github-flow/scripts/flow.mjs +81 -0
- package/skills/cicd/github-flow/scripts/flow.test.mjs +114 -0
- package/skills/cicd/github-flow/scripts/persist-conventions-core.mjs +117 -0
- package/skills/cicd/github-flow/scripts/persist-conventions.mjs +49 -0
- package/skills/cicd/github-flow/scripts/persist-conventions.test.mjs +108 -0
- package/skills/cicd/google-cloud/LICENSE +3 -0
- package/skills/cicd/google-cloud/SKILL.md +119 -0
- package/skills/cicd/google-cloud/references/gcs.md +469 -0
- package/skills/cicd/google-cloud/references/iam.md +451 -0
- package/skills/cicd/google-cloud/references/project.md +349 -0
- package/skills/cicd/google-cloud/references/secrets.md +336 -0
- package/skills/cicd/google-cloud/references/vpc.md +312 -0
- package/skills/cicd/google-cloud/release-check.mjs +93 -0
- package/skills/cicd/google-cloud/scripts/create-sa.sh +36 -0
- package/skills/cicd/google-cloud/scripts/gcp-config.sh +31 -0
- package/skills/cicd/google-cloud/scripts/grant-iap.sh +41 -0
- package/skills/cicd/google-cloud/scripts/setup-secrets.sh +48 -0
- package/skills/cicd/mergify/LICENSE +3 -0
- package/skills/cicd/mergify/SKILL.md +102 -0
- package/skills/cicd/mergify/assets/templates/mergify.yml +215 -0
- package/skills/cicd/mergify/assets/templates/ruleset.json +46 -0
- package/skills/cicd/mergify/references/branch-protection.md +282 -0
- package/skills/cicd/mergify/references/configuration.md +274 -0
- package/skills/cicd/mergify/references/diagnosis.md +109 -0
- package/skills/cicd/mergify/references/stacks.md +84 -0
- package/skills/cicd/mergify/references/traps.md +119 -0
- package/skills/cicd/mergify/references/watch-contract.md +274 -0
- package/skills/cicd/mergify/release-check.mjs +93 -0
- package/skills/cicd/mergify/scripts/audit-core.mjs +208 -0
- package/skills/cicd/mergify/scripts/audit.mjs +4 -0
- package/skills/cicd/mergify/scripts/audit.test.mjs +201 -0
- package/skills/cicd/mergify/scripts/entrypoints.test.mjs +106 -0
- package/skills/cicd/mergify/scripts/pr-620-mergify-comments.fixture.json +30 -0
- package/skills/cicd/mergify/scripts/stack-push-core.mjs +258 -0
- package/skills/cicd/mergify/scripts/stack-push.mjs +4 -0
- package/skills/cicd/mergify/scripts/stack-push.test.mjs +233 -0
- package/skills/cicd/mergify/scripts/watch-pr-delivery-core.mjs +1065 -0
- package/skills/cicd/mergify/scripts/watch-pr-delivery.mjs +4 -0
- package/skills/cicd/mergify/scripts/watch-pr-delivery.test.mjs +1826 -0
- package/skills/cicd/podman/LICENSE +3 -0
- package/skills/cicd/podman/SKILL.md +71 -0
- package/skills/cicd/podman/agents/openai.yaml +4 -0
- package/skills/cicd/podman/assets/templates/podman-compose-socket-directory.yml +6 -0
- package/skills/cicd/podman/assets/templates/podman-service-override.conf +3 -0
- package/skills/cicd/podman/references/compose-compatibility.md +70 -0
- package/skills/cicd/podman/references/networking-and-ports.md +74 -0
- package/skills/cicd/podman/references/rootless-services-and-sockets.md +156 -0
- package/skills/cicd/podman/references/troubleshooting.md +98 -0
- package/skills/cicd/podman/release-check.mjs +93 -0
- package/skills/content/article-review/LICENSE +3 -0
- package/skills/content/article-review/SKILL.md +66 -0
- package/skills/content/article-review/references/report-format.md +68 -0
- package/skills/content/article-review/references/template-guide.md +79 -0
- package/skills/content/article-review/references/template-wechat-payments.md +125 -0
- package/skills/content/article-review/release-check.mjs +93 -0
- package/skills/content/article-to-image/LICENSE +3 -0
- package/skills/content/article-to-image/SKILL.md +91 -0
- package/skills/content/article-to-image/references/formats.md +53 -0
- package/skills/content/article-to-image/release-check.mjs +93 -0
- package/skills/content/flowchart-svg/LICENSE +3 -0
- package/skills/content/flowchart-svg/SKILL.md +43 -0
- package/skills/content/flowchart-svg/release-check.mjs +93 -0
- package/skills/content/flowchart-svg/scripts/export_png.sh +8 -0
- package/skills/content/image-gen/LICENSE +3 -0
- package/skills/content/image-gen/SKILL.md +192 -0
- package/skills/content/image-gen/release-check.mjs +93 -0
- package/skills/content/image-gen/scripts/credentials.mjs +217 -0
- package/skills/content/image-gen/scripts/credentials.test.mjs +212 -0
- package/skills/content/image-gen/scripts/generate.mjs +240 -0
- package/skills/content/image-gen/scripts/options.mjs +293 -0
- package/skills/content/image-gen/scripts/options.test.mjs +245 -0
- package/skills/content/mermaid/LICENSE +3 -0
- package/skills/content/mermaid/SKILL.md +635 -0
- package/skills/content/mermaid/release-check.mjs +93 -0
- package/skills/content/wechat-article-writer/LICENSE +3 -0
- package/skills/content/wechat-article-writer/SKILL.md +92 -0
- package/skills/content/wechat-article-writer/references/style-selector.md +133 -0
- package/skills/content/wechat-article-writer/references/writing-rules.md +152 -0
- package/skills/content/wechat-article-writer/release-check.mjs +93 -0
- package/skills/content/wechat-article-writer/templates/wechat-comparison.md +52 -0
- package/skills/content/wechat-article-writer/templates/wechat-howto.md +51 -0
- package/skills/content/wechat-article-writer/templates/wechat-insight.md +50 -0
- package/skills/content/wechat-article-writer/templates/wechat-pitfall.md +52 -0
- package/skills/content/wechat-publisher/LICENSE +3 -0
- package/skills/content/wechat-publisher/SKILL.md +171 -0
- package/skills/content/wechat-publisher/references/api.md +105 -0
- package/skills/content/wechat-publisher/references/layout-rules.md +57 -0
- package/skills/content/wechat-publisher/references/wechat-safe-template.html +86 -0
- package/skills/content/wechat-publisher/release-check.mjs +93 -0
- package/skills/content/wechat-publisher/scripts/md_to_wechat_html.py +194 -0
- package/skills/content/wechat-publisher/scripts/publish.py +239 -0
- package/skills/content/wechat-search/LICENSE +3 -0
- package/skills/content/wechat-search/SKILL.md +211 -0
- package/skills/content/wechat-search/release-check.mjs +93 -0
- package/skills/content/wechat-search/scripts/start-chrome.sh +83 -0
- package/skills/content/xai-search/LICENSE +3 -0
- package/skills/content/xai-search/SKILL.md +79 -0
- package/skills/content/xai-search/release-check.mjs +93 -0
- package/skills/content/xai-search/scripts/xai_search.sh +187 -0
- package/skills/content/xai-search/tests/smoke_test.sh +36 -0
- package/skills/core/distill-writing/LICENSE +3 -0
- package/skills/core/distill-writing/SKILL.md +74 -0
- package/skills/core/distill-writing/references/extraction.md +95 -0
- package/skills/core/distill-writing/references/updating.md +46 -0
- package/skills/core/distill-writing/release-check.mjs +93 -0
- package/skills/core/doc-to-md/LICENSE +3 -0
- package/skills/core/doc-to-md/SKILL.md +78 -0
- package/skills/core/doc-to-md/release-check.mjs +93 -0
- package/skills/core/doc-to-md/scripts/convert.py +157 -0
- package/skills/core/editorial-review/LICENSE +3 -0
- package/skills/core/editorial-review/SKILL.md +79 -0
- package/skills/core/editorial-review/references/checklist.md +94 -0
- package/skills/core/editorial-review/release-check.mjs +93 -0
- package/skills/core/house-style/LICENSE +3 -0
- package/skills/core/house-style/SKILL.md +33 -0
- package/skills/core/house-style/references/defaults.md +66 -0
- package/skills/core/house-style/references/rules.md +267 -0
- package/skills/core/house-style/references/sources.md +27 -0
- package/skills/core/house-style/references/style-en.md +131 -0
- package/skills/core/house-style/references/style-zh.md +141 -0
- package/skills/core/house-style/references/terminology-zh.md +223 -0
- package/skills/core/house-style/release-check.mjs +93 -0
- package/skills/core/house-style/templates/brd.md +103 -0
- package/skills/core/house-style/templates/commercial-proposal.md +93 -0
- package/skills/core/house-style/templates/compliance-policy.md +109 -0
- package/skills/core/house-style/templates/gap-analysis.md +105 -0
- package/skills/core/house-style/templates/general.md +63 -0
- package/skills/core/house-style/templates/integration-guide.md +98 -0
- package/skills/core/house-style/templates/prd.md +81 -0
- package/skills/core/house-style/templates/risk-operations-procedure.md +94 -0
- package/skills/core/house-style/templates/technical-spec.md +96 -0
- package/skills/core/polish-cn/LICENSE +3 -0
- package/skills/core/polish-cn/SKILL.md +102 -0
- package/skills/core/polish-cn/references/brief.md +93 -0
- package/skills/core/polish-cn/references/models.md +76 -0
- package/skills/core/polish-cn/release-check.mjs +93 -0
- package/skills/core/polish-cn/scripts/polish-cn.test.mjs +244 -0
- package/skills/core/polish-cn/scripts/polish_blocks.py +489 -0
- package/skills/core/reg-parser/LICENSE +3 -0
- package/skills/core/reg-parser/SKILL.md +212 -0
- package/skills/core/reg-parser/references/checklist-schema.md +223 -0
- package/skills/core/reg-parser/references/checklists/hk-amlo-checklist.json +1306 -0
- package/skills/core/reg-parser/references/checklists/hk-amlo-checklist.md +469 -0
- package/skills/core/reg-parser/references/checklists/hk-fi-corporate-onboarding-cdd-checklist.json +634 -0
- package/skills/core/reg-parser/references/checklists/hk-fi-corporate-onboarding-cdd-checklist.md +233 -0
- package/skills/core/reg-parser/references/checklists/hk-mso-guideline-checklist.json +2194 -0
- package/skills/core/reg-parser/references/checklists/hk-mso-guideline-checklist.md +771 -0
- package/skills/core/reg-parser/references/checklists/kyc-aml-checklist.md +258 -0
- package/skills/core/reg-parser/references/checklists/visa-vars-checklist.md +1058 -0
- package/skills/core/reg-parser/references/mandates/hk-amlo-cap615.md +389 -0
- package/skills/core/reg-parser/references/mandates/visa-vars.md +205 -0
- package/skills/core/reg-parser/release-check.mjs +93 -0
- package/skills/core/reg-parser/scripts/compare_checklist.py +230 -0
- package/skills/core/reg-parser/scripts/dump_checklist.py +361 -0
- package/skills/core/reg-parser/scripts/preprocess-mandate.sh +187 -0
- package/skills/core/reg-parser/scripts/reg-parser.test.mjs +165 -0
- package/skills/core/reg-parser/scripts/test_quarantine.sh +105 -0
- package/skills/core/reg-parser/scripts/validate_checklist.py +563 -0
- package/skills/core/reg-parser/scripts/validate_mandate.py +273 -0
- package/skills/core/terminology/LICENSE +3 -0
- package/skills/core/terminology/SKILL.md +62 -0
- package/skills/core/terminology/references/format.md +50 -0
- package/skills/core/terminology/references/init.md +32 -0
- package/skills/core/terminology/release-check.mjs +93 -0
- package/skills/core/write-doc/LICENSE +3 -0
- package/skills/core/write-doc/SKILL.md +141 -0
- package/skills/core/write-doc/references/bilingual.md +60 -0
- package/skills/core/write-doc/release-check.mjs +93 -0
- package/skills/engineering/better-review/LICENSE +3 -0
- package/skills/engineering/better-review/SKILL.md +249 -0
- package/skills/engineering/better-review/agents/openai.yaml +9 -0
- package/skills/engineering/better-review/references/domain-hazards.md +53 -0
- package/skills/engineering/better-review/references/passes.md +147 -0
- package/skills/engineering/better-review/references/result.md +151 -0
- package/skills/engineering/better-review/release-check.mjs +93 -0
- package/skills/engineering/better-review/scripts/pr-context.mjs +212 -0
- package/skills/engineering/better-review/scripts/pr-context.test.mjs +168 -0
- package/skills/engineering/better-review/scripts/rereview-scope.mjs +503 -0
- package/skills/engineering/better-review/scripts/rereview-scope.test.mjs +587 -0
- package/skills/engineering/better-review/scripts/scan-diff.mjs +365 -0
- package/skills/engineering/better-review/scripts/scan-diff.test.mjs +414 -0
- package/skills/engineering/better-review/scripts/vendor-sync.test.mjs +96 -0
- package/skills/engineering/e2e-test/LICENSE +3 -0
- package/skills/engineering/e2e-test/SKILL.md +98 -0
- package/skills/engineering/e2e-test/assets/ci-gates.cloudbuild.yaml +24 -0
- package/skills/engineering/e2e-test/references/authoring/auth-flows.md +159 -0
- package/skills/engineering/e2e-test/references/authoring/playwright-config.md +73 -0
- package/skills/engineering/e2e-test/references/authoring/playwright-patterns.md +144 -0
- package/skills/engineering/e2e-test/references/ci-integration.md +25 -0
- package/skills/engineering/e2e-test/references/ci-playwright-container.md +290 -0
- package/skills/engineering/e2e-test/references/presentation-sweep.md +104 -0
- package/skills/engineering/e2e-test/references/reviewing.md +41 -0
- package/skills/engineering/e2e-test/references/route-manifest.md +51 -0
- package/skills/engineering/e2e-test/release-check.mjs +93 -0
- package/skills/engineering/e2e-test/scripts/detect-routes-nextjs.mjs +200 -0
- package/skills/engineering/e2e-test/scripts/presentation-checks.mjs +171 -0
- package/skills/engineering/e2e-test/scripts/presentation-checks.test.mjs +106 -0
- package/skills/engineering/e2e-test/scripts/presentation-perceivability.mjs +179 -0
- package/skills/engineering/e2e-test/scripts/presentation-perceivability.test.mjs +117 -0
- package/skills/engineering/e2e-test/scripts/presentation-reachability.mjs +154 -0
- package/skills/engineering/e2e-test/scripts/presentation-reachability.test.mjs +69 -0
- package/skills/engineering/e2e-test/scripts/presentation-render-health.mjs +141 -0
- package/skills/engineering/e2e-test/scripts/presentation-render-health.test.mjs +98 -0
- package/skills/engineering/e2e-test/scripts/presentation-sweep.mjs +147 -0
- package/skills/engineering/e2e-test/scripts/presentation-sweep.test.mjs +71 -0
- package/skills/engineering/e2e-test/scripts/presentation-temporal.mjs +127 -0
- package/skills/engineering/e2e-test/scripts/presentation-temporal.test.mjs +59 -0
- package/skills/engineering/e2e-test/scripts/project-route-manifest.mjs +82 -0
- package/skills/engineering/e2e-test/scripts/project-route-manifest.test.mjs +76 -0
- package/skills/engineering/e2e-test/scripts/validate-manifest.mjs +106 -0
- package/skills/engineering/engineering-runtime/LICENSE +3 -0
- package/skills/engineering/engineering-runtime/SKILL.md +11 -0
- package/skills/engineering/engineering-runtime/agents/openai.yaml +6 -0
- package/skills/engineering/engineering-runtime/coherence/workflow.json +597 -0
- package/skills/engineering/engineering-runtime/engineering-runtime.test.mjs +68 -0
- package/skills/engineering/engineering-runtime/release-check.mjs +93 -0
- package/skills/engineering/engineering-runtime/scripts/exact-head-artifact.mjs +131 -0
- package/skills/engineering/engineering-runtime/scripts/head-check-set.mjs +398 -0
- package/skills/engineering/engineering-runtime/scripts/invocation-policy.mjs +187 -0
- package/skills/engineering/engineering-runtime/scripts/invocation-policy.test.mjs +95 -0
- package/skills/engineering/engineering-runtime/scripts/main-module.mjs +79 -0
- package/skills/engineering/engineering-runtime/scripts/main-module.test.mjs +288 -0
- package/skills/engineering/engineering-runtime/scripts/mergify-yaml.mjs +11 -0
- package/skills/engineering/engineering-runtime/scripts/package-lock.json +43 -0
- package/skills/engineering/engineering-runtime/scripts/package.json +10 -0
- package/skills/engineering/engineering-runtime/scripts/required-check-plan.mjs +223 -0
- package/skills/engineering/engineering-runtime/scripts/required-check-plan.test.mjs +96 -0
- package/skills/engineering/engineering-runtime/scripts/review-completion.mjs +56 -0
- package/skills/engineering/engineering-runtime/scripts/workflow-coherence.mjs +595 -0
- package/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +189 -0
- package/skills/engineering/engineering-runtime/scripts/yaml-mapping.mjs +18 -0
- package/skills/engineering/ensure-coverage/LICENSE +3 -0
- package/skills/engineering/ensure-coverage/SKILL.md +129 -0
- package/skills/engineering/ensure-coverage/references/breadth/coverage-ledger.md +92 -0
- package/skills/engineering/ensure-coverage/references/breadth/inventory-contract.md +85 -0
- package/skills/engineering/ensure-coverage/references/breadth/surface-baseline.md +44 -0
- package/skills/engineering/ensure-coverage/references/breadth/surface-discovery.md +16 -0
- package/skills/engineering/ensure-coverage/references/depth/characterization.md +68 -0
- package/skills/engineering/ensure-coverage/references/depth/coverage.config.example.json +19 -0
- package/skills/engineering/ensure-coverage/references/depth/grading.md +35 -0
- package/skills/engineering/ensure-coverage/references/depth/mock-policy.md +57 -0
- package/skills/engineering/ensure-coverage/references/depth/test-smells.md +39 -0
- package/skills/engineering/ensure-coverage/references/enforcement/ci-contract.md +44 -0
- package/skills/engineering/ensure-coverage/references/examples/coverage-ledger.md +110 -0
- package/skills/engineering/ensure-coverage/references/examples/refund-flow.md +35 -0
- package/skills/engineering/ensure-coverage/references/presentation/axis.md +64 -0
- package/skills/engineering/ensure-coverage/references/process/audit-mode.md +27 -0
- package/skills/engineering/ensure-coverage/references/process/output-template.md +139 -0
- package/skills/engineering/ensure-coverage/references/process/test-strategy.md +56 -0
- package/skills/engineering/ensure-coverage/release-check.mjs +93 -0
- package/skills/engineering/ensure-coverage/schemas/coverage-config.schema.json +67 -0
- package/skills/engineering/ensure-coverage/schemas/coverage-file.schema.json +140 -0
- package/skills/engineering/ensure-coverage/scripts/README.md +99 -0
- package/skills/engineering/ensure-coverage/scripts/adapters/nextjs-inventory.mjs +182 -0
- package/skills/engineering/ensure-coverage/scripts/adapters/nextjs-inventory.test.mjs +96 -0
- package/skills/engineering/ensure-coverage/scripts/check-quarantine-expiry.mjs +105 -0
- package/skills/engineering/ensure-coverage/scripts/check-quarantine-expiry.test.mjs +47 -0
- package/skills/engineering/ensure-coverage/scripts/ci-audit.mjs +137 -0
- package/skills/engineering/ensure-coverage/scripts/ci-audit.test.mjs +86 -0
- package/skills/engineering/ensure-coverage/scripts/coverage-ledger.mjs +674 -0
- package/skills/engineering/ensure-coverage/scripts/coverage-ledger.test.mjs +447 -0
- package/skills/engineering/ensure-coverage/scripts/design-parity.mjs +591 -0
- package/skills/engineering/ensure-coverage/scripts/design-parity.test.mjs +552 -0
- package/skills/engineering/ensure-coverage/scripts/lint-tests.mjs +282 -0
- package/skills/engineering/ensure-coverage/scripts/lint-tests.test.mjs +289 -0
- package/skills/engineering/ensure-coverage/scripts/mock-policy-config.mjs +176 -0
- package/skills/engineering/ensure-coverage/scripts/mock-policy-config.test.mjs +119 -0
- package/skills/engineering/ensure-coverage/scripts/package.json +19 -0
- package/skills/engineering/golden-path/LICENSE +3 -0
- package/skills/engineering/golden-path/SKILL.md +230 -0
- package/skills/engineering/golden-path/agents/openai.yaml +3 -0
- package/skills/engineering/golden-path/assets/golden-paths.example.json +57 -0
- package/skills/engineering/golden-path/references/contract.md +239 -0
- package/skills/engineering/golden-path/references/migration.md +111 -0
- package/skills/engineering/golden-path/release-check.mjs +93 -0
- package/skills/engineering/golden-path/scripts/golden-path-core.mjs +1779 -0
- package/skills/engineering/golden-path/scripts/golden-path.mjs +6 -0
- package/skills/engineering/golden-path/scripts/golden-path.test.mjs +1457 -0
- package/skills/engineering/harness-runtime/LICENSE +3 -0
- package/skills/engineering/harness-runtime/SKILL.md +19 -0
- package/skills/engineering/harness-runtime/agents/openai.yaml +6 -0
- package/skills/engineering/harness-runtime/bin/discover-models.mjs +4 -0
- package/skills/engineering/harness-runtime/bin/model-catalog.mjs +4 -0
- package/skills/engineering/harness-runtime/contracts.md +15 -0
- package/skills/engineering/harness-runtime/discover-models.mjs +392 -0
- package/skills/engineering/harness-runtime/discover-models.test.mjs +363 -0
- package/skills/engineering/harness-runtime/fixtures/native-question-schemas.json +33 -0
- package/skills/engineering/harness-runtime/fixtures/question-responses.json +54 -0
- package/skills/engineering/harness-runtime/harness-runtime.test.mjs +967 -0
- package/skills/engineering/harness-runtime/index.mjs +767 -0
- package/skills/engineering/harness-runtime/model-catalog-seed.test.mjs +829 -0
- package/skills/engineering/harness-runtime/model-catalog.mjs +787 -0
- package/skills/engineering/harness-runtime/model-catalog.test.mjs +366 -0
- package/skills/engineering/harness-runtime/native-question-contracts.md +37 -0
- package/skills/engineering/harness-runtime/references/model-catalog-seed.json +408 -0
- package/skills/engineering/harness-runtime/references/model-catalog.md +57 -0
- package/skills/engineering/harness-runtime/release-check.mjs +93 -0
- package/skills/engineering/resolve-issues/LICENSE +3 -0
- package/skills/engineering/resolve-issues/SKILL.md +250 -0
- package/skills/engineering/resolve-issues/agents/openai.yaml +9 -0
- package/skills/engineering/resolve-issues/plugin-hooks.json +17 -0
- package/skills/engineering/resolve-issues/references/canary.md +28 -0
- package/skills/engineering/resolve-issues/references/ci.md +105 -0
- package/skills/engineering/resolve-issues/references/done.md +25 -0
- package/skills/engineering/resolve-issues/references/dropbox.md +90 -0
- package/skills/engineering/resolve-issues/references/expire.md +318 -0
- package/skills/engineering/resolve-issues/references/exploration.md +202 -0
- package/skills/engineering/resolve-issues/references/implementation.md +303 -0
- package/skills/engineering/resolve-issues/references/preflight.md +445 -0
- package/skills/engineering/resolve-issues/references/review.md +228 -0
- package/skills/engineering/resolve-issues/references/shared-modules.md +44 -0
- package/skills/engineering/resolve-issues/references/task-plan.md +264 -0
- package/skills/engineering/resolve-issues/release-check.mjs +93 -0
- package/skills/engineering/resolve-issues/scripts/cleanup-runs.mjs +364 -0
- package/skills/engineering/resolve-issues/scripts/cleanup-runs.test.mjs +280 -0
- package/skills/engineering/resolve-issues/scripts/discover-models.mjs +9 -0
- package/skills/engineering/resolve-issues/scripts/dropbox.mjs +473 -0
- package/skills/engineering/resolve-issues/scripts/dropbox.test.mjs +346 -0
- package/skills/engineering/resolve-issues/scripts/findings-reuse.mjs +98 -0
- package/skills/engineering/resolve-issues/scripts/findings-reuse.test.mjs +88 -0
- package/skills/engineering/resolve-issues/scripts/github-reviews.mjs +384 -0
- package/skills/engineering/resolve-issues/scripts/github-reviews.test.mjs +264 -0
- package/skills/engineering/resolve-issues/scripts/install-hooks.mjs +135 -0
- package/skills/engineering/resolve-issues/scripts/install-hooks.test.mjs +79 -0
- package/skills/engineering/resolve-issues/scripts/issue-tree.mjs +162 -0
- package/skills/engineering/resolve-issues/scripts/issue-tree.test.mjs +107 -0
- package/skills/engineering/resolve-issues/scripts/manual-invocation.test.mjs +14 -0
- package/skills/engineering/resolve-issues/scripts/model-catalog.mjs +9 -0
- package/skills/engineering/resolve-issues/scripts/next-actions-capacity.test.mjs +149 -0
- package/skills/engineering/resolve-issues/scripts/next-actions.mjs +856 -0
- package/skills/engineering/resolve-issues/scripts/next-actions.test.mjs +915 -0
- package/skills/engineering/resolve-issues/scripts/plan-sync.mjs +269 -0
- package/skills/engineering/resolve-issues/scripts/plan-sync.test.mjs +156 -0
- package/skills/engineering/resolve-issues/scripts/preflight-models.mjs +736 -0
- package/skills/engineering/resolve-issues/scripts/preflight-models.test.mjs +448 -0
- package/skills/engineering/resolve-issues/scripts/ready-check.mjs +185 -0
- package/skills/engineering/resolve-issues/scripts/ready-check.test.mjs +217 -0
- package/skills/engineering/resolve-issues/scripts/rehydrate.mjs +98 -0
- package/skills/engineering/resolve-issues/scripts/rehydrate.test.mjs +91 -0
- package/skills/engineering/resolve-issues/scripts/review-verdict.mjs +509 -0
- package/skills/engineering/resolve-issues/scripts/review-verdict.test.mjs +1060 -0
- package/skills/engineering/resolve-issues/scripts/size-check.mjs +492 -0
- package/skills/engineering/resolve-issues/scripts/size-check.test.mjs +458 -0
- package/skills/engineering/resolve-release/LICENSE +3 -0
- package/skills/engineering/resolve-release/SKILL.md +215 -0
- package/skills/engineering/resolve-release/agents/openai.yaml +8 -0
- package/skills/engineering/resolve-release/flows/cloud-run-canary.md +13 -0
- package/skills/engineering/resolve-release/flows/cloud-run.md +7 -0
- package/skills/engineering/resolve-release/flows/root-tag-npm.md +13 -0
- package/skills/engineering/resolve-release/flows/workspace-npm.md +22 -0
- package/skills/engineering/resolve-release/references/canary.md +51 -0
- package/skills/engineering/resolve-release/references/candidate.md +41 -0
- package/skills/engineering/resolve-release/references/cut.md +131 -0
- package/skills/engineering/resolve-release/references/dark-launch.md +66 -0
- package/skills/engineering/resolve-release/references/flows.md +150 -0
- package/skills/engineering/resolve-release/references/preflight.md +154 -0
- package/skills/engineering/resolve-release/references/prepared-metadata.md +260 -0
- package/skills/engineering/resolve-release/references/promotion.md +82 -0
- package/skills/engineering/resolve-release/references/publish.md +232 -0
- package/skills/engineering/resolve-release/references/workspace-npm.md +103 -0
- package/skills/engineering/resolve-release/release-check.mjs +93 -0
- package/skills/engineering/resolve-release/scripts/apply.mjs +212 -0
- package/skills/engineering/resolve-release/scripts/apply.test.mjs +99 -0
- package/skills/engineering/resolve-release/scripts/dark-flags.mjs +134 -0
- package/skills/engineering/resolve-release/scripts/dark-flags.test.mjs +100 -0
- package/skills/engineering/resolve-release/scripts/flow.mjs +500 -0
- package/skills/engineering/resolve-release/scripts/flow.test.mjs +340 -0
- package/skills/engineering/resolve-release/scripts/green-head.mjs +231 -0
- package/skills/engineering/resolve-release/scripts/green-head.test.mjs +101 -0
- package/skills/engineering/resolve-release/scripts/npm-version-absence.mjs +138 -0
- package/skills/engineering/resolve-release/scripts/npm-version-absence.test.mjs +426 -0
- package/skills/engineering/resolve-release/scripts/plan-npm.test.mjs +659 -0
- package/skills/engineering/resolve-release/scripts/plan-toml-boundary.test.mjs +317 -0
- package/skills/engineering/resolve-release/scripts/plan-uv.test.mjs +291 -0
- package/skills/engineering/resolve-release/scripts/plan.mjs +806 -0
- package/skills/engineering/resolve-release/scripts/plan.test.mjs +428 -0
- package/skills/engineering/rush-issues/LICENSE +3 -0
- package/skills/engineering/rush-issues/SKILL.md +58 -0
- package/skills/engineering/rush-issues/agents/openai.yaml +8 -0
- package/skills/engineering/rush-issues/rehydrate.mjs +10 -0
- package/skills/engineering/rush-issues/release-check.mjs +93 -0
- package/skills/engineering/rush-release/LICENSE +3 -0
- package/skills/engineering/rush-release/SKILL.md +35 -0
- package/skills/engineering/rush-release/agents/openai.yaml +8 -0
- package/skills/engineering/rush-release/release-check.mjs +93 -0
- package/skills/engineering/test-quality/LICENSE +3 -0
- package/skills/engineering/test-quality/SKILL.md +79 -0
- package/skills/engineering/test-quality/references/audit.md +80 -0
- package/skills/engineering/test-quality/references/lint.md +24 -0
- package/skills/engineering/test-quality/references/principles.md +143 -0
- package/skills/engineering/test-quality/references/testing-conventions.md +9 -0
- package/skills/engineering/test-quality/release-check.mjs +93 -0
- package/skills/engineering/test-quality/scripts/lint-tests.mjs +574 -0
- package/skills/engineering/test-quality/scripts/lint-tests.test.mjs +591 -0
- package/skills/engineering/test-quality/scripts/mock-policy-config.mjs +176 -0
- package/skills/engineering/test-quality/scripts/mock-policy-config.test.mjs +119 -0
- package/skills/engineering/test-quality/scripts/persist-conventions-core.mjs +117 -0
- package/skills/engineering/test-quality/scripts/persist-conventions.mjs +17 -0
- package/skills/engineering/test-quality/scripts/persist-conventions.test.mjs +104 -0
- package/skills/risk-compliance/compliance-audit/LICENSE +3 -0
- package/skills/risk-compliance/compliance-audit/SKILL.md +439 -0
- package/skills/risk-compliance/compliance-audit/references/findings-schema.md +293 -0
- package/skills/risk-compliance/compliance-audit/references/normalization-rules.md +45 -0
- package/skills/risk-compliance/compliance-audit/references/vars-checklist.md +1068 -0
- package/skills/risk-compliance/compliance-audit/references/vars-findings-schema.md +398 -0
- package/skills/risk-compliance/compliance-audit/release-check.mjs +93 -0
- package/skills/risk-compliance/compliance-audit/scripts/compliance-audit.test.mjs +14 -0
- package/skills/risk-compliance/compliance-audit/scripts/export_tracker_xlsx.py +221 -0
- package/skills/risk-compliance/compliance-audit/scripts/reconcile_tracker.py +458 -0
- package/skills/risk-compliance/compliance-audit/scripts/test_export_tracker_xlsx.py +97 -0
- package/skills/risk-compliance/compliance-audit/scripts/test_validate_tracker.py +157 -0
- package/skills/risk-compliance/compliance-audit/scripts/validate_tracker.py +829 -0
- package/skills/risk-compliance/contract-compare/LICENSE +3 -0
- package/skills/risk-compliance/contract-compare/SKILL.md +199 -0
- package/skills/risk-compliance/contract-compare/references/comparison-dimensions.md +209 -0
- package/skills/risk-compliance/contract-compare/release-check.mjs +93 -0
- package/skills/risk-compliance/contract-review/LICENSE +3 -0
- package/skills/risk-compliance/contract-review/SKILL.md +240 -0
- package/skills/risk-compliance/contract-review/references/review-criteria.md +223 -0
- package/skills/risk-compliance/contract-review/release-check.mjs +93 -0
- package/skills/risk-compliance/doc-authenticity/LICENSE +3 -0
- package/skills/risk-compliance/doc-authenticity/SKILL.md +160 -0
- package/skills/risk-compliance/doc-authenticity/agents/openai.yaml +8 -0
- package/skills/risk-compliance/doc-authenticity/manual-invocation.test.mjs +12 -0
- package/skills/risk-compliance/doc-authenticity/references/agreement.md +66 -0
- package/skills/risk-compliance/doc-authenticity/references/bank-statement.md +150 -0
- package/skills/risk-compliance/doc-authenticity/references/forensic-signals.md +157 -0
- package/skills/risk-compliance/doc-authenticity/references/image-signals.md +114 -0
- package/skills/risk-compliance/doc-authenticity/references/invoice.md +66 -0
- package/skills/risk-compliance/doc-authenticity/references/issuer-profiles.md +86 -0
- package/skills/risk-compliance/doc-authenticity/references/verdict-and-report.md +95 -0
- package/skills/risk-compliance/doc-authenticity/references/verdict.schema.json +81 -0
- package/skills/risk-compliance/doc-authenticity/release-check.mjs +93 -0
- package/skills/risk-compliance/doc-authenticity/scripts/image_forensics.py +294 -0
- package/skills/risk-compliance/doc-authenticity/scripts/pdf_forensics.py +401 -0
- package/skills/risk-compliance/doc-authenticity/scripts/validate_codes.py +224 -0
- package/skills/risk-compliance/doc-authenticity/scripts/validate_verdict.py +308 -0
- package/skills/risk-compliance/doc-authenticity/scripts/validate_verdict.test.mjs +212 -0
- package/skills/risk-compliance/fraud-analysis/LICENSE +3 -0
- package/skills/risk-compliance/fraud-analysis/SKILL.md +114 -0
- package/skills/risk-compliance/fraud-analysis/references/archetypes/authorized-payment-scam.md +41 -0
- package/skills/risk-compliance/fraud-analysis/references/archetypes/first-party-fraud.md +44 -0
- package/skills/risk-compliance/fraud-analysis/references/archetypes/third-party-fraud.md +27 -0
- package/skills/risk-compliance/fraud-analysis/references/contexts/bank-transfer.md +24 -0
- package/skills/risk-compliance/fraud-analysis/references/contexts/card-payment.md +30 -0
- package/skills/risk-compliance/fraud-analysis/references/contexts/payment-collection.md +20 -0
- package/skills/risk-compliance/fraud-analysis/references/contexts/payout.md +20 -0
- package/skills/risk-compliance/fraud-analysis/references/feature-engineering.md +158 -0
- package/skills/risk-compliance/fraud-analysis/references/mechanisms/account-takeover.md +36 -0
- package/skills/risk-compliance/fraud-analysis/references/report-rationale.md +45 -0
- package/skills/risk-compliance/fraud-analysis/references/report-template.md +190 -0
- package/skills/risk-compliance/fraud-analysis/references/review-checklist.md +175 -0
- package/skills/risk-compliance/fraud-analysis/references/taxonomy.md +79 -0
- package/skills/risk-compliance/fraud-analysis/references/terminology.md +108 -0
- package/skills/risk-compliance/fraud-analysis/references/workflow.md +175 -0
- package/skills/risk-compliance/fraud-analysis/release-check.mjs +93 -0
- package/skills/risk-compliance/payment-analysis/LICENSE +3 -0
- package/skills/risk-compliance/payment-analysis/SKILL.md +180 -0
- package/skills/risk-compliance/payment-analysis/references/auth-rate-actions.md +30 -0
- package/skills/risk-compliance/payment-analysis/references/chargebacks.md +208 -0
- package/skills/risk-compliance/payment-analysis/references/chinese-polish.md +51 -0
- package/skills/risk-compliance/payment-analysis/references/event-layers.md +127 -0
- package/skills/risk-compliance/payment-analysis/references/fx.md +59 -0
- package/skills/risk-compliance/payment-analysis/references/journey.md +79 -0
- package/skills/risk-compliance/payment-analysis/references/metrics.md +67 -0
- package/skills/risk-compliance/payment-analysis/references/report-template.md +119 -0
- package/skills/risk-compliance/payment-analysis/references/terminology.md +95 -0
- package/skills/risk-compliance/payment-analysis/references/visualization.md +56 -0
- package/skills/risk-compliance/payment-analysis/release-check.mjs +93 -0
- package/skills/risk-compliance/report-writing/LICENSE +3 -0
- package/skills/risk-compliance/report-writing/SKILL.md +220 -0
- package/skills/risk-compliance/report-writing/references/audit-report-template.md +121 -0
- package/skills/risk-compliance/report-writing/references/external-assessment-template.md +167 -0
- package/skills/risk-compliance/report-writing/references/management-report-template.md +145 -0
- package/skills/risk-compliance/report-writing/references/vars-report-template.md +224 -0
- package/skills/risk-compliance/report-writing/release-check.mjs +93 -0
- package/skills/risk-compliance/similar-domain/LICENSE +3 -0
- package/skills/risk-compliance/similar-domain/SKILL.md +203 -0
- package/skills/risk-compliance/similar-domain/references/entities.md +67 -0
- package/skills/risk-compliance/similar-domain/references/fingerprints.md +134 -0
- package/skills/risk-compliance/similar-domain/references/pivots.md +82 -0
- package/skills/risk-compliance/similar-domain/references/report-template.md +93 -0
- package/skills/risk-compliance/similar-domain/references/scoring.md +130 -0
- package/skills/risk-compliance/similar-domain/references/terminology.md +41 -0
- package/skills/risk-compliance/similar-domain/references/workflow.md +85 -0
- package/skills/risk-compliance/similar-domain/release-check.mjs +93 -0
- package/skills/risk-compliance/tld-detection/LICENSE +3 -0
- package/skills/risk-compliance/tld-detection/SKILL.md +245 -0
- package/skills/risk-compliance/tld-detection/agents/openai.yaml +9 -0
- package/skills/risk-compliance/tld-detection/references/chinese-polish.md +55 -0
- package/skills/risk-compliance/tld-detection/references/clean.md +51 -0
- package/skills/risk-compliance/tld-detection/references/clustering.md +235 -0
- package/skills/risk-compliance/tld-detection/references/decision.md +189 -0
- package/skills/risk-compliance/tld-detection/references/fx-conversion.md +232 -0
- package/skills/risk-compliance/tld-detection/references/report-template.md +272 -0
- package/skills/risk-compliance/tld-detection/references/streams.md +141 -0
- package/skills/risk-compliance/tld-detection/references/terminology.md +95 -0
- package/skills/risk-compliance/tld-detection/references/workflow.md +95 -0
- package/skills/risk-compliance/tld-detection/release-check.mjs +93 -0
- package/skills/risk-compliance/tld-detection/scripts/detect_ladders.py +390 -0
- package/skills/risk-compliance/tld-detection/scripts/detect_ladders.test.mjs +14 -0
- package/skills/risk-compliance/tld-detection/scripts/detect_streams.py +650 -0
- package/skills/risk-compliance/tld-detection/scripts/detect_streams.test.mjs +14 -0
- package/skills/risk-compliance/tld-detection/tests/test_detect_ladders.py +134 -0
- package/skills/risk-compliance/tld-detection/tests/test_detect_streams.py +520 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# BRD: business requirements
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
The reader is business sponsors, product managers and technical leads who must agree on why a
|
|
6
|
+
change is worth making, what it must achieve, and which business processes it changes. They use
|
|
7
|
+
the BRD to approve the case and set scope before anyone designs product behavior or a system.
|
|
8
|
+
|
|
9
|
+
- Pick **prd** instead when the question is what users experience: states, eligibility, entry and
|
|
10
|
+
return, notifications, failures and acceptance scenarios.
|
|
11
|
+
- Pick **technical-spec** for how it is built: architecture, schemas, APIs, performance targets.
|
|
12
|
+
- Pick **gap-analysis** when the work is measuring today against a fixed baseline, not proposing a
|
|
13
|
+
change.
|
|
14
|
+
When a BRD and a PRD both exist, cross-reference them; never copy one into the other.
|
|
15
|
+
|
|
16
|
+
## Tone
|
|
17
|
+
|
|
18
|
+
Concise, unambiguous business language, low technical depth. Bullets and sourced numbers over
|
|
19
|
+
paragraphs and adjectives. No marketing words ("innovative", "seamless", "world-class").
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
- The driver: a problem, an opportunity or a strategic decision, with who raised it. Material: ask
|
|
24
|
+
once if the brief gives no reason for the change.
|
|
25
|
+
- Primary users and the business processes they run. Material: ask once.
|
|
26
|
+
- Business data: volumes, costs, revenue, rates, durations, targets. Use each figure exactly with
|
|
27
|
+
its source. Missing → `[TBD: <figure>, owner: <who holds the data>]`; never estimate one.
|
|
28
|
+
- Constraints: regulation, contracts, dependencies on other teams or vendors, deadlines.
|
|
29
|
+
- Decisions already taken, and by whom.
|
|
30
|
+
|
|
31
|
+
Without baseline data, describe the target process directly. Do not write a current-versus-future
|
|
32
|
+
comparison or an improvement percentage.
|
|
33
|
+
|
|
34
|
+
## Reasoning
|
|
35
|
+
|
|
36
|
+
WHY before WHAT; never HOW.
|
|
37
|
+
|
|
38
|
+
1. State the driver and its business impact in two or three sentences, sourced.
|
|
39
|
+
2. Turn the driver into objectives: outcomes the business can recognize, not features.
|
|
40
|
+
3. Name the primary users and what each needs from the change.
|
|
41
|
+
4. Map each major process from trigger to outcome, including exception paths and decision points
|
|
42
|
+
with business criteria. Draw one Mermaid flowchart per major process.
|
|
43
|
+
5. Embed requirements in the process they serve. Give each a priority and a business reason:
|
|
44
|
+
- **P0**: the business cannot operate or comply without it.
|
|
45
|
+
- **P1**: important to the value case; planned for the first release.
|
|
46
|
+
- **P2**: adds value; can move to a later phase.
|
|
47
|
+
6. Where two or more approaches are viable, compare them on five dimensions: user value, user
|
|
48
|
+
experience, user cost, our cost, strategic fit. Recommend one and state the trade-off accepted.
|
|
49
|
+
7. List every question still open with an owner and the impact if it stays open.
|
|
50
|
+
|
|
51
|
+
Then test the boundary. Example: "Approval routes to a manager above `[TBD: threshold, owner: <who
|
|
52
|
+
sets approval limits>]`" is a business rule and stays. "Approvals are stored in an `approvals` table with a
|
|
53
|
+
status enum" is implementation and goes. "The approve button greys out after one click" is PRD.
|
|
54
|
+
|
|
55
|
+
## Sections
|
|
56
|
+
|
|
57
|
+
Omit Optional sections that add nothing. Do not pad with empty headings.
|
|
58
|
+
|
|
59
|
+
1. **Executive summary** (Required): background, objective and business value, one or two
|
|
60
|
+
sentences each. A sponsor can approve or reject from this alone.
|
|
61
|
+
2. **Business context** (Required): driver type (problem / opportunity / strategic), the
|
|
62
|
+
situation, objectives (primary and secondary), constraints and dependencies.
|
|
63
|
+
3. **Users** (Required): primary users only, as a table: user type, who they are, key needs, pain
|
|
64
|
+
points. Secondary audiences belong in the PRD.
|
|
65
|
+
4. **Business processes and requirements** (Required): one subsection per process with a short
|
|
66
|
+
description, its Mermaid flowchart, then its requirements, each with priority, business value
|
|
67
|
+
and description. Example: "**R2.1 Same-day refund approval** (P1). Business value: support
|
|
68
|
+
reports refund queries as the top contact reason `[source]`. Refunds under the auto-approve
|
|
69
|
+
limit complete without an agent."
|
|
70
|
+
5. **Open questions** (Required): question, impact if unresolved, and owner and target date when
|
|
71
|
+
known.
|
|
72
|
+
6. **Scope** (Optional): in-scope modules described in a sentence or two each, out-of-scope items,
|
|
73
|
+
phase boundaries. A full feature checklist goes in an appendix, not here.
|
|
74
|
+
7. **Business rules** (Optional): complex logic or regulatory constraints, stated once, each with
|
|
75
|
+
its source. Process sections refer to them.
|
|
76
|
+
8. **Success metrics** (Optional): only when a baseline exists and stakeholders agree how to
|
|
77
|
+
measure. Table: metric, current, target, timeline, method; every figure sourced.
|
|
78
|
+
9. **Non-functional requirements** (Optional): only regulatory compliance (cite the instrument and
|
|
79
|
+
article) or business continuity (critical hours, cost of disruption). Never latency, uptime
|
|
80
|
+
percentages, code quality or infrastructure.
|
|
81
|
+
10. **Solution options** (Optional): for a decision that spans processes. The five-dimension
|
|
82
|
+
comparison, the recommendation, and trade-offs accepted. Qualitative unless data is given.
|
|
83
|
+
11. **Implementation strategy** (Optional): phases with focus and key deliverables, and the
|
|
84
|
+
trigger for starting each later phase. Not a project plan.
|
|
85
|
+
12. **Approval** (Optional): approvers, role and date, when governance requires sign-off.
|
|
86
|
+
|
|
87
|
+
## Done when
|
|
88
|
+
|
|
89
|
+
- Does the business context explain why before any requirement says what?
|
|
90
|
+
- Does every requirement carry P0, P1 or P2 with a business reason?
|
|
91
|
+
- Does every major process have a flowchart that includes at least one exception path?
|
|
92
|
+
- Is every number sourced, or marked `[TBD]` with an owner?
|
|
93
|
+
- Is there no current-versus-future comparison unless baseline data was supplied?
|
|
94
|
+
- Does every open question state its impact, with owner and date where known?
|
|
95
|
+
- Are user stories, UI states, schemas, APIs, architecture and technical performance absent or
|
|
96
|
+
linked out to the PRD or technical spec?
|
|
97
|
+
- Does each solution comparison end in one recommendation with its trade-off stated?
|
|
98
|
+
|
|
99
|
+
## Sources
|
|
100
|
+
|
|
101
|
+
Adapted from the retired `brd` skill in this repository (1aboveio/ai, MIT): its WHY/WHAT focus,
|
|
102
|
+
mandatory components, optional modules, priority scheme, five-dimension option analysis and
|
|
103
|
+
anti-patterns. See [sources](../references/sources.md).
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Commercial proposal: client offer
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
The reader is the client decision-maker who approves the deal, their procurement and finance
|
|
6
|
+
team who check scope, price and terms, and often a technical evaluator who checks the approach.
|
|
7
|
+
They use the proposal to decide whether to buy, and on what terms. It covers a consulting
|
|
8
|
+
engagement, a software or platform deal, or a services contract.
|
|
9
|
+
|
|
10
|
+
- Pick **brd** instead for an internal business case for our own change.
|
|
11
|
+
- Pick **gap-analysis** when the deliverable is the assessment itself, not an offer to fix it.
|
|
12
|
+
A gap analysis can be an input that shapes the proposal's approach.
|
|
13
|
+
- Pick **integration-guide** or **technical-spec** for technical detail after the deal; link
|
|
14
|
+
them from the proposal rather than embedding them.
|
|
15
|
+
|
|
16
|
+
## Tone
|
|
17
|
+
|
|
18
|
+
Confident, client-centered, formal. Low to medium technical depth; the technical evaluator gets
|
|
19
|
+
detail in an appendix, not in the summary.
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
- Discovery notes: the client's situation, problem, goals and constraints, in their words.
|
|
24
|
+
Material: ask once; do not invent the client's problem.
|
|
25
|
+
- Scope, deliverables, team and timeline from the brief.
|
|
26
|
+
- Prices, rates, discounts, payment terms, validity period and dates. Material: mark [TBD].
|
|
27
|
+
They come only from the brief; never from examples, templates or prior proposals.
|
|
28
|
+
- Evidence for every capability claim: case studies, references, certifications, team
|
|
29
|
+
experience. Use only real, supplied evidence; no evidence → drop the claim or mark it `[TBD]`.
|
|
30
|
+
- Legal and contractual terms supplied by the user. Copy them as locked text.
|
|
31
|
+
|
|
32
|
+
## Reasoning
|
|
33
|
+
|
|
34
|
+
Argue from the client's need to our offer, and bound every promise:
|
|
35
|
+
|
|
36
|
+
1. Restate their situation and problem in their words, from discovery.
|
|
37
|
+
2. Turn it into outcomes and success criteria they would sign.
|
|
38
|
+
3. Present our approach and tie each element to a stated need. An element with no need behind it
|
|
39
|
+
is padding; cut it or name the need.
|
|
40
|
+
4. Fix the scope: deliverables, in scope, out of scope, assumptions, client dependencies.
|
|
41
|
+
Assumptions bound the price, so state each one. Example: "Assumes the client provides test
|
|
42
|
+
accounts within five business days of kickoff; delay moves the timeline, not the fee."
|
|
43
|
+
5. Plan, team and commercials follow from that scope. Say what changes the price.
|
|
44
|
+
6. Name the risks to the outcome and how each is handled, including the client's part.
|
|
45
|
+
7. Prove fit with evidence, then make the next step easy.
|
|
46
|
+
|
|
47
|
+
Keep contractual commitments and indicative statements visibly apart. Example: "Fixed fee:
|
|
48
|
+
`[TBD: fixed fee, owner: <deal owner>]`" is a commitment; "Typical clients see results within a quarter" is
|
|
49
|
+
indicative and needs a source or must go.
|
|
50
|
+
|
|
51
|
+
## Sections
|
|
52
|
+
|
|
53
|
+
Omit Optional sections that add nothing. Do not pad with empty headings. Open items go in the
|
|
54
|
+
delivery note to the author, never into the client-facing text.
|
|
55
|
+
|
|
56
|
+
1. **Executive summary** (Required): the client's problem, the outcome offered, the price, the
|
|
57
|
+
timeline and the decision asked. The decision-maker can approve from this page alone.
|
|
58
|
+
2. **Your situation** (Required): the problem and context in the client's words.
|
|
59
|
+
3. **Outcomes and success criteria** (Required): what will be true at the end, and how both
|
|
60
|
+
sides will measure it.
|
|
61
|
+
4. **Our approach** (Required): the method, phases and why it fits, each element linked to a
|
|
62
|
+
stated need.
|
|
63
|
+
5. **Scope** (Required): deliverables; in scope; out of scope; assumptions; client
|
|
64
|
+
dependencies. A table works well here.
|
|
65
|
+
6. **Plan and team** (Required): phases, milestones, dates and the named roles. Dates only from
|
|
66
|
+
the brief.
|
|
67
|
+
7. **Commercials** (Required): pricing model, price table, payment terms, validity period, and
|
|
68
|
+
what changes the price. Mark each line contractual or indicative.
|
|
69
|
+
8. **Risks and mitigations** (Required): each risk, how it is handled, and its owner when known.
|
|
70
|
+
9. **Why us** (Optional): relevant experience and references, only real and supplied ones.
|
|
71
|
+
10. **Next steps and acceptance** (Required): what the client does to proceed, by when, and the
|
|
72
|
+
signature or acceptance block.
|
|
73
|
+
11. **Terms and appendices** (Optional): supplied legal terms as locked text, technical detail,
|
|
74
|
+
CVs, case studies.
|
|
75
|
+
|
|
76
|
+
Supplied legal terms are [locked text](../references/rules.md#template-shape).
|
|
77
|
+
|
|
78
|
+
## Done when
|
|
79
|
+
|
|
80
|
+
- Can the decision-maker approve from the executive summary alone?
|
|
81
|
+
- Is the client's problem stated in their words and traced to discovery?
|
|
82
|
+
- Does every element of the approach link to a stated need?
|
|
83
|
+
- Does every price, rate, discount and date come from the brief, with none from examples?
|
|
84
|
+
- Are assumptions and client dependencies explicit, and is it clear what changes the price?
|
|
85
|
+
- Is each statement clearly contractual or indicative?
|
|
86
|
+
- Does every capability claim and reference rest on supplied evidence?
|
|
87
|
+
- Are supplied legal terms copied verbatim in locked blocks?
|
|
88
|
+
- Is the next step concrete, with a date or validity period?
|
|
89
|
+
|
|
90
|
+
## Sources
|
|
91
|
+
|
|
92
|
+
Authored for this skill; improve from approved examples via `distill-writing`. See
|
|
93
|
+
[sources](../references/sources.md).
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Compliance policy: the firm's binding rules
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
The firm needs its own binding rules for a regulated area, such as AML/CFT, sanctions, data
|
|
6
|
+
protection, complaints handling or outsourcing. Three readers use it:
|
|
7
|
+
|
|
8
|
+
- The board or senior management approve it and stay accountable for it.
|
|
9
|
+
- Staff must follow it and need to find what applies to them.
|
|
10
|
+
- Regulators and auditors test the firm against it and trace it back to the law.
|
|
11
|
+
|
|
12
|
+
A policy says WHAT the firm requires and WHO is accountable. Step-by-step HOW belongs elsewhere.
|
|
13
|
+
|
|
14
|
+
- Pick **risk-operations-procedure** for the steps an analyst follows to carry out a policy.
|
|
15
|
+
- Pick **gap-analysis** to measure the firm against a regulation before or after writing the policy.
|
|
16
|
+
- Pick **brd** when the question is a business change that compliance only constrains.
|
|
17
|
+
|
|
18
|
+
## Tone
|
|
19
|
+
|
|
20
|
+
Formal and normative. Short declarative statements, one obligation each. Define these words once
|
|
21
|
+
and use them only in these meanings:
|
|
22
|
+
|
|
23
|
+
- **must** / **must not**: mandatory; a breach is a policy breach.
|
|
24
|
+
- **should**: expected; departing from it needs a recorded reason.
|
|
25
|
+
- **may**: permitted, not required.
|
|
26
|
+
|
|
27
|
+
## Inputs
|
|
28
|
+
|
|
29
|
+
- The governing instruments, each with jurisdiction, version or effective date. Material: ask once if
|
|
30
|
+
the jurisdiction is unknown. Ask about the licence type only when an obligation depends on it.
|
|
31
|
+
- A `reg-parser` checklist of each instrument, when one exists or `reg-parser` is installed: it
|
|
32
|
+
gives the obligations and paragraph citations for the regulatory basis.
|
|
33
|
+
- The firm's licence, products, customer types and risk assessment, where the policy scales to risk.
|
|
34
|
+
- The organization: roles that exist (board, compliance officer, MLRO, DPO, business owners), and
|
|
35
|
+
who approves policies.
|
|
36
|
+
- Existing policies and procedures this one replaces or links to.
|
|
37
|
+
- Regulator-mandated wording, if any. Copy it into a `locked` block, unchanged.
|
|
38
|
+
|
|
39
|
+
Never invent a threshold, frequency or retention period. Use the instrument's figure with its
|
|
40
|
+
citation, or mark it `[TBD: <figure>, owner: <policy owner>]`.
|
|
41
|
+
|
|
42
|
+
## Reasoning
|
|
43
|
+
|
|
44
|
+
1. **List the obligations.** Read each instrument and extract every obligation at paragraph level.
|
|
45
|
+
Cite instrument and paragraph. Example: "Instrument X, para 4.2: verify identity before
|
|
46
|
+
establishing a business relationship."
|
|
47
|
+
2. **Turn each obligation into a policy statement** with must or must not. Where the firm goes
|
|
48
|
+
further than the law, say so. Example: "The firm must verify a customer's identity before it
|
|
49
|
+
opens an account or processes a first payment."
|
|
50
|
+
3. **Assign accountability.** One accountable role per statement; responsible roles as needed.
|
|
51
|
+
Roles, not names. With no role named for a statement, the policy owner is accountable.
|
|
52
|
+
4. **Set controls**: what control enforces each statement, its type (preventive, detective), its
|
|
53
|
+
frequency, and who performs it. Detail goes to the procedure; the policy names the control.
|
|
54
|
+
5. **Define exceptions and breaches**: who may approve a departure, how it is recorded and for how
|
|
55
|
+
long; how a breach is reported, escalated and, where required, notified to the regulator.
|
|
56
|
+
6. **Record governance**: owner, approver, review cycle, triggers for an early review; version
|
|
57
|
+
history when an earlier version exists.
|
|
58
|
+
|
|
59
|
+
Then check coverage: every obligation (in the mapping table or cited inline) lands in a policy
|
|
60
|
+
statement, and every
|
|
61
|
+
policy statement traces to an obligation or a stated firm choice.
|
|
62
|
+
|
|
63
|
+
Regulator- or scheme-mandated wording (a disclosure, a statement of responsibility) is
|
|
64
|
+
[locked text](../references/rules.md#template-shape).
|
|
65
|
+
|
|
66
|
+
## Sections
|
|
67
|
+
|
|
68
|
+
Omit Optional sections that add nothing. Do not pad with empty headings.
|
|
69
|
+
|
|
70
|
+
1. **Purpose and scope** (Required): what risk the policy manages, which entities, products,
|
|
71
|
+
staff and third parties it covers, and what it does not cover.
|
|
72
|
+
2. **Definitions** (Required): the normative words above and any defined term used later.
|
|
73
|
+
3. **Regulatory basis** (Required): mapping table: obligation, source (instrument and paragraph),
|
|
74
|
+
policy section. In a short policy (under about ten statements), cite the source paragraph at the
|
|
75
|
+
end of each statement instead; no separate table.
|
|
76
|
+
4. **Roles and responsibilities** (Required): table: role, accountable for, responsible for,
|
|
77
|
+
reports to. Board and senior-management duties appear here.
|
|
78
|
+
5. **Policy statements** (Required): grouped by topic (for AML: risk assessment, due diligence,
|
|
79
|
+
monitoring, reporting, record keeping, training). Numbered statements, one obligation each.
|
|
80
|
+
6. **Controls** (Required): the control per statement group, its frequency and performer, and a
|
|
81
|
+
link to the procedure that carries it out.
|
|
82
|
+
7. **Exceptions, breaches and escalation** (Required): approval authority for exceptions, breach
|
|
83
|
+
reporting route and timelines, regulatory notification duties.
|
|
84
|
+
8. **Training and awareness** (Optional): who must be trained, on what, how often.
|
|
85
|
+
9. **Monitoring and assurance** (Optional): how compliance with the policy is tested, by whom
|
|
86
|
+
(second line, internal audit), and how often.
|
|
87
|
+
10. **Governance** (Required): owner, approver, effective date, review cycle, early-review
|
|
88
|
+
triggers. A version history table only when an earlier version exists; a first draft states
|
|
89
|
+
"Version 1, pending approval" in one line.
|
|
90
|
+
11. **Related documents** (Optional): procedures, other policies, the instruments. Never link to a
|
|
91
|
+
procedure that does not exist yet; mark it `[TBD]` with an owner.
|
|
92
|
+
|
|
93
|
+
## Done when
|
|
94
|
+
|
|
95
|
+
- Does every policy statement use must, must not, should or may in its defined sense?
|
|
96
|
+
- Is every regulatory obligation in scope cited to its paragraph (mapping table, or inline in a
|
|
97
|
+
short policy)?
|
|
98
|
+
- Does every policy statement have exactly one accountable role (the policy owner by default)?
|
|
99
|
+
- Is step-by-step HOW absent, with a link to the procedure, or a `[TBD]` for one, instead?
|
|
100
|
+
- Is every threshold, frequency and retention period cited or marked `[TBD]` with an owner?
|
|
101
|
+
- Are exception approval and breach escalation routes named, with timelines where the law sets one?
|
|
102
|
+
- Are owner, approver and review cycle stated, with version history only when an earlier version
|
|
103
|
+
exists?
|
|
104
|
+
- Is any regulator-mandated wording reproduced verbatim in a `locked` block?
|
|
105
|
+
|
|
106
|
+
## Sources
|
|
107
|
+
|
|
108
|
+
Authored for this skill; improve from approved examples via `distill-writing`. See
|
|
109
|
+
[sources](../references/sources.md).
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Gap analysis: current state against a baseline
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
The reader is a function head, risk or compliance owner, or steering group who must know how far
|
|
6
|
+
today's state falls short of a fixed baseline, and what to fix first. They use the document to
|
|
7
|
+
accept the findings, fund the remediation and track it to closure.
|
|
8
|
+
|
|
9
|
+
The baseline can be a regulation or scheme rule (compliance), a risk appetite or control framework
|
|
10
|
+
(risk), a target process or SLA (operations), or a requirement set or market baseline (product).
|
|
11
|
+
|
|
12
|
+
- Pick **compliance-policy** when the output is the firm's own rules, not an assessment against
|
|
13
|
+
someone else's.
|
|
14
|
+
- Pick **brd** when the change is already decided and the question is what the business needs.
|
|
15
|
+
- Pick **prd** when the gaps are agreed and the work is specifying the product behavior that
|
|
16
|
+
closes them.
|
|
17
|
+
- Pick the `contract-compare` skill when the baseline and the subject are both contracts.
|
|
18
|
+
- Pick the `compliance-audit` skill to run the audit itself against a checklist (tracker and
|
|
19
|
+
evidence); use this template to write up its result.
|
|
20
|
+
- An audit report built from completed audit findings for a regulator or board belongs to the
|
|
21
|
+
`report-writing` skill, not this template.
|
|
22
|
+
|
|
23
|
+
## Tone
|
|
24
|
+
|
|
25
|
+
Neutral and evidential. Formal for compliance and risk, plainer for operations and product. Every
|
|
26
|
+
judgment sits next to the evidence that supports it; no softening words ("largely", "broadly").
|
|
27
|
+
|
|
28
|
+
## Inputs
|
|
29
|
+
|
|
30
|
+
- The baseline: its name, version or effective date, and scope. Material: ask once if the version is
|
|
31
|
+
unclear; a gap against the wrong version is worthless.
|
|
32
|
+
- A `reg-parser` checklist of the baseline instrument, when one exists or `reg-parser` is
|
|
33
|
+
installed: it gives the paragraph-level requirements, IDs and citations for Reasoning step 1.
|
|
34
|
+
- Current-state evidence: documents, interviews, samples, system observations. Record for each
|
|
35
|
+
item what it is, its date and who provided it.
|
|
36
|
+
- The severity scale. Use the firm's own if one is given; otherwise state the scale used in the
|
|
37
|
+
method section.
|
|
38
|
+
- Owners and target dates for remediation. Missing → `TBD` in those table cells and one sentence
|
|
39
|
+
above the roadmap naming who will agree them. Never assign a person or a date nobody agreed.
|
|
40
|
+
|
|
41
|
+
If evidence for part of the baseline cannot be obtained, narrow the scope and say so, or rate those
|
|
42
|
+
requirements **Not assessed**.
|
|
43
|
+
|
|
44
|
+
## Reasoning
|
|
45
|
+
|
|
46
|
+
1. **Fix the baseline.** Break it into individual requirements at paragraph or clause level, each
|
|
47
|
+
with an ID and its citation. Example: "R-14 · Scheme rule 5.3.2(b): retain dispute evidence for
|
|
48
|
+
the stated period."
|
|
49
|
+
2. **Describe the current state with evidence.** For each requirement, what exists today and how
|
|
50
|
+
you know. Grade evidence strength: **strong** (sample tested or system observed), **moderate**
|
|
51
|
+
(document reviewed), **weak** (interview or self-assessment only).
|
|
52
|
+
3. **Rate each requirement**: **Met**, **Partial**, **Not met** or **Not assessed**. Never infer
|
|
53
|
+
Met without evidence. "No evidence seen" is Not assessed or a finding about evidence, not Not
|
|
54
|
+
met; say which. Example: "Policy requires dual approval (document). Sample of 25 showed 3 single
|
|
55
|
+
approvals (tested). Partial."
|
|
56
|
+
4. **Rate severity** for every Partial and Not met on the stated scale, using the domain basis
|
|
57
|
+
below.
|
|
58
|
+
5. **Find the root cause** where the evidence shows it: no rule, rule not followed, no tool, no
|
|
59
|
+
capacity, no ownership. Write "not established" rather than guess.
|
|
60
|
+
6. **Set remediation**: one action per gap, with owner, target date and the evidence that will
|
|
61
|
+
prove closure.
|
|
62
|
+
7. **Prioritize** into a roadmap by severity, dependency and effort. Group quick wins separately.
|
|
63
|
+
|
|
64
|
+
| Domain | Typical baseline | Typical evidence | Severity basis |
|
|
65
|
+
| --- | --- | --- | --- |
|
|
66
|
+
| Compliance | Regulation, guideline, scheme rule | Policies, procedures, sample tests, records | Regulatory breach, sanction or licence exposure |
|
|
67
|
+
| Risk | Risk appetite, control framework | Control tests, risk register, loss and incident data | Residual risk against appetite |
|
|
68
|
+
| Operations | Target process, SLA, operating model | Process walk-throughs, volumes, queue and timing data | Customer harm, backlog, cost, SLA breach |
|
|
69
|
+
| Product | Requirement set, competitor or market baseline | Product walkthrough, release notes, analytics | Lost deals, adoption, contractual commitment |
|
|
70
|
+
|
|
71
|
+
## Sections
|
|
72
|
+
|
|
73
|
+
Omit Optional sections that add nothing. Do not pad with empty headings.
|
|
74
|
+
|
|
75
|
+
1. **Summary** (Required): the baseline, the scope, counts by rating and severity, the top gaps
|
|
76
|
+
and the headline recommendation.
|
|
77
|
+
2. **Scope and method** (Required): baseline and version, what is in and out, evidence types used,
|
|
78
|
+
the period covered, the rating definitions and the severity scale.
|
|
79
|
+
3. **Requirement traceability** (Required): the core table, one row per requirement: ID,
|
|
80
|
+
requirement, source citation, current state, evidence and strength, rating, severity. Long
|
|
81
|
+
tables go in an appendix with a filtered view of gaps here.
|
|
82
|
+
4. **Findings** (Required): one entry per Partial or Not met gap: what falls short, evidence,
|
|
83
|
+
impact, root cause, severity. Group related requirements under one finding when they share a
|
|
84
|
+
cause.
|
|
85
|
+
5. **Remediation roadmap** (Required): action, gap IDs it closes, owner, target date, closure
|
|
86
|
+
evidence, priority or phase.
|
|
87
|
+
6. **Not assessed** (Required when any exist): each requirement not assessed, why, and what
|
|
88
|
+
evidence would settle it.
|
|
89
|
+
7. **Dependencies and assumptions** (Optional): anything the roadmap relies on.
|
|
90
|
+
8. **Appendix** (Optional): full traceability table, evidence register, interview list.
|
|
91
|
+
|
|
92
|
+
## Done when
|
|
93
|
+
|
|
94
|
+
- Does every requirement cite its source down to the paragraph or clause?
|
|
95
|
+
- Does every rating sit beside its evidence and that evidence's strength?
|
|
96
|
+
- Is nothing rated Met without evidence, and is "no evidence seen" kept apart from "not met"?
|
|
97
|
+
- Is the severity scale stated, and is every gap rated on it?
|
|
98
|
+
- Does every gap have a remediation action with an owner and date, or `TBD` with the sentence
|
|
99
|
+
naming who will agree them?
|
|
100
|
+
- Could a reviewer trace any summary count back to rows in the traceability table?
|
|
101
|
+
|
|
102
|
+
## Sources
|
|
103
|
+
|
|
104
|
+
Authored for this skill; improve from approved examples via `distill-writing`. See
|
|
105
|
+
[sources](../references/sources.md).
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# General: an outline built for the assignment
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
No project or bundled template fits: a memo, a briefing, a research summary, a project update, a
|
|
6
|
+
one-off explainer. The reader and their decision come from the brief.
|
|
7
|
+
|
|
8
|
+
- Check the other templates first. A document that compares a current state with a required one is
|
|
9
|
+
a **gap-analysis**; one that tells staff what they must do is a **compliance-policy** or a
|
|
10
|
+
**risk-operations-procedure**.
|
|
11
|
+
|
|
12
|
+
## Tone
|
|
13
|
+
|
|
14
|
+
From WRITING.md; otherwise the language guide ([English](../references/style-en.md),
|
|
15
|
+
[中文](../references/style-zh.md)).
|
|
16
|
+
|
|
17
|
+
## Inputs
|
|
18
|
+
|
|
19
|
+
- The reader, and what they will decide or do after reading. Material: ask once if the brief does
|
|
20
|
+
not say and the sources do not show it.
|
|
21
|
+
- The sources the brief names. Read them before outlining.
|
|
22
|
+
|
|
23
|
+
## Reasoning
|
|
24
|
+
|
|
25
|
+
Build the outline from the reader's question, not from a familiar shape:
|
|
26
|
+
|
|
27
|
+
1. Write the reader's question in one sentence. Example: "Should we move dispute handling in-house
|
|
28
|
+
next quarter?"
|
|
29
|
+
2. Write the answer in one or two sentences. This becomes the opening.
|
|
30
|
+
3. List what the reader must believe to accept the answer. Each item becomes a section, ordered so
|
|
31
|
+
that each relies only on earlier ones.
|
|
32
|
+
4. For each section, list the evidence that supports it. A section with no evidence becomes an open
|
|
33
|
+
question or is cut.
|
|
34
|
+
5. Close with what happens next: the decision asked for, the actions and owners, or the open
|
|
35
|
+
questions.
|
|
36
|
+
|
|
37
|
+
Pick the document's mode and keep it: **decide** (options against criteria, a recommendation),
|
|
38
|
+
**inform** (status or findings, what changed, what it means), or **instruct** (steps to follow). Do
|
|
39
|
+
not mix instruction steps into a decision memo.
|
|
40
|
+
|
|
41
|
+
## Sections
|
|
42
|
+
|
|
43
|
+
Omit Optional sections that add nothing. Do not pad with empty headings.
|
|
44
|
+
|
|
45
|
+
1. **Summary** (Required): the answer, and the decision or action asked of the reader.
|
|
46
|
+
2. **Context** (Optional): only what the reader needs and does not already know.
|
|
47
|
+
3. **Body sections** (Required): one per item from Reasoning step 3, each opening with its point.
|
|
48
|
+
4. **Options** (Optional, decide mode): each option against the same named criteria, then the
|
|
49
|
+
recommendation and its consequences.
|
|
50
|
+
5. **Next steps or open questions** (Required): owner and date for each, when known.
|
|
51
|
+
6. **Sources** (Optional): what the facts came from, when the reader may check them.
|
|
52
|
+
|
|
53
|
+
## Done when
|
|
54
|
+
|
|
55
|
+
- Does the first paragraph give the answer, not the background?
|
|
56
|
+
- Does every section support the answer, and could the reader say why each is there?
|
|
57
|
+
- Is the mode (decide, inform, instruct) consistent throughout?
|
|
58
|
+
- Does every next step or open question have an owner, or `TBD` (`待确认`, `待確認`) in its cell under the sentence
|
|
59
|
+
naming who will agree it?
|
|
60
|
+
|
|
61
|
+
## Sources
|
|
62
|
+
|
|
63
|
+
Authored for this skill. Save a recurring shape as a project template with `distill-writing`.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Integration guide: client developers
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
The reader is a developer at a client or partner who integrates with our API, SDK or platform.
|
|
6
|
+
They know their own stack, not ours, and have no internal knowledge. They want a first working
|
|
7
|
+
call quickly, then a reference to build against, then help when something breaks.
|
|
8
|
+
|
|
9
|
+
- Pick **technical-spec** instead for our own engineers designing or changing the system. The
|
|
10
|
+
spec may be a source for this guide; never copy its internal detail into it.
|
|
11
|
+
- Pick **commercial-proposal** for the deal, pricing and scope; pick **prd** for product
|
|
12
|
+
behavior agreed internally.
|
|
13
|
+
- Pick **general** for a short announcement of an API change; this template is the full guide.
|
|
14
|
+
|
|
15
|
+
## Tone
|
|
16
|
+
|
|
17
|
+
Direct, second person, task-focused. High technical depth about the public interface; zero
|
|
18
|
+
internal vocabulary.
|
|
19
|
+
|
|
20
|
+
## Inputs
|
|
21
|
+
|
|
22
|
+
- The public API definition: endpoints, fields, enums, errors, webhooks, limits, versions. An
|
|
23
|
+
OpenAPI file or SDK source is best. Material: ask once; do not reconstruct an API
|
|
24
|
+
from memory or examples.
|
|
25
|
+
- Sandbox and production details: base URLs, how credentials are issued, test data, differences.
|
|
26
|
+
Missing → `[TBD: sandbox base URL, owner: <who>]`.
|
|
27
|
+
- Security requirements: key storage, signature scheme, IP allowlists, TLS.
|
|
28
|
+
- The main client tasks (for a payment API: create a payment, refund, receive a webhook).
|
|
29
|
+
- Go-live, versioning and support process. Use supplied values exactly.
|
|
30
|
+
|
|
31
|
+
Treat internal docs and specs as sources to filter. Never publish internal system names, internal
|
|
32
|
+
hostnames, admin endpoints or behavior the client is not meant to rely on.
|
|
33
|
+
|
|
34
|
+
## Reasoning
|
|
35
|
+
|
|
36
|
+
Order the guide by what the developer needs next, and keep four kinds of content apart:
|
|
37
|
+
|
|
38
|
+
1. **Get started** (learning): the shortest path to one successful call, end to end, in sandbox.
|
|
39
|
+
2. **How-to** (doing): one page per task. Each states the goal, the steps, and the expected
|
|
40
|
+
result the developer can check.
|
|
41
|
+
3. **Reference** (looking up): complete, uniform, no narrative.
|
|
42
|
+
4. **Concepts** (understanding): only what a developer cannot use the API safely without.
|
|
43
|
+
Example: idempotency keys, signature verification, settlement timing.
|
|
44
|
+
|
|
45
|
+
Do not mix them. A how-to links to the reference for every field instead of re-listing it; a
|
|
46
|
+
concept page does not contain steps.
|
|
47
|
+
|
|
48
|
+
Rules for content:
|
|
49
|
+
|
|
50
|
+
- Every code sample is complete and runs as written once placeholders are filled. Mark
|
|
51
|
+
placeholders as `<YOUR_API_KEY>`, `<PAYMENT_ID>`. Samples in several languages do the same
|
|
52
|
+
thing with the same values.
|
|
53
|
+
- Every field: name, type, required or optional, format, example. Example:
|
|
54
|
+
`amount` · integer · required · minor units (cents) · `1250`.
|
|
55
|
+
- Every error: code → meaning → what the developer should do. Example:
|
|
56
|
+
`409 duplicate_request` → the idempotency key was reused with a different body → send a new key
|
|
57
|
+
or resend the original body.
|
|
58
|
+
- State sandbox versus production differences explicitly, wherever they apply.
|
|
59
|
+
- State security as steps the developer performs: store the key, rotate it, verify each webhook
|
|
60
|
+
signature before trusting the payload.
|
|
61
|
+
|
|
62
|
+
## Sections
|
|
63
|
+
|
|
64
|
+
Omit Optional sections that add nothing. Do not pad with empty headings.
|
|
65
|
+
|
|
66
|
+
1. **Overview** (Required): what the integration lets the client do, the main objects, and how
|
|
67
|
+
the parts fit. One diagram when the flow crosses systems.
|
|
68
|
+
2. **Get started** (Required): prerequisites, getting sandbox credentials, authentication, and
|
|
69
|
+
one end-to-end example with its expected response.
|
|
70
|
+
3. **How-to guides** (Required): one per client task: goal, steps, expected result, the errors
|
|
71
|
+
most likely at each step.
|
|
72
|
+
4. **Webhooks** (Required when any exist): events, payloads, delivery and retry behavior,
|
|
73
|
+
signature verification as numbered steps with code.
|
|
74
|
+
5. **API reference** (Required): endpoints, fields, enums, errors, rate limits and size limits,
|
|
75
|
+
all in the uniform format above. Link a generated reference when one exists instead of copying.
|
|
76
|
+
6. **Concepts** (Optional): only the ideas a developer needs to use the API correctly.
|
|
77
|
+
7. **Testing and go-live** (Required): sandbox test data and scenarios, the sandbox to production
|
|
78
|
+
switch, and a go-live checklist the developer can tick.
|
|
79
|
+
8. **Versioning and changelog** (Required): how versions are selected, the deprecation policy,
|
|
80
|
+
and dated changes once a version has shipped.
|
|
81
|
+
9. **Troubleshooting and support** (Required): common failures with fixes, what to include in a
|
|
82
|
+
support request, and the public contact channel.
|
|
83
|
+
|
|
84
|
+
## Done when
|
|
85
|
+
|
|
86
|
+
- Can a developer with only this guide and sandbox credentials make a first successful call?
|
|
87
|
+
- Does every code sample run as written once placeholders are filled, and match across languages?
|
|
88
|
+
- Does every field state type, required or optional, format and an example?
|
|
89
|
+
- Does every error say what the developer should do?
|
|
90
|
+
- Are sandbox and production differences stated wherever they apply?
|
|
91
|
+
- Are key handling and webhook signature verification given as steps, not advice?
|
|
92
|
+
- Are internal system names, hostnames and non-public behavior absent?
|
|
93
|
+
- Does each how-to end with a result the developer can check?
|
|
94
|
+
|
|
95
|
+
## Sources
|
|
96
|
+
|
|
97
|
+
Authored for this skill. Content split informed by the Diátaxis framework (linked, not copied);
|
|
98
|
+
see [sources](../references/sources.md).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# PRD: product requirements
|
|
2
|
+
|
|
3
|
+
## Use when
|
|
4
|
+
|
|
5
|
+
The reader is product, design, QA and business stakeholders who do not know the implementation.
|
|
6
|
+
They use the PRD to agree on what users experience and how the product behaves, including
|
|
7
|
+
exceptions, before engineering designs it.
|
|
8
|
+
|
|
9
|
+
- Pick **brd** instead when the question is why the business needs the change, its objectives and
|
|
10
|
+
high-level process, not product behavior.
|
|
11
|
+
- Pick **technical-spec** for how engineering builds and verifies it: schemas, APIs, algorithms,
|
|
12
|
+
migrations, test harnesses.
|
|
13
|
+
A BRD is an input when it exists, not a prerequisite. Do not invent business goals when only a
|
|
14
|
+
feature request was given.
|
|
15
|
+
|
|
16
|
+
## Tone
|
|
17
|
+
|
|
18
|
+
Plain product language, low technical depth. A stakeholder must not need to know modules, fields
|
|
19
|
+
or test infrastructure.
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
- The request, existing behavior, related documents and approved decisions. Material: ask once.
|
|
24
|
+
- Users, entry points, the normal journey, meaningful exceptions and recovery. Material: ask once
|
|
25
|
+
if the journey cannot be reconstructed.
|
|
26
|
+
- Numbers (limits, thresholds, SLAs). Use the supplied value exactly with its source; never invent
|
|
27
|
+
one. Material: mark [TBD]. A product choice the PRD exists to make is **Proposed** instead. List
|
|
28
|
+
both under Product decisions as open.
|
|
29
|
+
- Safety, availability and payment policies are never chosen silently: ask, or record them as open
|
|
30
|
+
decisions.
|
|
31
|
+
|
|
32
|
+
## Reasoning
|
|
33
|
+
|
|
34
|
+
Connect the user problem to the behavior that solves it, then to the boundaries and acceptance
|
|
35
|
+
examples that prove it:
|
|
36
|
+
|
|
37
|
+
1. Who meets the problem today, and what outcome they need.
|
|
38
|
+
2. The journey: discover, use, return, recover.
|
|
39
|
+
3. The behavior at each step, in user language, with a concrete example of success and of a
|
|
40
|
+
meaningful failure, interruption or change.
|
|
41
|
+
4. Every default, eligibility rule, precedence and failure policy, stated once under Policies.
|
|
42
|
+
5. The significant choices and why they were made.
|
|
43
|
+
|
|
44
|
+
Then test for contradictions. Example: an action that is unavailable cannot be the only way to
|
|
45
|
+
recover its own eligibility; a failed check must not look like a negative result.
|
|
46
|
+
|
|
47
|
+
## Sections
|
|
48
|
+
|
|
49
|
+
Omit Optional sections that add nothing. Do not pad with empty headings.
|
|
50
|
+
|
|
51
|
+
1. **Background** (Required): what happens today, who hits the problem, why it matters. Link the
|
|
52
|
+
BRD if one exists.
|
|
53
|
+
2. **Goal** (Required): the user outcome, scope, and explicit non-goals.
|
|
54
|
+
3. **User journey** (Required): discovery, use, return and recovery where they matter.
|
|
55
|
+
4. **Product requirements** (Required): capabilities and observable behavior, each with a short
|
|
56
|
+
acceptance example. Example: "Create two agents and customize the model for one. Change the
|
|
57
|
+
role's default. The uncustomized agent follows the new default on its next task; the customized
|
|
58
|
+
one keeps its choice."
|
|
59
|
+
5. **Policies** (Required when any exist): defaults, eligibility, precedence, exceptions, failure
|
|
60
|
+
behavior, visible notifications (trigger, audience, repeats, silent cases). The one place each
|
|
61
|
+
policy lives. A catalog or a situation → behavior → what the user sees table only when it helps.
|
|
62
|
+
6. **Product decisions** (Required): settled choices and why; open decisions with consequence and
|
|
63
|
+
owner, clearly marked open. Refer to policies; do not restate them.
|
|
64
|
+
7. **References** (Optional): BRD, designs, the technical spec, sources. Never invent a link to a
|
|
65
|
+
spec that does not exist yet.
|
|
66
|
+
|
|
67
|
+
## Done when
|
|
68
|
+
|
|
69
|
+
- Can a stakeholder with no implementation knowledge follow every requirement?
|
|
70
|
+
- Does every policy appear exactly once, with other sections referring to it?
|
|
71
|
+
- Does each requirement have an observable acceptance example, including at least one failure or
|
|
72
|
+
recovery case where users can hit one?
|
|
73
|
+
- Are loading, stale, unknown, unavailable and contradictory states explained where users meet them?
|
|
74
|
+
- Is every number either sourced or listed as an open decision with an owner?
|
|
75
|
+
- Is engineering mechanism (schemas, APIs, polling, caching, test fixtures) absent or linked out?
|
|
76
|
+
|
|
77
|
+
## Sources
|
|
78
|
+
|
|
79
|
+
Adapted from the retired `prd` skill in this repository (1aboveio/ai, MIT). Structure informed by
|
|
80
|
+
the Atlassian product requirements template (linked, not copied); see
|
|
81
|
+
[sources](../references/sources.md).
|