oh-my-agent-commandcode 0.0.0-stage → 20.38.4
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 +35 -2
- package/filter-test-output.sh +52 -0
- package/mods/oma.ts +347 -0
- package/package.json +30 -4
- package/skills/_shared/conditional/experiment-ledger.md +28 -0
- package/skills/_shared/conditional/exploration-loop.md +22 -0
- package/skills/_shared/conditional/quality-score.md +33 -0
- package/skills/_shared/core/anti-ai-prose.md +191 -0
- package/skills/_shared/core/api-contracts/README.md +28 -0
- package/skills/_shared/core/api-contracts/template.md +90 -0
- package/skills/_shared/core/clarification-protocol.md +23 -0
- package/skills/_shared/core/code-intelligence.md +46 -0
- package/skills/_shared/core/collaboration-policy.md +28 -0
- package/skills/_shared/core/common-checklist.md +28 -0
- package/skills/_shared/core/context-budget.md +22 -0
- package/skills/_shared/core/context-loading.md +34 -0
- package/skills/_shared/core/difficulty-guide.md +26 -0
- package/skills/_shared/core/execution-policy.md +31 -0
- package/skills/_shared/core/lessons-learned.md +33 -0
- package/skills/_shared/core/prompt-structure.md +18 -0
- package/skills/_shared/core/quality-principles.md +11 -0
- package/skills/_shared/core/session-metrics.md +35 -0
- package/skills/_shared/core/skill-routing.md +39 -0
- package/skills/_shared/core/test-approach.md +54 -0
- package/skills/_shared/core/vendor-detection.md +52 -0
- package/skills/_shared/runtime/memory-protocol.md +118 -0
- package/skills/_shared/runtime/result-contract.md +64 -0
- package/skills/_shared/ui-interaction-quality.md +133 -0
- package/skills/oma-academic-writing/SKILL.md +181 -0
- package/skills/oma-academic-writing/resources/abstract-guide.md +51 -0
- package/skills/oma-academic-writing/resources/academic-verb-tiers.md +42 -0
- package/skills/oma-academic-writing/resources/anti-ai-checklist.md +52 -0
- package/skills/oma-academic-writing/resources/hedging-guide.md +132 -0
- package/skills/oma-academic-writing/resources/sentence-structure-reference.md +151 -0
- package/skills/oma-architecture/SKILL.md +203 -0
- package/skills/oma-architecture/resources/api-evolution.md +41 -0
- package/skills/oma-architecture/resources/checklist.md +42 -0
- package/skills/oma-architecture/resources/execution-protocol.md +115 -0
- package/skills/oma-architecture/resources/methodology-selection.md +92 -0
- package/skills/oma-architecture/resources/migration-patterns.md +28 -0
- package/skills/oma-architecture/resources/output-templates.md +111 -0
- package/skills/oma-architecture/resources/stakeholder-synthesis.md +80 -0
- package/skills/oma-backend/SKILL.md +202 -0
- package/skills/oma-backend/resources/checklist.md +45 -0
- package/skills/oma-backend/resources/error-playbook.md +97 -0
- package/skills/oma-backend/resources/execution-protocol.md +39 -0
- package/skills/oma-backend/resources/orm-reference.md +61 -0
- package/skills/oma-backend/variants/node/api-template.ts +315 -0
- package/skills/oma-backend/variants/node/snippets.md +475 -0
- package/skills/oma-backend/variants/node/stack.yaml +21 -0
- package/skills/oma-backend/variants/node/tech-stack.md +33 -0
- package/skills/oma-backend/variants/python/api-template.py +378 -0
- package/skills/oma-backend/variants/python/snippets.md +199 -0
- package/skills/oma-backend/variants/python/stack.yaml +18 -0
- package/skills/oma-backend/variants/python/tech-stack.md +45 -0
- package/skills/oma-backend/variants/rust/api-template.rs +635 -0
- package/skills/oma-backend/variants/rust/snippets.md +471 -0
- package/skills/oma-backend/variants/rust/stack.yaml +20 -0
- package/skills/oma-backend/variants/rust/tech-stack.md +36 -0
- package/skills/oma-backend/variants/stack.schema.json +73 -0
- package/skills/oma-brainstorm/SKILL.md +166 -0
- package/skills/oma-brainstorm/resources/triz-lite.md +117 -0
- package/skills/oma-coordination/SKILL.md +171 -0
- package/skills/oma-db/SKILL.md +201 -0
- package/skills/oma-db/resources/anti-patterns.md +177 -0
- package/skills/oma-db/resources/checklist.md +67 -0
- package/skills/oma-db/resources/document-templates.md +107 -0
- package/skills/oma-db/resources/error-playbook.md +50 -0
- package/skills/oma-db/resources/examples.md +170 -0
- package/skills/oma-db/resources/execution-protocol.md +127 -0
- package/skills/oma-db/resources/iso-controls.md +98 -0
- package/skills/oma-db/resources/migration-playbook.md +93 -0
- package/skills/oma-db/resources/query-tuning.md +57 -0
- package/skills/oma-db/resources/vector-db.md +159 -0
- package/skills/oma-debug/SKILL.md +146 -0
- package/skills/oma-debug/resources/bug-report-template.md +327 -0
- package/skills/oma-debug/resources/checklist.md +31 -0
- package/skills/oma-debug/resources/common-patterns.md +734 -0
- package/skills/oma-debug/resources/debugging-checklist.md +364 -0
- package/skills/oma-debug/resources/error-playbook.md +94 -0
- package/skills/oma-debug/resources/execution-protocol.md +40 -0
- package/skills/oma-design/SKILL.md +135 -0
- package/skills/oma-design/resources/asset-strategy.md +34 -0
- package/skills/oma-design/resources/checklist.md +63 -0
- package/skills/oma-design/resources/data-grid.md +48 -0
- package/skills/oma-design/resources/design-md-spec.md +107 -0
- package/skills/oma-design/resources/design-tokens.md +53 -0
- package/skills/oma-design/resources/error-playbook.md +18 -0
- package/skills/oma-design/resources/execution-protocol.md +95 -0
- package/skills/oma-design/resources/external-design-skills.md +130 -0
- package/skills/oma-design/resources/getdesign-fetcher.md +104 -0
- package/skills/oma-design/resources/product-interface-review.md +59 -0
- package/skills/oma-design/resources/redesign-protocol.md +52 -0
- package/skills/oma-design/resources/stitch-integration.md +244 -0
- package/skills/oma-dev-workflow/SKILL.md +375 -0
- package/skills/oma-dev-workflow/resources/affected-checks.py +58 -0
- package/skills/oma-dev-workflow/resources/api-workflows.md +58 -0
- package/skills/oma-dev-workflow/resources/database-patterns.md +107 -0
- package/skills/oma-dev-workflow/resources/i18n-patterns.md +63 -0
- package/skills/oma-dev-workflow/resources/release-coordination.md +240 -0
- package/skills/oma-dev-workflow/resources/tooling-profiles.md +217 -0
- package/skills/oma-dev-workflow/resources/troubleshooting.md +78 -0
- package/skills/oma-dev-workflow/resources/validation-pipeline.md +246 -0
- package/skills/oma-docs/SKILL.md +77 -0
- package/skills/oma-docs/resources/commands.md +76 -0
- package/skills/oma-explanation/SKILL.md +212 -0
- package/skills/oma-explanation/resources/document-structure.md +115 -0
- package/skills/oma-explanation/resources/draft-format.md +199 -0
- package/skills/oma-explanation/resources/html-contract.md +102 -0
- package/skills/oma-frontend/SKILL.md +227 -0
- package/skills/oma-frontend/resources/angular-rules.md +110 -0
- package/skills/oma-frontend/resources/checklist.md +76 -0
- package/skills/oma-frontend/resources/error-playbook.md +125 -0
- package/skills/oma-frontend/resources/execution-protocol.md +46 -0
- package/skills/oma-frontend/resources/snippets.md +354 -0
- package/skills/oma-frontend/resources/specialized-visual-implementation.md +193 -0
- package/skills/oma-frontend/resources/tailwind-rules.md +83 -0
- package/skills/oma-frontend/resources/tech-stack.md +156 -0
- package/skills/oma-hwp/SKILL.md +166 -0
- package/skills/oma-hwp/config/hwp-config.yaml +35 -0
- package/skills/oma-hwp/resources/balanced-tables.ts +39 -0
- package/skills/oma-hwp/resources/execution-protocol.md +145 -0
- package/skills/oma-hwp/resources/flatten-tables.ts +101 -0
- package/skills/oma-hwp/resources/package.json +13 -0
- package/skills/oma-hwp/resources/troubleshooting.md +70 -0
- package/skills/oma-hwp/resources/tsconfig.json +10 -0
- package/skills/oma-hwp/resources/turndown-plugin-gfm.d.ts +9 -0
- package/skills/oma-image/SKILL.md +142 -0
- package/skills/oma-image/config/image-config.yaml +70 -0
- package/skills/oma-image/resources/checklist.md +18 -0
- package/skills/oma-image/resources/execution-protocol.md +117 -0
- package/skills/oma-image/resources/invocation.md +105 -0
- package/skills/oma-image/resources/prompt-tips.md +71 -0
- package/skills/oma-image/resources/vendor-matrix.md +90 -0
- package/skills/oma-market/SKILL.md +142 -0
- package/skills/oma-market/resources/checklist.md +12 -0
- package/skills/oma-market/resources/error-playbook.md +12 -0
- package/skills/oma-market/resources/execution-protocol.md +60 -0
- package/skills/oma-market/resources/frameworks/pestel.md +101 -0
- package/skills/oma-market/resources/frameworks/porters-5f.md +90 -0
- package/skills/oma-market/resources/frameworks/swot.md +61 -0
- package/skills/oma-market/resources/intent-rules.md +35 -0
- package/skills/oma-market/resources/output-laws.md +53 -0
- package/skills/oma-mobile/SKILL.md +168 -0
- package/skills/oma-mobile/resources/checklist.md +77 -0
- package/skills/oma-mobile/resources/error-playbook.md +198 -0
- package/skills/oma-mobile/resources/execution-protocol.md +47 -0
- package/skills/oma-mobile/resources/screen-template.dart +331 -0
- package/skills/oma-mobile/resources/screen-template.swift +239 -0
- package/skills/oma-mobile/resources/screen-template.tsx +179 -0
- package/skills/oma-mobile/resources/tech-stack.md +69 -0
- package/skills/oma-mobile/variants/README.md +45 -0
- package/skills/oma-mobile/variants/flutter/api-template.dart +461 -0
- package/skills/oma-mobile/variants/flutter/snippets.md +1353 -0
- package/skills/oma-mobile/variants/flutter/stack.yaml +21 -0
- package/skills/oma-mobile/variants/flutter/tech-stack.md +201 -0
- package/skills/oma-mobile/variants/kotlin-android/api-template.kt +182 -0
- package/skills/oma-mobile/variants/kotlin-android/snippets.md +871 -0
- package/skills/oma-mobile/variants/kotlin-android/stack.yaml +32 -0
- package/skills/oma-mobile/variants/kotlin-android/tech-stack.md +159 -0
- package/skills/oma-mobile/variants/react-native/api-template.ts +531 -0
- package/skills/oma-mobile/variants/react-native/snippets.md +1014 -0
- package/skills/oma-mobile/variants/react-native/stack.yaml +22 -0
- package/skills/oma-mobile/variants/react-native/tech-stack.md +192 -0
- package/skills/oma-mobile/variants/stack.schema.json +68 -0
- package/skills/oma-mobile/variants/swift-ios/api-template.swift +165 -0
- package/skills/oma-mobile/variants/swift-ios/snippets.md +1028 -0
- package/skills/oma-mobile/variants/swift-ios/stack.yaml +25 -0
- package/skills/oma-mobile/variants/swift-ios/tech-stack.md +174 -0
- package/skills/oma-observability/SKILL.md +225 -0
- package/skills/oma-observability/resources/anti-patterns.md +555 -0
- package/skills/oma-observability/resources/boundaries/cross-application.md +348 -0
- package/skills/oma-observability/resources/boundaries/multi-tenant.md +290 -0
- package/skills/oma-observability/resources/boundaries/release.md +372 -0
- package/skills/oma-observability/resources/boundaries/slo.md +225 -0
- package/skills/oma-observability/resources/checklist.md +123 -0
- package/skills/oma-observability/resources/examples.md +448 -0
- package/skills/oma-observability/resources/execution-protocol.md +166 -0
- package/skills/oma-observability/resources/incident-forensics.md +348 -0
- package/skills/oma-observability/resources/intent-rules.md +307 -0
- package/skills/oma-observability/resources/layers/L3-network.md +281 -0
- package/skills/oma-observability/resources/layers/L4-transport.md +299 -0
- package/skills/oma-observability/resources/layers/L7-application/crash-analytics.md +359 -0
- package/skills/oma-observability/resources/layers/L7-application/mobile-rum.md +278 -0
- package/skills/oma-observability/resources/layers/L7-application/waf.md +246 -0
- package/skills/oma-observability/resources/layers/L7-application/web-rum.md +350 -0
- package/skills/oma-observability/resources/layers/mesh.md +368 -0
- package/skills/oma-observability/resources/matrix.md +177 -0
- package/skills/oma-observability/resources/meta-observability.md +605 -0
- package/skills/oma-observability/resources/observability-as-code.md +666 -0
- package/skills/oma-observability/resources/signals/audit.md +310 -0
- package/skills/oma-observability/resources/signals/cost.md +303 -0
- package/skills/oma-observability/resources/signals/logs.md +263 -0
- package/skills/oma-observability/resources/signals/metrics.md +478 -0
- package/skills/oma-observability/resources/signals/privacy.md +351 -0
- package/skills/oma-observability/resources/signals/profiles.md +245 -0
- package/skills/oma-observability/resources/signals/traces.md +360 -0
- package/skills/oma-observability/resources/standards.md +214 -0
- package/skills/oma-observability/resources/transport/collector-topology.md +308 -0
- package/skills/oma-observability/resources/transport/otlp-grpc-vs-http.md +256 -0
- package/skills/oma-observability/resources/transport/sampling-recipes.md +297 -0
- package/skills/oma-observability/resources/transport/udp-statsd-mtu.md +167 -0
- package/skills/oma-observability/resources/vendor-categories.md +352 -0
- package/skills/oma-orchestration/SKILL.md +302 -0
- package/skills/oma-orchestration/config/cli-config.yaml +92 -0
- package/skills/oma-orchestration/resources/memory-schema.md +232 -0
- package/skills/oma-orchestration/resources/subagent-prompt-template.md +30 -0
- package/skills/oma-orchestration/scripts/parallel-run.sh +6 -0
- package/skills/oma-orchestration/scripts/spawn-agent.sh +5 -0
- package/skills/oma-orchestration/scripts/verify.sh +20 -0
- package/skills/oma-orchestration/templates/backend-task.md +19 -0
- package/skills/oma-orchestration/templates/debug-task.md +16 -0
- package/skills/oma-orchestration/templates/frontend-task.md +18 -0
- package/skills/oma-orchestration/templates/mobile-task.md +18 -0
- package/skills/oma-orchestration/templates/qa-task.md +16 -0
- package/skills/oma-orchestration/templates/tasks-example.yaml +15 -0
- package/skills/oma-pdf/SKILL.md +162 -0
- package/skills/oma-pdf/config/pdf-config.yaml +27 -0
- package/skills/oma-pdf/resources/execution-protocol.md +127 -0
- package/skills/oma-pm/SKILL.md +157 -0
- package/skills/oma-pm/resources/error-playbook.md +75 -0
- package/skills/oma-pm/resources/examples.md +439 -0
- package/skills/oma-pm/resources/execution-protocol.md +62 -0
- package/skills/oma-pm/resources/iso-planning.md +110 -0
- package/skills/oma-pm/resources/plan-phase-protocol.md +66 -0
- package/skills/oma-pm/resources/task-template.json +86 -0
- package/skills/oma-qa/SKILL.md +141 -0
- package/skills/oma-qa/resources/checklist.md +339 -0
- package/skills/oma-qa/resources/error-playbook.md +98 -0
- package/skills/oma-qa/resources/execution-protocol.md +169 -0
- package/skills/oma-qa/resources/iso-quality.md +82 -0
- package/skills/oma-qa/resources/verify-ship-protocol.md +116 -0
- package/skills/oma-recap/SKILL.md +245 -0
- package/skills/oma-recap/resources/output-formats.md +83 -0
- package/skills/oma-refactor/SKILL.md +184 -0
- package/skills/oma-refactor/resources/definition.md +108 -0
- package/skills/oma-refactor/resources/governance.md +33 -0
- package/skills/oma-refactor/resources/hotspots.py +44 -0
- package/skills/oma-refactor/resources/measurement.md +93 -0
- package/skills/oma-scholar/SKILL.md +276 -0
- package/skills/oma-scholar/config/scholar-config.yaml +79 -0
- package/skills/oma-scholar/resources/api-endpoints.md +174 -0
- package/skills/oma-scholar/resources/checklist.md +92 -0
- package/skills/oma-scholar/resources/execution-protocol.md +224 -0
- package/skills/oma-scholar/resources/fallback-providers.md +143 -0
- package/skills/oma-scholar/resources/setup-openalex.md +85 -0
- package/skills/oma-scholar/resources/sidecar-spec.md +341 -0
- package/skills/oma-scholar/resources/upstream-spec-cache.md +972 -0
- package/skills/oma-scm/SKILL.md +103 -0
- package/skills/oma-scm/resources/cm-operations.md +56 -0
- package/skills/oma-scm/resources/codeowners-playbook.md +45 -0
- package/skills/oma-scm/resources/conventional-commits.md +108 -0
- package/skills/oma-scm/resources/merge-risk.md +76 -0
- package/skills/oma-scm/resources/onboarding-risk-signals.md +71 -0
- package/skills/oma-search/SKILL.md +125 -0
- package/skills/oma-search/resources/checklist.md +36 -0
- package/skills/oma-search/resources/error-playbook.md +66 -0
- package/skills/oma-search/resources/examples.md +80 -0
- package/skills/oma-search/resources/execution-protocol.md +86 -0
- package/skills/oma-search/resources/intent-rules.md +47 -0
- package/skills/oma-search/resources/trust-registry.md +53 -0
- package/skills/oma-security/SKILL.md +172 -0
- package/skills/oma-security/resources/artex.md +108 -0
- package/skills/oma-security/resources/ci.md +134 -0
- package/skills/oma-security/resources/cisco-source.md +108 -0
- package/skills/oma-security/resources/deepsec-config.md +45 -0
- package/skills/oma-security/resources/deepsec-matchers.md +35 -0
- package/skills/oma-security/resources/deepsec-scanning.md +45 -0
- package/skills/oma-security/resources/deepsec-setup.md +41 -0
- package/skills/oma-security/resources/findings-contract.md +408 -0
- package/skills/oma-security/resources/mcp-scanning.md +122 -0
- package/skills/oma-security/resources/skill-scanning.md +106 -0
- package/skills/oma-security/resources/validation.md +71 -0
- package/skills/oma-skill-creation/SKILL.md +84 -0
- package/skills/oma-skill-creation/resources/prompt-evaluation.md +36 -0
- package/skills/oma-skill-creation/resources/ssl-lite-template.md +108 -0
- package/skills/oma-skill-creation/resources/validation-checklist.md +101 -0
- package/skills/oma-slide/SKILL.md +277 -0
- package/skills/oma-slide/resources/animation-patterns.md +245 -0
- package/skills/oma-slide/resources/assets/deck-stage.js +514 -0
- package/skills/oma-slide/resources/assets/viewport-base.css +257 -0
- package/skills/oma-slide/resources/canva-integration.md +203 -0
- package/skills/oma-slide/resources/checklist.md +46 -0
- package/skills/oma-slide/resources/design-doctrine.md +260 -0
- package/skills/oma-slide/resources/fixed-stage.md +232 -0
- package/skills/oma-slide/resources/generation-protocol.md +393 -0
- package/skills/oma-slide/resources/native-pptx.md +84 -0
- package/skills/oma-slide/resources/selection-index.json +461 -0
- package/skills/oma-slide/resources/style-presets.LICENSE +10 -0
- package/skills/oma-slide/resources/style-presets.md +520 -0
- package/skills/oma-tf-infra/SKILL.md +201 -0
- package/skills/oma-tf-infra/resources/checklist.md +53 -0
- package/skills/oma-tf-infra/resources/cost-optimization.md +574 -0
- package/skills/oma-tf-infra/resources/error-playbook.md +68 -0
- package/skills/oma-tf-infra/resources/examples.md +38 -0
- package/skills/oma-tf-infra/resources/execution-protocol.md +129 -0
- package/skills/oma-tf-infra/resources/iso-42001-infra.md +229 -0
- package/skills/oma-tf-infra/resources/multi-cloud-examples.md +241 -0
- package/skills/oma-tf-infra/resources/policy-testing-examples.md +332 -0
- package/skills/oma-translation/SKILL.md +229 -0
- package/skills/oma-translation/resources/anti-ai-patterns.md +104 -0
- package/skills/oma-translation/resources/lang/_template.md +73 -0
- package/skills/oma-translation/resources/lang/en.md +123 -0
- package/skills/oma-translation/resources/lang/ja.md +274 -0
- package/skills/oma-translation/resources/lang/ko.md +228 -0
- package/skills/oma-translation/resources/lang/zh.md +285 -0
- package/skills/oma-translation/resources/style-skills.md +104 -0
- package/skills/oma-translation/resources/translation-rubric.md +126 -0
- package/skills/oma-video/SKILL.md +229 -0
- package/skills/oma-video/config/video-config.yaml +60 -0
- package/skills/oma-video/resources/checklist.md +26 -0
- package/skills/oma-video/resources/execution-protocol.md +122 -0
- package/skills/oma-video/resources/existing-media.md +185 -0
- package/skills/oma-video/resources/hyperframes-authoring/README.md +44 -0
- package/skills/oma-video/resources/hyperframes-authoring/demo.md +31 -0
- package/skills/oma-video/resources/hyperframes-authoring/explainer.md +10 -0
- package/skills/oma-video/resources/hyperframes-authoring/shorts.md +10 -0
- package/skills/oma-video/resources/motion-principles.md +81 -0
- package/skills/oma-video/resources/mpt/driver.py +301 -0
- package/skills/oma-video/resources/prompt-tips.md +75 -0
- package/skills/oma-video/resources/script-schema.md +81 -0
- package/skills/oma-video/resources/sound-design.md +127 -0
- package/skills/oma-video/resources/strudel/package.json +11 -0
- package/skills/oma-video/resources/strudel/page.html +87 -0
- package/skills/oma-video/resources/strudel/render.mjs +295 -0
- package/skills/oma-video/resources/vendor-matrix.md +124 -0
- package/skills/oma-voice/SKILL.md +249 -0
- package/skills/oma-voice/config/voice-config.yaml +30 -0
- package/skills/oma-voice/resources/audio-processing.md +119 -0
- package/skills/oma-voice/resources/checklist.md +47 -0
- package/skills/oma-voice/resources/execution-protocol.md +215 -0
- package/skills/oma-voice/resources/prompt-tips.md +43 -0
- package/skills/oma-voice/resources/voice-matrix.md +51 -0
- package/skills/oma-voice/resources/voicestudio.md +87 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oma-scm
|
|
3
|
+
description: Manage Git branches, merges, conflicts, commits, and release
|
|
4
|
+
baselines. Use for repository history and change-management operations.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Software Configuration Management
|
|
8
|
+
|
|
9
|
+
## Scheduling
|
|
10
|
+
|
|
11
|
+
### Goal
|
|
12
|
+
Perform Git operations with explicit scope, traceable commits, and recoverable history.
|
|
13
|
+
|
|
14
|
+
### Intent signature
|
|
15
|
+
- Commit, stage, push, branch, merge, rebase, resolve conflicts, manage worktrees, or inspect SCM governance.
|
|
16
|
+
|
|
17
|
+
### When to use
|
|
18
|
+
- Commit and push requests, including Conventional Commit messages and logical splitting.
|
|
19
|
+
- Branch/history operations, releases, baselines, CODEOWNERS, and configuration-management reviews.
|
|
20
|
+
|
|
21
|
+
### When NOT to use
|
|
22
|
+
- Implementing a feature or fixing application code -> use the owning specialist.
|
|
23
|
+
- General requirements planning -> use `oma-pm`; security/testing review -> use `oma-qa`.
|
|
24
|
+
|
|
25
|
+
### Expected inputs
|
|
26
|
+
Requested Git operation, repository state, and effective `scm` settings from project configuration.
|
|
27
|
+
|
|
28
|
+
### Expected outputs
|
|
29
|
+
Requested Git changes or an advisory plan, commit/branch identifiers, checks performed, and unresolved work.
|
|
30
|
+
|
|
31
|
+
### Dependencies
|
|
32
|
+
Git CLI; project configuration and hooks. Read the references below only for the selected operation.
|
|
33
|
+
|
|
34
|
+
## Structural Flow
|
|
35
|
+
|
|
36
|
+
### Entry
|
|
37
|
+
Inspect branch, upstream, staged/unstaged changes, and existing authorization. Select the commit path below or the configuration-management resource for broader operations.
|
|
38
|
+
|
|
39
|
+
### Transitions
|
|
40
|
+
- Commit-only request: finish after committing. Push or create a PR only when requested or required by the applicable workflow.
|
|
41
|
+
- Independent changes: split by feature. One logical change remains one commit even across code, tests, and docs; an explicit grouping instruction wins. File count is only a tiebreaker (at most five files lean single).
|
|
42
|
+
- Governance, worktrees, releases, or history operations: load `resources/cm-operations.md`.
|
|
43
|
+
- Large merges: load `resources/merge-risk.md` before selecting merge order or recovery steps.
|
|
44
|
+
- Default-branch push: apply the Push and PR safety section below.
|
|
45
|
+
|
|
46
|
+
### Failure and recovery
|
|
47
|
+
| Failure | Recovery |
|
|
48
|
+
|---|---|
|
|
49
|
+
| Unrelated dirty or staged files | Keep them outside the requested commit; never silently absorb them into an amend |
|
|
50
|
+
| Commit hook rejects a message | Fix the message or actual defect according to the hook; do not bypass it |
|
|
51
|
+
| Push is non-fast-forward | Fetch, inspect divergence, and integrate locally; do not retry with force |
|
|
52
|
+
| Conflicting changes | Preserve both intents, resolve, and run affected checks before completion |
|
|
53
|
+
| Likely secrets in the proposed diff | Stop before staging and identify the affected path without exposing the value |
|
|
54
|
+
|
|
55
|
+
### Exit
|
|
56
|
+
Report created commits/refs and verification. A failed commit, rejected push, or unresolved conflict is not completion.
|
|
57
|
+
|
|
58
|
+
## Logical Operations
|
|
59
|
+
|
|
60
|
+
### Canonical command path
|
|
61
|
+
1. Inspect the worktree and recent conventions:
|
|
62
|
+
```bash
|
|
63
|
+
git status -sb
|
|
64
|
+
git diff --staged
|
|
65
|
+
git diff
|
|
66
|
+
git log --oneline -5
|
|
67
|
+
```
|
|
68
|
+
2. Select logical commit groups under Transitions. Read `resources/conventional-commits.md` for message syntax, type, footer, and branch naming; apply repository hook/config limits.
|
|
69
|
+
3. Show the selected message. Stage explicit paths, inspect the staged diff, and commit using the prepared message file:
|
|
70
|
+
```bash
|
|
71
|
+
git add -- <specific-files>
|
|
72
|
+
git diff --cached --check
|
|
73
|
+
git diff --cached
|
|
74
|
+
git commit -F <message-file>
|
|
75
|
+
```
|
|
76
|
+
4. Inspect the resulting commit and remaining worktree. If push was requested, follow Push and PR safety, then report the remote result.
|
|
77
|
+
|
|
78
|
+
### Guardrails
|
|
79
|
+
1. Explicit, unambiguous user instructions take precedence over SCM defaults, including commit grouping and direct default-branch pushes. Existing authorization persists; do not ask for it again. Likely-secret material still requires stopping before staging.
|
|
80
|
+
2. Stage explicit paths. Do not use `git add -A` or `git add .` without explicit authorization, and never include credentials or secret files.
|
|
81
|
+
3. Do not rewrite shared history without explicit authorization. For an authorized rewrite, use `--force-with-lease`, never plain `--force`.
|
|
82
|
+
4. Read the staged diff before an amend. Unpushed commits may be amended or reorganized within the requested scope; pushed commits are shared history.
|
|
83
|
+
5. User-facing responses follow the configured language; commit messages, branch names, and PR titles/bodies stay in English.
|
|
84
|
+
|
|
85
|
+
### Push and PR safety (only when requested)
|
|
86
|
+
- Confirm the branch, upstream, and ahead/behind state before pushing.
|
|
87
|
+
- If `scm.require_pr_for_default_branch` is true, use a topic branch and PR for default-branch changes, unless the user explicitly requested a direct push.
|
|
88
|
+
- Keep the repository's required hooks/checks. A failure requires repair or an accurate partial result, not an assertion of success.
|
|
89
|
+
- Verify that the requested commits reached the intended remote branch.
|
|
90
|
+
|
|
91
|
+
### Amend, fixup, autosquash
|
|
92
|
+
Determine whether the target commit is shared using `git log --oneline @{u}..HEAD` when an upstream exists. If there is no upstream, inspect remote refs before assuming a commit is unshared. Keep unrelated staged changes out of the operation.
|
|
93
|
+
|
|
94
|
+
### Resource scope and effects
|
|
95
|
+
Git operations change the index, local commits/refs, worktrees, and possibly remote refs. Read only relevant project configuration; never copy credential values into messages or reports. Apply `../_shared/core/execution-policy.md` to authorization and verification.
|
|
96
|
+
|
|
97
|
+
## References
|
|
98
|
+
- Commit syntax, types, co-author policy, and branch naming: `resources/conventional-commits.md` (commit requests)
|
|
99
|
+
- Configuration-management operations: `resources/cm-operations.md` (governance/history/worktree tasks)
|
|
100
|
+
- Merge risk and rollback: `resources/merge-risk.md` (large merges)
|
|
101
|
+
- Ownership detail: `resources/codeowners-playbook.md` (CODEOWNERS work)
|
|
102
|
+
- Onboarding indicators: `resources/onboarding-risk-signals.md` (repository-risk assessment)
|
|
103
|
+
- Release observability: `../oma-observability/SKILL.md` §Integrations (release markers and baseline comparisons)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# SCM Operations
|
|
2
|
+
|
|
3
|
+
## 1) Planning
|
|
4
|
+
|
|
5
|
+
1. Read the effective `scm` configuration and files listed under `documented_process`.
|
|
6
|
+
2. If missing, infer from `CONTRIBUTING.md` / `README`; state assumptions.
|
|
7
|
+
3. Confirm **branching model** and whether **force-push** on shared branches is allowed (default: not without explicit approval).
|
|
8
|
+
|
|
9
|
+
## 2) Identification
|
|
10
|
+
|
|
11
|
+
1. Canonical refs: default branch, release branches/tags, version sources (`package.json`, etc.).
|
|
12
|
+
2. `.gitattributes` / LFS for binaries and generated assets.
|
|
13
|
+
3. Branch names vs the effective `scm` configuration `branch_prefixes` when the project uses them.
|
|
14
|
+
|
|
15
|
+
## 3) Control
|
|
16
|
+
|
|
17
|
+
1. Small, reviewable units; align commits with PR / issue intent.
|
|
18
|
+
2. **Conflicts:** `merge-base`, `git status`, resolve markers, tests; suggest `rerere` when conflicts repeat.
|
|
19
|
+
3. **Worktrees:** `git worktree add`; merge/rebase from the **target branch’s** checkout; all worktrees share one object database.
|
|
20
|
+
4. Do not rewrite **shared** history without maintainer approval; prefer `--force-with-lease` if force-push is unavoidable.
|
|
21
|
+
|
|
22
|
+
## 4) Status accounting
|
|
23
|
+
|
|
24
|
+
1. `git status -sb`: branch, remote tracking, ahead/behind, merge state.
|
|
25
|
+
2. Relate last tag / release branch to `CHANGELOG` or tooling (semantic-release, release-please, changesets) if present.
|
|
26
|
+
|
|
27
|
+
## 5) Verification & audit
|
|
28
|
+
|
|
29
|
+
1. Required CI and `merge_group` when merge queue applies.
|
|
30
|
+
2. Never stage/commit secrets (`.env`, keys, raw tokens). Filename patterns from the effective `scm` configuration `forbidden_patterns` are enforced mechanically by the `scm-guard` PreToolUse hook; for content-level leaks (tokens hardcoded in ordinary source files), run a scanner when available (`gitleaks protect --staged`, `trufflehog git`) before large or unfamiliar commits.
|
|
31
|
+
3. Call out signed-commit expectations when the org cares about verification badges.
|
|
32
|
+
|
|
33
|
+
### CODEOWNERS maintenance checklist
|
|
34
|
+
|
|
35
|
+
1. Validate CODEOWNERS file exists (prefer `.github/CODEOWNERS`).
|
|
36
|
+
2. Ensure critical paths are explicitly owned (not only fallback `*`).
|
|
37
|
+
3. Ensure owners are active and mapped to current teams.
|
|
38
|
+
4. Confirm branch protection requires CODEOWNERS review where needed.
|
|
39
|
+
5. Flag overlapping/ambiguous rules that can hide intended owners.
|
|
40
|
+
|
|
41
|
+
Read `change_governance.require_codeowners` and `ownership.*` in the effective `scm` configuration when present.
|
|
42
|
+
|
|
43
|
+
## 6) Onboarding risk scan (optional)
|
|
44
|
+
|
|
45
|
+
Use this quick scan when joining or inheriting a repository to identify risky areas before major changes.
|
|
46
|
+
|
|
47
|
+
1. High churn files in `lookback` window.
|
|
48
|
+
2. Ownership concentration / bus-factor signals.
|
|
49
|
+
3. Bug hotspot files from fix-related history.
|
|
50
|
+
4. Velocity trend by month.
|
|
51
|
+
5. Revert/hotfix/emergency frequency.
|
|
52
|
+
|
|
53
|
+
Read thresholds from the effective `scm` configuration `onboarding_metrics` when present and cite caveats:
|
|
54
|
+
- squash merge teams can distort ownership metrics,
|
|
55
|
+
- weak commit labeling reduces hotspot accuracy,
|
|
56
|
+
- monorepo commit counts can bias subsystem interpretation.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# CODEOWNERS Playbook (SCM)
|
|
2
|
+
|
|
3
|
+
Use this checklist to keep ownership and approval paths healthy.
|
|
4
|
+
|
|
5
|
+
## What to check
|
|
6
|
+
|
|
7
|
+
1. `CODEOWNERS` exists in one supported location:
|
|
8
|
+
- `.github/CODEOWNERS`
|
|
9
|
+
- `CODEOWNERS` (repo root)
|
|
10
|
+
- `docs/CODEOWNERS`
|
|
11
|
+
2. Critical paths are explicitly owned (avoid relying only on `*` wildcard).
|
|
12
|
+
3. Owners in rules are active maintainers (not departed/inactive accounts).
|
|
13
|
+
4. Branch protection requires CODEOWNERS review for protected branches.
|
|
14
|
+
5. Rules are minimally overlapping and ordered intentionally.
|
|
15
|
+
|
|
16
|
+
## Baseline template
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
# Global fallback
|
|
20
|
+
* @org/maintainers
|
|
21
|
+
|
|
22
|
+
# CI and release control
|
|
23
|
+
.github/workflows/* @org/devops
|
|
24
|
+
cli/commands/migrations/* @org/release-engineering
|
|
25
|
+
|
|
26
|
+
# Agent system and governance
|
|
27
|
+
.agents/hooks/** @org/agent-platform
|
|
28
|
+
.agents/workflows/** @org/agent-platform
|
|
29
|
+
|
|
30
|
+
# Product docs/content
|
|
31
|
+
web/content/** @org/docs
|
|
32
|
+
docs/** @org/docs
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Common anti-patterns
|
|
36
|
+
|
|
37
|
+
- Only global `*` rule with no critical-path overrides.
|
|
38
|
+
- Owners set to individuals only (no team alias).
|
|
39
|
+
- Stale owners after team changes.
|
|
40
|
+
- Critical infra/security paths missing explicit owners.
|
|
41
|
+
|
|
42
|
+
## Review cadence
|
|
43
|
+
|
|
44
|
+
- Re-check CODEOWNERS at least once per quarter.
|
|
45
|
+
- Re-check immediately after org/team restructure.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Conventional Commits Guide
|
|
2
|
+
|
|
3
|
+
Git execution and staging rules live in the parent SKILL.md. Use this reference only for commit syntax and branch names. Repository configuration and hooks determine applicable length and release rules.
|
|
4
|
+
|
|
5
|
+
## Commit Message Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<type>[optional scope]: <description>
|
|
9
|
+
|
|
10
|
+
[optional body]
|
|
11
|
+
|
|
12
|
+
[optional footer(s)]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Types
|
|
16
|
+
|
|
17
|
+
### Primary Types
|
|
18
|
+
|
|
19
|
+
| Type | Description | SemVer | Example |
|
|
20
|
+
|------|-------------|--------|---------|
|
|
21
|
+
| `feat` | Add new feature | MINOR | `feat: add user authentication` |
|
|
22
|
+
| `fix` | Bug fix | PATCH | `fix: resolve login timeout issue` |
|
|
23
|
+
|
|
24
|
+
### Secondary Types
|
|
25
|
+
|
|
26
|
+
| Type | Description | SemVer | Example |
|
|
27
|
+
|------|-------------|--------|---------|
|
|
28
|
+
| `docs` | Documentation changes | - | `docs: update API documentation` |
|
|
29
|
+
| `style` | Code style changes (formatting, semicolons, etc.) | - | `style: fix indentation` |
|
|
30
|
+
| `refactor` | Code improvement without behavior change | - | `refactor: extract helper function` |
|
|
31
|
+
| `perf` | Performance improvements | PATCH | `perf: optimize database queries` |
|
|
32
|
+
| `test` | Add/modify tests | - | `test: add unit tests for auth` |
|
|
33
|
+
| `chore` | Maintenance not covered by other types | - | `chore: update .gitignore` |
|
|
34
|
+
| `build` | Build system, external dependencies | - | `build: bump vite to v6` |
|
|
35
|
+
| `ci` | CI configuration and scripts | - | `ci: cache bun install in workflow` |
|
|
36
|
+
| `revert` | Revert a previous commit | varies | `revert: feat(auth): add OAuth2 support` |
|
|
37
|
+
|
|
38
|
+
## Scope
|
|
39
|
+
|
|
40
|
+
Scope indicates the area of changed code:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
feat(auth): add OAuth2 support
|
|
44
|
+
fix(api): handle null response
|
|
45
|
+
refactor(ui): simplify button component
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Description
|
|
49
|
+
|
|
50
|
+
- **Imperative mood**: "add", "fix", "update" (NOT "added", "fixed", "updates")
|
|
51
|
+
- **Lowercase first letter**
|
|
52
|
+
- **No trailing period**
|
|
53
|
+
- **72 characters or less**
|
|
54
|
+
|
|
55
|
+
## Body
|
|
56
|
+
|
|
57
|
+
Body is optional but useful for complex changes:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
feat(auth): add multi-factor authentication
|
|
61
|
+
|
|
62
|
+
Implement TOTP-based two-factor authentication:
|
|
63
|
+
- Add QR code generation for authenticator apps
|
|
64
|
+
- Store encrypted TOTP secrets in database
|
|
65
|
+
- Add backup codes for account recovery
|
|
66
|
+
|
|
67
|
+
Closes #123
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Breaking Changes
|
|
71
|
+
|
|
72
|
+
Breaking changes marked with `!` or in footer:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
feat(api)!: change response format for user endpoint
|
|
76
|
+
|
|
77
|
+
BREAKING CHANGE: The user endpoint now returns a nested object
|
|
78
|
+
instead of a flat structure. Update client code accordingly.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Footer
|
|
82
|
+
|
|
83
|
+
### Issue References
|
|
84
|
+
```
|
|
85
|
+
feat(auth): add password reset flow
|
|
86
|
+
|
|
87
|
+
Closes #456
|
|
88
|
+
Refs #123, #789
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Co-Authors
|
|
92
|
+
|
|
93
|
+
Include `Co-authored-by: <name> <email>` only when effective `scm.co_author.enabled` is true and both configured values are present. Copy them exactly from configuration; otherwise omit the trailer. GitHub credits the verified email owner, so never reuse an example identity. A co-author hook rejection must be corrected against the configured allowlist.
|
|
94
|
+
|
|
95
|
+
## Branch Naming Convention
|
|
96
|
+
|
|
97
|
+
| Type | Branch Prefix | Example |
|
|
98
|
+
|------|---------------|---------|
|
|
99
|
+
| feat | `feature/` | `feature/user-auth` |
|
|
100
|
+
| fix | `fix/` | `fix/login-timeout` |
|
|
101
|
+
| refactor | `refactor/` | `refactor/api-cleanup` |
|
|
102
|
+
| docs | `docs/` | `docs/api-guide` |
|
|
103
|
+
| hotfix | `hotfix/` | `hotfix/security-patch` |
|
|
104
|
+
|
|
105
|
+
## Resources
|
|
106
|
+
|
|
107
|
+
- [Conventional Commits Specification](https://www.conventionalcommits.org/)
|
|
108
|
+
- [Semantic Versioning](https://semver.org/)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Large Merge Risk Triage
|
|
2
|
+
|
|
3
|
+
Trigger this step when merge scope is large by change footprint, not PR count.
|
|
4
|
+
Read thresholds from `.agents/oma-config.yaml` `large_merge_thresholds.*` first.
|
|
5
|
+
If config values are missing, use these defaults:
|
|
6
|
+
- combined changed files >= 150
|
|
7
|
+
- combined additions+deletions >= 3000 lines
|
|
8
|
+
- touching >= 3 high-churn/hotspot paths
|
|
9
|
+
- any candidate has `risk_score >= 60`
|
|
10
|
+
|
|
11
|
+
Use these signals:
|
|
12
|
+
- file overlap across PRs (same files)
|
|
13
|
+
- line-range overlap when available
|
|
14
|
+
- branch age and divergence from base
|
|
15
|
+
- hotspot files (high churn/recent edits)
|
|
16
|
+
- ownership spread (many authors/teams touching same area)
|
|
17
|
+
- semantic flags (API contract/interface/schema changes)
|
|
18
|
+
|
|
19
|
+
Risk score formula (0-100):
|
|
20
|
+
|
|
21
|
+
`risk_score = overlap(0-40) + divergence(0-20) + hotspot(0-15) + ownership(0-15) + semantic(0-10)`
|
|
22
|
+
|
|
23
|
+
Bucket thresholds:
|
|
24
|
+
- **LOW** (0-29): no overlap, low divergence, no semantic flags
|
|
25
|
+
- **MEDIUM** (30-59): partial overlap or moderate divergence
|
|
26
|
+
- **HIGH** (60-100): line overlap, repeated hotspot collisions, or semantic flags
|
|
27
|
+
|
|
28
|
+
Scoring guidance:
|
|
29
|
+
- `overlap`: 0 (none), 20 (same file only), 40 (same file + overlapping lines)
|
|
30
|
+
- `divergence`: 0 (<24h and <=10 commits behind), 10 (1-3 days or <=50 behind), 20 (>3 days or >50 behind)
|
|
31
|
+
- `hotspot`: 0 (stable), 8 (moderate churn), 15 (top churn paths touched)
|
|
32
|
+
- `ownership`: 0 (single owner/team), 8 (2-3 owners), 15 (cross-team and unclear ownership)
|
|
33
|
+
- `semantic`: 0 (none), 5 (minor contract touch), 10 (API/schema/interface breaking risk)
|
|
34
|
+
|
|
35
|
+
Data sources (preferred order):
|
|
36
|
+
1. PR metadata/diff from GitHub CLI or API
|
|
37
|
+
2. Line-overlap detection — compare diff hunk ranges across candidate branches (no dedicated tool required):
|
|
38
|
+
```bash
|
|
39
|
+
# Resolve ONE common base for both candidate branches.
|
|
40
|
+
COMMON_BASE=$(git merge-base <branch-a> <branch-b>)
|
|
41
|
+
git diff -U0 "$COMMON_BASE" <branch-a> -- <file> | grep '^@@'
|
|
42
|
+
git diff -U0 "$COMMON_BASE" <branch-b> -- <file> | grep '^@@'
|
|
43
|
+
# Compare the "-start,count" ranges in this common original file.
|
|
44
|
+
# A missing count means 1. Pure insertions (count=0) use the boundary
|
|
45
|
+
# after start; compare insertion boundaries and edits touching them.
|
|
46
|
+
# Do not compare "+start,count": each branch has different new-line offsets.
|
|
47
|
+
```
|
|
48
|
+
3. Merge simulation (GitHub mergeability/queue simulation when available)
|
|
49
|
+
4. Local git history for churn/hotspot and ownership hints
|
|
50
|
+
|
|
51
|
+
For large-scope merges, propose merge order as:
|
|
52
|
+
1. LOW in small batches
|
|
53
|
+
2. MEDIUM in smaller batches
|
|
54
|
+
3. HIGH one-by-one with explicit checkpoints
|
|
55
|
+
|
|
56
|
+
## Authorization for risky operations
|
|
57
|
+
|
|
58
|
+
**Precedence:** an explicit, unambiguous user instruction overrides this gate (same as `oma-scm` SKILL.md Guardrails) — if the user already told you exactly what to do, state what you are doing and proceed without re-confirming. The single exception that always warrants a heads-up is likely-secret material. The gate below applies when the risky condition was NOT explicitly requested by the user.
|
|
59
|
+
|
|
60
|
+
Stop and ask user confirmation if any of these are true:
|
|
61
|
+
- merge conflicts are already present
|
|
62
|
+
- history rewrite is required (`--force`, `reset --hard`, destructive restore/clean)
|
|
63
|
+
- required checks, required reviews, or CODEOWNERS conditions are not satisfied
|
|
64
|
+
- protected/main branch policy could be violated
|
|
65
|
+
- release-critical paths are involved and rollback plan is unclear
|
|
66
|
+
|
|
67
|
+
Additional confirmation triggers:
|
|
68
|
+
- `risk_score >= 60`
|
|
69
|
+
- batch failure repeated 2+ times
|
|
70
|
+
- merge queue is unavailable and manual direct-merge is requested
|
|
71
|
+
|
|
72
|
+
## Failure and rollback
|
|
73
|
+
- On batch failure, bisect once and retry with smaller batch.
|
|
74
|
+
- If the second attempt fails, stop and apply the authorization rules above.
|
|
75
|
+
- Never continue high-risk merges after repeated failures without explicit approval.
|
|
76
|
+
- For protected/main branches, prefer revert-based rollback over history rewrite.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Onboarding Risk Signals (SCM)
|
|
2
|
+
|
|
3
|
+
Use these lightweight SCM metrics to quickly estimate maintenance risk in an unfamiliar repository.
|
|
4
|
+
|
|
5
|
+
## 1) High-Churn Files
|
|
6
|
+
|
|
7
|
+
Frequent edits often indicate maintenance hotspots or unstable boundaries.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
git log --format=format: --name-only --since="1 year ago" | sort | uniq -c | sort -nr | head -20
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 2) Ownership / Bus Factor
|
|
14
|
+
|
|
15
|
+
Detect concentration risk and potential knowledge silos.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
git shortlog -sn --no-merges HEAD
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Heuristic:
|
|
22
|
+
- One author > 60% of commits can indicate bus-factor risk.
|
|
23
|
+
- If top contributors are inactive for 6+ months, flag continuity risk.
|
|
24
|
+
- With squash-merge-heavy teams, treat commit-count ownership as approximate.
|
|
25
|
+
|
|
26
|
+
## 3) Bug Hotspots
|
|
27
|
+
|
|
28
|
+
Approximate bug-prone files from bug-fix commit history.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
git log -i -E --grep="fix|bug|broken" --name-only --format='' | sort | uniq -c | sort -nr | head -20
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Cross-reference with high-churn list to identify high-risk files.
|
|
35
|
+
|
|
36
|
+
## 4) Development Velocity Trend
|
|
37
|
+
|
|
38
|
+
Inspect monthly activity and momentum shifts.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
git log --format='%ad' --date=format:'%Y-%m' | sort | uniq -c
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Heuristic:
|
|
45
|
+
- Stable/increasing trend suggests healthy delivery cadence.
|
|
46
|
+
- 50%+ sudden drop can indicate staffing or ownership disruption.
|
|
47
|
+
- 6-12 month steady decline can indicate project stagnation.
|
|
48
|
+
|
|
49
|
+
## 5) Revert / Hotfix / Firefighting Signal
|
|
50
|
+
|
|
51
|
+
Estimate operational reliability from emergency recovery patterns.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git log --oneline --since="1 year ago" | rg -i "revert|hotfix|emergency|rollback"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Heuristic:
|
|
58
|
+
- A few incidents per year can be normal.
|
|
59
|
+
- Incidents every ~2 weeks suggest unstable release/testing process.
|
|
60
|
+
- Zero incidents may mean stable delivery or poor commit labeling.
|
|
61
|
+
|
|
62
|
+
## Practical Output Template
|
|
63
|
+
|
|
64
|
+
Report these sections:
|
|
65
|
+
- Top churn files (top 10-20)
|
|
66
|
+
- Ownership concentration and inactive key contributors
|
|
67
|
+
- Bug hotspot overlaps with churn files
|
|
68
|
+
- Velocity trend summary (recent 6-12 months)
|
|
69
|
+
- Firefighting frequency and confidence level
|
|
70
|
+
|
|
71
|
+
Always include caveats: squash merges, inconsistent commit labels, and monorepo skew.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oma-search
|
|
3
|
+
description: Find external documentation, web sources, or remote code with
|
|
4
|
+
citations. Local code navigation uses the configured code tools.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Search Router
|
|
8
|
+
|
|
9
|
+
## Scheduling
|
|
10
|
+
|
|
11
|
+
### Goal
|
|
12
|
+
Select the search or retrieval channel needed by the request and return sources
|
|
13
|
+
with supporting evidence and retrieval limits.
|
|
14
|
+
|
|
15
|
+
### Intent signature
|
|
16
|
+
- Find external documentation, web information, or remote implementation examples.
|
|
17
|
+
- Read a known external URL or supply external sources to another skill.
|
|
18
|
+
|
|
19
|
+
### When to use
|
|
20
|
+
Library documentation, web research, remote code search, known-URL reading, and
|
|
21
|
+
requests whose external source channel needs selection.
|
|
22
|
+
|
|
23
|
+
### When NOT to use
|
|
24
|
+
- Pure local code exploration -> use configured code intelligence directly under
|
|
25
|
+
`../_shared/core/code-intelligence.md`; do not dispatch this skill.
|
|
26
|
+
- Git history/blame -> `oma-scm`; architecture analysis -> `oma-architecture`.
|
|
27
|
+
|
|
28
|
+
### Expected inputs
|
|
29
|
+
Query or known URL; optional route hint (`docs`, `web`, `code`, `fetch`); version,
|
|
30
|
+
recency, host, repository and source constraints; optional web-provider override.
|
|
31
|
+
Explicit `--docs`, `--code` or `--web` selects the search route. `--gitlab` selects
|
|
32
|
+
the remote code host. `--strict` requires suitable primary or official sources
|
|
33
|
+
with inspected supporting content; `--wide` includes broader results with their
|
|
34
|
+
limitations. These modifiers preserve the request's source constraints.
|
|
35
|
+
|
|
36
|
+
### Expected outputs
|
|
37
|
+
An answer or relevant source list with source URL/file reference, route, actual
|
|
38
|
+
provider, source type, content-read status, supporting evidence and material
|
|
39
|
+
limitations. Include publication, retrieval and version details when observed.
|
|
40
|
+
Do not invent results, dates, sources or certainty.
|
|
41
|
+
|
|
42
|
+
### Dependencies
|
|
43
|
+
Context7 for documentation; the configured `providers.web` (`native`, `brave` or
|
|
44
|
+
`exa`) for web discovery; `oma search code`/`gh`/`glab` for remote code; runtime
|
|
45
|
+
retrieval tools or `oma search fetch` for known URLs. `oma search providers`
|
|
46
|
+
reports registration, selection and credential metadata; `oma doctor` checks
|
|
47
|
+
credential presence without verifying validity or API reachability.
|
|
48
|
+
|
|
49
|
+
## Structural Flow
|
|
50
|
+
|
|
51
|
+
### Routes
|
|
52
|
+
| Route | Execution | Scope |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| `docs` | Context7 library resolution and queries; official-site discovery when needed | Official documentation within requested version constraints |
|
|
55
|
+
| `web` | Selected web provider: runtime tools for `native`, CLI adapter for `brave` or `exa` | Discover URLs relevant to a query |
|
|
56
|
+
| `code` | `oma search code` through the selected code host | Remote implementation matches within host/repository constraints |
|
|
57
|
+
| `fetch` | Available URL reader/browser or `oma search fetch <url>` | Read a URL already supplied or discovered |
|
|
58
|
+
|
|
59
|
+
### Failure and recovery
|
|
60
|
+
- Missing/empty documentation lookup: use official-site discovery while retaining
|
|
61
|
+
the documentation route's version and source limits.
|
|
62
|
+
- Selected web provider unavailable, unauthenticated or rate-limited: report its
|
|
63
|
+
failure. Do not silently replace an explicit provider choice with native search.
|
|
64
|
+
- Search returns no candidate URLs: refine within the original constraints or
|
|
65
|
+
report no result. URL retrieval cannot replace missing search results.
|
|
66
|
+
- A known URL cannot be read: use the retrieval-specific recovery reference and
|
|
67
|
+
preserve access/authentication errors and archive provenance.
|
|
68
|
+
- No source meets `--strict`: report the source or evidence gap. A broader result
|
|
69
|
+
set does not automatically satisfy the strict request.
|
|
70
|
+
|
|
71
|
+
### Exit
|
|
72
|
+
Return supported results and disclose failed routes, unread sources, stale or
|
|
73
|
+
archived content, and version limits. A provider name or domain label does not
|
|
74
|
+
verify an individual claim.
|
|
75
|
+
|
|
76
|
+
## Logical Operations
|
|
77
|
+
|
|
78
|
+
### Canonical workflow path
|
|
79
|
+
1. Resolve the requested outcome and constraints. Hand pure local-code requests
|
|
80
|
+
directly to configured code intelligence. For external work, select one primary
|
|
81
|
+
route; use `resources/intent-rules.md` only when selection is unclear.
|
|
82
|
+
2. Execute that route using `resources/execution-protocol.md`. Resolve the web
|
|
83
|
+
provider from configuration or the request override. Add another route only
|
|
84
|
+
when the remaining evidence gap needs it; do not fan out by default.
|
|
85
|
+
3. Read the relevant content needed to support the answer. Retain URLs and
|
|
86
|
+
inspection status, deduplicate results, and apply source/version constraints.
|
|
87
|
+
Use `resources/trust-registry.md` for provenance rules or an explicitly needed
|
|
88
|
+
optional domain diagnostic; no numeric lookup is required for ordinary results.
|
|
89
|
+
4. Rank by relevance and source suitability for the question. Return the requested
|
|
90
|
+
answer or sources with evidence, the actual route/provider and material limits.
|
|
91
|
+
|
|
92
|
+
### CLI entry points
|
|
93
|
+
```bash
|
|
94
|
+
oma search providers
|
|
95
|
+
oma search web "<query>" [--provider <id>] [--limit <n>]
|
|
96
|
+
oma search code "<query>" [--host gitlab] [--language <lang>] [--repo <owner/repo>]
|
|
97
|
+
oma search fetch <url>
|
|
98
|
+
oma search trust <domain>
|
|
99
|
+
```
|
|
100
|
+
Use `api`, `rss`, `meta`, `media`, `archive` or `doctor` only when the selected
|
|
101
|
+
operation needs that primitive. `trust` remains an optional domain diagnostic.
|
|
102
|
+
|
|
103
|
+
### Guardrails
|
|
104
|
+
- Preserve explicit route, provider, source, host, version and date constraints.
|
|
105
|
+
- Keep query discovery separate from reading an existing URL.
|
|
106
|
+
- Treat search snippets and excerpts as limited evidence; identify unread sources.
|
|
107
|
+
- Do not manufacture trust scores or promote Context7/GitHub results to claim-level
|
|
108
|
+
verification based on their provider or hosting domain.
|
|
109
|
+
- Do not repeat successful routes, search local project files via the web, install
|
|
110
|
+
a provider or track a repository automatically.
|
|
111
|
+
|
|
112
|
+
### Resource scope and effects
|
|
113
|
+
Search may contact external services and spawn configured provider or code-host
|
|
114
|
+
processes. Retrieval may launch an available browser. Query constraints and
|
|
115
|
+
provenance are session context; persistent caches belong in generated state, not
|
|
116
|
+
skill definitions. Local source navigation belongs to the configured code tools.
|
|
117
|
+
|
|
118
|
+
## References
|
|
119
|
+
- Route selection: `resources/intent-rules.md` (unclear external request)
|
|
120
|
+
- Execution: `resources/execution-protocol.md` (selected route only)
|
|
121
|
+
- Provenance and optional domain diagnostics: `resources/trust-registry.md` (source/evidence interpretation)
|
|
122
|
+
- Recovery: `resources/error-playbook.md` (route failure)
|
|
123
|
+
- Result checks: `resources/checklist.md` (applicable source and evidence checks)
|
|
124
|
+
- Examples: `resources/examples.md` (unfamiliar input or boundary)
|
|
125
|
+
- Local-code handoff: `../_shared/core/code-intelligence.md` (local requests)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Search result checks
|
|
2
|
+
|
|
3
|
+
## Route and scope
|
|
4
|
+
|
|
5
|
+
- The route matches the requested outcome: `docs`, `web`, `code` or `fetch`.
|
|
6
|
+
- Pure local-code work went directly to configured code intelligence.
|
|
7
|
+
- Explicit route, provider, host, repository, version, date and source constraints
|
|
8
|
+
remain intact through recovery.
|
|
9
|
+
- One primary route ran; any additional route addresses an identified evidence gap.
|
|
10
|
+
- Web discovery used the configured/requested provider. An explicit provider's
|
|
11
|
+
credential or availability failure was not silently replaced by native search.
|
|
12
|
+
- URL retrieval used an actual supplied/discovered URL, not a fabricated search
|
|
13
|
+
fallback target.
|
|
14
|
+
|
|
15
|
+
## Evidence
|
|
16
|
+
|
|
17
|
+
- Source references are real, relevant and deduplicated.
|
|
18
|
+
- The actual route/provider and source type are identified when known.
|
|
19
|
+
- Full-content, excerpt-only and unread-result status are distinguishable.
|
|
20
|
+
- Each substantive answer claim has inspected supporting material; search snippets,
|
|
21
|
+
provider identity and hosting domains are not treated as verification.
|
|
22
|
+
- Observed dates, versions, revisions and archive provenance are retained. Unknown
|
|
23
|
+
metadata remains unknown.
|
|
24
|
+
|
|
25
|
+
## Modifiers and limits
|
|
26
|
+
|
|
27
|
+
- `--strict` is supported by suitable primary/official content, or its evidence gap
|
|
28
|
+
is reported. No domain-score upgrade is used to make a result pass.
|
|
29
|
+
- `--wide` preserves broader results with limits while retaining explicit scope.
|
|
30
|
+
- Optional numeric domain diagnostics are labeled separately and copied from the
|
|
31
|
+
CLI unchanged; ordinary results do not require a score lookup.
|
|
32
|
+
- Provider, access, freshness and version failures are reported. No fake results,
|
|
33
|
+
successful empty response for an auth error, or automatic retry loop is present.
|
|
34
|
+
|
|
35
|
+
Return the requested answer or source list. A fixed header, numbered layout,
|
|
36
|
+
score badge or decorative report template is not required.
|