@rpamis/comet 0.3.8 → 0.4.0-beta.1
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/LICENSE +21 -21
- package/README.md +381 -234
- package/assets/manifest.json +33 -12
- package/assets/skills/comet/SKILL.md +87 -102
- package/assets/skills/comet/reference/auto-transition.md +1 -1
- package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
- package/assets/skills/comet/reference/context-recovery.md +12 -2
- package/assets/skills/comet/reference/debug-gate.md +17 -1
- package/assets/skills/comet/reference/decision-point.md +13 -2
- package/assets/skills/comet/reference/dirty-worktree.md +59 -59
- package/assets/skills/comet/reference/intent-frame.md +74 -0
- package/assets/skills/comet/reference/scripts.md +69 -0
- package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
- package/assets/skills/comet/rules/comet-phase-guard.en.md +43 -11
- package/assets/skills/comet/rules/comet-phase-guard.md +44 -11
- package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
- package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
- package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
- package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
- package/assets/skills/comet/scripts/comet-env.mjs +15 -0
- package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
- package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
- package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
- package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
- package/assets/skills/comet/scripts/comet-runtime.mjs +12857 -0
- package/assets/skills/comet/scripts/comet-state.mjs +3 -0
- package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
- package/assets/skills/comet-any/SKILL.md +118 -0
- package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
- package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
- package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
- package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
- package/assets/skills/comet-any/reference/eval-provider.md +83 -0
- package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
- package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
- package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
- package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
- package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
- package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
- package/assets/skills/comet-archive/SKILL.md +25 -15
- package/assets/skills/comet-build/SKILL.md +51 -40
- package/assets/skills/comet-design/SKILL.md +14 -18
- package/assets/skills/comet-hotfix/SKILL.md +33 -43
- package/assets/skills/comet-open/SKILL.md +28 -21
- package/assets/skills/comet-tweak/SKILL.md +71 -65
- package/assets/skills/comet-verify/SKILL.md +31 -35
- package/assets/skills-zh/comet/SKILL.md +88 -102
- package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +11 -4
- package/assets/skills-zh/comet/reference/context-recovery.md +12 -2
- package/assets/skills-zh/comet/reference/debug-gate.md +19 -3
- package/assets/skills-zh/comet/reference/decision-point.md +13 -2
- package/assets/skills-zh/comet/reference/dirty-worktree.md +59 -59
- package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
- package/assets/skills-zh/comet/reference/scripts.md +69 -0
- package/assets/skills-zh/comet/reference/subagent-dispatch.md +79 -23
- package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
- package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
- package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
- package/assets/skills-zh/comet-any/SKILL.md +118 -0
- package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
- package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
- package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
- package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
- package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
- package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
- package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
- package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
- package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
- package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
- package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
- package/assets/skills-zh/comet-archive/SKILL.md +25 -15
- package/assets/skills-zh/comet-build/SKILL.md +54 -43
- package/assets/skills-zh/comet-design/SKILL.md +16 -20
- package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
- package/assets/skills-zh/comet-open/SKILL.md +30 -23
- package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
- package/assets/skills-zh/comet-verify/SKILL.md +30 -32
- package/bin/comet.js +1 -1
- package/dist/{cli → app/cli}/index.d.ts.map +1 -1
- package/dist/app/cli/index.js +430 -0
- package/dist/app/cli/index.js.map +1 -0
- package/dist/app/commands/bundle.d.ts +51 -0
- package/dist/app/commands/bundle.d.ts.map +1 -0
- package/dist/app/commands/bundle.js +387 -0
- package/dist/app/commands/bundle.js.map +1 -0
- package/dist/app/commands/creator.d.ts +14 -0
- package/dist/app/commands/creator.d.ts.map +1 -0
- package/dist/app/commands/creator.js +82 -0
- package/dist/app/commands/creator.js.map +1 -0
- package/dist/app/commands/dashboard.d.ts +16 -0
- package/dist/app/commands/dashboard.d.ts.map +1 -0
- package/dist/app/commands/dashboard.js +53 -0
- package/dist/app/commands/dashboard.js.map +1 -0
- package/dist/{commands → app/commands}/doctor.d.ts +1 -1
- package/dist/app/commands/doctor.d.ts.map +1 -0
- package/dist/{commands → app/commands}/doctor.js +114 -60
- package/dist/app/commands/doctor.js.map +1 -0
- package/dist/app/commands/eval.d.ts +17 -0
- package/dist/app/commands/eval.d.ts.map +1 -0
- package/dist/app/commands/eval.js +169 -0
- package/dist/app/commands/eval.js.map +1 -0
- package/dist/app/commands/i18n.d.ts +4 -0
- package/dist/app/commands/i18n.d.ts.map +1 -0
- package/dist/app/commands/i18n.js +174 -0
- package/dist/app/commands/i18n.js.map +1 -0
- package/dist/{commands → app/commands}/init.d.ts +6 -1
- package/dist/app/commands/init.d.ts.map +1 -0
- package/dist/app/commands/init.js +402 -0
- package/dist/app/commands/init.js.map +1 -0
- package/dist/app/commands/platform-select-prompt.d.ts +38 -0
- package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
- package/dist/app/commands/platform-select-prompt.js +141 -0
- package/dist/app/commands/platform-select-prompt.js.map +1 -0
- package/dist/app/commands/publish.d.ts +7 -0
- package/dist/app/commands/publish.d.ts.map +1 -0
- package/dist/app/commands/publish.js +14 -0
- package/dist/app/commands/publish.js.map +1 -0
- package/dist/app/commands/skill.d.ts +23 -0
- package/dist/app/commands/skill.d.ts.map +1 -0
- package/dist/app/commands/skill.js +208 -0
- package/dist/app/commands/skill.js.map +1 -0
- package/dist/app/commands/status.d.ts.map +1 -0
- package/dist/app/commands/status.js +159 -0
- package/dist/app/commands/status.js.map +1 -0
- package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
- package/dist/app/commands/uninstall.d.ts.map +1 -0
- package/dist/{commands → app/commands}/uninstall.js +37 -18
- package/dist/app/commands/uninstall.js.map +1 -0
- package/dist/{commands → app/commands}/update.d.ts +6 -4
- package/dist/app/commands/update.d.ts.map +1 -0
- package/dist/{commands → app/commands}/update.js +77 -46
- package/dist/app/commands/update.js.map +1 -0
- package/dist/config/repository-layout.json +98 -0
- package/dist/domains/bundle/authoring.d.ts +82 -0
- package/dist/domains/bundle/authoring.d.ts.map +1 -0
- package/dist/domains/bundle/authoring.js +185 -0
- package/dist/domains/bundle/authoring.js.map +1 -0
- package/dist/domains/bundle/bundle-platform.d.ts +39 -0
- package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
- package/dist/domains/bundle/bundle-platform.js +287 -0
- package/dist/domains/bundle/bundle-platform.js.map +1 -0
- package/dist/domains/bundle/candidates.d.ts +29 -0
- package/dist/domains/bundle/candidates.d.ts.map +1 -0
- package/dist/domains/bundle/candidates.js +37 -0
- package/dist/domains/bundle/candidates.js.map +1 -0
- package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
- package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
- package/dist/domains/bundle/compatibility-benchmark.js +224 -0
- package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
- package/dist/domains/bundle/compiler.d.ts +5 -0
- package/dist/domains/bundle/compiler.d.ts.map +1 -0
- package/dist/domains/bundle/compiler.js +106 -0
- package/dist/domains/bundle/compiler.js.map +1 -0
- package/dist/domains/bundle/distribute.d.ts +33 -0
- package/dist/domains/bundle/distribute.d.ts.map +1 -0
- package/dist/domains/bundle/distribute.js +166 -0
- package/dist/domains/bundle/distribute.js.map +1 -0
- package/dist/domains/bundle/draft.d.ts +19 -0
- package/dist/domains/bundle/draft.d.ts.map +1 -0
- package/dist/domains/bundle/draft.js +82 -0
- package/dist/domains/bundle/draft.js.map +1 -0
- package/dist/domains/bundle/eval.d.ts +36 -0
- package/dist/domains/bundle/eval.d.ts.map +1 -0
- package/dist/domains/bundle/eval.js +501 -0
- package/dist/domains/bundle/eval.js.map +1 -0
- package/dist/domains/bundle/factory-compose.d.ts +12 -0
- package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
- package/dist/domains/bundle/factory-compose.js +309 -0
- package/dist/domains/bundle/factory-compose.js.map +1 -0
- package/dist/domains/bundle/factory-guide.d.ts +37 -0
- package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
- package/dist/domains/bundle/factory-guide.js +96 -0
- package/dist/domains/bundle/factory-guide.js.map +1 -0
- package/dist/domains/bundle/factory-plan.d.ts +48 -0
- package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
- package/dist/domains/bundle/factory-plan.js +172 -0
- package/dist/domains/bundle/factory-plan.js.map +1 -0
- package/dist/domains/bundle/factory-proposal.d.ts +31 -0
- package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
- package/dist/domains/bundle/factory-proposal.js +225 -0
- package/dist/domains/bundle/factory-proposal.js.map +1 -0
- package/dist/domains/bundle/factory-resolve.d.ts +11 -0
- package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
- package/dist/domains/bundle/factory-resolve.js +121 -0
- package/dist/domains/bundle/factory-resolve.js.map +1 -0
- package/dist/domains/bundle/factory.d.ts +17 -0
- package/dist/domains/bundle/factory.d.ts.map +1 -0
- package/dist/domains/bundle/factory.js +511 -0
- package/dist/domains/bundle/factory.js.map +1 -0
- package/dist/domains/bundle/hash.d.ts +3 -0
- package/dist/domains/bundle/hash.d.ts.map +1 -0
- package/dist/domains/bundle/hash.js +72 -0
- package/dist/domains/bundle/hash.js.map +1 -0
- package/dist/domains/bundle/load.d.ts +4 -0
- package/dist/domains/bundle/load.d.ts.map +1 -0
- package/dist/domains/bundle/load.js +355 -0
- package/dist/domains/bundle/load.js.map +1 -0
- package/dist/domains/bundle/next-action.d.ts +37 -0
- package/dist/domains/bundle/next-action.d.ts.map +1 -0
- package/dist/domains/bundle/next-action.js +185 -0
- package/dist/domains/bundle/next-action.js.map +1 -0
- package/dist/domains/bundle/platform.d.ts +21 -0
- package/dist/domains/bundle/platform.d.ts.map +1 -0
- package/dist/domains/bundle/platform.js +170 -0
- package/dist/domains/bundle/platform.js.map +1 -0
- package/dist/domains/bundle/preferences.d.ts +11 -0
- package/dist/domains/bundle/preferences.d.ts.map +1 -0
- package/dist/domains/bundle/preferences.js +17 -0
- package/dist/domains/bundle/preferences.js.map +1 -0
- package/dist/domains/bundle/publish.d.ts +14 -0
- package/dist/domains/bundle/publish.d.ts.map +1 -0
- package/dist/domains/bundle/publish.js +159 -0
- package/dist/domains/bundle/publish.js.map +1 -0
- package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
- package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
- package/dist/domains/bundle/readiness-user-summary.js +186 -0
- package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
- package/dist/domains/bundle/review-summary.d.ts +36 -0
- package/dist/domains/bundle/review-summary.d.ts.map +1 -0
- package/dist/domains/bundle/review-summary.js +348 -0
- package/dist/domains/bundle/review-summary.js.map +1 -0
- package/dist/domains/bundle/state.d.ts +7 -0
- package/dist/domains/bundle/state.d.ts.map +1 -0
- package/dist/domains/bundle/state.js +132 -0
- package/dist/domains/bundle/state.js.map +1 -0
- package/dist/domains/bundle/types.d.ts +347 -0
- package/dist/domains/bundle/types.d.ts.map +1 -0
- package/dist/domains/bundle/types.js.map +1 -0
- package/dist/domains/bundle/user-facing.d.ts +48 -0
- package/dist/domains/bundle/user-facing.d.ts.map +1 -0
- package/dist/domains/bundle/user-facing.js +73 -0
- package/dist/domains/bundle/user-facing.js.map +1 -0
- package/dist/domains/bundle/validate.d.ts +5 -0
- package/dist/domains/bundle/validate.d.ts.map +1 -0
- package/dist/domains/bundle/validate.js +292 -0
- package/dist/domains/bundle/validate.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
- package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
- package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive.js +392 -0
- package/dist/domains/comet-classic/classic-archive.js.map +1 -0
- package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
- package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-cli.js +94 -0
- package/dist/domains/comet-classic/classic-cli.js.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
- package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-evidence.js +114 -0
- package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
- package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
- package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-guard.js +833 -0
- package/dist/domains/comet-classic/classic-guard.js.map +1 -0
- package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
- package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
- package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-handoff.js +478 -0
- package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard.js +302 -0
- package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent-command.js +40 -0
- package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
- package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
- package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent.js +307 -0
- package/dist/domains/comet-classic/classic-intent.js.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.js +184 -0
- package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
- package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
- package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-paths.js +61 -0
- package/dist/domains/comet-classic/classic-paths.js.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.js +89 -0
- package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
- package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
- package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
- package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
- package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
- package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-script-entry.js +31 -0
- package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-command.js +984 -0
- package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-entry.js +4 -0
- package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
- package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-events.js +15 -0
- package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
- package/dist/domains/comet-classic/classic-state.d.ts +69 -0
- package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state.js +238 -0
- package/dist/domains/comet-classic/classic-state.js.map +1 -0
- package/dist/domains/comet-classic/classic-store.d.ts +7 -0
- package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-store.js +127 -0
- package/dist/domains/comet-classic/classic-store.js.map +1 -0
- package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
- package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-transitions.js +124 -0
- package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
- package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-validate-command.js +154 -0
- package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
- package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
- package/dist/domains/comet-classic/index.d.ts +20 -0
- package/dist/domains/comet-classic/index.d.ts.map +1 -0
- package/dist/domains/comet-classic/index.js +20 -0
- package/dist/domains/comet-classic/index.js.map +1 -0
- package/dist/domains/dashboard/collector.d.ts +12 -0
- package/dist/domains/dashboard/collector.d.ts.map +1 -0
- package/dist/domains/dashboard/collector.js +475 -0
- package/dist/domains/dashboard/collector.js.map +1 -0
- package/dist/domains/dashboard/git.d.ts +8 -0
- package/dist/domains/dashboard/git.d.ts.map +1 -0
- package/dist/domains/dashboard/git.js +69 -0
- package/dist/domains/dashboard/git.js.map +1 -0
- package/dist/domains/dashboard/next-action.d.ts +17 -0
- package/dist/domains/dashboard/next-action.d.ts.map +1 -0
- package/dist/domains/dashboard/next-action.js +83 -0
- package/dist/domains/dashboard/next-action.js.map +1 -0
- package/dist/domains/dashboard/open-browser.d.ts +9 -0
- package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
- package/dist/domains/dashboard/open-browser.js +40 -0
- package/dist/domains/dashboard/open-browser.js.map +1 -0
- package/dist/domains/dashboard/risk.d.ts +24 -0
- package/dist/domains/dashboard/risk.d.ts.map +1 -0
- package/dist/domains/dashboard/risk.js +97 -0
- package/dist/domains/dashboard/risk.js.map +1 -0
- package/dist/domains/dashboard/server.d.ts +21 -0
- package/dist/domains/dashboard/server.d.ts.map +1 -0
- package/dist/domains/dashboard/server.js +149 -0
- package/dist/domains/dashboard/server.js.map +1 -0
- package/dist/domains/dashboard/task-parser.d.ts +13 -0
- package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
- package/dist/domains/dashboard/task-parser.js +82 -0
- package/dist/domains/dashboard/task-parser.js.map +1 -0
- package/dist/domains/dashboard/types.d.ts +122 -0
- package/dist/domains/dashboard/types.d.ts.map +1 -0
- package/dist/domains/dashboard/types.js +10 -0
- package/dist/domains/dashboard/types.js.map +1 -0
- package/dist/domains/dashboard/verify-parser.d.ts +18 -0
- package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
- package/dist/domains/dashboard/verify-parser.js +94 -0
- package/dist/domains/dashboard/verify-parser.js.map +1 -0
- package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
- package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
- package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
- package/dist/domains/dashboard/web/favicon.png +0 -0
- package/dist/domains/dashboard/web/index.html +16 -0
- package/dist/domains/dashboard/yaml.d.ts +13 -0
- package/dist/domains/dashboard/yaml.d.ts.map +1 -0
- package/dist/domains/dashboard/yaml.js +61 -0
- package/dist/domains/dashboard/yaml.js.map +1 -0
- package/dist/domains/engine/evals.d.ts +4 -0
- package/dist/domains/engine/evals.d.ts.map +1 -0
- package/dist/domains/engine/evals.js +25 -0
- package/dist/domains/engine/evals.js.map +1 -0
- package/dist/domains/engine/guardrails.d.ts +10 -0
- package/dist/domains/engine/guardrails.d.ts.map +1 -0
- package/dist/domains/engine/guardrails.js +25 -0
- package/dist/domains/engine/guardrails.js.map +1 -0
- package/dist/domains/engine/loop.d.ts +15 -0
- package/dist/domains/engine/loop.d.ts.map +1 -0
- package/dist/domains/engine/loop.js +126 -0
- package/dist/domains/engine/loop.js.map +1 -0
- package/dist/domains/engine/manual-run.d.ts +30 -0
- package/dist/domains/engine/manual-run.d.ts.map +1 -0
- package/dist/domains/engine/manual-run.js +184 -0
- package/dist/domains/engine/manual-run.js.map +1 -0
- package/dist/domains/engine/resolver.d.ts +20 -0
- package/dist/domains/engine/resolver.d.ts.map +1 -0
- package/dist/domains/engine/resolver.js +36 -0
- package/dist/domains/engine/resolver.js.map +1 -0
- package/dist/domains/engine/run-store.d.ts +13 -0
- package/dist/domains/engine/run-store.d.ts.map +1 -0
- package/dist/domains/engine/run-store.js +100 -0
- package/dist/domains/engine/run-store.js.map +1 -0
- package/dist/domains/engine/runtime-types.d.ts +11 -0
- package/dist/domains/engine/runtime-types.d.ts.map +1 -0
- package/dist/domains/engine/runtime-types.js +2 -0
- package/dist/domains/engine/runtime-types.js.map +1 -0
- package/dist/domains/engine/standalone-run.d.ts +13 -0
- package/dist/domains/engine/standalone-run.d.ts.map +1 -0
- package/dist/domains/engine/standalone-run.js +27 -0
- package/dist/domains/engine/standalone-run.js.map +1 -0
- package/dist/domains/engine/state.d.ts +10 -0
- package/dist/domains/engine/state.d.ts.map +1 -0
- package/dist/domains/engine/state.js +160 -0
- package/dist/domains/engine/state.js.map +1 -0
- package/dist/domains/engine/types.d.ts +51 -0
- package/dist/domains/engine/types.d.ts.map +1 -0
- package/dist/domains/engine/types.js +2 -0
- package/dist/domains/engine/types.js.map +1 -0
- package/dist/domains/eval/index.d.ts +7 -0
- package/dist/domains/eval/index.d.ts.map +1 -0
- package/dist/domains/eval/index.js +11 -0
- package/dist/domains/eval/index.js.map +1 -0
- package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
- package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
- package/dist/domains/eval/repository-benchmarks.js +10 -0
- package/dist/domains/eval/repository-benchmarks.js.map +1 -0
- package/dist/domains/factory/artifacts.d.ts +53 -0
- package/dist/domains/factory/artifacts.d.ts.map +1 -0
- package/dist/domains/factory/artifacts.js +8 -0
- package/dist/domains/factory/artifacts.js.map +1 -0
- package/dist/domains/factory/package.d.ts +7 -0
- package/dist/domains/factory/package.d.ts.map +1 -0
- package/dist/domains/factory/package.js +1511 -0
- package/dist/domains/factory/package.js.map +1 -0
- package/dist/domains/factory/types.d.ts +127 -0
- package/dist/domains/factory/types.d.ts.map +1 -0
- package/dist/domains/factory/types.js +2 -0
- package/dist/domains/factory/types.js.map +1 -0
- package/dist/domains/integrations/codegraph.d.ts +6 -0
- package/dist/domains/integrations/codegraph.d.ts.map +1 -0
- package/dist/domains/integrations/codegraph.js +118 -0
- package/dist/domains/integrations/codegraph.js.map +1 -0
- package/dist/domains/integrations/openspec.d.ts +18 -0
- package/dist/domains/integrations/openspec.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/openspec.js +114 -31
- package/dist/domains/integrations/openspec.js.map +1 -0
- package/dist/domains/integrations/superpowers.d.ts +21 -0
- package/dist/domains/integrations/superpowers.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/superpowers.js +63 -14
- package/dist/domains/integrations/superpowers.js.map +1 -0
- package/dist/domains/skill/discovery.d.ts +17 -0
- package/dist/domains/skill/discovery.d.ts.map +1 -0
- package/dist/domains/skill/discovery.js +80 -0
- package/dist/domains/skill/discovery.js.map +1 -0
- package/dist/domains/skill/find.d.ts +41 -0
- package/dist/domains/skill/find.d.ts.map +1 -0
- package/dist/domains/skill/find.js +251 -0
- package/dist/domains/skill/find.js.map +1 -0
- package/dist/domains/skill/install.d.ts +11 -0
- package/dist/domains/skill/install.d.ts.map +1 -0
- package/dist/domains/skill/install.js +82 -0
- package/dist/domains/skill/install.js.map +1 -0
- package/dist/domains/skill/inventory.d.ts +19 -0
- package/dist/domains/skill/inventory.d.ts.map +1 -0
- package/dist/domains/skill/inventory.js +64 -0
- package/dist/domains/skill/inventory.js.map +1 -0
- package/dist/domains/skill/languages.d.ts +19 -0
- package/dist/domains/skill/languages.d.ts.map +1 -0
- package/dist/domains/skill/languages.js +21 -0
- package/dist/domains/skill/languages.js.map +1 -0
- package/dist/domains/skill/load.d.ts +5 -0
- package/dist/domains/skill/load.d.ts.map +1 -0
- package/dist/domains/skill/load.js +313 -0
- package/dist/domains/skill/load.js.map +1 -0
- package/dist/domains/skill/platform-install.d.ts +87 -0
- package/dist/domains/skill/platform-install.d.ts.map +1 -0
- package/dist/{core/skills.js → domains/skill/platform-install.js} +242 -42
- package/dist/domains/skill/platform-install.js.map +1 -0
- package/dist/domains/skill/preferences.d.ts +42 -0
- package/dist/domains/skill/preferences.d.ts.map +1 -0
- package/dist/domains/skill/preferences.js +118 -0
- package/dist/domains/skill/preferences.js.map +1 -0
- package/dist/domains/skill/snapshot.d.ts +8 -0
- package/dist/domains/skill/snapshot.d.ts.map +1 -0
- package/dist/domains/skill/snapshot.js +184 -0
- package/dist/domains/skill/snapshot.js.map +1 -0
- package/dist/domains/skill/types.d.ts +85 -0
- package/dist/domains/skill/types.d.ts.map +1 -0
- package/dist/domains/skill/types.js +2 -0
- package/dist/{core → domains/skill}/types.js.map +1 -1
- package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
- package/dist/domains/skill/uninstall.d.ts.map +1 -0
- package/dist/{core → domains/skill}/uninstall.js +15 -66
- package/dist/domains/skill/uninstall.js.map +1 -0
- package/dist/domains/skill/validate.d.ts +3 -0
- package/dist/domains/skill/validate.d.ts.map +1 -0
- package/dist/domains/skill/validate.js +81 -0
- package/dist/domains/skill/validate.js.map +1 -0
- package/dist/domains/workflow-contract/builtins.d.ts +8 -0
- package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
- package/dist/domains/workflow-contract/builtins.js +229 -0
- package/dist/domains/workflow-contract/builtins.js.map +1 -0
- package/dist/domains/workflow-contract/hash.d.ts +3 -0
- package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
- package/dist/domains/workflow-contract/hash.js +16 -0
- package/dist/domains/workflow-contract/hash.js.map +1 -0
- package/dist/domains/workflow-contract/index.d.ts +6 -0
- package/dist/domains/workflow-contract/index.d.ts.map +1 -0
- package/dist/domains/workflow-contract/index.js +5 -0
- package/dist/domains/workflow-contract/index.js.map +1 -0
- package/dist/domains/workflow-contract/normalize.d.ts +3 -0
- package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
- package/dist/domains/workflow-contract/normalize.js +146 -0
- package/dist/domains/workflow-contract/normalize.js.map +1 -0
- package/dist/domains/workflow-contract/types.d.ts +128 -0
- package/dist/domains/workflow-contract/types.d.ts.map +1 -0
- package/dist/domains/workflow-contract/types.js +2 -0
- package/dist/domains/workflow-contract/types.js.map +1 -0
- package/dist/domains/workflow-contract/validation.d.ts +3 -0
- package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
- package/dist/domains/workflow-contract/validation.js +180 -0
- package/dist/domains/workflow-contract/validation.js.map +1 -0
- package/dist/platform/fs/file-system.d.ts.map +1 -0
- package/dist/platform/fs/file-system.js.map +1 -0
- package/dist/{core → platform/install}/detect.d.ts +6 -1
- package/dist/platform/install/detect.d.ts.map +1 -0
- package/dist/{core → platform/install}/detect.js +32 -14
- package/dist/platform/install/detect.js.map +1 -0
- package/dist/platform/install/platforms.d.ts.map +1 -0
- package/dist/{core → platform/install}/platforms.js +41 -0
- package/dist/platform/install/platforms.js.map +1 -0
- package/dist/platform/install/types.d.ts +3 -0
- package/dist/platform/install/types.d.ts.map +1 -0
- package/dist/platform/install/types.js +2 -0
- package/dist/platform/install/types.js.map +1 -0
- package/dist/platform/paths/repository-layout.d.ts +22 -0
- package/dist/platform/paths/repository-layout.d.ts.map +1 -0
- package/dist/platform/paths/repository-layout.js +11 -0
- package/dist/platform/paths/repository-layout.js.map +1 -0
- package/dist/platform/process/command-error.d.ts.map +1 -0
- package/dist/platform/process/command-error.js.map +1 -0
- package/dist/platform/process/shell-quote.d.ts +22 -0
- package/dist/platform/process/shell-quote.d.ts.map +1 -0
- package/dist/platform/process/shell-quote.js +34 -0
- package/dist/platform/process/shell-quote.js.map +1 -0
- package/dist/platform/version/version.d.ts.map +1 -0
- package/dist/{core → platform/version}/version.js +16 -3
- package/dist/platform/version/version.js.map +1 -0
- package/package.json +40 -14
- package/assets/skills/comet/scripts/comet-archive.sh +0 -311
- package/assets/skills/comet/scripts/comet-env.sh +0 -110
- package/assets/skills/comet/scripts/comet-guard.sh +0 -752
- package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
- package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -260
- package/assets/skills/comet/scripts/comet-state.sh +0 -1245
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -223
- package/dist/cli/index.js +0 -83
- package/dist/cli/index.js.map +0 -1
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -300
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -108
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js.map +0 -1
- package/dist/core/codegraph.d.ts +0 -4
- package/dist/core/codegraph.d.ts.map +0 -1
- package/dist/core/codegraph.js +0 -63
- package/dist/core/codegraph.js.map +0 -1
- package/dist/core/command-error.d.ts.map +0 -1
- package/dist/core/command-error.js.map +0 -1
- package/dist/core/detect.d.ts.map +0 -1
- package/dist/core/detect.js.map +0 -1
- package/dist/core/openspec.d.ts +0 -11
- package/dist/core/openspec.d.ts.map +0 -1
- package/dist/core/openspec.js.map +0 -1
- package/dist/core/platforms.d.ts.map +0 -1
- package/dist/core/platforms.js.map +0 -1
- package/dist/core/skills.d.ts +0 -58
- package/dist/core/skills.d.ts.map +0 -1
- package/dist/core/skills.js.map +0 -1
- package/dist/core/superpowers.d.ts +0 -13
- package/dist/core/superpowers.d.ts.map +0 -1
- package/dist/core/superpowers.js.map +0 -1
- package/dist/core/types.d.ts +0 -2
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/uninstall.d.ts.map +0 -1
- package/dist/core/uninstall.js.map +0 -1
- package/dist/core/version.d.ts.map +0 -1
- package/dist/core/version.js.map +0 -1
- package/dist/utils/file-system.d.ts.map +0 -1
- package/dist/utils/file-system.js.map +0 -1
- /package/dist/{cli → app/cli}/index.d.ts +0 -0
- /package/dist/{commands → app/commands}/status.d.ts +0 -0
- /package/dist/{core → domains/bundle}/types.js +0 -0
- /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
- /package/dist/{utils → platform/fs}/file-system.js +0 -0
- /package/dist/{core → platform/install}/platforms.d.ts +0 -0
- /package/dist/{core → platform/process}/command-error.d.ts +0 -0
- /package/dist/{core → platform/process}/command-error.js +0 -0
- /package/dist/{core → platform/version}/version.d.ts +0 -0
- /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Bundle Authoring 参考
|
|
2
|
+
|
|
3
|
+
`comet creator` 是 `/comet-any` 的普通 CLI 表面,背后复用 `comet bundle` 的确定性后端。普通用户不需要记忆 Bundle 子命令;Skill Creator 负责把用户确认的 Workflow Contract 写成 plan,再调用 CLI 维护状态。
|
|
4
|
+
|
|
5
|
+
## Workflow Contract 输入
|
|
6
|
+
|
|
7
|
+
新的 `plan.json` 使用 `workflow` 作为主输入:
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"goal": "基于 Comet 现有 Skill 的五阶段定制,要求组件库和白盒审查。",
|
|
12
|
+
"skillCreatorIntent": "customize-comet",
|
|
13
|
+
"workflow": {
|
|
14
|
+
"kind": "comet-five-phase-overlay",
|
|
15
|
+
"name": "team-comet",
|
|
16
|
+
"goal": "要求组件库和白盒审查。",
|
|
17
|
+
"nodes": {
|
|
18
|
+
"execute": {
|
|
19
|
+
"requiredSkillCalls": [
|
|
20
|
+
{
|
|
21
|
+
"skill": "elementui",
|
|
22
|
+
"reason": "Use project component library during direct implementation."
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"subagent-execute": {
|
|
27
|
+
"requiredSkillCalls": [
|
|
28
|
+
{
|
|
29
|
+
"skill": "elementui",
|
|
30
|
+
"scope": "handoff"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"review": {
|
|
35
|
+
"requiredSkillCalls": [
|
|
36
|
+
{
|
|
37
|
+
"skill": "whitebox-code-standard",
|
|
38
|
+
"scope": "review"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"engineMode": "deterministic",
|
|
45
|
+
"runnerMode": "standalone"
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
字段约定:
|
|
50
|
+
|
|
51
|
+
- `workflow.kind`: `comet-five-phase-overlay` 或 `workflow-kernel`。
|
|
52
|
+
- `workflow.nodes`: 按 Node id 覆盖或增强 Workflow Node。
|
|
53
|
+
- `implementation`: 替换 Node implementation。只能用于允许 override 的 Node。
|
|
54
|
+
- `requiredSkillCalls`: Required Skill Call,要求 Node 内必须调用 Skill。
|
|
55
|
+
- `augmentations`: 增强 Node,不替换主 implementation。每个新增 binding 或 schema 都必须声明 enforcement:`guarded`、`handoff-guarded`、`evidence-only` 或 `advisory`。
|
|
56
|
+
- `satisfies`: producer override 满足的 Output Schema id。
|
|
57
|
+
- `outputSchemas`: 高级 `workflow-kernel` 可以声明自定义 Output Schema。Output Schema 必须挂到具体 Workflow Node 才算生效;只定义在 `workflow.outputSchemas` 里不会触发 guard、eval 或 readiness。
|
|
58
|
+
- `customNodes[].responsibility`: 自定义 Node 必须声明它在 Agent workflow 中承担的职责。
|
|
59
|
+
- `customNodes[].requiredSkillCalls`: 自定义 Node 可直接声明必须调用的 Skill,生成脚本会按 evidence 阻断。
|
|
60
|
+
|
|
61
|
+
## 内置 Comet Nodes
|
|
62
|
+
|
|
63
|
+
`comet-five-phase-overlay` 内置这些 Workflow Node:
|
|
64
|
+
|
|
65
|
+
- `comet-five-phase-overlay` 的主状态只来自 `openspec/changes/<name>/.comet.yaml`;没有 active change 或多个 active changes 时必须阻塞并请用户选择。
|
|
66
|
+
- 不得创建 `.comet/runs/<workflow>/state.json` 作为 Comet overlay 主状态;overlay 脚本只能读取并推进 `.comet.yaml`,其他文件只能作为 draft、eval 或 publish evidence。
|
|
67
|
+
- `open`: control,保留 Comet intake 和 `.comet.yaml` 初始化。
|
|
68
|
+
- `design`: producer,可 override,但必须满足 `comet.design.v1`。
|
|
69
|
+
- `plan`: producer,可 override,但必须满足 `comet.plan.v1`。
|
|
70
|
+
- `execute`: control,可 require / augment,例如要求 `elementui`。
|
|
71
|
+
- `subagent-execute`: Handoff,可要求子代理使用 `elementui` 并回传 evidence。
|
|
72
|
+
- `review`: Guardrail,可要求 `whitebox-code-standard`。
|
|
73
|
+
- `verify`: control,保留验证和分支收尾。
|
|
74
|
+
- `archive`: control,保留 OpenSpec archive 和 delta sync。
|
|
75
|
+
|
|
76
|
+
自定义 `workflow-kernel` Node 示例:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"id": "delegate-notes",
|
|
81
|
+
"label": "Delegate Notes",
|
|
82
|
+
"kind": "handoff",
|
|
83
|
+
"responsibility": "Delegate release note drafting and require returned evidence.",
|
|
84
|
+
"implementation": {
|
|
85
|
+
"skill": "handoff-coordinator",
|
|
86
|
+
"scope": "handoff"
|
|
87
|
+
},
|
|
88
|
+
"requiredSkillCalls": [
|
|
89
|
+
{
|
|
90
|
+
"skill": "release-notes",
|
|
91
|
+
"scope": "handoff"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"operations": ["require", "augment"],
|
|
95
|
+
"outputSchemas": ["release.notes.v1"],
|
|
96
|
+
"guardrails": [
|
|
97
|
+
{
|
|
98
|
+
"id": "handoff-returned",
|
|
99
|
+
"label": "Handoff returned evidence",
|
|
100
|
+
"validation": "semantic"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## 生成物
|
|
107
|
+
|
|
108
|
+
Factory 必须生成:
|
|
109
|
+
|
|
110
|
+
- entry `SKILL.md`
|
|
111
|
+
- 每个 Workflow Node 对应的 internal Skill
|
|
112
|
+
- `reference/workflow-protocol.json`
|
|
113
|
+
- `reference/resolved-skills.json`
|
|
114
|
+
- `reference/decision-points.md`
|
|
115
|
+
- `reference/recovery.md`
|
|
116
|
+
- `reference/authoring-lanes.json`
|
|
117
|
+
- `reference/skill-review.md`
|
|
118
|
+
- `scripts/workflow-state.mjs`
|
|
119
|
+
- `scripts/workflow-guard.mjs`
|
|
120
|
+
- `scripts/workflow-handoff.mjs`
|
|
121
|
+
- `scripts/comet-plan.mjs`
|
|
122
|
+
- `scripts/comet-check.mjs`
|
|
123
|
+
- `scripts/comet-hook-guard.mjs`
|
|
124
|
+
- `comet/eval.yaml`
|
|
125
|
+
|
|
126
|
+
三个 `workflow-*.mjs` 按 workflow 契约创作;三个 `comet-*.mjs` 由 factory 确定性生成(plan 别名、必需文件检查、hook guard),同样读取 `workflow-protocol.json`。
|
|
127
|
+
|
|
128
|
+
`workflow-protocol.json` 是 runtime、eval、review、publish readiness 的共同事实源。
|
|
129
|
+
|
|
130
|
+
## CLI 生命周期
|
|
131
|
+
|
|
132
|
+
常用 Creator 命令:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
comet creator guide --project . --json
|
|
136
|
+
comet creator candidates --json
|
|
137
|
+
comet creator propose <name> --file <plan.json> --json
|
|
138
|
+
comet creator init <name> --file <plan.json> --confirmed-proposal --json
|
|
139
|
+
comet creator resolve <name> --candidate <query> --source <root-or-hash> --json
|
|
140
|
+
comet creator generate <name> --json
|
|
141
|
+
comet bundle compile <name> --platform <id> --json
|
|
142
|
+
comet eval <generated-skill>/comet/eval.yaml --quick --html
|
|
143
|
+
comet eval <generated-skill>/comet/eval.yaml --full --html
|
|
144
|
+
comet publish review <name> --platform <reference-platform> --json
|
|
145
|
+
comet publish approve <name> --reviewer <reviewer> --json
|
|
146
|
+
comet publish run <name> --platform <reference-platform> --json
|
|
147
|
+
comet publish distribute <name> --platform <id> --scope project --preview --json
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
`<generated-skill>` 是 compile 后生成 Skill 的目录。eval 结果必须登记为当前 draft hash 的 eval evidence;readiness 只读取该 hash 对应的证据,旧 hash 证据只能保留作审计,不能推进 ready。
|
|
151
|
+
|
|
152
|
+
## Readiness
|
|
153
|
+
|
|
154
|
+
readiness 必须检查:
|
|
155
|
+
|
|
156
|
+
- resolved Skills 无 missing / ambiguous。
|
|
157
|
+
- proposal 已确认。
|
|
158
|
+
- `workflow-protocol.json` 可加载。
|
|
159
|
+
- control Node 没有普通 override。
|
|
160
|
+
- producer override 满足 Output Schema。
|
|
161
|
+
- 每个新增 binding 或 schema 都有 `guarded`、`handoff-guarded`、`evidence-only` 或 `advisory` enforcement。
|
|
162
|
+
- 当前 draft hash 的 eval evidence 已存在且未过期。
|
|
163
|
+
- 人工 review 已批准当前 hash。
|
|
164
|
+
- capability gap 和 executable disclosure 已展示。
|
|
165
|
+
|
|
166
|
+
非 JSON 输出也必须向用户展示 `Readiness:`、`Blockers:`、`Warnings:`、`Evidence:`。
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Eval Evidence 参考
|
|
2
|
+
|
|
3
|
+
## Eval 选择
|
|
4
|
+
|
|
5
|
+
在任何验证动作前,必须展示:
|
|
6
|
+
|
|
7
|
+
- `quick` 的预计运行次数、覆盖组件和 token 消耗。
|
|
8
|
+
- `full` 的预计运行次数、覆盖组件和 token 消耗。
|
|
9
|
+
- `skip / quick / full eval` 三个选择。
|
|
10
|
+
|
|
11
|
+
skip、eval 失败或证据 hash 过期时不得进入 ready;也不得 publish 或 distribute。
|
|
12
|
+
|
|
13
|
+
普通用户的验证路径保持单一:日常评估统一走 `comet eval`。`/comet-any` 可以在内部登记 eval evidence,但不要把内部登记步骤包装成面向普通用户的替代命令。对普通用户,解释时优先使用“验证”,不要把 `Publish readiness:` 当成第一层概念。
|
|
14
|
+
|
|
15
|
+
## 结果记录
|
|
16
|
+
|
|
17
|
+
eval evidence 必须输出结构化 JSON,至少包含:
|
|
18
|
+
|
|
19
|
+
- 当前 draft hash。
|
|
20
|
+
- 覆盖的 entry Skill 和 internal Node Skill。
|
|
21
|
+
- `workflow-protocol.json` hash。
|
|
22
|
+
- quick 或 full 的选择、token 消耗和结果摘要。
|
|
23
|
+
- Bundle 编译、安全检查和 capability evidence。
|
|
24
|
+
|
|
25
|
+
只有当前 draft hash 的 eval evidence 可以推进状态。旧 hash 证据可以保留在磁盘用于审计,但不能让当前 draft 进入 ready。
|
|
26
|
+
|
|
27
|
+
## 人工评审
|
|
28
|
+
|
|
29
|
+
eval 通过后仍必须人工批准。评审摘要至少包含:
|
|
30
|
+
|
|
31
|
+
先运行 `comet publish review <name> --platform <reference-platform> --json`,再基于其输出展示:
|
|
32
|
+
|
|
33
|
+
- Bundle 名称、版本、hash。
|
|
34
|
+
- 多个 entry 与 internal Skill 列表。
|
|
35
|
+
- `planHash`、`preferenceHash` 与 `reference/resolved-skills.json` 真实 Skill 证据,包括项目级偏好模式、required Skill、`sourceSummaries` 与“整理后的工作方式”摘要。
|
|
36
|
+
- 推荐调用顺序与 `preferenceIndex`。
|
|
37
|
+
- 偏离偏好顺序的项和原因。
|
|
38
|
+
- `.comet/skill-preferences.yaml` 是否在 Factory 初始化后发生漂移;`advisory` 模式给出 warning,`strict` 模式阻塞。
|
|
39
|
+
- 稳定组合 Skill Bundle 的 required capability set(必需能力集合)`skills/scripts/rules/hooks/references` 是否声明完整,且 `scripts/rules/hooks` 是否继续作为 required control plane。
|
|
40
|
+
- 是否生成 `comet/skill.yaml`、`comet/guardrails.yaml`、`comet/checks.yaml` 与 `comet/eval.yaml`。
|
|
41
|
+
- `hooks/*.yaml` 是否仅被当作 portable hook descriptor,等待 `comet publish distribute` 编译到目标平台。
|
|
42
|
+
- 能力缺口和可执行披露。
|
|
43
|
+
- eval 选择、token 消耗和结果摘要。
|
|
44
|
+
- `Validate this Skill` 与下一步提示,让用户知道 readiness 为什么可发布或被阻塞。
|
|
45
|
+
|
|
46
|
+
readiness blockers 会阻止 publish。只要存在当前 draft hash 的 eval evidence 缺失、人工 approval 缺失、required capability gap 或 executable disclosure 未确认,就必须停在评审阶段,不能继续发布。
|
|
47
|
+
|
|
48
|
+
只有用户显式批准后,才能运行 `comet publish approve` 并发布。
|
|
49
|
+
|
|
50
|
+
## 分发预览
|
|
51
|
+
|
|
52
|
+
执行真实分发前,必须先跑 preview:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
comet publish distribute <name> --platform <id> --scope project --preview --json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
preview 是强制检查,不是可选附加项。它应向用户展示:
|
|
59
|
+
|
|
60
|
+
- `Install preview`
|
|
61
|
+
- planned files
|
|
62
|
+
- unsupported capability
|
|
63
|
+
- executable disclosures
|
|
64
|
+
- `No files were written`
|
|
65
|
+
|
|
66
|
+
只有当用户确认 preview 结果后,才可以移除 `--preview` 执行真实分发。
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# 停顿点作者 subagent
|
|
2
|
+
|
|
3
|
+
本文件是 portable lane brief,不是 platform-native custom agent;如需 Claude Code custom agent,必须另行生成平台 agent 资源和 frontmatter。
|
|
4
|
+
|
|
5
|
+
## 职责
|
|
6
|
+
|
|
7
|
+
设计用户在 Skill 中必须停顿选择的位置,以及跨设备断点恢复方式。停顿点必须是明确的用户选择,
|
|
8
|
+
不能被默认推荐、历史偏好或自动推进绕过。
|
|
9
|
+
|
|
10
|
+
必须覆盖:
|
|
11
|
+
|
|
12
|
+
- `reference/decision-points.md`
|
|
13
|
+
- `reference/recovery.md`
|
|
14
|
+
|
|
15
|
+
## 输入
|
|
16
|
+
|
|
17
|
+
读取主会话提供的通用输入,尤其关注:
|
|
18
|
+
|
|
19
|
+
- Skill Creator 方案确认页中的 `confirm-generate`、`revise-proposal`、`cancel`。
|
|
20
|
+
- eval 工作量选择 `skip / quick / full eval`,以及当前 draft hash 的 eval evidence 缺失或过期时的阻塞恢复。
|
|
21
|
+
- 安装前人工批准。
|
|
22
|
+
- unresolved、ambiguous、capability gap、executable disclosure 等阻塞点。
|
|
23
|
+
- runner 恢复状态和跨设备恢复入口。
|
|
24
|
+
|
|
25
|
+
使用文件交接:主会话提供路径,不粘贴大段全文。不要继承主会话历史;只使用本 brief、通用输入、
|
|
26
|
+
workflow protocol 和已有草稿。
|
|
27
|
+
|
|
28
|
+
## 派发模板
|
|
29
|
+
|
|
30
|
+
主会话派发时使用当前平台的 subagent 机制,形状应包含:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
description: "设计 <bundle-name> 的用户停顿点和恢复"
|
|
34
|
+
model: <必须显式指定 model>
|
|
35
|
+
prompt:
|
|
36
|
+
你是停顿点作者 subagent。
|
|
37
|
+
先读取本 brief、通用输入路径、workflow protocol 路径、Skill 草稿路径和报告文件路径。
|
|
38
|
+
开始前先提出问题:如果用户选择项、阻塞恢复或跨设备状态不清楚,先返回 NEEDS_CONTEXT。
|
|
39
|
+
不要猜测或自行补全缺失停顿点。
|
|
40
|
+
只产出 decision-points 和 recovery 草稿,不写 Bundle state,不执行候选脚本。
|
|
41
|
+
把完整停顿点草稿写入报告文件路径,并只返回 15 行以内状态摘要。
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 输出要求
|
|
45
|
+
|
|
46
|
+
返回停顿点草稿,说明:
|
|
47
|
+
|
|
48
|
+
- 每个停顿点的触发条件。
|
|
49
|
+
- 用户可选择项。
|
|
50
|
+
- 每个选择会进入哪个阶段。
|
|
51
|
+
- 停顿点证据写入哪里。
|
|
52
|
+
- 恢复时如何显示当前阶段、阻塞原因、建议下一步和可选项。
|
|
53
|
+
|
|
54
|
+
停顿点必须适配当前 workflow protocol,不得只列 Comet 原始停顿点。
|
|
55
|
+
|
|
56
|
+
## 自检
|
|
57
|
+
|
|
58
|
+
返回前逐项检查:
|
|
59
|
+
|
|
60
|
+
- 每个用户停顿点都有触发条件、选项、下一阶段和证据位置。
|
|
61
|
+
- 默认推荐、历史偏好和自动推进都不能绕过必须停顿点。
|
|
62
|
+
- 恢复摘要能显示当前阶段、阻塞原因、建议下一步和可选项。
|
|
63
|
+
- 跨设备恢复不依赖当前会话记忆。
|
|
64
|
+
- 停顿点适配当前组合 Skill,不只是照列 Comet 原始停顿点。
|
|
65
|
+
|
|
66
|
+
## 必须返回的 claim
|
|
67
|
+
|
|
68
|
+
- `pause:decision-points`
|
|
69
|
+
- `pause:recovery`
|
|
70
|
+
|
|
71
|
+
缺少任一 claim 时,Skill 审查必须阻塞。
|
|
72
|
+
|
|
73
|
+
## 状态返回
|
|
74
|
+
|
|
75
|
+
状态必须是 `DONE`、`DONE_WITH_CONCERNS`、`NEEDS_CONTEXT`、`BLOCKED`。
|
|
76
|
+
|
|
77
|
+
完整报告写入报告文件路径。返回给主会话的摘要只返回 15 行以内状态摘要,包含状态、报告文件路径、
|
|
78
|
+
claim 列表、未解决疑虑和恢复风险。若状态是 `BLOCKED` 或 `NEEDS_CONTEXT`,必须直接说明缺什么上下文、
|
|
79
|
+
尝试过什么、需要主会话如何处理。
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# reference 作者 subagent
|
|
2
|
+
|
|
3
|
+
本文件是 portable lane brief,不是 platform-native custom agent;如需 Claude Code custom agent,必须另行生成平台 agent 资源和 frontmatter。
|
|
4
|
+
|
|
5
|
+
## 职责
|
|
6
|
+
|
|
7
|
+
编写和整理候选 Skill 的 reference 层,让审计、恢复、评审和后续维护有真实依据。
|
|
8
|
+
reference 层承载证据,不把内部审计内容塞进用户可见 `SKILL.md`。
|
|
9
|
+
|
|
10
|
+
必须覆盖:
|
|
11
|
+
|
|
12
|
+
- `reference/workflow-protocol.json`
|
|
13
|
+
- `reference/resolved-skills.json`
|
|
14
|
+
- `reference/composition-report.md`
|
|
15
|
+
- `reference/authoring-lanes.json`
|
|
16
|
+
|
|
17
|
+
## 输入
|
|
18
|
+
|
|
19
|
+
读取主会话提供的通用输入,尤其关注:
|
|
20
|
+
|
|
21
|
+
- resolved Skill 的名称、来源、description、hash、reference、rules、scripts、hooks。
|
|
22
|
+
- `sourceSummaries`,必须来自真实 `SKILL.md` 正文和直接 reference。
|
|
23
|
+
- 项目级偏好、缺失/歧义候选处理、偏离原因和可执行披露。
|
|
24
|
+
- `/comet` 定制时保留的五阶段语义。
|
|
25
|
+
|
|
26
|
+
使用文件交接:主会话提供路径,不粘贴大段全文。不要读取主会话历史,也不要把来源 Skill 原文整段搬进
|
|
27
|
+
reference。
|
|
28
|
+
|
|
29
|
+
## 派发模板
|
|
30
|
+
|
|
31
|
+
主会话派发时使用当前平台的 subagent 机制,形状应包含:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
description: "整理 <bundle-name> 的 reference 证据"
|
|
35
|
+
model: <必须显式指定 model>
|
|
36
|
+
prompt:
|
|
37
|
+
你是 reference 作者 subagent。
|
|
38
|
+
先读取本 brief、通用输入路径、resolved skills 路径、workflow protocol 路径和报告文件路径。
|
|
39
|
+
开始前先提出问题:如果来源证据、hash、偏好决策或可执行披露不清楚,先返回 NEEDS_CONTEXT。
|
|
40
|
+
不要猜测或自行补全缺失来源。
|
|
41
|
+
只产出 reference 草稿和 claims,不写 Bundle state,不执行候选脚本。
|
|
42
|
+
把完整 reference 草稿写入报告文件路径,并只返回 15 行以内状态摘要。
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 输出要求
|
|
46
|
+
|
|
47
|
+
返回 reference 草稿,说明:
|
|
48
|
+
|
|
49
|
+
- workflow protocol 中每个阶段的目标、守卫、下一阶段条件和恢复点。
|
|
50
|
+
- resolved Skill 证据如何支持组合流程。
|
|
51
|
+
- 组合与用户偏好哪里一致、哪里偏离、为什么偏离。
|
|
52
|
+
- 哪些内容属于用户可见流程,哪些内容只保留在 reference 审计层。
|
|
53
|
+
|
|
54
|
+
不要把 reference 写成原 Skill 的复制粘贴;必须提炼为组合 Skill 可用的证据和协议。
|
|
55
|
+
|
|
56
|
+
## 自检
|
|
57
|
+
|
|
58
|
+
返回前逐项检查:
|
|
59
|
+
|
|
60
|
+
- 每个 source summary 都能追溯到真实 `SKILL.md` 或直接 reference。
|
|
61
|
+
- workflow protocol 能解释阶段目标、守卫、自动推进和恢复。
|
|
62
|
+
- 偏好、缺失、歧义、偏离和可执行披露都有记录。
|
|
63
|
+
- 用户可见流程和内部审计内容边界清楚。
|
|
64
|
+
- 没有把原 Skill 全文复制进 reference。
|
|
65
|
+
|
|
66
|
+
## 必须返回的 claim
|
|
67
|
+
|
|
68
|
+
- `reference:workflow-protocol`
|
|
69
|
+
- `reference:resolved-skills`
|
|
70
|
+
- `reference:composition-report`
|
|
71
|
+
- `reference:authoring-lanes`
|
|
72
|
+
|
|
73
|
+
缺少任一 claim 时,Skill 审查必须阻塞。
|
|
74
|
+
|
|
75
|
+
## 状态返回
|
|
76
|
+
|
|
77
|
+
状态必须是 `DONE`、`DONE_WITH_CONCERNS`、`NEEDS_CONTEXT`、`BLOCKED`。
|
|
78
|
+
|
|
79
|
+
完整报告写入报告文件路径。返回给主会话的摘要只返回 15 行以内状态摘要,包含状态、报告文件路径、
|
|
80
|
+
claim 列表、证据缺口和疑虑。若状态是 `BLOCKED` 或 `NEEDS_CONTEXT`,必须直接说明缺什么来源、
|
|
81
|
+
尝试过什么、需要主会话如何处理。
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# 脚本作者 subagent
|
|
2
|
+
|
|
3
|
+
本文件是 portable lane brief,不是 platform-native custom agent;如需 Claude Code custom agent,必须另行生成平台 agent 资源和 frontmatter。
|
|
4
|
+
|
|
5
|
+
## 职责
|
|
6
|
+
|
|
7
|
+
设计候选 Skill 的脚本契约,而不是复制 Comet Classic 的脚本。脚本必须根据当前 workflow protocol、
|
|
8
|
+
用户选择的阶段名和组合 Skill 的真实产物,定义自动推进、退出检查、断点恢复和证据记录。
|
|
9
|
+
|
|
10
|
+
必须覆盖:
|
|
11
|
+
|
|
12
|
+
- `scripts/workflow-state.mjs`
|
|
13
|
+
- `scripts/workflow-guard.mjs`
|
|
14
|
+
- `scripts/workflow-handoff.mjs`
|
|
15
|
+
|
|
16
|
+
factory 还会从同一份 `workflow-protocol.json` 确定性生成 `scripts/comet-plan.mjs`、`scripts/comet-check.mjs`、`scripts/comet-hook-guard.mjs`。不要重复设计这三个脚本;你的契约只针对 skill-core 作者与 entry 作者引用的 `workflow-*.mjs`。
|
|
17
|
+
|
|
18
|
+
## 输入
|
|
19
|
+
|
|
20
|
+
读取主会话提供的通用输入,尤其关注:
|
|
21
|
+
|
|
22
|
+
- `reference/workflow-protocol.json`
|
|
23
|
+
- `plan.json` 的 `workflow.kind`、`workflow.nodes`、`engineMode`、`runnerMode`,以及规范化后的 `workflow-protocol.json`
|
|
24
|
+
- `reference/resolved-skills.json`
|
|
25
|
+
- `/comet` 定制时的 `.comet.yaml` 受保护语义;`comet-five-phase-overlay` 的主状态只来自 `openspec/changes/<name>/.comet.yaml`,不得创建 `.comet/runs/<workflow>/state.json` 作为 Comet overlay 主状态
|
|
26
|
+
|
|
27
|
+
使用文件交接:主会话提供路径,不粘贴大段全文。不要读取主会话历史,也不要要求用户重新解释已经写入
|
|
28
|
+
artifact 的内容。
|
|
29
|
+
|
|
30
|
+
## 派发模板
|
|
31
|
+
|
|
32
|
+
主会话派发时使用当前平台的 subagent 机制,形状应包含:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
description: "编写 <bundle-name> 的脚本契约"
|
|
36
|
+
model: <必须显式指定 model>
|
|
37
|
+
prompt:
|
|
38
|
+
你是脚本作者 subagent。
|
|
39
|
+
先读取本 brief、通用输入路径、workflow protocol 路径、resolved skills 路径和报告文件路径。
|
|
40
|
+
开始前先提出问题:如果脚本边界、Node 完成条件、状态写入或恢复语义不清楚,先返回 NEEDS_CONTEXT。
|
|
41
|
+
不要猜测或自行补全缺失协议。
|
|
42
|
+
不要调用 comet bundle、comet publish、comet skill,也不要执行候选 Skill 的脚本。
|
|
43
|
+
把完整脚本契约写入报告文件路径,并只返回 15 行以内状态摘要。
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 输出要求
|
|
47
|
+
|
|
48
|
+
返回脚本契约草稿,说明每个脚本:
|
|
49
|
+
|
|
50
|
+
- 读取哪些状态。
|
|
51
|
+
- 写入哪些状态和 evidence。
|
|
52
|
+
- 对 `comet-five-phase-overlay`,如何在没有 active change 或多个 active changes 时阻塞并请用户选择。
|
|
53
|
+
- 如何判断当前阶段目标是否完成。
|
|
54
|
+
- 如何输出 `NEXT:`、`SKILL:` 和阻塞原因。
|
|
55
|
+
- 如何在阶段未完成时继续停留,而不是强制退出。
|
|
56
|
+
- 如何支持跨设备断点恢复。
|
|
57
|
+
|
|
58
|
+
退出检查必须来自当前 workflow protocol 和组合 Skill 的目标,不得照搬 Comet Classic 脚本。
|
|
59
|
+
|
|
60
|
+
## 自检
|
|
61
|
+
|
|
62
|
+
返回前逐项检查:
|
|
63
|
+
|
|
64
|
+
- 每个脚本都有输入、输出、状态读写、evidence 写入和失败行为。
|
|
65
|
+
- Node 完成条件来自 workflow protocol,而不是来自固定阶段名。
|
|
66
|
+
- `NEXT:` 和 `SKILL:` 的输出条件可被 Skill 核心作者直接引用。
|
|
67
|
+
- 跨设备恢复不依赖当前会话记忆。
|
|
68
|
+
- 没有执行候选脚本,也没有写入 Bundle state。
|
|
69
|
+
|
|
70
|
+
## 必须返回的 claim
|
|
71
|
+
|
|
72
|
+
- `script:workflow-state`
|
|
73
|
+
- `script:workflow-guard`
|
|
74
|
+
- `script:workflow-handoff`
|
|
75
|
+
|
|
76
|
+
缺少任一 claim 时,Skill 审查必须阻塞。
|
|
77
|
+
|
|
78
|
+
## 状态返回
|
|
79
|
+
|
|
80
|
+
状态必须是 `DONE`、`DONE_WITH_CONCERNS`、`NEEDS_CONTEXT`、`BLOCKED`。
|
|
81
|
+
|
|
82
|
+
完整报告写入报告文件路径。返回给主会话的摘要只返回 15 行以内状态摘要,包含状态、报告文件路径、
|
|
83
|
+
claim 列表、测试/校验说明和疑虑。若状态是 `BLOCKED` 或 `NEEDS_CONTEXT`,必须直接说明缺什么上下文、
|
|
84
|
+
尝试过什么、需要主会话如何处理。
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Skill 核心作者 subagent
|
|
2
|
+
|
|
3
|
+
本文件是 portable lane brief,不是 platform-native custom agent;如需 Claude Code custom agent,必须另行生成平台 agent 资源和 frontmatter。
|
|
4
|
+
|
|
5
|
+
## 职责
|
|
6
|
+
|
|
7
|
+
编写 internal Node Skill 的用户可见核心内容。entry Skill 由 workflow entry 作者单独负责。目标是产出 Comet-like 的多 Node workflow,
|
|
8
|
+
不得把来源 Skill 简单串联,也不复制粘贴原 Skill 全文。
|
|
9
|
+
|
|
10
|
+
必须覆盖:
|
|
11
|
+
|
|
12
|
+
- 每个 internal Node Skill
|
|
13
|
+
- `comet/skill.yaml` 中的阶段调用语义
|
|
14
|
+
- 每个 `node-skill:<skill-name>` claim
|
|
15
|
+
|
|
16
|
+
## 创作区(你写什么)
|
|
17
|
+
|
|
18
|
+
生成器把每个 Node SKILL.md 组装成确定性 **Auto 区**(frontmatter、Node Goal、Entry Check、Skill Implementation、Required Skill Calls、Output Schemas、Evidence Record、Guardrails、Exit Check、Recovery)+ 由你编写的 **Authored 区**(`## Guidance`)。**你只写 Guidance 正文,不写整个文件**。主会话通过 `comet creator authoring-record <name> --lane skill-core --file <out.json>` 记录你的产出;artifact `../<node-skill>/SKILL.md` 的 `content` 即 Guidance 正文。
|
|
19
|
+
|
|
20
|
+
质量标尺:真实的 Comet 阶段 skill(如 `comet-build/SKILL.md`);完整 substance 节点 Guidance 范例见 `reference/authored-zone-example.md`。写决策内容,不写套话。在 Guidance 内用 `###` 子标题(嵌套在 `## Guidance` 之下):
|
|
21
|
+
|
|
22
|
+
- `### Prerequisites` — 本 Node 开始前必须成立的前提。
|
|
23
|
+
- `### Steps` — 有序、领域相关的步骤;按名引用绑定的 Skill 并说明何时调用(不要复制它的正文)。
|
|
24
|
+
- `### Completion reasoning` — 本 Node 真正完成的判定(超出机械的 Exit Check),以及其中的判断取舍。
|
|
25
|
+
- `### Red flags` — 看似进展、实则不然的失败模式。
|
|
26
|
+
|
|
27
|
+
下面是"Research" substance 节点的具体摘录,展示预期深度。注意它是**决策内容**(何时停止、什么算充分、什么该拒绝),不是重述路由表或 output schema。
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
### Prerequisites
|
|
31
|
+
|
|
32
|
+
- entry 的 Decision Core 已确认研究主题与范围。
|
|
33
|
+
- `research-skill` 在项目 Skill 池中可解析;若缺失,先停下询问用户,不要临时替代。
|
|
34
|
+
|
|
35
|
+
### Steps
|
|
36
|
+
|
|
37
|
+
1. 加载 `research-skill` 并按其发现方法处理已确认主题。当项目 Skill 定义了特定来源顺序时,不要用通用网络搜索替代。
|
|
38
|
+
2. 按优先级收集来源;为每个来源记录来源、日期和你要复用的论点。不通过项目可信度门槛的来源应直接剔除,而不是标注为"偏弱"。
|
|
39
|
+
3. 把发现提炼到 `notes/*.md` 笔记文件——每条独立论点一份,含逐字引用与来源指针。综合写在 writer 节点,不在这里。
|
|
40
|
+
4. 记录 `research.notes.v1` 的 `summary` evidence:一段提炼 + 产出的笔记数量。
|
|
41
|
+
|
|
42
|
+
### Completion reasoning
|
|
43
|
+
|
|
44
|
+
本节点完成当且仅当两条同时成立:(a) 已记录 `summary` evidence;(b) 至少一个 artifact 匹配 `notes/*.md`。不要仅仅因为步骤清单走完就退出——如果相对主题范围笔记仍偏稀疏,应继续研究而非宣布完成。Exit Check 脚本会机械地强制 artifact + evidence 要求;你的职责是判断研究是否真正充分。
|
|
45
|
+
|
|
46
|
+
### Red flags
|
|
47
|
+
|
|
48
|
+
- 记录了 `summary` 却没有产出任何 `notes/*.md` 就退出(guardrail 会阻塞——不要试图绕过)。
|
|
49
|
+
- 把来源原文复制进笔记却不加引用标记或来源指针。
|
|
50
|
+
- 某来源仍"待核实"就推进到 Write 节点——核实属于本节点。
|
|
51
|
+
- 对需要多视角的主题,仅凭单一来源就认为充分。
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
节点模式(来自 protocol):
|
|
55
|
+
|
|
56
|
+
- **substance** 节点(workflow-kernel 默认):必须有富 Guidance。缺失时该节点渲染为 `AUTHORING PENDING`,Bundle 不得 ready。
|
|
57
|
+
- **delegates** 节点(comet-five-phase-overlay,委托给已安装的富 Skill):短 Guidance 注即可——富内容由被委托 Skill 承载,不要复制。
|
|
58
|
+
|
|
59
|
+
## 输入
|
|
60
|
+
|
|
61
|
+
读取主会话提供的通用输入,尤其关注:
|
|
62
|
+
|
|
63
|
+
- 用户确认的阶段名和可输入名字项。
|
|
64
|
+
- `reference/workflow-protocol.json` 的阶段目标、`requiredSkillCalls` 与自动推进条件。
|
|
65
|
+
- `reference/resolved-skills.json` 的真实 Skill 摘要。
|
|
66
|
+
- 脚本作者返回的 `NEXT:`、`SKILL:`、guard 和 recovery 契约。
|
|
67
|
+
|
|
68
|
+
使用文件交接:主会话提供路径,不粘贴大段全文。不要继承主会话历史;只使用本 brief、通用输入、
|
|
69
|
+
脚本契约和 reference 证据。
|
|
70
|
+
|
|
71
|
+
## 派发模板
|
|
72
|
+
|
|
73
|
+
主会话派发时使用当前平台的 subagent 机制,形状应包含:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
description: "编写 <bundle-name> 的 Skill 核心内容"
|
|
77
|
+
model: <必须显式指定 model>
|
|
78
|
+
prompt:
|
|
79
|
+
你是 Skill 核心作者 subagent。
|
|
80
|
+
先读取本 brief、通用输入路径、脚本契约路径、reference 证据路径和报告文件路径。
|
|
81
|
+
开始前先提出问题:如果阶段名、必须调用的 Skill、自动推进或用户停顿点不清楚,先返回 NEEDS_CONTEXT。
|
|
82
|
+
不要猜测或自行补全缺失流程。
|
|
83
|
+
只写 internal Node Skill 草稿,不写 entry Skill,不写 Bundle state,不执行候选脚本。
|
|
84
|
+
把完整 Skill 草稿写入报告文件路径,并只返回 15 行以内状态摘要。
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 输出要求
|
|
88
|
+
|
|
89
|
+
返回 internal Node Skill 草稿,必须体现:
|
|
90
|
+
|
|
91
|
+
- internal Node Skill 负责单 Node 目标、必须调用的 Skill、Node 完成证据和脚本守卫。
|
|
92
|
+
- 若 protocol 声明 `requiredSkillCalls`,对应阶段必须明确写出目标槽位、必调 Skill、适用范围和证据要求;subagent 场景必须写明子代理任务提示中也要加载该 Skill。
|
|
93
|
+
- 阶段未达成目标时继续工作,不因为流程清单走完就退出。
|
|
94
|
+
- 自动推进必须来自脚本输出的 `NEXT:` 和 `SKILL:`,而不是让 Agent 猜下一步。
|
|
95
|
+
- 嵌套 Skill 调用只写 Skill 名字,不写 provider 前缀。
|
|
96
|
+
- 对 `/comet` 定制,保留 `open / design / build / verify / archive` 与 `.comet.yaml` 语义。
|
|
97
|
+
- 对任意 Skill 组合,整理为 Comet-like 多 Node workflow。
|
|
98
|
+
|
|
99
|
+
禁止:
|
|
100
|
+
|
|
101
|
+
- 复制粘贴原 Skill 全文。
|
|
102
|
+
- 写 `Superpowers writing-plans`、`OpenSpec openspec-propose` 这类 provider 前缀。
|
|
103
|
+
- 在中文 Skill 中混入英文流程句。
|
|
104
|
+
- 把审计报告、source hash、内部 metadata 泄漏到用户可见 `SKILL.md`。
|
|
105
|
+
|
|
106
|
+
## 自检
|
|
107
|
+
|
|
108
|
+
返回前逐项检查:
|
|
109
|
+
|
|
110
|
+
- 每个阶段都说明必须调用的 Skill、完成证据、脚本守卫和恢复入口。
|
|
111
|
+
- 每个 `requiredSkillCalls` 都能在对应Node Skill 中找到明确加载指令和证据要求。
|
|
112
|
+
- 自动推进引用脚本输出的 `NEXT:` 和 `SKILL:`。
|
|
113
|
+
- Skill 调用只写 Skill 名字,不写 provider 前缀。
|
|
114
|
+
- 中文用户可见文案没有混入英文流程句。
|
|
115
|
+
- 没有复制粘贴原 Skill 全文。
|
|
116
|
+
|
|
117
|
+
## 必须返回的 claim
|
|
118
|
+
|
|
119
|
+
- 每个 internal Node Skill 的 `node-skill:<skill-name>`
|
|
120
|
+
|
|
121
|
+
缺少任一 claim 时,Skill 审查必须阻塞。
|
|
122
|
+
|
|
123
|
+
## 状态返回
|
|
124
|
+
|
|
125
|
+
状态必须是 `DONE`、`DONE_WITH_CONCERNS`、`NEEDS_CONTEXT`、`BLOCKED`。
|
|
126
|
+
|
|
127
|
+
完整报告写入报告文件路径。返回给主会话的摘要只返回 15 行以内状态摘要,包含状态、报告文件路径、
|
|
128
|
+
claim 列表、未解决疑虑和建议返工点。若状态是 `BLOCKED` 或 `NEEDS_CONTEXT`,必须直接说明缺什么上下文、
|
|
129
|
+
尝试过什么、需要主会话如何处理。
|