@aria_asi/cli 0.2.40 → 0.2.41
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/bin/aria.js +236 -34
- package/dist/aria-connector/src/action-ledger-core.d.ts +387 -0
- package/dist/aria-connector/src/action-ledger-core.d.ts.map +1 -0
- package/dist/aria-connector/src/action-ledger-core.js +638 -0
- package/dist/aria-connector/src/action-ledger-core.js.map +1 -0
- package/dist/aria-connector/src/chat.d.ts.map +1 -1
- package/dist/aria-connector/src/chat.js +5 -6
- package/dist/aria-connector/src/chat.js.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.d.ts +1 -0
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +152 -14
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +10 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.js +276 -27
- package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -1
- package/dist/aria-connector/src/connectors/codex.d.ts +3 -1
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codex.js +1223 -41
- package/dist/aria-connector/src/connectors/codex.js.map +1 -1
- package/dist/aria-connector/src/connectors/cursor.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/cursor.js +7 -0
- package/dist/aria-connector/src/connectors/cursor.js.map +1 -1
- package/dist/aria-connector/src/connectors/governed-adapter.d.ts +30 -0
- package/dist/aria-connector/src/connectors/governed-adapter.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/governed-adapter.js +132 -0
- package/dist/aria-connector/src/connectors/governed-adapter.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts +3 -1
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +18 -2
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/repo-guard.js +25 -14
- package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.js +92 -2
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +123 -7
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/cross-cli-hive-binding.d.ts +63 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.d.ts.map +1 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.js +205 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.js.map +1 -0
- package/dist/aria-connector/src/garden-control-plane.d.ts +6 -1
- package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
- package/dist/aria-connector/src/garden-control-plane.js +8 -2
- package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
- package/dist/aria-connector/src/governed-surface-runner.d.ts +189 -0
- package/dist/aria-connector/src/governed-surface-runner.d.ts.map +1 -0
- package/dist/aria-connector/src/governed-surface-runner.js +1022 -0
- package/dist/aria-connector/src/governed-surface-runner.js.map +1 -0
- package/dist/aria-connector/src/index.d.ts +10 -1
- package/dist/aria-connector/src/index.d.ts.map +1 -1
- package/dist/aria-connector/src/index.js +5 -0
- package/dist/aria-connector/src/index.js.map +1 -1
- package/dist/aria-connector/src/task-runner.d.ts +3 -0
- package/dist/aria-connector/src/task-runner.d.ts.map +1 -0
- package/dist/aria-connector/src/task-runner.js +3526 -0
- package/dist/aria-connector/src/task-runner.js.map +1 -0
- package/dist/aria-web/src/lib/codebase-scanner.d.ts +21 -2
- package/dist/aria-web/src/lib/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-web/src/lib/codebase-scanner.js +59 -14
- package/dist/aria-web/src/lib/codebase-scanner.js.map +1 -1
- package/dist/assets/hooks/README.md +58 -0
- package/dist/assets/hooks/aria-agent-handoff.mjs +147 -2
- package/dist/assets/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/dist/assets/hooks/aria-architect-fallback.mjs +10 -2
- package/dist/assets/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/dist/assets/hooks/aria-first-class-coach.mjs +305 -10
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +93 -16
- package/dist/assets/hooks/aria-import-resolution-gate.mjs +106 -20
- package/dist/assets/hooks/aria-outcome-record.mjs +56 -20
- package/dist/assets/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/dist/assets/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/dist/assets/hooks/aria-pre-text-gate.mjs +11 -2
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +477 -81
- package/dist/assets/hooks/aria-pre-tool-use.mjs +70 -6
- package/dist/assets/hooks/aria-preprompt-consult.mjs +23 -4
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/dist/assets/hooks/aria-stop-gate.mjs +585 -76
- package/dist/assets/hooks/aria-trigger-autolearn.mjs +17 -3
- package/dist/assets/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/dist/assets/hooks/canonical-settings-block.json +172 -0
- package/dist/assets/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/dist/assets/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/dist/assets/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/dist/assets/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/dist/assets/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/dist/assets/hooks/codex-native/aria-stop.mjs +691 -0
- package/dist/assets/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/dist/assets/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/dist/assets/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/dist/assets/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/dist/assets/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/dist/assets/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/dist/assets/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/dist/assets/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/dist/assets/hooks/doctrine_trigger_map.json +236 -25
- package/dist/assets/hooks/doctrine_trigger_map.schema.json +46 -0
- package/dist/assets/hooks/install.sh +84 -0
- package/dist/assets/hooks/lib/action-ledger-core.mjs +269 -0
- package/dist/assets/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/dist/assets/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/dist/assets/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/dist/assets/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/dist/assets/hooks/lib/canonical-lenses.mjs +83 -6
- package/dist/assets/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/dist/assets/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/dist/assets/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/dist/assets/hooks/lib/domain-output-quality.mjs +132 -3
- package/dist/assets/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/dist/assets/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/dist/assets/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/assets/hooks/lib/first-class-coach.mjs +454 -19
- package/dist/assets/hooks/lib/gate-audit.mjs +12 -2
- package/dist/assets/hooks/lib/gate-loop-state.mjs +11 -2
- package/dist/assets/hooks/lib/goal-contract-quality.mjs +302 -0
- package/dist/assets/hooks/lib/hook-message-window.mjs +101 -9
- package/dist/assets/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/dist/assets/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/assets/hooks/lib/obligation-ledger.mjs +147 -0
- package/dist/assets/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/dist/assets/hooks/lib/owner-authorizations.mjs +269 -0
- package/dist/assets/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/dist/assets/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/dist/assets/hooks/lib/recovery-context.mjs +151 -0
- package/dist/assets/hooks/lib/recovery-template-loader.mjs +154 -0
- package/dist/assets/hooks/lib/self-doctrine-check.mjs +321 -0
- package/dist/assets/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/dist/assets/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/dist/assets/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/dist/assets/hooks/lib/surface-caught.mjs +94 -0
- package/dist/assets/hooks/recovery-templates/force-reauthor.md +67 -0
- package/dist/assets/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/dist/assets/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/dist/assets/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +14 -3
- package/dist/assets/opencode-plugins/harness-context/index.js +39 -6
- package/dist/assets/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
- package/dist/assets/opencode-plugins/harness-gate/index.js +36 -0
- package/dist/assets/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
- package/dist/assets/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
- package/dist/assets/opencode-plugins/harness-outcome/index.js +12 -0
- package/dist/assets/opencode-plugins/harness-stop/index.js +97 -2
- package/dist/assets/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
- package/dist/assets/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
- package/dist/assets/opencode-plugins/lib/coach.js +148 -0
- package/dist/runtime/coach-kernel.mjs +144 -7
- package/dist/runtime/codex-bridge.mjs +254 -8
- package/dist/runtime/discipline/doctrine_trigger_map.json +236 -25
- package/dist/runtime/discipline/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-chat/SKILL.md +84 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ops/SKILL.md +60 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
- package/dist/runtime/discipline/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
- package/dist/runtime/discipline/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/never-guess/SKILL.md +77 -0
- package/dist/runtime/discipline/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
- package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
- package/dist/runtime/discipline/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur/SKILL.md +506 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/tafakkur/SKILL.md +104 -0
- package/dist/runtime/doctrine_trigger_map.json +236 -25
- package/dist/runtime/embedded-public-key.mjs +27 -0
- package/dist/runtime/gated-ledger.mjs +41 -14
- package/dist/runtime/harness-daemon.mjs +85 -10
- package/dist/runtime/hive-wal-publisher.mjs +292 -0
- package/dist/runtime/hooks/README.md +58 -0
- package/dist/runtime/hooks/aria-agent-handoff.mjs +147 -2
- package/dist/runtime/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/dist/runtime/hooks/aria-architect-fallback.mjs +10 -2
- package/dist/runtime/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/dist/runtime/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/dist/runtime/hooks/aria-first-class-coach.mjs +305 -10
- package/dist/runtime/hooks/aria-harness-via-sdk.mjs +93 -16
- package/dist/runtime/hooks/aria-import-resolution-gate.mjs +106 -20
- package/dist/runtime/hooks/aria-outcome-record.mjs +56 -20
- package/dist/runtime/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/dist/runtime/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/dist/runtime/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/dist/runtime/hooks/aria-pre-text-gate.mjs +11 -2
- package/dist/runtime/hooks/aria-pre-tool-gate.mjs +477 -81
- package/dist/runtime/hooks/aria-pre-tool-use.mjs +70 -6
- package/dist/runtime/hooks/aria-preprompt-consult.mjs +23 -4
- package/dist/runtime/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/dist/runtime/hooks/aria-stop-gate.mjs +585 -76
- package/dist/runtime/hooks/aria-trigger-autolearn.mjs +17 -3
- package/dist/runtime/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/dist/runtime/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/dist/runtime/hooks/canonical-settings-block.json +172 -0
- package/dist/runtime/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/dist/runtime/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/dist/runtime/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/dist/runtime/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/dist/runtime/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/dist/runtime/hooks/codex-native/aria-stop.mjs +691 -0
- package/dist/runtime/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/dist/runtime/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/dist/runtime/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/dist/runtime/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/dist/runtime/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/dist/runtime/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/dist/runtime/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/dist/runtime/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/dist/runtime/hooks/doctrine_trigger_map.json +236 -25
- package/dist/runtime/hooks/doctrine_trigger_map.schema.json +46 -0
- package/dist/runtime/hooks/install.sh +84 -0
- package/dist/runtime/hooks/lib/action-ledger-core.mjs +269 -0
- package/dist/runtime/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/dist/runtime/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/dist/runtime/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/dist/runtime/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/dist/runtime/hooks/lib/canonical-lenses.mjs +83 -6
- package/dist/runtime/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/dist/runtime/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/dist/runtime/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/dist/runtime/hooks/lib/domain-output-quality.mjs +132 -3
- package/dist/runtime/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/dist/runtime/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/dist/runtime/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/runtime/hooks/lib/first-class-coach.mjs +454 -19
- package/dist/runtime/hooks/lib/gate-audit.mjs +12 -2
- package/dist/runtime/hooks/lib/gate-loop-state.mjs +11 -2
- package/dist/runtime/hooks/lib/goal-contract-quality.mjs +302 -0
- package/dist/runtime/hooks/lib/hook-message-window.mjs +101 -9
- package/dist/runtime/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/dist/runtime/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/runtime/hooks/lib/obligation-ledger.mjs +147 -0
- package/dist/runtime/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/dist/runtime/hooks/lib/owner-authorizations.mjs +269 -0
- package/dist/runtime/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/dist/runtime/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/dist/runtime/hooks/lib/recovery-context.mjs +151 -0
- package/dist/runtime/hooks/lib/recovery-template-loader.mjs +154 -0
- package/dist/runtime/hooks/lib/self-doctrine-check.mjs +321 -0
- package/dist/runtime/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/dist/runtime/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/dist/runtime/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/dist/runtime/hooks/lib/surface-caught.mjs +94 -0
- package/dist/runtime/hooks/recovery-templates/force-reauthor.md +67 -0
- package/dist/runtime/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/dist/runtime/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/dist/runtime/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/dist/runtime/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/dist/runtime/hooks/test-tier-lens-labeling.mjs +14 -3
- package/dist/runtime/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/runtime/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/runtime/local-phase.mjs +10 -5
- package/dist/runtime/manifest.json +8 -8
- package/dist/runtime/packet-verifier.mjs +166 -0
- package/dist/runtime/provider-proxy.mjs +13 -0
- package/dist/runtime/quality-enforcer.mjs +40 -23
- package/dist/runtime/runtime-rails/registry.mjs +252 -0
- package/dist/runtime/sdk/BUNDLED.json +2 -2
- package/dist/runtime/sdk/index.d.ts +119 -4
- package/dist/runtime/sdk/index.js +138 -12
- package/dist/runtime/sdk/index.js.map +1 -1
- package/dist/runtime/service.mjs +8036 -764
- package/dist/runtime/sub-agent-enforcer.mjs +201 -0
- package/dist/runtime/task-project-ledger.mjs +5 -1
- package/dist/sdk/BUNDLED.json +2 -2
- package/dist/sdk/index.d.ts +119 -4
- package/dist/sdk/index.js +138 -12
- package/dist/sdk/index.js.map +1 -1
- package/hooks/README.md +58 -0
- package/hooks/aria-agent-handoff.mjs +147 -2
- package/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/hooks/aria-architect-fallback.mjs +10 -2
- package/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/hooks/aria-first-class-coach.mjs +305 -10
- package/hooks/aria-harness-via-sdk.mjs +93 -16
- package/hooks/aria-import-resolution-gate.mjs +106 -20
- package/hooks/aria-outcome-record.mjs +56 -20
- package/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/hooks/aria-pre-text-gate.mjs +11 -2
- package/hooks/aria-pre-tool-gate.mjs +477 -81
- package/hooks/aria-pre-tool-use.mjs +70 -6
- package/hooks/aria-preprompt-consult.mjs +23 -4
- package/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/hooks/aria-stop-gate.mjs +585 -76
- package/hooks/aria-trigger-autolearn.mjs +17 -3
- package/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/hooks/canonical-settings-block.json +172 -0
- package/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/hooks/codex-native/aria-stop.mjs +691 -0
- package/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/hooks/doctrine_trigger_map.json +236 -25
- package/hooks/doctrine_trigger_map.schema.json +46 -0
- package/hooks/install.sh +84 -0
- package/hooks/lib/action-ledger-core.mjs +269 -0
- package/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/hooks/lib/canonical-lenses.mjs +83 -6
- package/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/hooks/lib/domain-output-quality.mjs +132 -3
- package/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/hooks/lib/first-class-coach.mjs +454 -19
- package/hooks/lib/gate-audit.mjs +12 -2
- package/hooks/lib/gate-loop-state.mjs +11 -2
- package/hooks/lib/goal-contract-quality.mjs +302 -0
- package/hooks/lib/hook-message-window.mjs +101 -9
- package/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/hooks/lib/obligation-ledger.mjs +147 -0
- package/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/hooks/lib/owner-authorizations.mjs +269 -0
- package/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/hooks/lib/recovery-context.mjs +151 -0
- package/hooks/lib/recovery-template-loader.mjs +154 -0
- package/hooks/lib/self-doctrine-check.mjs +321 -0
- package/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/hooks/lib/surface-caught.mjs +94 -0
- package/hooks/recovery-templates/force-reauthor.md +67 -0
- package/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/hooks/test-tier-lens-labeling.mjs +14 -3
- package/opencode-plugins/harness-context/index.js +39 -6
- package/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
- package/opencode-plugins/harness-gate/index.js +36 -0
- package/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
- package/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
- package/opencode-plugins/harness-outcome/index.js +12 -0
- package/opencode-plugins/harness-stop/index.js +97 -2
- package/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
- package/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
- package/opencode-plugins/lib/coach.js +148 -0
- package/package.json +71 -5
- package/runtime-src/coach-kernel.mjs +144 -7
- package/runtime-src/codex-bridge.mjs +254 -8
- package/runtime-src/embedded-public-key.mjs +27 -0
- package/runtime-src/gated-ledger.mjs +41 -14
- package/runtime-src/harness-daemon.mjs +85 -10
- package/runtime-src/hive-wal-publisher.mjs +292 -0
- package/runtime-src/lib/evaluate-with-kernel.mjs +133 -0
- package/runtime-src/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/runtime-src/local-phase.mjs +10 -5
- package/runtime-src/packet-verifier.mjs +166 -0
- package/runtime-src/provider-proxy.mjs +13 -0
- package/runtime-src/quality-enforcer.mjs +40 -23
- package/runtime-src/runtime-rails/registry.mjs +252 -0
- package/runtime-src/service.mjs +8036 -764
- package/runtime-src/sub-agent-enforcer.mjs +201 -0
- package/scripts/aria-ledger-append.mjs +337 -0
- package/scripts/aria-task-cheap-worker-dispatch.mjs +234 -0
- package/scripts/audit-of-audit-prior-tasks.mjs +194 -0
- package/scripts/audit-of-audit-this-turn.mjs +116 -0
- package/scripts/bundle-sdk.mjs +31 -5
- package/scripts/check-cli-wrapper-provider-contract.mjs +160 -0
- package/scripts/check-client-compatibility.mjs +15 -5
- package/scripts/check-client-smoke.mjs +297 -0
- package/scripts/check-codex-orchestrator-adoption.mjs +150 -0
- package/scripts/check-glm-env-wired.mjs +131 -0
- package/scripts/check-hive-local-storage-contract.mjs +91 -0
- package/scripts/check-hook-mirror.mjs +150 -0
- package/scripts/check-install-sh-drift.mjs +152 -0
- package/scripts/check-kernel-sync.mjs +101 -0
- package/scripts/check-package-artifact.mjs +152 -0
- package/scripts/check-registry-mirror.mjs +71 -0
- package/scripts/drain-owner-airtable-sync-queue.mjs +287 -0
- package/scripts/export-owner-status-sheets.mjs +589 -0
- package/scripts/live-sidecar-receipt-canary.mjs +347 -0
- package/scripts/qiyas-tadabbur-model-matrix.mjs +970 -0
- package/scripts/quality-ab-live-provider.mjs +913 -0
- package/scripts/self-test-action-ledger-core.mjs +190 -0
- package/scripts/self-test-approval-receipt-binding.mjs +122 -0
- package/scripts/self-test-autofire-quality-output.mjs +110 -0
- package/scripts/self-test-claude-code-action-ledger.mjs +132 -0
- package/scripts/self-test-claude-code-mechanical-autofire-hive.mjs +138 -0
- package/scripts/self-test-claude-code-mechanical-autofire.mjs +234 -0
- package/scripts/self-test-codebase-awareness-atlas-delta.mjs +159 -0
- package/scripts/self-test-codebase-awareness-delta-ingest.mjs +179 -0
- package/scripts/self-test-codex-live-hook-parity.mjs +84 -0
- package/scripts/self-test-codex-native-action-ledger.mjs +167 -0
- package/scripts/self-test-codex-native-hook-json-contract.mjs +74 -0
- package/scripts/self-test-codex-orchestrator-continuity.mjs +113 -0
- package/scripts/self-test-codex-readable-recovery.mjs +94 -0
- package/scripts/self-test-codex-self-harness.mjs +538 -0
- package/scripts/self-test-compiled-workunit.mjs +214 -0
- package/scripts/self-test-continuation-output-smoke.mjs +101 -0
- package/scripts/self-test-cross-cli-fleet-ticker.mjs +85 -0
- package/scripts/self-test-cross-cli-hive-adoption.mjs +125 -0
- package/scripts/self-test-cross-cli-hive-learning.mjs +146 -0
- package/scripts/self-test-cross-phase-tool-failure.mjs +110 -0
- package/scripts/self-test-cross-surface-action-ledger.mjs +149 -0
- package/scripts/self-test-end-of-phase-qa-court.mjs +616 -0
- package/scripts/self-test-evaluate-with-kernel.mjs +111 -0
- package/scripts/self-test-first-class-output-delta-proof.mjs +307 -0
- package/scripts/self-test-goal-contract-output-qa.mjs +73 -0
- package/scripts/self-test-goal-contract.mjs +35 -0
- package/scripts/self-test-governed-adapters.mjs +105 -0
- package/scripts/self-test-governed-surface-runner.mjs +198 -0
- package/scripts/self-test-harness-gates.mjs +15 -12
- package/scripts/self-test-harness-ticker-sidecar.mjs +153 -0
- package/scripts/self-test-hive-org-kernel.mjs +233 -0
- package/scripts/self-test-hive-session-coordination.mjs +156 -0
- package/scripts/self-test-hive-wal-consumer.mjs +111 -0
- package/scripts/self-test-kernel-a3-a4-selection.mjs +179 -0
- package/scripts/self-test-ledger-append.mjs +175 -0
- package/scripts/self-test-live-codex-posttool-packet-smoke.mjs +111 -0
- package/scripts/self-test-live-codex-pretool-packet-smoke.mjs +101 -0
- package/scripts/self-test-live-codex-stop-qa-kernel-smoke.mjs +43 -0
- package/scripts/self-test-live-wrapper-substrate-inventory.mjs +149 -0
- package/scripts/self-test-local-main-sync-script.mjs +47 -0
- package/scripts/self-test-mechanical-autofire-resolver.mjs +296 -0
- package/scripts/self-test-no-consult-cognitive-skills-output.mjs +135 -0
- package/scripts/self-test-owner-airtable-sync-queue.mjs +196 -0
- package/scripts/self-test-owner-airtable-sync.mjs +181 -0
- package/scripts/self-test-owner-sheets-action-ledger.mjs +100 -0
- package/scripts/self-test-production-preflight.mjs +78 -0
- package/scripts/self-test-project-boundary-cognition.mjs +79 -0
- package/scripts/self-test-qa-exec-kernel.mjs +34 -0
- package/scripts/self-test-qa-recovery-learning-loop.mjs +113 -0
- package/scripts/self-test-qiyas-label-alignment.mjs +94 -0
- package/scripts/self-test-recovery-context.mjs +110 -0
- package/scripts/self-test-repo-guard.mjs +10 -0
- package/scripts/self-test-runtime-health-self-heal.mjs +161 -0
- package/scripts/self-test-runtime-postcondition.mjs +70 -0
- package/scripts/self-test-soul-precommit-hook.mjs +39 -0
- package/scripts/self-test-stop-gate-kernel-guards.mjs +185 -0
- package/scripts/self-test-stop-gate.mjs +128 -0
- package/scripts/self-test-substrate-kernel-execution-receipt.mjs +130 -0
- package/scripts/self-test-substrate-open-skill-floor.mjs +87 -0
- package/scripts/self-test-substrate-output-quality-eval.mjs +171 -0
- package/scripts/self-test-task-closeout-drift.mjs +97 -0
- package/scripts/self-test-task-project-ledger-readiness.mjs +43 -0
- package/scripts/self-test-task-runner-phase-consumer.mjs +134 -0
- package/scripts/self-test-task-worker-lane.mjs +256 -0
- package/scripts/self-test-turn-substrate-qa-kernel.mjs +188 -0
- package/scripts/self-test-universal-action-capture.mjs +153 -0
- package/scripts/self-test-universal-turn-packet-entrypoints.mjs +252 -0
- package/scripts/self-test-universal-turn-packet.mjs +320 -0
- package/scripts/session-quality-backfill.mjs +253 -0
- package/scripts/smoke-autofire-100-prompts.mjs +481 -0
- package/scripts/sync-local-main-on-task-complete.mjs +278 -0
- package/scripts/sync-owner-status-airtable.mjs +1158 -0
- package/scripts/validate-skill-prompts.mjs +12 -1
- package/scripts/verify-codex-native-mirror.mjs +262 -0
- package/skills/34-frameworks-unified/SKILL.md +42 -0
- package/skills/api-design/SKILL.md +123 -0
- package/skills/architecture-decision/SKILL.md +105 -0
- package/skills/aria-aristotle-cognitives/SKILL.md +128 -0
- package/skills/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/skills/aria-aristotle-post-phase/SKILL.md +116 -0
- package/skills/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/skills/aria-axioms-first-principles/SKILL.md +202 -0
- package/skills/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/skills/aria-axioms-first-principles/references/source-map.md +130 -0
- package/skills/aria-chat/SKILL.md +84 -0
- package/skills/aria-chat/scripts/aria-chat.sh +57 -0
- package/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
- package/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
- package/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
- package/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
- package/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
- package/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
- package/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
- package/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
- package/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
- package/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
- package/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
- package/skills/aria-cognition/aria-chat/SKILL.md +84 -0
- package/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
- package/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
- package/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
- package/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
- package/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
- package/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
- package/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
- package/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
- package/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
- package/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
- package/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
- package/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
- package/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
- package/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
- package/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
- package/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
- package/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
- package/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
- package/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
- package/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
- package/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
- package/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
- package/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
- package/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
- package/skills/aria-cognition/aria-ops/SKILL.md +60 -0
- package/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
- package/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
- package/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
- package/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
- package/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
- package/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
- package/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
- package/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
- package/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
- package/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
- package/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
- package/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
- package/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
- package/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
- package/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
- package/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
- package/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
- package/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
- package/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
- package/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
- package/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
- package/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
- package/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
- package/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
- package/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
- package/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
- package/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
- package/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
- package/skills/aria-cognition/never-guess/SKILL.md +77 -0
- package/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
- package/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
- package/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
- package/skills/aria-cognition/tadabbur/SKILL.md +506 -0
- package/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
- package/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
- package/skills/aria-cognition/tafakkur/SKILL.md +104 -0
- package/skills/aria-cognition-autofire/SKILL.md +109 -0
- package/skills/aria-cognition-batch/SKILL.md +264 -0
- package/skills/aria-conversational-doctrine-discipline/SKILL.md +125 -0
- package/skills/aria-essence/SKILL.md +81 -0
- package/skills/aria-essence/references/domain-matrix.md +80 -0
- package/skills/aria-essence/references/evolution-loop.md +30 -0
- package/skills/aria-essence/references/readable-cognition.md +27 -0
- package/skills/aria-first-class-operating-contract/SKILL.md +104 -0
- package/skills/aria-forge-guardrails/SKILL.md +53 -0
- package/skills/aria-forge-guardrails/references/checklist.md +31 -0
- package/skills/aria-harness-deploy/SKILL.md +145 -0
- package/skills/aria-harness-no-stripping/SKILL.md +135 -0
- package/skills/aria-harness-onboarding/SKILL.md +130 -0
- package/skills/aria-harness-output-discipline/SKILL.md +120 -0
- package/skills/aria-harness-substrate-binding/SKILL.md +139 -0
- package/skills/aria-http-harness-client/SKILL.md +85 -0
- package/skills/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/skills/aria-k8s-deploy/SKILL.md +174 -0
- package/skills/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/skills/aria-ladduniframe/SKILL.md +60 -0
- package/skills/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/skills/aria-live-ops/SKILL.md +54 -0
- package/skills/aria-mac-ssh-ops/SKILL.md +100 -0
- package/skills/aria-memory-index/SKILL.md +42 -0
- package/skills/aria-noor-cognitives/SKILL.md +120 -0
- package/skills/aria-ops/SKILL.md +60 -0
- package/skills/aria-ops/references/live-endpoints.md +59 -0
- package/skills/aria-quality-audit/SKILL.md +133 -0
- package/skills/aria-reasoning/SKILL.md +67 -0
- package/skills/aria-reasoning/references/core-principles.md +42 -0
- package/skills/aria-repo-doctrine/SKILL.md +57 -0
- package/skills/aria-soul-principles/SKILL.md +42 -0
- package/skills/aria-task-codex-executor/SKILL.md +86 -0
- package/skills/aristotle-engine/SKILL.md +42 -0
- package/skills/ci-cd-pipeline/SKILL.md +116 -0
- package/skills/code-review/SKILL.md +131 -0
- package/skills/cross-domain-24/SKILL.md +42 -0
- package/skills/database-design/SKILL.md +124 -0
- package/skills/deepsoul-emotional/SKILL.md +42 -0
- package/skills/deno-kv-raft-pubsub/SKILL.md +561 -0
- package/skills/deno-kv-raft-pubsub/reference/maelstrom-integration.md +393 -0
- package/skills/deno-kv-raft-pubsub/reference/pubsub-api.md +376 -0
- package/skills/deno-kv-raft-pubsub/reference/raft-spec.md +402 -0
- package/skills/deno-kv-raft-pubsub/reference/state-machine.md +182 -0
- package/skills/error-handling/SKILL.md +159 -0
- package/skills/firecrawl/SKILL.md +165 -0
- package/skills/firecrawl/rules/install.md +82 -0
- package/skills/firecrawl/rules/security.md +26 -0
- package/skills/firecrawl-agent/SKILL.md +86 -0
- package/skills/firecrawl-build-interact/SKILL.md +96 -0
- package/skills/firecrawl-build-onboarding/SKILL.md +131 -0
- package/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/skills/firecrawl-build-scrape/SKILL.md +97 -0
- package/skills/firecrawl-build-search/SKILL.md +97 -0
- package/skills/firecrawl-clone/SKILL.md +419 -0
- package/skills/firecrawl-crawl/SKILL.md +87 -0
- package/skills/firecrawl-download/SKILL.md +98 -0
- package/skills/firecrawl-interact/SKILL.md +112 -0
- package/skills/firecrawl-map/SKILL.md +79 -0
- package/skills/firecrawl-scrape/SKILL.md +97 -0
- package/skills/firecrawl-search/SKILL.md +88 -0
- package/skills/fitrah-guard/SKILL.md +78 -0
- package/skills/forge-quality-rules/SKILL.md +61 -0
- package/skills/ghazali-8lens/SKILL.md +56 -0
- package/skills/ijtihad-novel/SKILL.md +42 -0
- package/skills/ilham-intuition/SKILL.md +42 -0
- package/skills/imagegen/LICENSE.txt +201 -0
- package/skills/imagegen/SKILL.md +374 -0
- package/skills/imagegen/agents/openai.yaml +6 -0
- package/skills/imagegen/assets/imagegen-small.svg +5 -0
- package/skills/imagegen/assets/imagegen.png +0 -0
- package/skills/imagegen/references/cli.md +242 -0
- package/skills/imagegen/references/codex-network.md +33 -0
- package/skills/imagegen/references/image-api.md +90 -0
- package/skills/imagegen/references/prompting.md +118 -0
- package/skills/imagegen/references/sample-prompts.md +433 -0
- package/skills/imagegen/scripts/image_gen.py +995 -0
- package/skills/imagegen/scripts/remove_chroma_key.py +440 -0
- package/skills/istiqra-induction/SKILL.md +44 -0
- package/skills/ladunni-22/SKILL.md +53 -0
- package/skills/mizan/SKILL.md +90 -0
- package/skills/nadia/SKILL.md +56 -0
- package/skills/nadia-psi/SKILL.md +56 -0
- package/skills/never-guess/SKILL.md +75 -0
- package/skills/noor-recognition/SKILL.md +45 -0
- package/skills/observability/SKILL.md +133 -0
- package/skills/openai-docs/LICENSE.txt +201 -0
- package/skills/openai-docs/SKILL.md +100 -0
- package/skills/openai-docs/agents/openai.yaml +14 -0
- package/skills/openai-docs/assets/openai-small.svg +3 -0
- package/skills/openai-docs/assets/openai.png +0 -0
- package/skills/openai-docs/references/latest-model.md +37 -0
- package/skills/openai-docs/references/prompting-guide.md +244 -0
- package/skills/openai-docs/references/upgrade-guide.md +181 -0
- package/skills/openai-docs/scripts/resolve-latest-model-info.js +147 -0
- package/skills/pdf/LICENSE.txt +201 -0
- package/skills/pdf/SKILL.md +85 -0
- package/skills/pdf/agents/openai.yaml +5 -0
- package/skills/pdf/assets/pdf.png +0 -0
- package/skills/playwright/LICENSE.txt +201 -0
- package/skills/playwright/NOTICE.txt +14 -0
- package/skills/playwright/SKILL.md +165 -0
- package/skills/playwright/agents/openai.yaml +6 -0
- package/skills/playwright/assets/playwright-small.svg +3 -0
- package/skills/playwright/assets/playwright.png +0 -0
- package/skills/playwright/references/cli.md +116 -0
- package/skills/playwright/references/workflows.md +95 -0
- package/skills/playwright/scripts/playwright_cli.sh +25 -0
- package/skills/plugin-creator/SKILL.md +178 -0
- package/skills/plugin-creator/agents/openai.yaml +6 -0
- package/skills/plugin-creator/assets/plugin-creator-small.svg +3 -0
- package/skills/plugin-creator/assets/plugin-creator.png +0 -0
- package/skills/plugin-creator/references/plugin-json-spec.md +170 -0
- package/skills/plugin-creator/scripts/create_basic_plugin.py +301 -0
- package/skills/predictor/SKILL.md +43 -0
- package/skills/qiyas-analogy/SKILL.md +204 -0
- package/skills/refactoring/SKILL.md +137 -0
- package/skills/ruh-basis/SKILL.md +42 -0
- package/skills/security-review/SKILL.md +129 -0
- package/skills/skill-creator/SKILL.md +434 -0
- package/skills/skill-creator/agents/openai.yaml +5 -0
- package/skills/skill-creator/assets/skill-creator-small.svg +3 -0
- package/skills/skill-creator/assets/skill-creator.png +0 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/references/openai_yaml.md +49 -0
- package/skills/skill-creator/scripts/generate_openai_yaml.py +226 -0
- package/skills/skill-creator/scripts/init_skill.py +400 -0
- package/skills/skill-creator/scripts/quick_validate.py +101 -0
- package/skills/skill-installer/LICENSE.txt +202 -0
- package/skills/skill-installer/SKILL.md +76 -0
- package/skills/skill-installer/agents/openai.yaml +5 -0
- package/skills/skill-installer/assets/skill-installer-small.svg +3 -0
- package/skills/skill-installer/assets/skill-installer.png +0 -0
- package/skills/skill-installer/scripts/github_utils.py +21 -0
- package/skills/skill-installer/scripts/install-skill-from-github.py +308 -0
- package/skills/skill-installer/scripts/list-skills.py +107 -0
- package/skills/skills-and-hooks-reference/SKILL.md +196 -0
- package/skills/soul-domains/SKILL.md +43 -0
- package/skills/tadabbur/SKILL.md +232 -0
- package/skills/tadabbur-ops/SKILL.md +42 -0
- package/skills/tafakkur/SKILL.md +104 -0
- package/skills/testing-strategy/SKILL.md +122 -0
- package/src/action-ledger-core.ts +1054 -0
- package/src/chat.ts +5 -6
- package/src/codebase-scanner.ts +2 -0
- package/src/connectors/claude-code.ts +149 -12
- package/src/connectors/codebase-awareness.ts +325 -25
- package/src/connectors/codex.ts +1225 -41
- package/src/connectors/cursor.ts +8 -0
- package/src/connectors/governed-adapter.ts +174 -0
- package/src/connectors/opencode.ts +18 -2
- package/src/connectors/repo-guard.ts +24 -12
- package/src/connectors/runtime.ts +99 -2
- package/src/connectors/shell.ts +125 -7
- package/src/cross-cli-hive-binding.ts +290 -0
- package/src/garden-control-plane.ts +24 -1
- package/src/governed-surface-runner.ts +1227 -0
- package/src/index.ts +104 -1
- package/src/task-runner.ts +3794 -0
- package/dist/aria-connector/src/install-hooks.d.ts +0 -18
- package/dist/aria-connector/src/install-hooks.d.ts.map +0 -1
- package/dist/aria-connector/src/install-hooks.js +0 -224
- package/dist/aria-connector/src/install-hooks.js.map +0 -1
- package/dist/aria-connector/src/onboarding-wizard.d.ts +0 -5
- package/dist/aria-connector/src/onboarding-wizard.d.ts.map +0 -1
- package/dist/aria-connector/src/onboarding-wizard.js +0 -188
- package/dist/aria-connector/src/onboarding-wizard.js.map +0 -1
- package/dist/cli-0.2.38.tgz +0 -0
- package/dist/install.sh +0 -13
- package/src/__tests__/anthropic-oauth.test.ts +0 -186
- package/src/__tests__/auth-commands.test.ts +0 -132
- package/src/__tests__/owner-login.test.ts +0 -311
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Install a skill from a GitHub repo path into $CODEX_HOME/skills."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
from dataclasses import dataclass
|
|
8
|
+
import os
|
|
9
|
+
import shutil
|
|
10
|
+
import subprocess
|
|
11
|
+
import sys
|
|
12
|
+
import tempfile
|
|
13
|
+
import urllib.error
|
|
14
|
+
import urllib.parse
|
|
15
|
+
import zipfile
|
|
16
|
+
|
|
17
|
+
from github_utils import github_request
|
|
18
|
+
DEFAULT_REF = "main"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass
|
|
22
|
+
class Args:
|
|
23
|
+
url: str | None = None
|
|
24
|
+
repo: str | None = None
|
|
25
|
+
path: list[str] | None = None
|
|
26
|
+
ref: str = DEFAULT_REF
|
|
27
|
+
dest: str | None = None
|
|
28
|
+
name: str | None = None
|
|
29
|
+
method: str = "auto"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@dataclass
|
|
33
|
+
class Source:
|
|
34
|
+
owner: str
|
|
35
|
+
repo: str
|
|
36
|
+
ref: str
|
|
37
|
+
paths: list[str]
|
|
38
|
+
repo_url: str | None = None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class InstallError(Exception):
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _codex_home() -> str:
|
|
46
|
+
return os.environ.get("CODEX_HOME", os.path.expanduser("~/.codex"))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def _tmp_root() -> str:
|
|
50
|
+
base = os.path.join(tempfile.gettempdir(), "codex")
|
|
51
|
+
os.makedirs(base, exist_ok=True)
|
|
52
|
+
return base
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def _request(url: str) -> bytes:
|
|
56
|
+
return github_request(url, "codex-skill-install")
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def _parse_github_url(url: str, default_ref: str) -> tuple[str, str, str, str | None]:
|
|
60
|
+
parsed = urllib.parse.urlparse(url)
|
|
61
|
+
if parsed.netloc != "github.com":
|
|
62
|
+
raise InstallError("Only GitHub URLs are supported for download mode.")
|
|
63
|
+
parts = [p for p in parsed.path.split("/") if p]
|
|
64
|
+
if len(parts) < 2:
|
|
65
|
+
raise InstallError("Invalid GitHub URL.")
|
|
66
|
+
owner, repo = parts[0], parts[1]
|
|
67
|
+
ref = default_ref
|
|
68
|
+
subpath = ""
|
|
69
|
+
if len(parts) > 2:
|
|
70
|
+
if parts[2] in ("tree", "blob"):
|
|
71
|
+
if len(parts) < 4:
|
|
72
|
+
raise InstallError("GitHub URL missing ref or path.")
|
|
73
|
+
ref = parts[3]
|
|
74
|
+
subpath = "/".join(parts[4:])
|
|
75
|
+
else:
|
|
76
|
+
subpath = "/".join(parts[2:])
|
|
77
|
+
return owner, repo, ref, subpath or None
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def _download_repo_zip(owner: str, repo: str, ref: str, dest_dir: str) -> str:
|
|
81
|
+
zip_url = f"https://codeload.github.com/{owner}/{repo}/zip/{ref}"
|
|
82
|
+
zip_path = os.path.join(dest_dir, "repo.zip")
|
|
83
|
+
try:
|
|
84
|
+
payload = _request(zip_url)
|
|
85
|
+
except urllib.error.HTTPError as exc:
|
|
86
|
+
raise InstallError(f"Download failed: HTTP {exc.code}") from exc
|
|
87
|
+
with open(zip_path, "wb") as file_handle:
|
|
88
|
+
file_handle.write(payload)
|
|
89
|
+
with zipfile.ZipFile(zip_path, "r") as zip_file:
|
|
90
|
+
_safe_extract_zip(zip_file, dest_dir)
|
|
91
|
+
top_levels = {name.split("/")[0] for name in zip_file.namelist() if name}
|
|
92
|
+
if not top_levels:
|
|
93
|
+
raise InstallError("Downloaded archive was empty.")
|
|
94
|
+
if len(top_levels) != 1:
|
|
95
|
+
raise InstallError("Unexpected archive layout.")
|
|
96
|
+
return os.path.join(dest_dir, next(iter(top_levels)))
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def _run_git(args: list[str]) -> None:
|
|
100
|
+
result = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
|
101
|
+
if result.returncode != 0:
|
|
102
|
+
raise InstallError(result.stderr.strip() or "Git command failed.")
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def _safe_extract_zip(zip_file: zipfile.ZipFile, dest_dir: str) -> None:
|
|
106
|
+
dest_root = os.path.realpath(dest_dir)
|
|
107
|
+
for info in zip_file.infolist():
|
|
108
|
+
extracted_path = os.path.realpath(os.path.join(dest_dir, info.filename))
|
|
109
|
+
if extracted_path == dest_root or extracted_path.startswith(dest_root + os.sep):
|
|
110
|
+
continue
|
|
111
|
+
raise InstallError("Archive contains files outside the destination.")
|
|
112
|
+
zip_file.extractall(dest_dir)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def _validate_relative_path(path: str) -> None:
|
|
116
|
+
if os.path.isabs(path) or os.path.normpath(path).startswith(".."):
|
|
117
|
+
raise InstallError("Skill path must be a relative path inside the repo.")
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def _validate_skill_name(name: str) -> None:
|
|
121
|
+
altsep = os.path.altsep
|
|
122
|
+
if not name or os.path.sep in name or (altsep and altsep in name):
|
|
123
|
+
raise InstallError("Skill name must be a single path segment.")
|
|
124
|
+
if name in (".", ".."):
|
|
125
|
+
raise InstallError("Invalid skill name.")
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def _git_sparse_checkout(repo_url: str, ref: str, paths: list[str], dest_dir: str) -> str:
|
|
129
|
+
repo_dir = os.path.join(dest_dir, "repo")
|
|
130
|
+
clone_cmd = [
|
|
131
|
+
"git",
|
|
132
|
+
"clone",
|
|
133
|
+
"--filter=blob:none",
|
|
134
|
+
"--depth",
|
|
135
|
+
"1",
|
|
136
|
+
"--sparse",
|
|
137
|
+
"--single-branch",
|
|
138
|
+
"--branch",
|
|
139
|
+
ref,
|
|
140
|
+
repo_url,
|
|
141
|
+
repo_dir,
|
|
142
|
+
]
|
|
143
|
+
try:
|
|
144
|
+
_run_git(clone_cmd)
|
|
145
|
+
except InstallError:
|
|
146
|
+
_run_git(
|
|
147
|
+
[
|
|
148
|
+
"git",
|
|
149
|
+
"clone",
|
|
150
|
+
"--filter=blob:none",
|
|
151
|
+
"--depth",
|
|
152
|
+
"1",
|
|
153
|
+
"--sparse",
|
|
154
|
+
"--single-branch",
|
|
155
|
+
repo_url,
|
|
156
|
+
repo_dir,
|
|
157
|
+
]
|
|
158
|
+
)
|
|
159
|
+
_run_git(["git", "-C", repo_dir, "sparse-checkout", "set", *paths])
|
|
160
|
+
_run_git(["git", "-C", repo_dir, "checkout", ref])
|
|
161
|
+
return repo_dir
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def _validate_skill(path: str) -> None:
|
|
165
|
+
if not os.path.isdir(path):
|
|
166
|
+
raise InstallError(f"Skill path not found: {path}")
|
|
167
|
+
skill_md = os.path.join(path, "SKILL.md")
|
|
168
|
+
if not os.path.isfile(skill_md):
|
|
169
|
+
raise InstallError("SKILL.md not found in selected skill directory.")
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def _copy_skill(src: str, dest_dir: str) -> None:
|
|
173
|
+
os.makedirs(os.path.dirname(dest_dir), exist_ok=True)
|
|
174
|
+
if os.path.exists(dest_dir):
|
|
175
|
+
raise InstallError(f"Destination already exists: {dest_dir}")
|
|
176
|
+
shutil.copytree(src, dest_dir)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
def _build_repo_url(owner: str, repo: str) -> str:
|
|
180
|
+
return f"https://github.com/{owner}/{repo}.git"
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
def _build_repo_ssh(owner: str, repo: str) -> str:
|
|
184
|
+
return f"git@github.com:{owner}/{repo}.git"
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
def _prepare_repo(source: Source, method: str, tmp_dir: str) -> str:
|
|
188
|
+
if method in ("download", "auto"):
|
|
189
|
+
try:
|
|
190
|
+
return _download_repo_zip(source.owner, source.repo, source.ref, tmp_dir)
|
|
191
|
+
except InstallError as exc:
|
|
192
|
+
if method == "download":
|
|
193
|
+
raise
|
|
194
|
+
err_msg = str(exc)
|
|
195
|
+
if "HTTP 401" in err_msg or "HTTP 403" in err_msg or "HTTP 404" in err_msg:
|
|
196
|
+
pass
|
|
197
|
+
else:
|
|
198
|
+
raise
|
|
199
|
+
if method in ("git", "auto"):
|
|
200
|
+
repo_url = source.repo_url or _build_repo_url(source.owner, source.repo)
|
|
201
|
+
try:
|
|
202
|
+
return _git_sparse_checkout(repo_url, source.ref, source.paths, tmp_dir)
|
|
203
|
+
except InstallError:
|
|
204
|
+
repo_url = _build_repo_ssh(source.owner, source.repo)
|
|
205
|
+
return _git_sparse_checkout(repo_url, source.ref, source.paths, tmp_dir)
|
|
206
|
+
raise InstallError("Unsupported method.")
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def _resolve_source(args: Args) -> Source:
|
|
210
|
+
if args.url:
|
|
211
|
+
owner, repo, ref, url_path = _parse_github_url(args.url, args.ref)
|
|
212
|
+
if args.path is not None:
|
|
213
|
+
paths = list(args.path)
|
|
214
|
+
elif url_path:
|
|
215
|
+
paths = [url_path]
|
|
216
|
+
else:
|
|
217
|
+
paths = []
|
|
218
|
+
if not paths:
|
|
219
|
+
raise InstallError("Missing --path for GitHub URL.")
|
|
220
|
+
return Source(owner=owner, repo=repo, ref=ref, paths=paths)
|
|
221
|
+
|
|
222
|
+
if not args.repo:
|
|
223
|
+
raise InstallError("Provide --repo or --url.")
|
|
224
|
+
if "://" in args.repo:
|
|
225
|
+
return _resolve_source(
|
|
226
|
+
Args(url=args.repo, repo=None, path=args.path, ref=args.ref)
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
repo_parts = [p for p in args.repo.split("/") if p]
|
|
230
|
+
if len(repo_parts) != 2:
|
|
231
|
+
raise InstallError("--repo must be in owner/repo format.")
|
|
232
|
+
if not args.path:
|
|
233
|
+
raise InstallError("Missing --path for --repo.")
|
|
234
|
+
paths = list(args.path)
|
|
235
|
+
return Source(
|
|
236
|
+
owner=repo_parts[0],
|
|
237
|
+
repo=repo_parts[1],
|
|
238
|
+
ref=args.ref,
|
|
239
|
+
paths=paths,
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
def _default_dest() -> str:
|
|
244
|
+
return os.path.join(_codex_home(), "skills")
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
def _parse_args(argv: list[str]) -> Args:
|
|
248
|
+
parser = argparse.ArgumentParser(description="Install a skill from GitHub.")
|
|
249
|
+
parser.add_argument("--repo", help="owner/repo")
|
|
250
|
+
parser.add_argument("--url", help="https://github.com/owner/repo[/tree/ref/path]")
|
|
251
|
+
parser.add_argument(
|
|
252
|
+
"--path",
|
|
253
|
+
nargs="+",
|
|
254
|
+
help="Path(s) to skill(s) inside repo",
|
|
255
|
+
)
|
|
256
|
+
parser.add_argument("--ref", default=DEFAULT_REF)
|
|
257
|
+
parser.add_argument("--dest", help="Destination skills directory")
|
|
258
|
+
parser.add_argument(
|
|
259
|
+
"--name", help="Destination skill name (defaults to basename of path)"
|
|
260
|
+
)
|
|
261
|
+
parser.add_argument(
|
|
262
|
+
"--method",
|
|
263
|
+
choices=["auto", "download", "git"],
|
|
264
|
+
default="auto",
|
|
265
|
+
)
|
|
266
|
+
return parser.parse_args(argv, namespace=Args())
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
def main(argv: list[str]) -> int:
|
|
270
|
+
args = _parse_args(argv)
|
|
271
|
+
try:
|
|
272
|
+
source = _resolve_source(args)
|
|
273
|
+
source.ref = source.ref or args.ref
|
|
274
|
+
if not source.paths:
|
|
275
|
+
raise InstallError("No skill paths provided.")
|
|
276
|
+
for path in source.paths:
|
|
277
|
+
_validate_relative_path(path)
|
|
278
|
+
dest_root = args.dest or _default_dest()
|
|
279
|
+
tmp_dir = tempfile.mkdtemp(prefix="skill-install-", dir=_tmp_root())
|
|
280
|
+
try:
|
|
281
|
+
repo_root = _prepare_repo(source, args.method, tmp_dir)
|
|
282
|
+
installed = []
|
|
283
|
+
for path in source.paths:
|
|
284
|
+
skill_name = args.name if len(source.paths) == 1 else None
|
|
285
|
+
skill_name = skill_name or os.path.basename(path.rstrip("/"))
|
|
286
|
+
_validate_skill_name(skill_name)
|
|
287
|
+
if not skill_name:
|
|
288
|
+
raise InstallError("Unable to derive skill name.")
|
|
289
|
+
dest_dir = os.path.join(dest_root, skill_name)
|
|
290
|
+
if os.path.exists(dest_dir):
|
|
291
|
+
raise InstallError(f"Destination already exists: {dest_dir}")
|
|
292
|
+
skill_src = os.path.join(repo_root, path)
|
|
293
|
+
_validate_skill(skill_src)
|
|
294
|
+
_copy_skill(skill_src, dest_dir)
|
|
295
|
+
installed.append((skill_name, dest_dir))
|
|
296
|
+
finally:
|
|
297
|
+
if os.path.isdir(tmp_dir):
|
|
298
|
+
shutil.rmtree(tmp_dir, ignore_errors=True)
|
|
299
|
+
for skill_name, dest_dir in installed:
|
|
300
|
+
print(f"Installed {skill_name} to {dest_dir}")
|
|
301
|
+
return 0
|
|
302
|
+
except InstallError as exc:
|
|
303
|
+
print(f"Error: {exc}", file=sys.stderr)
|
|
304
|
+
return 1
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
if __name__ == "__main__":
|
|
308
|
+
raise SystemExit(main(sys.argv[1:]))
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""List skills from a GitHub repo path."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
import json
|
|
8
|
+
import os
|
|
9
|
+
import sys
|
|
10
|
+
import urllib.error
|
|
11
|
+
|
|
12
|
+
from github_utils import github_api_contents_url, github_request
|
|
13
|
+
|
|
14
|
+
DEFAULT_REPO = "openai/skills"
|
|
15
|
+
DEFAULT_PATH = "skills/.curated"
|
|
16
|
+
DEFAULT_REF = "main"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ListError(Exception):
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Args(argparse.Namespace):
|
|
24
|
+
repo: str
|
|
25
|
+
path: str
|
|
26
|
+
ref: str
|
|
27
|
+
format: str
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _request(url: str) -> bytes:
|
|
31
|
+
return github_request(url, "codex-skill-list")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def _codex_home() -> str:
|
|
35
|
+
return os.environ.get("CODEX_HOME", os.path.expanduser("~/.codex"))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def _installed_skills() -> set[str]:
|
|
39
|
+
root = os.path.join(_codex_home(), "skills")
|
|
40
|
+
if not os.path.isdir(root):
|
|
41
|
+
return set()
|
|
42
|
+
entries = set()
|
|
43
|
+
for name in os.listdir(root):
|
|
44
|
+
path = os.path.join(root, name)
|
|
45
|
+
if os.path.isdir(path):
|
|
46
|
+
entries.add(name)
|
|
47
|
+
return entries
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def _list_skills(repo: str, path: str, ref: str) -> list[str]:
|
|
51
|
+
api_url = github_api_contents_url(repo, path, ref)
|
|
52
|
+
try:
|
|
53
|
+
payload = _request(api_url)
|
|
54
|
+
except urllib.error.HTTPError as exc:
|
|
55
|
+
if exc.code == 404:
|
|
56
|
+
raise ListError(
|
|
57
|
+
"Skills path not found: "
|
|
58
|
+
f"https://github.com/{repo}/tree/{ref}/{path}"
|
|
59
|
+
) from exc
|
|
60
|
+
raise ListError(f"Failed to fetch skills: HTTP {exc.code}") from exc
|
|
61
|
+
data = json.loads(payload.decode("utf-8"))
|
|
62
|
+
if not isinstance(data, list):
|
|
63
|
+
raise ListError("Unexpected skills listing response.")
|
|
64
|
+
skills = [item["name"] for item in data if item.get("type") == "dir"]
|
|
65
|
+
return sorted(skills)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def _parse_args(argv: list[str]) -> Args:
|
|
69
|
+
parser = argparse.ArgumentParser(description="List skills.")
|
|
70
|
+
parser.add_argument("--repo", default=DEFAULT_REPO)
|
|
71
|
+
parser.add_argument(
|
|
72
|
+
"--path",
|
|
73
|
+
default=DEFAULT_PATH,
|
|
74
|
+
help="Repo path to list (default: skills/.curated)",
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument("--ref", default=DEFAULT_REF)
|
|
77
|
+
parser.add_argument(
|
|
78
|
+
"--format",
|
|
79
|
+
choices=["text", "json"],
|
|
80
|
+
default="text",
|
|
81
|
+
help="Output format",
|
|
82
|
+
)
|
|
83
|
+
return parser.parse_args(argv, namespace=Args())
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def main(argv: list[str]) -> int:
|
|
87
|
+
args = _parse_args(argv)
|
|
88
|
+
try:
|
|
89
|
+
skills = _list_skills(args.repo, args.path, args.ref)
|
|
90
|
+
installed = _installed_skills()
|
|
91
|
+
if args.format == "json":
|
|
92
|
+
payload = [
|
|
93
|
+
{"name": name, "installed": name in installed} for name in skills
|
|
94
|
+
]
|
|
95
|
+
print(json.dumps(payload))
|
|
96
|
+
else:
|
|
97
|
+
for idx, name in enumerate(skills, start=1):
|
|
98
|
+
suffix = " (already installed)" if name in installed else ""
|
|
99
|
+
print(f"{idx}. {name}{suffix}")
|
|
100
|
+
return 0
|
|
101
|
+
except ListError as exc:
|
|
102
|
+
print(f"Error: {exc}", file=sys.stderr)
|
|
103
|
+
return 1
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
if __name__ == "__main__":
|
|
107
|
+
raise SystemExit(main(sys.argv[1:]))
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skills-and-hooks-reference
|
|
3
|
+
description: Reference for Claude Code skills, Claude Code hooks, OpenCode skills, and OpenCode hooks. Use when the user asks about SKILL.md format, hook events, settings.json hooks block, slash commands vs skills vs agents, OpenCode plugins, or how to extend either tool. Also use when comparing the two tools or deciding where to write a new skill.
|
|
4
|
+
when_to_use: User mentions skills, hooks, SKILL.md, hook events, slash commands, plugins, sst/opencode, .claude/skills/, .opencode/skills/, .opencode/plugins/, settings.json hooks, or asks "where do I write/save my X" for a custom Claude/OpenCode extension.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skills & Hooks — Claude Code + OpenCode
|
|
8
|
+
|
|
9
|
+
## Top finding (read first)
|
|
10
|
+
**OpenCode reads `~/.claude/skills/` directly.** Write a skill once in your personal Claude skills dir and both tools pick it up. There's no first-party skill marketplace in either tool — `~/.claude/skills/` is the de-facto distribution path.
|
|
11
|
+
|
|
12
|
+
**OpenCode hooks are also `await`-and-block** — switching to OpenCode does NOT solve Claude Code's blocking-hooks pain. Skills bypass this entirely (prompt-only, no hook latency).
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Claude Code — Skills
|
|
17
|
+
|
|
18
|
+
**Where they live (precedence: enterprise → user → project → plugin):**
|
|
19
|
+
```
|
|
20
|
+
~/.claude/skills/<name>/SKILL.md # personal, all projects
|
|
21
|
+
.claude/skills/<name>/SKILL.md # project, committed
|
|
22
|
+
<plugin>/skills/<name>/SKILL.md # plugins (namespace: plugin:name)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
A skill is a **directory** with `SKILL.md` plus optional bundled files (`reference.md`, `scripts/*.sh`, etc).
|
|
26
|
+
|
|
27
|
+
**SKILL.md frontmatter:**
|
|
28
|
+
```yaml
|
|
29
|
+
---
|
|
30
|
+
name: my-skill # required, lowercase-hyphens, ≤64 chars
|
|
31
|
+
description: ... # required — Claude uses this to auto-load
|
|
32
|
+
when_to_use: "..." # optional, appended to description
|
|
33
|
+
allowed-tools: Read Bash(git *) # only granted while skill is active
|
|
34
|
+
disable-model-invocation: false # true = manual /skill-name only
|
|
35
|
+
user-invocable: true # false = hidden from / menu
|
|
36
|
+
paths: "src/**,test/**" # glob filter for auto-load
|
|
37
|
+
model: opus[1m] # override model
|
|
38
|
+
context: fork # run in isolated subagent
|
|
39
|
+
agent: Explore # subagent type when forked
|
|
40
|
+
hooks: {} # skill-scoped hooks
|
|
41
|
+
---
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Body: markdown. `$ARGUMENTS`, `$0/$1`, `${CLAUDE_SKILL_DIR}` substitution. `` !`cmd` `` runs at load time.
|
|
45
|
+
|
|
46
|
+
**Triggering:** (1) Auto via `description` match. (2) `/skill-name [args]` typed by user. (3) Programmatic via Skill tool.
|
|
47
|
+
|
|
48
|
+
**Progressive disclosure:** description always in context (~tiny), body only loads on invocation, linked files load on-demand. After compaction, first 5,000 tokens of recent skills re-attach.
|
|
49
|
+
|
|
50
|
+
**Description writing:** lead with use case, follow with trigger phrases ("Use when user asks for X, wants Y"). Keywords first — late keywords get truncated at the 1,536-char description+when_to_use cap.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Claude Code — Hooks
|
|
55
|
+
|
|
56
|
+
**Events:**
|
|
57
|
+
|
|
58
|
+
| Event | Block? | Notes |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| `SessionStart` | No | matchers: startup/resume/clear/compact |
|
|
61
|
+
| `SessionEnd` | No | |
|
|
62
|
+
| `PreCompact` | Warn only | |
|
|
63
|
+
| `UserPromptSubmit` | **Yes (exit 2)** | reject prompt before Claude reads |
|
|
64
|
+
| `Stop` | **Yes (exit 2)** | reject response before send |
|
|
65
|
+
| `StopFailure` | No | |
|
|
66
|
+
| `PreToolUse` | **Yes** | deny/allow/ask/defer + can rewrite toolInput |
|
|
67
|
+
| `PostToolUse` | No | logging, context injection |
|
|
68
|
+
| `PermissionRequest` | **Yes** | auto-approve/deny |
|
|
69
|
+
| `Notification`, `SubagentStop`, `SubagentToolUse` | varies | |
|
|
70
|
+
|
|
71
|
+
**Config (settings.json):**
|
|
72
|
+
```json
|
|
73
|
+
{ "hooks": { "PreToolUse": [ { "matcher": "Bash",
|
|
74
|
+
"hooks": [ { "type": "command", "command": ".claude/hooks/gate.sh", "timeout": 2000 } ] } ] } }
|
|
75
|
+
```
|
|
76
|
+
Matcher: exact (`Bash`), list (`Edit|Write`), or regex (`mcp__memory__.*`).
|
|
77
|
+
|
|
78
|
+
**Return contract:**
|
|
79
|
+
- stdin: JSON payload
|
|
80
|
+
- exit 0: parse stdout JSON
|
|
81
|
+
- exit 1: log stderr, continue
|
|
82
|
+
- exit 2: **block**
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{ "hookSpecificOutput": {
|
|
86
|
+
"hookEventName": "PreToolUse",
|
|
87
|
+
"permissionDecision": "deny",
|
|
88
|
+
"permissionDecisionReason": "policy",
|
|
89
|
+
"updatedInput": { "command": "safe-version" },
|
|
90
|
+
"additionalContext": "extra context for Claude"
|
|
91
|
+
} }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Blocking semantics — phone pain:** all hooks block the turn until exit (or `timeout`). Non-blocking hook support is not yet GA. `disableAllHooks: true` is the kill-switch. Workaround: HTTP hook (`type: "http"`) to a backend that doesn't await.
|
|
95
|
+
|
|
96
|
+
**Env vars:** `$CLAUDE_PROJECT_DIR`, `$CLAUDE_SESSION_ID`, `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## OpenCode (sst/opencode) — Skills
|
|
101
|
+
|
|
102
|
+
**Anthropic-compatible — first-class subsystem.** Search paths (walks upward to git root):
|
|
103
|
+
```
|
|
104
|
+
.opencode/skills/<name>/SKILL.md # project, native
|
|
105
|
+
~/.config/opencode/skills/<name>/SKILL.md # global, native
|
|
106
|
+
.claude/skills/<name>/SKILL.md # Claude-compat (project)
|
|
107
|
+
~/.claude/skills/<name>/SKILL.md # Claude-compat (global)
|
|
108
|
+
.agents/skills/<name>/SKILL.md # generic
|
|
109
|
+
~/.agents/skills/<name>/SKILL.md # generic
|
|
110
|
+
```
|
|
111
|
+
Names must be globally unique.
|
|
112
|
+
|
|
113
|
+
**SKILL.md format (smaller than Claude's):**
|
|
114
|
+
```yaml
|
|
115
|
+
---
|
|
116
|
+
name: my-skill # required, must match folder, [a-z0-9-]
|
|
117
|
+
description: ... # required, ≤1024 chars
|
|
118
|
+
license: MIT # optional
|
|
119
|
+
compatibility: opencode # optional
|
|
120
|
+
metadata: {} # optional string→string
|
|
121
|
+
---
|
|
122
|
+
```
|
|
123
|
+
Unknown fields (incl. Claude's `allowed-tools`) silently ignored — tool restriction lives at the **agent** level.
|
|
124
|
+
|
|
125
|
+
**Triggering — model-only:** OpenCode lists skills as catalog (name+description) at session start. Model calls built-in `skill` tool to load body. **No `/skill` slash invoke.** For user-triggered, use `.opencode/commands/`.
|
|
126
|
+
|
|
127
|
+
**Skills vs agents vs commands:**
|
|
128
|
+
| Concept | Folder | Invoked by |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| Agent | `.opencode/agents/*.md` | User Tab / `@mention` |
|
|
131
|
+
| Command | `.opencode/commands/*.md` | `/<name>` in TUI |
|
|
132
|
+
| Skill | `.opencode/skills/<name>/SKILL.md` | Model via skill tool |
|
|
133
|
+
|
|
134
|
+
**Permissioning** (`opencode.json`):
|
|
135
|
+
```json
|
|
136
|
+
{ "permission": { "skill": {
|
|
137
|
+
"*": "allow", "internal-*": "deny", "experimental-*": "ask"
|
|
138
|
+
} } }
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## OpenCode — Hooks (live in plugins)
|
|
144
|
+
|
|
145
|
+
**Where:** `.opencode/plugins/*.{js,ts}` or `~/.config/opencode/plugins/*.{js,ts}` or npm packages in `opencode.json`'s `plugin` array.
|
|
146
|
+
|
|
147
|
+
**Plugin shape:**
|
|
148
|
+
```ts
|
|
149
|
+
import type { Plugin } from "@opencode-ai/plugin"
|
|
150
|
+
export const MyPlugin: Plugin = async (ctx) => ({
|
|
151
|
+
event: async ({ event }) => {
|
|
152
|
+
if (event.type === "session.idle") { /* ... */ }
|
|
153
|
+
},
|
|
154
|
+
"tool.execute.before": async (input, output) => {
|
|
155
|
+
if (input.tool === "read" && output.args.filePath.includes(".env")) {
|
|
156
|
+
throw new Error("Cannot read .env files")
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
})
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Key events:** `tool.execute.before/after`, `session.created/idle/compacted/error/updated`, `message.*`, `file.edited`, `permission.asked/replied`, `tui.*`, `shell.env`, `lsp.*`, `experimental.session.compacting`.
|
|
163
|
+
|
|
164
|
+
**Blocking — same pain:** all hooks awaited and sequential. `tool.execute.before` cancels by **throwing**. No first-class non-blocking variant. Fire-and-forget = don't `await` inside the handler (loses error reporting). No documented hook-timeout for non-tool events.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Practical takeaways for phone use
|
|
169
|
+
|
|
170
|
+
1. **Skills > hooks while non-blocking is unshipped.** Pure prompt-cost, no turn delay.
|
|
171
|
+
2. **Write skills in `~/.claude/skills/` for cross-tool reuse.** OpenCode reads them too.
|
|
172
|
+
3. **Auto-load pattern:** sharp `description` with trigger phrases, `disable-model-invocation: false`, no `paths:` filter unless project-specific. Claude pulls it without you typing `/`.
|
|
173
|
+
4. **Re-express PreToolUse policy hooks as skills with `allowed-tools` constraints** when latency matters more than absolute enforcement.
|
|
174
|
+
5. **Don't migrate to OpenCode for the hook problem.** Same await-and-block model.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
Sources: docs.claude.com Claude Code (skills.md, hooks.md), opencode.ai/docs (skills, plugins, agents, commands, config), github.com/sst/opencode, deepwiki.com/sst/opencode.
|
|
179
|
+
|
|
180
|
+
## Required Workflow
|
|
181
|
+
|
|
182
|
+
1. Identify the target surface: Claude Code, Codex, OpenCode, hooks, skills, or plugins.
|
|
183
|
+
2. Use current local docs or official docs before making compatibility claims.
|
|
184
|
+
3. Distinguish prompt-skill behavior from mechanical hook enforcement.
|
|
185
|
+
4. Verify local file paths or config keys before recommending edits.
|
|
186
|
+
5. Report the practical next step and any compatibility risk.
|
|
187
|
+
|
|
188
|
+
## First-Class Production Contract
|
|
189
|
+
|
|
190
|
+
When this skill is loaded, apply it as a production requirement:
|
|
191
|
+
|
|
192
|
+
- no placeholders, no fake fallbacks, and no vague future wiring in skills/hooks guidance
|
|
193
|
+
- real proof from local config, official docs, command output, or owner instruction before claiming compatibility
|
|
194
|
+
- re-test or re-check the same hook/skill surface after correction
|
|
195
|
+
- a redo contract whenever guidance fails validation: state what failed, what changed, how it was re-tested, and the remaining blocker
|
|
196
|
+
- architect/ARIA console escalation when the same skills/hooks failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: soul-domains
|
|
3
|
+
description: Use when you need to identify which domain or domains are truly dominant in a task so the answer can be shaped by the right discipline pressures instead of generic intuition.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Soul Domains
|
|
7
|
+
|
|
8
|
+
Use this skill to determine which disciplines should govern the decision.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
1. Identify the artifact or decision.
|
|
13
|
+
2. Read [../aria-essence/references/domain-matrix.md](../aria-essence/references/domain-matrix.md).
|
|
14
|
+
3. Determine:
|
|
15
|
+
- dominant domain
|
|
16
|
+
- secondary supporting domains
|
|
17
|
+
- neglected domains that could cause hidden failure
|
|
18
|
+
4. Let the dominant domains change the recommendation or implementation.
|
|
19
|
+
5. Summarize the result in readable language, not internal manifold jargon.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Do not pretend to have exact threshold math if the live domain service was not consulted.
|
|
24
|
+
- The point is better decisions, not fancy vocabulary.
|
|
25
|
+
- If only one domain truly matters, say so plainly.
|
|
26
|
+
|
|
27
|
+
## First-Class Production Contract
|
|
28
|
+
|
|
29
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
30
|
+
|
|
31
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
32
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
33
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
34
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
35
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
36
|
+
## Self-Executing Recovery Contract
|
|
37
|
+
|
|
38
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
39
|
+
|
|
40
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
41
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
42
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
43
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|