forge-workflow 0.0.10 → 0.1.0-beta.3
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/.claude/rules/{greptile-review-process.md → review-process.md} +56 -41
- package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
- package/.cursor/rules/permissions-guidance.mdc +2 -2
- package/.forge/hooks/check-tdd.js +82 -5
- package/.forge/hooks/forge-native-hook.js +431 -0
- package/.forge/protected-paths.yaml +157 -0
- package/AGENTS.md +151 -61
- package/CHANGELOG.md +709 -0
- package/CLAUDE.md +9 -118
- package/QUICKSTART.md +175 -0
- package/README.md +275 -365
- package/bin/forge-cmd.js +120 -9
- package/bin/forge-preflight.js +26 -5
- package/bin/forge.js +532 -489
- package/docs/INDEX.md +93 -0
- package/docs/PROJECT_DESIGN.md +685 -0
- package/docs/architecture/index.md +66 -0
- package/docs/architecture/notes/README.md +35 -0
- package/docs/architecture/subsystems/README.md +46 -0
- package/docs/forge/TOOLCHAIN.md +670 -0
- package/docs/forge/VALIDATION.md +82 -0
- package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
- package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
- package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
- package/docs/guides/GREPTILE_SETUP.md +46 -0
- package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
- package/docs/guides/MIGRATION.md +56 -0
- package/docs/guides/SETUP.md +121 -0
- package/docs/guides/SUPPORT.md +190 -0
- package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
- package/docs/guides/memory-backends.md +183 -0
- package/docs/reference/ADAPTERS.md +128 -0
- package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
- package/docs/reference/COMMANDS.md +214 -0
- package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
- package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
- package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
- package/docs/reference/HERMES_INTEGRATION.md +118 -0
- package/docs/reference/INSIGHTS_RECAP.md +63 -0
- package/docs/reference/INSTALL.md +164 -0
- package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
- package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
- package/docs/reference/RELEASE.md +68 -0
- package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
- package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
- package/docs/reference/SKILLS.md +35 -0
- package/docs/reference/STATUS_BOARD.md +80 -0
- package/docs/reference/TEMPLATES.md +106 -0
- package/docs/{TOOLCHAIN.md → reference/TOOLCHAIN.md} +62 -47
- package/docs/reference/VALIDATION.md +82 -0
- package/docs/reference/agent-permissions.md +169 -0
- package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
- package/docs/reference/control-plane-guarantees.md +125 -0
- package/docs/reference/dependency-chain.md +331 -0
- package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
- package/docs/reference/forge-kernel-schema.md +72 -0
- package/docs/reference/kernel-conflict-evaluators.md +27 -0
- package/docs/reference/patch-md-format.md +77 -0
- package/docs/reference/protected-state-surfaces.md +59 -0
- package/docs/reference/shepherd.md +155 -0
- package/docs/reference/superpowers-analysis.md +320 -0
- package/docs/reference/superpowers-integration-options.md +404 -0
- package/docs/reference/test-environment.md +519 -0
- package/docs/reference/upgrade-safety.md +59 -0
- package/lefthook.yml +18 -0
- package/lib/activation/ensure-forge-home.js +135 -0
- package/lib/adapter-cli.js +307 -0
- package/lib/adapters/beads-issue-adapter.js +127 -0
- package/lib/adapters/beads-kernel-compat.js +1109 -0
- package/lib/adapters/greptile-review-adapter.js +141 -0
- package/lib/adapters/kernel-issue-adapter.js +101 -0
- package/lib/adapters/pr-state-adapter.js +484 -0
- package/lib/adoption-profiles.js +139 -0
- package/lib/agents/README.md +2 -6
- package/lib/agents/claude.plugin.json +3 -8
- package/lib/agents/codex.plugin.json +9 -1
- package/lib/agents/cursor.plugin.json +2 -6
- package/lib/agents/hermes.plugin.json +22 -0
- package/lib/agents-config.js +39 -1236
- package/lib/audit-evidence.js +282 -0
- package/lib/beads-detect.js +60 -0
- package/lib/beads-nudge.js +91 -0
- package/lib/beads-setup.js +121 -0
- package/lib/beads-sync-scaffold.js +25 -101
- package/lib/codex-skills.js +51 -1
- package/lib/commands/_aliases.js +248 -0
- package/lib/commands/_issue.js +780 -77
- package/lib/commands/_manifest.js +93 -0
- package/lib/commands/_registry.js +99 -34
- package/lib/commands/_resolve-command-opts.js +230 -0
- package/lib/commands/_serve-security.js +270 -0
- package/lib/commands/adapter.js +12 -0
- package/lib/commands/add.js +118 -0
- package/lib/commands/audit.js +70 -0
- package/lib/commands/blocked.js +5 -0
- package/lib/commands/board.js +64 -0
- package/lib/commands/claim.js +21 -2
- package/lib/commands/claims.js +7 -0
- package/lib/commands/clean.js +485 -75
- package/lib/commands/close.js +2 -2
- package/lib/commands/comment.js +5 -0
- package/lib/commands/control.js +148 -0
- package/lib/commands/create.js +2 -2
- package/lib/commands/dev.js +185 -7
- package/lib/commands/doc-gate.js +336 -0
- package/lib/commands/doctor.js +156 -0
- package/lib/commands/explain.js +15 -0
- package/lib/commands/export.js +237 -0
- package/lib/commands/gate.js +209 -0
- package/lib/commands/hooks.js +377 -0
- package/lib/commands/inbox.js +118 -0
- package/lib/commands/init.js +604 -0
- package/lib/commands/insights.js +79 -0
- package/lib/commands/issue.js +12 -1
- package/lib/commands/issues.js +17 -0
- package/lib/commands/lint.js +5 -0
- package/lib/commands/list.js +2 -2
- package/lib/commands/memory.js +81 -0
- package/lib/commands/merge.js +312 -0
- package/lib/commands/migrate.js +362 -0
- package/lib/commands/new.js +12 -0
- package/lib/commands/options.js +241 -0
- package/lib/commands/orient.js +13 -0
- package/lib/commands/orphans.js +5 -0
- package/lib/commands/patch.js +67 -0
- package/lib/commands/plan.js +481 -29
- package/lib/commands/pr.js +88 -0
- package/lib/commands/preflight.js +211 -0
- package/lib/commands/prime.js +13 -0
- package/lib/commands/push.js +135 -2
- package/lib/commands/ready.js +2 -2
- package/lib/commands/recall.js +171 -0
- package/lib/commands/recap.js +75 -0
- package/lib/commands/recommend.js +0 -1
- package/lib/commands/release.js +104 -0
- package/lib/commands/remember.js +140 -0
- package/lib/commands/role.js +99 -0
- package/lib/commands/serve.js +581 -0
- package/lib/commands/setup.js +900 -971
- package/lib/commands/shepherd.js +501 -0
- package/lib/commands/ship.js +59 -1
- package/lib/commands/show.js +2 -2
- package/lib/commands/stage.js +192 -0
- package/lib/commands/stale.js +5 -0
- package/lib/commands/status.js +158 -21
- package/lib/commands/sync.js +34 -46
- package/lib/commands/team.js +4 -1
- package/lib/commands/test.js +43 -27
- package/lib/commands/update.js +2 -2
- package/lib/commands/upgrade.js +47 -0
- package/lib/commands/validate.js +43 -18
- package/lib/commands/worktree.js +362 -99
- package/lib/config-writer.js +202 -0
- package/lib/control-plane.js +236 -0
- package/lib/core/runtime-graph.js +977 -0
- package/lib/dep-guard/keyword-ripple.js +2 -2
- package/lib/deprecated-sync-cleanup.js +362 -0
- package/lib/detect-agent.js +2 -28
- package/lib/detect-worktree.js +35 -9
- package/lib/doc-gate/declaration.js +177 -0
- package/lib/doc-gate/detect.js +289 -0
- package/lib/doc-gate/gate.js +375 -0
- package/lib/doc-gate/okf-config.js +128 -0
- package/lib/doc-gate/okf.js +429 -0
- package/lib/docs-command.js +1161 -6
- package/lib/forge-issues.js +382 -11
- package/lib/forge-lock.js +262 -0
- package/lib/gate-events.js +192 -0
- package/lib/global-flags.js +104 -0
- package/lib/greptile-match.js +7 -63
- package/lib/grounding/context-events.js +230 -0
- package/lib/grounding/read-first.js +112 -0
- package/lib/harness-capability-matrix.js +380 -0
- package/lib/hook-global-installer.js +347 -0
- package/lib/hook-renderer.js +541 -0
- package/lib/inbox.js +391 -0
- package/lib/insights.js +397 -0
- package/lib/issue-adapter.js +156 -0
- package/lib/issue-backend.js +145 -0
- package/lib/issue-render.js +220 -0
- package/lib/kernel/backing-issue.js +311 -0
- package/lib/kernel/broker.js +1218 -0
- package/lib/kernel/cli-broker-factory.js +130 -0
- package/lib/kernel/conflict-signal.js +82 -0
- package/lib/kernel/evaluators.js +195 -0
- package/lib/kernel/fs-class.js +495 -0
- package/lib/kernel/issue-command-contract.js +559 -0
- package/lib/kernel/issue-id-resolver.js +186 -0
- package/lib/kernel/lease-enforcer.js +158 -0
- package/lib/kernel/migrations.js +333 -0
- package/lib/kernel/owned-kernel.js +43 -0
- package/lib/kernel/planning-buckets-schema.js +109 -0
- package/lib/kernel/projection-jsonl-writer.js +450 -0
- package/lib/kernel/readiness-model.js +329 -0
- package/lib/kernel/schema.js +356 -0
- package/lib/kernel/sqlite-driver.js +2540 -0
- package/lib/kernel/taxonomy-validator.js +394 -0
- package/lib/lefthook-check.js +3 -2
- package/lib/lefthook-wiring.js +413 -0
- package/lib/mcp-config-renderer.js +288 -0
- package/lib/memory/graphiti-mcp.js +106 -0
- package/lib/memory/router.js +387 -0
- package/lib/memory/typed-api.js +102 -0
- package/lib/memory-digest.js +195 -0
- package/lib/merge-rules.js +395 -0
- package/lib/migrate-dry-run.js +466 -0
- package/lib/orientation.js +863 -0
- package/lib/package-manager-remediation.js +103 -0
- package/lib/package-root.js +381 -0
- package/lib/patch-intent.js +890 -0
- package/lib/plugin-catalog.js +3 -4
- package/lib/plugin-manager.js +0 -5
- package/lib/pr-bundle.js +186 -0
- package/lib/pr-monitor/auto-actions.js +175 -0
- package/lib/pr-monitor/differ.js +195 -0
- package/lib/pr-monitor/digest.js +206 -0
- package/lib/pr-monitor/events.js +0 -0
- package/lib/pr-monitor/gather.js +124 -0
- package/lib/pr-monitor/journal.js +299 -0
- package/lib/pr-monitor/monitor.js +146 -0
- package/lib/pr-monitor/render-sticky.js +192 -0
- package/lib/pr-monitor/upsert-sticky.js +169 -0
- package/lib/pr-monitor/watch-lifecycle.js +95 -0
- package/lib/pr-monitor/watch.js +247 -0
- package/lib/pr-pull.js +1314 -0
- package/lib/pr-shepherd.js +494 -0
- package/lib/pr-state-validator.js +59 -0
- package/lib/preflight/gates.js +237 -0
- package/lib/preflight/runner.js +116 -0
- package/lib/project-discovery.js +0 -53
- package/lib/project-memory.js +99 -497
- package/lib/protected-path-manifest.js +281 -0
- package/lib/protected-state-surfaces.js +387 -0
- package/lib/release-readiness.js +2105 -0
- package/lib/reset.js +59 -45
- package/lib/review-adapter.js +68 -0
- package/lib/rules-sync.js +260 -0
- package/lib/runtime-health.js +241 -20
- package/lib/safety-config-renderer.js +268 -0
- package/lib/setup-action-log.js +1 -7
- package/lib/setup.js +27 -65
- package/lib/shell-utils.js +76 -6
- package/lib/skills-sync.js +330 -0
- package/lib/smart-status/scoring.js +17 -3
- package/lib/status/beads-snapshot.js +45 -2
- package/lib/status/presenter.js +169 -18
- package/lib/status/snapshot.js +186 -0
- package/lib/sync-backend.js +202 -0
- package/lib/untrusted-content.js +52 -0
- package/lib/upgrade-safety.js +251 -0
- package/lib/workflow/enforce-stage.js +351 -45
- package/lib/workflow/stage-transition.js +115 -0
- package/lib/workflow/stages.js +30 -6
- package/lib/workflow/state-manager.js +11 -22
- package/lib/workflow/state.js +23 -1
- package/lib/workflow-profiles.js +17 -5
- package/package.json +37 -35
- package/rules/documentation.md +19 -0
- package/rules/kernel-tracking.md +26 -0
- package/rules/security.md +22 -0
- package/rules/tdd.md +20 -0
- package/rules/workflow.md +27 -0
- package/scripts/auto-backing-issue.js +47 -0
- package/scripts/beads-context.sh +81 -57
- package/scripts/beads-upgrade-smoke.sh +24 -3
- package/scripts/bootstrap-windows-tools.sh +78 -0
- package/scripts/branch-protection.js +2 -3
- package/scripts/check-agents.js +34 -137
- package/scripts/commitlint.js +3 -1
- package/scripts/conflict-detect.sh +3 -0
- package/scripts/dep-guard.sh +22 -3
- package/scripts/file-index.sh +3 -0
- package/scripts/forge-team/lib/claim.sh +34 -18
- package/scripts/forge-team/lib/dashboard.sh +61 -86
- package/scripts/forge-team/lib/epic.sh +99 -263
- package/scripts/forge-team/lib/hooks.sh +26 -28
- package/scripts/forge-team/lib/identity.sh +4 -4
- package/scripts/forge-team/lib/sync-github.sh +49 -84
- package/scripts/forge-team/lib/verify.sh +93 -83
- package/scripts/forge-team/lib/workload.sh +41 -65
- package/scripts/forge-team/tests/claim.test.sh +25 -19
- package/scripts/forge-team/tests/dashboard.test.sh +31 -46
- package/scripts/forge-team/tests/epic.test.sh +52 -71
- package/scripts/forge-team/tests/hooks.test.sh +38 -50
- package/scripts/forge-team/tests/identity.test.sh +3 -3
- package/scripts/forge-team/tests/integration.test.sh +44 -66
- package/scripts/forge-team/tests/sync-github.test.sh +50 -83
- package/scripts/forge-team/tests/verify.test.sh +37 -46
- package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
- package/scripts/forge-team/tests/workload.test.sh +32 -66
- package/scripts/gen-command-manifest.js +153 -0
- package/scripts/gen-embedded-assets.mjs +129 -0
- package/scripts/install.ps1 +139 -0
- package/scripts/install.sh +268 -0
- package/scripts/lib/release-asset.mjs +84 -0
- package/scripts/parity-check.mjs +145 -0
- package/scripts/parity-check.test.mjs +58 -0
- package/scripts/pin-agentic-workflow-images.js +112 -0
- package/scripts/pr-auto-actions.js +93 -0
- package/scripts/pr-coordinator.sh +3 -0
- package/scripts/pr-verdict-label.js +50 -0
- package/scripts/preflight-sonar.eslint.config.mjs +44 -0
- package/scripts/preflight.sh +21 -94
- package/scripts/protected-state-check.js +104 -0
- package/scripts/smart-status.sh +60 -57
- package/scripts/spikes/config-race-bench.js +111 -0
- package/scripts/spikes/harness-capability-matrix.js +13 -0
- package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
- package/scripts/spikes/protected-path-manifest.js +20 -0
- package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
- package/scripts/sync-agent-skills.js +62 -0
- package/scripts/sync-utils.sh +3 -0
- package/scripts/test-ci-shard.js +13 -6
- package/scripts/test.js +95 -12
- package/skills/claim-safety/SKILL.md +102 -0
- package/skills/claim-safety/evals/evals.json +46 -0
- package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +44 -50
- package/skills/dev/evals/evals.json +50 -0
- package/skills/hermes-forge/SKILL.md +185 -0
- package/skills/hermes-forge/evals/evals.json +46 -0
- package/skills/issue-basics/SKILL.md +111 -0
- package/skills/issue-basics/evals/evals.json +46 -0
- package/skills/kernel/SKILL.md +166 -0
- package/skills/kernel/evals/evals.json +50 -0
- package/skills/memory/SKILL.md +102 -0
- package/skills/parallel-deep-research/SKILL.md +14 -11
- package/skills/parallel-deep-research/evals/evals.json +11 -27
- package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +132 -157
- package/skills/plan/evals/evals.json +42 -0
- package/skills/research/SKILL.md +195 -0
- package/skills/research/evals/evals.json +42 -0
- package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
- package/skills/review/evals/evals.json +42 -0
- package/skills/rollback/SKILL.md +110 -0
- package/skills/rollback/evals/evals.json +46 -0
- package/skills/rollback/references/methods.md +204 -0
- package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
- package/skills/shepherd/SKILL.md +66 -0
- package/skills/shepherd/evals/evals.json +42 -0
- package/{.github/prompts/ship.prompt.md → skills/ship/SKILL.md} +81 -45
- package/skills/ship/evals/evals.json +42 -0
- package/skills/smith/SKILL.md +142 -0
- package/skills/smith/evals/evals.json +46 -0
- package/skills/smith/references/autonomy-and-gates.md +94 -0
- package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
- package/skills/sonarcloud/evals/evals.json +46 -0
- package/skills/sonarcloud-analysis/SKILL.md +18 -13
- package/skills/sonarcloud-analysis/evals/evals.json +11 -15
- package/{.github/prompts/status.prompt.md → skills/status/SKILL.md} +20 -10
- package/skills/status/evals/evals.json +50 -0
- package/skills/triage-ready/SKILL.md +121 -0
- package/skills/triage-ready/evals/evals.json +42 -0
- package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
- package/skills/validate/evals/evals.json +42 -0
- package/skills/verify/SKILL.md +299 -0
- package/skills/verify/evals/evals.json +50 -0
- package/.claude/commands/dev.md +0 -345
- package/.claude/commands/plan.md +0 -566
- package/.claude/commands/premerge.md +0 -186
- package/.claude/commands/research.md +0 -42
- package/.claude/commands/review.md +0 -451
- package/.claude/commands/rollback.md +0 -721
- package/.claude/commands/ship.md +0 -213
- package/.claude/commands/sonarcloud.md +0 -152
- package/.claude/commands/status.md +0 -90
- package/.claude/commands/validate.md +0 -288
- package/.claude/commands/verify.md +0 -269
- package/.claude/rules/workflow.md +0 -121
- package/.cline/workflows/dev.md +0 -342
- package/.cline/workflows/plan.md +0 -563
- package/.cline/workflows/premerge.md +0 -183
- package/.cline/workflows/research.md +0 -39
- package/.cline/workflows/review.md +0 -448
- package/.cline/workflows/rollback.md +0 -718
- package/.cline/workflows/ship.md +0 -210
- package/.cline/workflows/sonarcloud.md +0 -146
- package/.cline/workflows/status.md +0 -87
- package/.cline/workflows/validate.md +0 -285
- package/.cline/workflows/verify.md +0 -266
- package/.codex/config.toml +0 -11
- package/.codex/skills/dev/SKILL.md +0 -345
- package/.codex/skills/plan/SKILL.md +0 -566
- package/.codex/skills/premerge/SKILL.md +0 -186
- package/.codex/skills/research/SKILL.md +0 -42
- package/.codex/skills/review/SKILL.md +0 -451
- package/.codex/skills/rollback/SKILL.md +0 -721
- package/.codex/skills/ship/SKILL.md +0 -213
- package/.codex/skills/sonarcloud/SKILL.md +0 -149
- package/.codex/skills/status/SKILL.md +0 -90
- package/.codex/skills/validate/SKILL.md +0 -288
- package/.codex/skills/verify/SKILL.md +0 -269
- package/.cursor/commands/dev.md +0 -342
- package/.cursor/commands/plan.md +0 -563
- package/.cursor/commands/premerge.md +0 -183
- package/.cursor/commands/research.md +0 -39
- package/.cursor/commands/review.md +0 -448
- package/.cursor/commands/ship.md +0 -210
- package/.cursor/commands/sonarcloud.md +0 -146
- package/.cursor/commands/status.md +0 -87
- package/.cursor/commands/validate.md +0 -285
- package/.cursor/commands/verify.md +0 -266
- package/.cursorrules +0 -149
- package/.github/prompts/premerge.prompt.md +0 -188
- package/.github/prompts/research.prompt.md +0 -44
- package/.github/prompts/rollback.prompt.md +0 -723
- package/.github/prompts/verify.prompt.md +0 -271
- package/.github/workflows/beads-to-github.yml +0 -89
- package/.github/workflows/github-to-beads.yml +0 -100
- package/.kilocode/workflows/dev.md +0 -346
- package/.kilocode/workflows/plan.md +0 -567
- package/.kilocode/workflows/premerge.md +0 -187
- package/.kilocode/workflows/research.md +0 -43
- package/.kilocode/workflows/review.md +0 -452
- package/.kilocode/workflows/rollback.md +0 -722
- package/.kilocode/workflows/ship.md +0 -214
- package/.kilocode/workflows/sonarcloud.md +0 -150
- package/.kilocode/workflows/status.md +0 -91
- package/.kilocode/workflows/validate.md +0 -289
- package/.kilocode/workflows/verify.md +0 -270
- package/.opencode/commands/dev.md +0 -345
- package/.opencode/commands/plan.md +0 -566
- package/.opencode/commands/premerge.md +0 -186
- package/.opencode/commands/research.md +0 -42
- package/.opencode/commands/review.md +0 -451
- package/.opencode/commands/rollback.md +0 -721
- package/.opencode/commands/ship.md +0 -213
- package/.opencode/commands/sonarcloud.md +0 -149
- package/.opencode/commands/status.md +0 -90
- package/.opencode/commands/validate.md +0 -288
- package/.opencode/commands/verify.md +0 -269
- package/.roo/commands/dev.md +0 -346
- package/.roo/commands/plan.md +0 -567
- package/.roo/commands/premerge.md +0 -187
- package/.roo/commands/research.md +0 -43
- package/.roo/commands/review.md +0 -452
- package/.roo/commands/rollback.md +0 -722
- package/.roo/commands/ship.md +0 -214
- package/.roo/commands/sonarcloud.md +0 -150
- package/.roo/commands/status.md +0 -91
- package/.roo/commands/validate.md +0 -289
- package/.roo/commands/verify.md +0 -270
- package/docs/BEADS_GITHUB_SYNC.md +0 -281
- package/docs/GREPTILE_SETUP.md +0 -400
- package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
- package/docs/SETUP.md +0 -663
- package/docs/VALIDATION.md +0 -363
- package/lib/agents/cline.plugin.json +0 -29
- package/lib/agents/copilot.plugin.json +0 -24
- package/lib/agents/kilocode.plugin.json +0 -22
- package/lib/agents/opencode.plugin.json +0 -23
- package/lib/agents/roo.plugin.json +0 -30
- package/lib/beads-bootstrap.js +0 -225
- package/lib/beads-health-check.js +0 -188
- package/lib/commands/commands-reset.js +0 -147
- package/opencode.json +0 -67
- package/scripts/beads-context.test.js +0 -584
- package/scripts/github-beads-sync/comment.mjs +0 -64
- package/scripts/github-beads-sync/config.mjs +0 -148
- package/scripts/github-beads-sync/github-api.mjs +0 -131
- package/scripts/github-beads-sync/index.mjs +0 -356
- package/scripts/github-beads-sync/label-mapper.mjs +0 -54
- package/scripts/github-beads-sync/mapping.mjs +0 -132
- package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
- package/scripts/github-beads-sync/reverse-sync.mjs +0 -162
- package/scripts/github-beads-sync/run-bd.mjs +0 -161
- package/scripts/github-beads-sync/sanitize.mjs +0 -121
- package/scripts/github-beads-sync.config.json +0 -26
- package/scripts/sync-commands.js +0 -600
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kernel
|
|
3
|
+
description: >
|
|
4
|
+
Forge kernel — umbrella index/router for a Forge project. Reach for this FIRST when
|
|
5
|
+
orienting rather than executing: at session start, when you need the map of how the system
|
|
6
|
+
fits together, or when unsure WHICH skill or `forge` verb a task belongs to. It indexes
|
|
7
|
+
`smith` (end-to-end orchestrator), the stage ladder (plan → dev → validate → ship → review →
|
|
8
|
+
verify), the utility/issue skills, and the day-to-day `forge` CLI verbs. Trigger on "how
|
|
9
|
+
does the Forge workflow work", "which forge command or skill for X", "I'm new here, how is
|
|
10
|
+
Forge set up", or "should this be a Forge issue or a TodoWrite". Index layer only — hand off
|
|
11
|
+
the doing: rank/pick the next ready issue → `triage-ready`; current stage / "where am I" /
|
|
12
|
+
active or stale work → `status`; create/update/close/search one issue → `issue-basics`;
|
|
13
|
+
claim-then-prove ownership before mutating → `claim-safety`; drive one issue from plan to a
|
|
14
|
+
merged PR under gates → `smith`; token-bounded state for the Hermes harness →
|
|
15
|
+
`hermes-forge`.
|
|
16
|
+
allowed-tools: Read, Bash(forge:*)
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Forge kernel surface
|
|
20
|
+
|
|
21
|
+
Forge is a TDD-first workflow harness. The agent-facing surface is **skills + the
|
|
22
|
+
`forge` CLI** — there are no slash-command files. This umbrella skill is the
|
|
23
|
+
entry point: it tells you which stage skill to use and which `forge` verb runs
|
|
24
|
+
each day-to-day operation. Every skill is a thin guide over a real `forge`
|
|
25
|
+
command; the CLI remains the implementation, the skills are the surface.
|
|
26
|
+
|
|
27
|
+
## Stage skills (the TDD ladder)
|
|
28
|
+
|
|
29
|
+
The default workflow is a configurable ladder of per-stage skills. Use the whole
|
|
30
|
+
flow when it fits, or invoke an individual stage when the active plan permits a
|
|
31
|
+
smaller path.
|
|
32
|
+
|
|
33
|
+
| Stage | Skill | Purpose |
|
|
34
|
+
|-------|-------|---------|
|
|
35
|
+
| utility | `status` | Check current context, active work, recent completions |
|
|
36
|
+
| 1 | `plan` | Design intent → research → branch + worktree + task list |
|
|
37
|
+
| 2 | `dev` | Subagent-driven TDD per task (implementer → spec → quality review) |
|
|
38
|
+
| 3 | `validate` | Type check, lint, code review, security, tests — all fresh output |
|
|
39
|
+
| 4 | `ship` | Push branch and open the PR with design-doc reference |
|
|
40
|
+
| 5 | `review` | Address ALL PR feedback (GitHub Actions, Greptile, SonarCloud) |
|
|
41
|
+
| 6 | `verify` | Post-merge health check (CI on main, close issues) |
|
|
42
|
+
|
|
43
|
+
**Pre-merge gate** (not a numbered stage): before merge, finish the doc updates on
|
|
44
|
+
the feature branch and confirm CI is green, then hand off the PR for manual merge.
|
|
45
|
+
The gate is embedded in `ship` and `review` — it is not a standalone skill.
|
|
46
|
+
|
|
47
|
+
Utility skills outside the linear ladder: `research` (deep web research),
|
|
48
|
+
`rollback` (safe revert operations), `sonarcloud` (code-quality queries),
|
|
49
|
+
`shepherd` (cross-harness PR monitoring).
|
|
50
|
+
|
|
51
|
+
Procedure skills (reusable operations any stage/agent embeds): `claim-safety`
|
|
52
|
+
(claim an issue and PROVE you own the lease via `forge issue owns <id>` before
|
|
53
|
+
mutating it — a claim returning ok:true does not by itself prove ownership).
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
status → plan → dev → validate → ship → review → verify
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Orchestrator super-skill
|
|
60
|
+
|
|
61
|
+
`smith` is the flagship: a thin orchestrator that COMPOSES the skills above into
|
|
62
|
+
the right path for a piece of work — pick (`triage-ready`) → claim
|
|
63
|
+
(`claim-safety`) → `plan` → `dev` → `validate` → `ship` → `review` → `verify` —
|
|
64
|
+
driving autonomously between human gates and pausing AT them. The human gates are
|
|
65
|
+
durable kernel EVENTS (`forge gate check|approve|reject|status <issue> <gate>`;
|
|
66
|
+
gates `gate.intent` · `gate.plan-approval` · `gate.merge`), so a gated run is
|
|
67
|
+
resume-safe across compaction. During planning `smith` calibrates how many gates
|
|
68
|
+
the work needs from its size × importance × complexity and proposes that tier at
|
|
69
|
+
the intent gate (the human confirms or overrides). Reach for `smith` to run a
|
|
70
|
+
whole issue end to end under human control; invoke an individual stage skill to
|
|
71
|
+
run a single step.
|
|
72
|
+
|
|
73
|
+
## Kernel-native skills
|
|
74
|
+
|
|
75
|
+
Read-and-repair skills that work directly against the kernel's issue store. They
|
|
76
|
+
complement the ladder: reach for them to decide *what* to do and to run the
|
|
77
|
+
everyday issue operations, then route into a stage skill to execute.
|
|
78
|
+
|
|
79
|
+
| Skill | Purpose |
|
|
80
|
+
|-------|---------|
|
|
81
|
+
| `triage-ready` | Read-only "what should I work on" — ranks and *explains* the ready queue via `forge issue ready` / `blocked` / `stats` (never `board`), then hands off the pick. |
|
|
82
|
+
| `issue-basics` | The everyday CRUD floor — create/update/claim/release/comment/close/show/list/search/stats over the `forge issue` verbs, plus the label/reopen/delete disposition for teams migrating in. |
|
|
83
|
+
|
|
84
|
+
## Day-to-day verbs (the `forge` CLI)
|
|
85
|
+
|
|
86
|
+
The kernel verbs are the operations you reach for inside any stage — find work,
|
|
87
|
+
claim it, fix in place, query the board, orient. They are grouped in four
|
|
88
|
+
families. Run them through Bash; never hand-edit the issue store.
|
|
89
|
+
|
|
90
|
+
### A — Issue lifecycle (the core loop)
|
|
91
|
+
|
|
92
|
+
| Need | Command |
|
|
93
|
+
|------|---------|
|
|
94
|
+
| Find ready work | `forge ready [--json]` |
|
|
95
|
+
| Inspect an issue | `forge show <id> [--json]` |
|
|
96
|
+
| List / filter issues | `forge list [--status …] [--json]` |
|
|
97
|
+
| Create an issue | `forge create --title "…" --type <feature\|bug\|task>` |
|
|
98
|
+
| Claim work (DB-enforced lease) | `forge claim <id>` |
|
|
99
|
+
| Prove you own the lease | `forge issue owns <id>` — exit 0 iff you hold the live lease (see the `claim-safety` skill) |
|
|
100
|
+
| Release a claim | `forge release <id>` |
|
|
101
|
+
| Update fields | `forge update <id> --priority <n>` (etc.) |
|
|
102
|
+
| Add a handoff comment | `forge comment <id> "…"` |
|
|
103
|
+
| Close an issue | `forge close <id> --reason "…"` |
|
|
104
|
+
| Dependencies | `forge issue dep add\|remove <id> <id>` |
|
|
105
|
+
| Search / stats | `forge issue search "…"` · `forge issue stats` |
|
|
106
|
+
| Blocked work | `forge blocked` |
|
|
107
|
+
|
|
108
|
+
### B — Memory / knowledge
|
|
109
|
+
|
|
110
|
+
`forge remember <note> [--tag <label>]... [--json]` and `forge recall` are live —
|
|
111
|
+
they persist and retrieve project-memory notes from a file-backed store. Only
|
|
112
|
+
`forge knowledge search` is not on the CLI yet; until it lands, capture durable
|
|
113
|
+
decisions as `forge remember` notes or issue comments (`forge comment`).
|
|
114
|
+
|
|
115
|
+
### C — Board / planning / admin
|
|
116
|
+
|
|
117
|
+
| Need | Command |
|
|
118
|
+
|------|---------|
|
|
119
|
+
| Team board | `forge board [--json]` |
|
|
120
|
+
| Export the issue projection | `forge export [--import]` |
|
|
121
|
+
| Release-readiness gate | `forge release check --target <ref>` |
|
|
122
|
+
| Sync team state | `forge sync` |
|
|
123
|
+
|
|
124
|
+
### D — Orientation / session
|
|
125
|
+
|
|
126
|
+
| Need | Command |
|
|
127
|
+
|------|---------|
|
|
128
|
+
| Prime a session | `forge prime [--json]` |
|
|
129
|
+
| Full orientation | `forge orient [--json]` |
|
|
130
|
+
| Recap an issue / context | `forge recap [<id>] [--json]` |
|
|
131
|
+
|
|
132
|
+
## Forge issues vs. TodoWrite — decision table
|
|
133
|
+
|
|
134
|
+
| Situation | Use |
|
|
135
|
+
|-----------|-----|
|
|
136
|
+
| Work spans sessions, has blockers, or needs recovery after compaction | **Forge issues** (`forge create`/`claim`/`close`) |
|
|
137
|
+
| Cross-agent or cross-worktree coordination | **Forge issues** (DB-enforced leases) |
|
|
138
|
+
| Durable decisions, design rationale, handoff notes | **Forge issue comments** |
|
|
139
|
+
| Ephemeral, single-session checklist for the current task | **TodoWrite** |
|
|
140
|
+
| Steps you will finish and discard within this turn | **TodoWrite** |
|
|
141
|
+
|
|
142
|
+
When in doubt, prefer a Forge issue: it survives the session and is visible to
|
|
143
|
+
the team. TodoWrite is for scratch tracking only.
|
|
144
|
+
|
|
145
|
+
## Session protocol
|
|
146
|
+
|
|
147
|
+
1. **Orient first.** Start with the `status` skill (or `forge prime` /
|
|
148
|
+
`forge orient`) — never reconstruct project state from raw files.
|
|
149
|
+
2. **Claim before you build — then prove it.** `forge claim <id>` takes the lease;
|
|
150
|
+
one issue at a time. A claim's ok:true does not by itself prove ownership, so
|
|
151
|
+
confirm with `forge issue owns <id>` before working and again before
|
|
152
|
+
`close`/`release` (the `claim-safety` skill). `forge release <id>` if you abandon it.
|
|
153
|
+
3. **Work the ladder.** `plan` → `dev` → `validate` → `ship` → `review` →
|
|
154
|
+
`verify`, skipping stages only when the plan allows. The pre-merge doc gate
|
|
155
|
+
runs inside `ship` and `review` before merge — it is not a separate stage.
|
|
156
|
+
4. **Record evidence as you go.** Progress and decisions go to
|
|
157
|
+
`forge comment <id> "…"`, not to memory.
|
|
158
|
+
5. **Hand off cleanly.** Close completed issues (`forge close <id> --reason …`)
|
|
159
|
+
and `forge sync` so the team sees the result.
|
|
160
|
+
|
|
161
|
+
## Core principles
|
|
162
|
+
|
|
163
|
+
- **TDD-first** — write tests before implementation (RED → GREEN → REFACTOR).
|
|
164
|
+
- **Research-first** — understand before building; document decisions.
|
|
165
|
+
- **Security built-in** — OWASP Top 10 analysis for every feature.
|
|
166
|
+
- **Documentation progressive** — update at each stage, verify at the end.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "I just cloned this Forge repo and I'm not sure how any of it works — give me the lay of the land: what's the workflow, what skills exist, and where do I even start?",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "There are a bunch of forge skills and I can't tell which one to use for what — lay out how they fit together and when I'd reach for each.",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "Which forge CLI command adds a dependency between two issues, and what's the verb for proving I hold a claim? Just the reference, don't run anything.",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "Is this small cleanup worth filing as a Forge issue, or should I just throw it on a TodoWrite checklist for this session?",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "Walk me through the Forge stage ladder from planning to post-merge verify and what each stage owns.",
|
|
20
|
+
"should_trigger": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "Give me the reference of all the day-to-day forge issue and board verbs — I want the index, not to execute a command yet.",
|
|
24
|
+
"should_trigger": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "What should I pick up next? Rank the ready queue and tell me the top unblocked issue and why.",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "Where am I in the workflow right now, what's my active work, and has anything gone stale?",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"query": "Create a bug issue titled 'login times out after 30s', priority 1, and link it under the auth epic.",
|
|
36
|
+
"should_trigger": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"query": "Claim forge-4h9 for me and confirm I actually hold the lease before I start editing.",
|
|
40
|
+
"should_trigger": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"query": "Take forge-7c2 all the way from planning through a merged PR, pausing for my approval at the plan and the merge.",
|
|
44
|
+
"should_trigger": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"query": "In the Hermes harness, give me the token-bounded project state to work from — treat forge orient as the source of truth.",
|
|
48
|
+
"should_trigger": false
|
|
49
|
+
}
|
|
50
|
+
]
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory
|
|
3
|
+
description: >
|
|
4
|
+
Capture and retrieve durable project memory the right way -- and, when the graph
|
|
5
|
+
backend is enabled, use temporal knowledge-graph memory. Reach for this whenever
|
|
6
|
+
you are about to write down a lasting fact, decision, convention, or gotcha ("remember
|
|
7
|
+
that...", "note for later", "save this"), or when you need to recall what was learned
|
|
8
|
+
before ("what did we decide about X", "have we seen this"). It explains WHEN to use
|
|
9
|
+
`forge remember` / `forge recall` versus a per-issue `forge issue comment`, how the
|
|
10
|
+
two public backends work (local JSONL default, opt-in Graphiti; kernel is internal-only),
|
|
11
|
+
and -- when Graphiti is enabled -- how to add episodes and search facts via the graphiti-memory MCP tools
|
|
12
|
+
(add_memory, search_memory_facts, search_nodes) with group_id scoping and provenance.
|
|
13
|
+
The local backend is always the offline floor. Not for: issue create/list/close ops
|
|
14
|
+
(issue-basics), workflow status (status), or transient scratch notes.
|
|
15
|
+
allowed-tools: Bash, Read, Grep, Glob
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Memory
|
|
19
|
+
|
|
20
|
+
Durable project memory for agents. This skill teaches you where a fact belongs,
|
|
21
|
+
which backend is active, and how to use graph memory when it is enabled.
|
|
22
|
+
|
|
23
|
+
## The one rule
|
|
24
|
+
|
|
25
|
+
Persistent, project-level knowledge goes to **`forge remember`** — never to a
|
|
26
|
+
`MEMORY.md` file, never to a scratch note that dies with the session. Retrieve it
|
|
27
|
+
with **`forge recall`**. Both verbs route through one backend router; the default
|
|
28
|
+
is a local file store, so they always work offline with zero setup.
|
|
29
|
+
|
|
30
|
+
## When to use what
|
|
31
|
+
|
|
32
|
+
- **`forge remember "<note>"`** — a lasting fact that outlives this issue: a
|
|
33
|
+
convention, a decision and its rationale, a non-obvious gotcha, an environment
|
|
34
|
+
quirk, a "we tried X, it failed because Y". Add `--tag <label>` for retrieval.
|
|
35
|
+
- **`forge recall "<query>"`** — before assuming, check what is already known.
|
|
36
|
+
Search first; do not re-derive knowledge the project already recorded.
|
|
37
|
+
- **`forge issue comment <id> "<note>"`** — progress or context that belongs to
|
|
38
|
+
ONE issue's lifecycle (status, a blocker, a hand-off). Issue-scoped, not global.
|
|
39
|
+
- **Rule of thumb:** would a future session on a *different* issue want this? →
|
|
40
|
+
`remember`. Is it only meaningful inside this issue? → `issue comment`.
|
|
41
|
+
|
|
42
|
+
## Backends (config: `memory.backend` in `.forge/config.yaml`)
|
|
43
|
+
|
|
44
|
+
The router picks a backend; `remember`/`recall` behave the same from your side.
|
|
45
|
+
The public backends are exactly two:
|
|
46
|
+
|
|
47
|
+
- **`local`** (DEFAULT) — flat JSONL at `.forge/memory/notes.jsonl`. Instant,
|
|
48
|
+
offline, no dependencies, travels with the repo in git. This is the floor and
|
|
49
|
+
is always available.
|
|
50
|
+
- **`graphiti`** — opt-in temporal **knowledge graph** served to agents over MCP.
|
|
51
|
+
Richer recall (relational, temporal, provenance-tracked) but needs a graph DB
|
|
52
|
+
and an LLM. See "Graph memory" below. When selected, the CLI still writes to
|
|
53
|
+
the local store as a safety floor; the graph is consumed by agents via MCP.
|
|
54
|
+
|
|
55
|
+
Check the active backend with `forge doctor` — it reports the memory backend and,
|
|
56
|
+
for graphiti, whether the configured MCP server path is present (read-only,
|
|
57
|
+
non-fatal).
|
|
58
|
+
|
|
59
|
+
## Graph memory (when `memory.backend: graphiti`)
|
|
60
|
+
|
|
61
|
+
Graphiti turns notes into a **bi-temporal knowledge graph**: you add *episodes*
|
|
62
|
+
(text/JSON), an LLM extracts *entities* (nodes) and *facts* (edges), and every
|
|
63
|
+
fact keeps two timelines — when it was true in the world and when the system
|
|
64
|
+
learned it. Superseded facts are **invalidated, not deleted**, so you can ask
|
|
65
|
+
"what is true now" or "what was true at time T", with a pointer back to the
|
|
66
|
+
source episode (provenance).
|
|
67
|
+
|
|
68
|
+
When enabled and the `graphiti-memory` MCP server is wired into your agent, use
|
|
69
|
+
its tools directly:
|
|
70
|
+
|
|
71
|
+
- **`add_memory`** — record a durable fact/decision as an episode. Pass a clear
|
|
72
|
+
`name`, the content, and the project `group_id` (namespaces one project's
|
|
73
|
+
memory). Ingestion is LLM-backed, so treat it as async — confirm it queued,
|
|
74
|
+
don't block on it. Prefer this for facts that *evolve* (status, ownership,
|
|
75
|
+
versions, preferences).
|
|
76
|
+
- **`search_memory_facts`** — retrieve relationships/facts (edges) for a query,
|
|
77
|
+
with validity windows. Use this before assuming a fact; it returns *current*
|
|
78
|
+
truth plus history.
|
|
79
|
+
- **`search_nodes`** — find entities (people, services, components) and their
|
|
80
|
+
summaries.
|
|
81
|
+
- Scope every call with the project's `group_id` so memory stays per-project.
|
|
82
|
+
- Respect provenance: facts trace back to episodes — cite them when it matters.
|
|
83
|
+
|
|
84
|
+
If graph memory is unreachable or unconfigured, fall back to `forge remember`
|
|
85
|
+
(local) — never lose the note. `forge doctor` surfaces a clear error when the
|
|
86
|
+
graphiti backend is selected but not configured.
|
|
87
|
+
|
|
88
|
+
## Good memory hygiene
|
|
89
|
+
|
|
90
|
+
- Write **atomic** facts, not essays — one decision or gotcha per note.
|
|
91
|
+
- Include the **why**, not just the what (rationale ages better than commands).
|
|
92
|
+
- Tag consistently so recall is precise.
|
|
93
|
+
- Recall **before** you act on an assumption; record **after** you learn something.
|
|
94
|
+
|
|
95
|
+
## Setup pointers
|
|
96
|
+
|
|
97
|
+
- Local is the default — nothing to install.
|
|
98
|
+
- To opt into graph memory: set `memory.backend: graphiti` (plus a
|
|
99
|
+
`memory.graphiti` block) in `.forge/config.yaml`, then run FalkorDB + the
|
|
100
|
+
Graphiti MCP server. Wiring the server into each agent's MCP config is a
|
|
101
|
+
follow-up step. Full how-to (graph DB, LLM/embedder, privacy/cost):
|
|
102
|
+
`docs/guides/memory-backends.md`. Design rationale: `docs/work/2026-07-06-graphiti-memory/research.md`.
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: parallel-deep-research
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
Heavyweight EXTERNAL research reports — market, industry, competitive, strategic — via
|
|
5
|
+
Parallel AI's paid pro/ultra processors that crawl and synthesize dozens of sources into one
|
|
6
|
+
long cited report. Use when the user wants a market analysis, competitive landscape,
|
|
7
|
+
industry deep-dive, multi-vendor/technology comparison, strategic recommendations, or market
|
|
8
|
+
sizing/growth outlook — any multi-source synthesis needing more than 3-4 web searches.
|
|
9
|
+
Typical phrasings: "market analysis of X", "competitive landscape comparing A/B/C",
|
|
10
|
+
"industry deep-dive on...", "deep research report on...", "strategic report with predictions
|
|
11
|
+
for 2027". WRONG tool for quick facts, a single-page fetch, one-URL scraping, or small
|
|
12
|
+
structured-field extraction — use built-in WebSearch/WebFetch. Also NOT the Forge RESEARCH
|
|
13
|
+
or PLAN stage: "run the research stage", "do Phase 2", or codebase/OWASP/DRY investigation
|
|
14
|
+
into a design doc route to `research` and `plan` (they may INVOKE this skill). Requires
|
|
15
|
+
PARALLEL_API_KEY.
|
|
15
16
|
compatibility: Requires PARALLEL_API_KEY in .env.local. Uses curl. Takes 3-25 minutes.
|
|
16
17
|
metadata:
|
|
17
18
|
author: harshanandak
|
|
@@ -22,6 +23,8 @@ metadata:
|
|
|
22
23
|
|
|
23
24
|
Comprehensive research reports with multi-source synthesis. Use `pro` (3-9 min, $0.10) or `ultra` (5-25 min, $0.30) for deep analysis.
|
|
24
25
|
|
|
26
|
+
> **Safety:** The `input` is transmitted to Parallel AI's external service and may be logged or retained. Never include secrets, API keys/tokens, PII, or private/proprietary repo content — send only information safe to share with a third party.
|
|
27
|
+
>
|
|
25
28
|
> **CLI alternative (recommended)**: Install `parallel-cli` for official skill:
|
|
26
29
|
> `npx skills add parallel-web/parallel-agent-skills --skill parallel-deep-research`
|
|
27
30
|
|
|
@@ -1,62 +1,46 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"query": "I need a comprehensive market analysis of the developer
|
|
3
|
+
"query": "I need a comprehensive market analysis of the developer-tools space — top 20 players, their funding, market positioning, and where the industry is heading over the next 3-5 years, pulling from Gartner, Forrester, and recent VC investment reports",
|
|
4
4
|
"should_trigger": true
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
|
-
"query": "Write a deep research report on
|
|
7
|
+
"query": "Write a deep research report on WebAssembly adoption in production — synthesize company case studies, performance benchmarks vs native code, ecosystem maturity, and clear recommendations for when to adopt it",
|
|
8
8
|
"should_trigger": true
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
|
-
"query": "
|
|
11
|
+
"query": "Competitive landscape comparing Convex, Supabase, Firebase, and PlanetScale for our backend rewrite — full feature comparison, pricing at 50K DAU, community-health metrics, and a per-vendor risk assessment",
|
|
12
12
|
"should_trigger": true
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"query": "
|
|
15
|
+
"query": "Give me an industry deep-dive on the observability market — Datadog vs Grafana Cloud vs New Relic across features, pricing, scalability, and OpenTelemetry support, with customer migration stories and TCO analysis for a 500-node cluster",
|
|
16
16
|
"should_trigger": true
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
|
-
"query": "
|
|
19
|
+
"query": "For our architecture decision, produce a heavily-sourced report on event-driven patterns — Kafka vs RabbitMQ vs NATS at 100K events/sec, with production case studies and failure-mode analysis",
|
|
20
20
|
"should_trigger": true
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"query": "
|
|
24
|
-
"should_trigger": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"query": "Research and synthesize the current state of edge computing for real-time AI inference — cover hardware options, cloud provider edge offerings, latency benchmarks, and case studies from autonomous vehicles and IoT deployments",
|
|
28
|
-
"should_trigger": true
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"query": "Quick search: what's the current price of Bitcoin and what were Anthropic's latest announcements?",
|
|
32
|
-
"should_trigger": false
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"query": "Find the official migration guide URL for ESLint's new flat config format",
|
|
36
|
-
"should_trigger": false
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"query": "Search for recent blog posts about Bun 2.0 features and release date",
|
|
23
|
+
"query": "Quick — what's the current price of Bitcoin and what were Anthropic's latest announcements?",
|
|
40
24
|
"should_trigger": false
|
|
41
25
|
},
|
|
42
26
|
{
|
|
43
|
-
"query": "Go to https://stripe.com/docs/api and extract the authentication section with all
|
|
27
|
+
"query": "Go to https://stripe.com/docs/api and extract the authentication section with all its code examples",
|
|
44
28
|
"should_trigger": false
|
|
45
29
|
},
|
|
46
30
|
{
|
|
47
|
-
"query": "Scrape https://openai.com/pricing and
|
|
31
|
+
"query": "Scrape https://openai.com/pricing and pull out the per-token cost for each model tier",
|
|
48
32
|
"should_trigger": false
|
|
49
33
|
},
|
|
50
34
|
{
|
|
51
|
-
"query": "
|
|
35
|
+
"query": "Run the /research stage for the auth-refactor feature — investigate how our codebase currently handles session tokens, flag OWASP and DRY concerns, and write the findings into the design doc",
|
|
52
36
|
"should_trigger": false
|
|
53
37
|
},
|
|
54
38
|
{
|
|
55
|
-
"query": "
|
|
39
|
+
"query": "Kick off the plan stage for adding rate limiting — brainstorm the design one question at a time, then set up the branch, worktree, and task list",
|
|
56
40
|
"should_trigger": false
|
|
57
41
|
},
|
|
58
42
|
{
|
|
59
|
-
"query": "
|
|
43
|
+
"query": "Fix the TypeScript compilation error in src/services/auth.ts about the missing session-token type",
|
|
60
44
|
"should_trigger": false
|
|
61
45
|
}
|
|
62
46
|
]
|