productfoo 0.0.0-stage → 1.0.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 +201 -0
- package/README.md +338 -2
- package/bin/foo +3 -0
- package/bin/foo.mjs +42 -0
- package/commands/bug.md +31 -0
- package/commands/discovery.md +28 -0
- package/commands/ideate.md +27 -0
- package/commands/init.md +28 -0
- package/commands/pitch.md +27 -0
- package/commands/preview.md +25 -0
- package/commands/research.md +31 -0
- package/commands/roast.md +27 -0
- package/commands/spec.md +30 -0
- package/config/pricing.yaml +198 -0
- package/config/routing-policy.yaml +171 -0
- package/dist-public/src/activeModel.d.ts +83 -0
- package/dist-public/src/activeModel.js +331 -0
- package/dist-public/src/agentAdapters.d.ts +122 -0
- package/dist-public/src/agentAdapters.js +178 -0
- package/dist-public/src/agentState.d.ts +43 -0
- package/dist-public/src/agentState.js +177 -0
- package/dist-public/src/bugCapsule.d.ts +94 -0
- package/dist-public/src/bugCapsule.js +227 -0
- package/dist-public/src/bugCapture.d.ts +26 -0
- package/dist-public/src/bugCapture.js +251 -0
- package/dist-public/src/bugOwnerLog.d.ts +93 -0
- package/dist-public/src/bugOwnerLog.js +304 -0
- package/dist-public/src/bugReportStore.d.ts +48 -0
- package/dist-public/src/bugReportStore.js +860 -0
- package/dist-public/src/bugSpecContext.d.ts +7 -0
- package/dist-public/src/bugSpecContext.js +129 -0
- package/dist-public/src/channelFreshness.d.ts +25 -0
- package/dist-public/src/channelFreshness.js +194 -0
- package/dist-public/src/cli.d.ts +30 -0
- package/dist-public/src/cli.js +1667 -0
- package/dist-public/src/cliArgs.d.ts +7 -0
- package/dist-public/src/cliArgs.js +44 -0
- package/dist-public/src/codeCatalog.d.ts +41 -0
- package/dist-public/src/codeCatalog.js +197 -0
- package/dist-public/src/commandContract.d.ts +84 -0
- package/dist-public/src/commandContract.js +390 -0
- package/dist-public/src/commandUsage.d.ts +3 -0
- package/dist-public/src/commandUsage.js +30 -0
- package/dist-public/src/commands/agent.d.ts +60 -0
- package/dist-public/src/commands/agent.js +1353 -0
- package/dist-public/src/commands/asp.d.ts +8 -0
- package/dist-public/src/commands/asp.js +669 -0
- package/dist-public/src/commands/evalCmd.d.ts +4 -0
- package/dist-public/src/commands/evalCmd.js +405 -0
- package/dist-public/src/commands/login.d.ts +25 -0
- package/dist-public/src/commands/login.js +94 -0
- package/dist-public/src/commands/loop.d.ts +16 -0
- package/dist-public/src/commands/loop.js +619 -0
- package/dist-public/src/commands/reconcile.d.ts +41 -0
- package/dist-public/src/commands/reconcile.js +292 -0
- package/dist-public/src/commands/runtime.d.ts +1 -0
- package/dist-public/src/commands/runtime.js +36 -0
- package/dist-public/src/commands/scanRedact.d.ts +8 -0
- package/dist-public/src/commands/scanRedact.js +266 -0
- package/dist-public/src/commands/setup.d.ts +28 -0
- package/dist-public/src/commands/setup.js +398 -0
- package/dist-public/src/commands/shared.d.ts +17 -0
- package/dist-public/src/commands/shared.js +147 -0
- package/dist-public/src/commands/source.d.ts +1 -0
- package/dist-public/src/commands/source.js +134 -0
- package/dist-public/src/commands/specCmd.d.ts +24 -0
- package/dist-public/src/commands/specCmd.js +794 -0
- package/dist-public/src/commands/update.d.ts +61 -0
- package/dist-public/src/commands/update.js +244 -0
- package/dist-public/src/comprehensionSignal.d.ts +20 -0
- package/dist-public/src/comprehensionSignal.js +166 -0
- package/dist-public/src/conductor/diversity.d.ts +48 -0
- package/dist-public/src/conductor/diversity.js +423 -0
- package/dist-public/src/conductor/engine.d.ts +7 -0
- package/dist-public/src/conductor/engine.js +295 -0
- package/dist-public/src/conductor/families/ideate.d.ts +2 -0
- package/dist-public/src/conductor/families/ideate.js +255 -0
- package/dist-public/src/conductor/families/interview.d.ts +2 -0
- package/dist-public/src/conductor/families/interview.js +39 -0
- package/dist-public/src/conductor/families/specSwarm.d.ts +2 -0
- package/dist-public/src/conductor/families/specSwarm.js +146 -0
- package/dist-public/src/conductor/familyDelivery.d.ts +6 -0
- package/dist-public/src/conductor/familyDelivery.js +37 -0
- package/dist-public/src/conductor/familyPackArtifact.d.ts +4 -0
- package/dist-public/src/conductor/familyPackArtifact.js +260 -0
- package/dist-public/src/conductor/ideateDecision.d.ts +6 -0
- package/dist-public/src/conductor/ideateDecision.js +237 -0
- package/dist-public/src/conductor/pack.d.ts +26 -0
- package/dist-public/src/conductor/pack.js +75 -0
- package/dist-public/src/conductor/types.d.ts +111 -0
- package/dist-public/src/conductor/types.js +7 -0
- package/dist-public/src/configPath.d.ts +2 -0
- package/dist-public/src/configPath.js +7 -0
- package/dist-public/src/discoveryArtifacts.d.ts +54 -0
- package/dist-public/src/discoveryArtifacts.js +467 -0
- package/dist-public/src/discoveryCommand.d.ts +127 -0
- package/dist-public/src/discoveryCommand.js +2148 -0
- package/dist-public/src/discoveryConnections.d.ts +339 -0
- package/dist-public/src/discoveryConnections.js +613 -0
- package/dist-public/src/discoveryDocs.d.ts +129 -0
- package/dist-public/src/discoveryDocs.js +577 -0
- package/dist-public/src/discoveryEvidence.d.ts +59 -0
- package/dist-public/src/discoveryEvidence.js +198 -0
- package/dist-public/src/discoveryFireflies.d.ts +25 -0
- package/dist-public/src/discoveryFireflies.js +551 -0
- package/dist-public/src/discoveryGmail.d.ts +12 -0
- package/dist-public/src/discoveryGmail.js +466 -0
- package/dist-public/src/discoveryGong.d.ts +12 -0
- package/dist-public/src/discoveryGong.js +491 -0
- package/dist-public/src/discoveryLearningRouting.d.ts +90 -0
- package/dist-public/src/discoveryLearningRouting.js +405 -0
- package/dist-public/src/discoveryMatching.d.ts +26 -0
- package/dist-public/src/discoveryMatching.js +73 -0
- package/dist-public/src/discoveryOutlook.d.ts +12 -0
- package/dist-public/src/discoveryOutlook.js +492 -0
- package/dist-public/src/discoveryProcess.d.ts +221 -0
- package/dist-public/src/discoveryProcess.js +703 -0
- package/dist-public/src/discoveryProof.d.ts +143 -0
- package/dist-public/src/discoveryProof.js +529 -0
- package/dist-public/src/discoveryProviders.d.ts +152 -0
- package/dist-public/src/discoveryProviders.js +756 -0
- package/dist-public/src/discoveryReadiness.d.ts +219 -0
- package/dist-public/src/discoveryReadiness.js +672 -0
- package/dist-public/src/discoveryReconcile.d.ts +57 -0
- package/dist-public/src/discoveryReconcile.js +424 -0
- package/dist-public/src/discoverySlack.d.ts +12 -0
- package/dist-public/src/discoverySlack.js +452 -0
- package/dist-public/src/discoverySources.d.ts +56 -0
- package/dist-public/src/discoverySources.js +322 -0
- package/dist-public/src/discoverySync.d.ts +52 -0
- package/dist-public/src/discoverySync.js +151 -0
- package/dist-public/src/discoverySynthesis.d.ts +57 -0
- package/dist-public/src/discoverySynthesis.js +215 -0
- package/dist-public/src/discoveryTeams.d.ts +12 -0
- package/dist-public/src/discoveryTeams.js +516 -0
- package/dist-public/src/discoveryZoom.d.ts +12 -0
- package/dist-public/src/discoveryZoom.js +523 -0
- package/dist-public/src/elicitationSurface.d.ts +13 -0
- package/dist-public/src/elicitationSurface.js +77 -0
- package/dist-public/src/errorReport.d.ts +99 -0
- package/dist-public/src/errorReport.js +443 -0
- package/dist-public/src/errorTaxonomy.d.ts +84 -0
- package/dist-public/src/errorTaxonomy.js +189 -0
- package/dist-public/src/evalCalibration.d.ts +82 -0
- package/dist-public/src/evalCalibration.js +169 -0
- package/dist-public/src/evalChecks.d.ts +21 -0
- package/dist-public/src/evalChecks.js +295 -0
- package/dist-public/src/evalCompile.d.ts +56 -0
- package/dist-public/src/evalCompile.js +58 -0
- package/dist-public/src/evalImprove.d.ts +60 -0
- package/dist-public/src/evalImprove.js +175 -0
- package/dist-public/src/evalJudge.d.ts +47 -0
- package/dist-public/src/evalJudge.js +143 -0
- package/dist-public/src/evalLabels.d.ts +100 -0
- package/dist-public/src/evalLabels.js +287 -0
- package/dist-public/src/evalRecord.d.ts +68 -0
- package/dist-public/src/evalRecord.js +165 -0
- package/dist-public/src/evalRoast.d.ts +88 -0
- package/dist-public/src/evalRoast.js +249 -0
- package/dist-public/src/evidenceIntake.d.ts +66 -0
- package/dist-public/src/evidenceIntake.js +356 -0
- package/dist-public/src/feedback.d.ts +78 -0
- package/dist-public/src/feedback.js +294 -0
- package/dist-public/src/firefliesClient.d.ts +106 -0
- package/dist-public/src/firefliesClient.js +258 -0
- package/dist-public/src/firstMoveTensions.d.ts +10 -0
- package/dist-public/src/firstMoveTensions.js +93 -0
- package/dist-public/src/gitRun.d.ts +21 -0
- package/dist-public/src/gitRun.js +50 -0
- package/dist-public/src/githubReconcile.d.ts +94 -0
- package/dist-public/src/githubReconcile.js +205 -0
- package/dist-public/src/gmailNango.d.ts +131 -0
- package/dist-public/src/gmailNango.js +329 -0
- package/dist-public/src/gongNango.d.ts +118 -0
- package/dist-public/src/gongNango.js +308 -0
- package/dist-public/src/grammarGate.d.ts +13 -0
- package/dist-public/src/grammarGate.js +72 -0
- package/dist-public/src/harnessGates.d.ts +65 -0
- package/dist-public/src/harnessGates.js +168 -0
- package/dist-public/src/humanSurfaceEval.d.ts +19 -0
- package/dist-public/src/humanSurfaceEval.js +156 -0
- package/dist-public/src/ideate.d.ts +43 -0
- package/dist-public/src/ideate.js +255 -0
- package/dist-public/src/ideateContext.d.ts +11 -0
- package/dist-public/src/ideateContext.js +83 -0
- package/dist-public/src/index.d.ts +2 -0
- package/dist-public/src/index.js +4 -0
- package/dist-public/src/initCommand.d.ts +25 -0
- package/dist-public/src/initCommand.js +558 -0
- package/dist-public/src/interviewGate.d.ts +25 -0
- package/dist-public/src/interviewGate.js +126 -0
- package/dist-public/src/jsonFile.d.ts +2 -0
- package/dist-public/src/jsonFile.js +22 -0
- package/dist-public/src/loopBudget.d.ts +182 -0
- package/dist-public/src/loopBudget.js +494 -0
- package/dist-public/src/loopContracts.d.ts +35 -0
- package/dist-public/src/loopContracts.js +364 -0
- package/dist-public/src/machineState.d.ts +1 -0
- package/dist-public/src/machineState.js +9 -0
- package/dist-public/src/notionNango.d.ts +93 -0
- package/dist-public/src/notionNango.js +279 -0
- package/dist-public/src/orchestrationResult.d.ts +11 -0
- package/dist-public/src/orchestrationResult.js +73 -0
- package/dist-public/src/outlookNango.d.ts +124 -0
- package/dist-public/src/outlookNango.js +327 -0
- package/dist-public/src/packetCorrections.d.ts +40 -0
- package/dist-public/src/packetCorrections.js +172 -0
- package/dist-public/src/packetGlossary.d.ts +6 -0
- package/dist-public/src/packetGlossary.js +42 -0
- package/dist-public/src/packetIndex.d.ts +54 -0
- package/dist-public/src/packetIndex.js +744 -0
- package/dist-public/src/packetIndexEntry.d.ts +3 -0
- package/dist-public/src/packetIndexEntry.js +128 -0
- package/dist-public/src/packetIndexServe.d.ts +13 -0
- package/dist-public/src/packetIndexServe.js +113 -0
- package/dist-public/src/packetIndexWorker.d.ts +7 -0
- package/dist-public/src/packetIndexWorker.js +45 -0
- package/dist-public/src/packetLifecycle.d.ts +30 -0
- package/dist-public/src/packetLifecycle.js +127 -0
- package/dist-public/src/packetReconcile.d.ts +73 -0
- package/dist-public/src/packetReconcile.js +386 -0
- package/dist-public/src/packetStatus.d.ts +125 -0
- package/dist-public/src/packetStatus.js +770 -0
- package/dist-public/src/packetValidation.d.ts +17 -0
- package/dist-public/src/packetValidation.js +333 -0
- package/dist-public/src/packetVerify.d.ts +73 -0
- package/dist-public/src/packetVerify.js +303 -0
- package/dist-public/src/packetWrite.d.ts +52 -0
- package/dist-public/src/packetWrite.js +448 -0
- package/dist-public/src/pitch.d.ts +38 -0
- package/dist-public/src/pitch.js +154 -0
- package/dist-public/src/processMemo.d.ts +8 -0
- package/dist-public/src/processMemo.js +23 -0
- package/dist-public/src/productDetect.d.ts +30 -0
- package/dist-public/src/productDetect.js +376 -0
- package/dist-public/src/profile.d.ts +62 -0
- package/dist-public/src/profile.js +334 -0
- package/dist-public/src/questionModel.d.ts +46 -0
- package/dist-public/src/questionModel.js +74 -0
- package/dist-public/src/questionText.d.ts +7 -0
- package/dist-public/src/questionText.js +38 -0
- package/dist-public/src/redactConfig.d.ts +2 -0
- package/dist-public/src/redactConfig.js +11 -0
- package/dist-public/src/redactEngine.d.ts +59 -0
- package/dist-public/src/redactEngine.js +509 -0
- package/dist-public/src/redactGate.d.ts +63 -0
- package/dist-public/src/redactGate.js +209 -0
- package/dist-public/src/repoRead.d.ts +29 -0
- package/dist-public/src/repoRead.js +160 -0
- package/dist-public/src/research.d.ts +242 -0
- package/dist-public/src/research.js +1314 -0
- package/dist-public/src/researchCompletion.d.ts +34 -0
- package/dist-public/src/researchCompletion.js +123 -0
- package/dist-public/src/researchExecution.d.ts +47 -0
- package/dist-public/src/researchExecution.js +309 -0
- package/dist-public/src/researchFormat.d.ts +21 -0
- package/dist-public/src/researchFormat.js +77 -0
- package/dist-public/src/researchGate.d.ts +86 -0
- package/dist-public/src/researchGate.js +1036 -0
- package/dist-public/src/researchReceipt.d.ts +76 -0
- package/dist-public/src/researchReceipt.js +148 -0
- package/dist-public/src/researchRender.d.ts +2 -0
- package/dist-public/src/researchRender.js +267 -0
- package/dist-public/src/researchSigningKey.d.ts +19 -0
- package/dist-public/src/researchSigningKey.js +95 -0
- package/dist-public/src/riskClassify.d.ts +42 -0
- package/dist-public/src/riskClassify.js +149 -0
- package/dist-public/src/routines.d.ts +42 -0
- package/dist-public/src/routines.js +269 -0
- package/dist-public/src/routingPolicy.d.ts +172 -0
- package/dist-public/src/routingPolicy.js +646 -0
- package/dist-public/src/secretInput.d.ts +8 -0
- package/dist-public/src/secretInput.js +89 -0
- package/dist-public/src/selfCheck.d.ts +7 -0
- package/dist-public/src/selfCheck.js +473 -0
- package/dist-public/src/selfCheckCache.d.ts +29 -0
- package/dist-public/src/selfCheckCache.js +147 -0
- package/dist-public/src/severityClass.d.ts +15 -0
- package/dist-public/src/severityClass.js +22 -0
- package/dist-public/src/skillClientPolicy.d.ts +8 -0
- package/dist-public/src/skillClientPolicy.js +16 -0
- package/dist-public/src/skillLocal.d.ts +98 -0
- package/dist-public/src/skillLocal.js +463 -0
- package/dist-public/src/skillTreeDigest.d.ts +9 -0
- package/dist-public/src/skillTreeDigest.js +64 -0
- package/dist-public/src/slackNango.d.ts +62 -0
- package/dist-public/src/slackNango.js +208 -0
- package/dist-public/src/social/arxiv.d.ts +19 -0
- package/dist-public/src/social/arxiv.js +96 -0
- package/dist-public/src/social/github.d.ts +2 -0
- package/dist-public/src/social/github.js +78 -0
- package/dist-public/src/social/hackernews.d.ts +2 -0
- package/dist-public/src/social/hackernews.js +67 -0
- package/dist-public/src/social/index.d.ts +10 -0
- package/dist-public/src/social/index.js +79 -0
- package/dist-public/src/social/reddit.d.ts +2 -0
- package/dist-public/src/social/reddit.js +125 -0
- package/dist-public/src/social/types.d.ts +73 -0
- package/dist-public/src/social/types.js +61 -0
- package/dist-public/src/social/xml.d.ts +10 -0
- package/dist-public/src/social/xml.js +49 -0
- package/dist-public/src/social/youtube.d.ts +7 -0
- package/dist-public/src/social/youtube.js +217 -0
- package/dist-public/src/sourceIngress.d.ts +488 -0
- package/dist-public/src/sourceIngress.js +1651 -0
- package/dist-public/src/specAfter.d.ts +187 -0
- package/dist-public/src/specAfter.js +814 -0
- package/dist-public/src/specBudget.d.ts +124 -0
- package/dist-public/src/specBudget.js +424 -0
- package/dist-public/src/specDecisionSignals.d.ts +38 -0
- package/dist-public/src/specDecisionSignals.js +121 -0
- package/dist-public/src/specLinkedCommits.d.ts +7 -0
- package/dist-public/src/specLinkedCommits.js +107 -0
- package/dist-public/src/specSections.d.ts +105 -0
- package/dist-public/src/specSections.js +718 -0
- package/dist-public/src/statusGlyphs.d.ts +18 -0
- package/dist-public/src/statusGlyphs.js +75 -0
- package/dist-public/src/swarmCommand.d.ts +10 -0
- package/dist-public/src/swarmCommand.js +96 -0
- package/dist-public/src/teamsNango.d.ts +114 -0
- package/dist-public/src/teamsNango.js +301 -0
- package/dist-public/src/tokenStore.d.ts +10 -0
- package/dist-public/src/tokenStore.js +77 -0
- package/dist-public/src/trustEnvelope.d.ts +78 -0
- package/dist-public/src/trustEnvelope.js +392 -0
- package/dist-public/src/untrustedText.d.ts +6 -0
- package/dist-public/src/untrustedText.js +20 -0
- package/dist-public/src/updateNotice.d.ts +41 -0
- package/dist-public/src/updateNotice.js +290 -0
- package/dist-public/src/vendorYaml.d.ts +1 -0
- package/dist-public/src/vendorYaml.js +7374 -0
- package/dist-public/src/workflowRunActuals.d.ts +67 -0
- package/dist-public/src/workflowRunActuals.js +184 -0
- package/dist-public/src/zendeskDiscovery.d.ts +12 -0
- package/dist-public/src/zendeskDiscovery.js +513 -0
- package/dist-public/src/zendeskNango.d.ts +131 -0
- package/dist-public/src/zendeskNango.js +344 -0
- package/dist-public/src/zoomNango.d.ts +106 -0
- package/dist-public/src/zoomNango.js +351 -0
- package/docs/CHANGELOG.md +32 -0
- package/docs/THIRD_PARTY_NOTICES.md +36 -0
- package/package.json +71 -4
- package/schemas/bug-capsule-receipt.schema.json +54 -0
- package/schemas/bug-capsule.schema.json +189 -0
- package/schemas/discovery-evidence-envelope.schema.json +79 -0
- package/schemas/discovery-processing-receipt.schema.json +71 -0
- package/schemas/discovery-service-contract.schema.json +189 -0
- package/skills/AGENTS.md +32 -0
- package/skills/README.md +287 -0
- package/skills/bug/SKILL.md +49 -0
- package/skills/build-preview-spec/SKILL.md +103 -0
- package/skills/capture-external-artifact/SKILL.md +23 -0
- package/skills/capture-external-artifact/agents/openai.yaml +4 -0
- package/skills/capture-external-artifact/references/extractor-libraries.md +27 -0
- package/skills/check-spec-health/SKILL.md +45 -0
- package/skills/check-spec-health/agents/openai.yaml +4 -0
- package/skills/competitive-positioning/SKILL.md +86 -0
- package/skills/competitive-positioning/agents/openai.yaml +4 -0
- package/skills/cpo-lens/SKILL.md +398 -0
- package/skills/cpo-lens/agents/openai.yaml +4 -0
- package/skills/create-prd/SKILL.md +26 -0
- package/skills/create-prd/agents/openai.yaml +4 -0
- package/skills/customer-discovery/SKILL.md +192 -0
- package/skills/design-system/SKILL.md +49 -0
- package/skills/design-system/agents/openai.yaml +4 -0
- package/skills/discussion-guide/SKILL.md +75 -0
- package/skills/discussion-guide/agents/openai.yaml +4 -0
- package/skills/firecrawl-research-papers/SKILL.md +96 -0
- package/skills/firecrawl-research-papers/agents/openai.yaml +4 -0
- package/skills/foo-roast/SKILL.md +325 -0
- package/skills/generate-gtm-brief/SKILL.md +41 -0
- package/skills/generate-gtm-brief/agents/openai.yaml +4 -0
- package/skills/generate-gtm-brief/references/gtm-brief-template.md +56 -0
- package/skills/gong-quotes/SKILL.md +43 -0
- package/skills/gong-quotes/agents/openai.yaml +4 -0
- package/skills/grill-me/SKILL.md +27 -0
- package/skills/grill-me/agents/openai.yaml +4 -0
- package/skills/ideate/SKILL.md +180 -0
- package/skills/ideate/references/family-packs.md +5 -0
- package/skills/initiative-tracker/SKILL.md +23 -0
- package/skills/initiative-tracker/agents/openai.yaml +4 -0
- package/skills/interop-review/SKILL.md +25 -0
- package/skills/interop-review/agents/openai.yaml +4 -0
- package/skills/interview-me/SKILL.md +404 -0
- package/skills/interview-me/agents/openai.yaml +4 -0
- package/skills/loop-library-audit/SKILL.md +123 -0
- package/skills/pitch/SKILL.md +110 -0
- package/skills/pitch/references/opportunity-assessment.md +136 -0
- package/skills/pitch/references/prfaq-template.md +54 -0
- package/skills/pmm-release-briefing/SKILL.md +27 -0
- package/skills/pmm-release-briefing/agents/openai.yaml +4 -0
- package/skills/pmm-release-briefing/references/variant-generalized.md +16 -0
- package/skills/positioning-messaging/SKILL.md +70 -0
- package/skills/positioning-messaging/agents/openai.yaml +4 -0
- package/skills/positioning-messaging/references/guest-insights.md +1400 -0
- package/skills/preview-swarm/SKILL.md +418 -0
- package/skills/preview-swarm/agents/openai.yaml +4 -0
- package/skills/preview-swarm/references/html-effectiveness-build-previews.md +168 -0
- package/skills/product-copywriting/SKILL.md +127 -0
- package/skills/product-copywriting/agents/openai.yaml +4 -0
- package/skills/product-copywriting/references/foo-voice.md +26 -0
- package/skills/product-shape-interview/SKILL.md +219 -0
- package/skills/product-shape-interview/agents/openai.yaml +4 -0
- package/skills/ready-for-release/SKILL.md +39 -0
- package/skills/ready-for-release/agents/openai.yaml +4 -0
- package/skills/redact-transcripts/SKILL.md +23 -0
- package/skills/redact-transcripts/agents/openai.yaml +4 -0
- package/skills/research-brief/SKILL.md +48 -0
- package/skills/research-brief/agents/openai.yaml +4 -0
- package/skills/research-refresh/SKILL.md +63 -0
- package/skills/research-refresh/references/worked-cases.md +44 -0
- package/skills/review-loop/SKILL.md +200 -0
- package/skills/review-spec/SKILL.md +32 -0
- package/skills/review-spec/agents/openai.yaml +4 -0
- package/skills/rfc-from-research/SKILL.md +42 -0
- package/skills/rfc-from-research/agents/openai.yaml +4 -0
- package/skills/rfc-from-research/references/rfc-pattern.md +69 -0
- package/skills/skill-registry.yaml +810 -0
- package/skills/spec-cleanup/SKILL.md +103 -0
- package/skills/spec-cleanup/agents/openai.yaml +4 -0
- package/skills/spec-swarm/SKILL.md +87 -0
- package/skills/spec-swarm/agents/openai.yaml +4 -0
- package/skills/spec-swarm/template/SKILL.template.md +94 -0
- package/skills/spec-swarm/template/personas/accessibility-inclusion.md +40 -0
- package/skills/spec-swarm/template/personas/ai-technical-pm.md +69 -0
- package/skills/spec-swarm/template/personas/analytics-engineering.md +39 -0
- package/skills/spec-swarm/template/personas/applied-ai-eval.md +64 -0
- package/skills/spec-swarm/template/personas/business-gm-pm.md +67 -0
- package/skills/spec-swarm/template/personas/consumer-craft-pm.md +68 -0
- package/skills/spec-swarm/template/personas/content-design.md +40 -0
- package/skills/spec-swarm/template/personas/cpo.md +42 -0
- package/skills/spec-swarm/template/personas/data-science.md +42 -0
- package/skills/spec-swarm/template/personas/developer-experience.md +65 -0
- package/skills/spec-swarm/template/personas/dx-product.md +70 -0
- package/skills/spec-swarm/template/personas/field.md +43 -0
- package/skills/spec-swarm/template/personas/finance-cfo.md +40 -0
- package/skills/spec-swarm/template/personas/growth-pm.md +67 -0
- package/skills/spec-swarm/template/personas/platform-pm.md +67 -0
- package/skills/spec-swarm/template/personas/pmm.md +43 -0
- package/skills/spec-swarm/template/personas/principal-product-designer.md +42 -0
- package/skills/spec-swarm/template/personas/product-ops-program.md +41 -0
- package/skills/spec-swarm/template/personas/qa-release.md +41 -0
- package/skills/spec-swarm/template/personas/responsible-ai-safety.md +64 -0
- package/skills/spec-swarm/template/personas/security-privacy-legal.md +40 -0
- package/skills/spec-swarm/template/personas/strategy-competitive.md +41 -0
- package/skills/spec-swarm/template/personas/technical-architect.md +42 -0
- package/skills/spec-swarm/template/personas/technical-lead.md +43 -0
- package/skills/spec-swarm/template/personas/user-research.md +41 -0
- package/skills/spec-swarm-accessibility-inclusion/SKILL.md +95 -0
- package/skills/spec-swarm-accessibility-inclusion/agents/openai.yaml +4 -0
- package/skills/spec-swarm-ai-technical-pm/SKILL.md +124 -0
- package/skills/spec-swarm-analytics-engineering/SKILL.md +94 -0
- package/skills/spec-swarm-analytics-engineering/agents/openai.yaml +4 -0
- package/skills/spec-swarm-applied-ai-eval/SKILL.md +120 -0
- package/skills/spec-swarm-business-gm-pm/SKILL.md +122 -0
- package/skills/spec-swarm-consumer-craft-pm/SKILL.md +122 -0
- package/skills/spec-swarm-content-design/SKILL.md +95 -0
- package/skills/spec-swarm-content-design/agents/openai.yaml +4 -0
- package/skills/spec-swarm-cpo/SKILL.md +94 -0
- package/skills/spec-swarm-cpo/agents/openai.yaml +4 -0
- package/skills/spec-swarm-data-science/SKILL.md +95 -0
- package/skills/spec-swarm-data-science/agents/openai.yaml +4 -0
- package/skills/spec-swarm-developer-experience/SKILL.md +121 -0
- package/skills/spec-swarm-dx-product/SKILL.md +126 -0
- package/skills/spec-swarm-field/SKILL.md +96 -0
- package/skills/spec-swarm-field/agents/openai.yaml +4 -0
- package/skills/spec-swarm-finance-cfo/SKILL.md +95 -0
- package/skills/spec-swarm-finance-cfo/agents/openai.yaml +4 -0
- package/skills/spec-swarm-growth-pm/SKILL.md +122 -0
- package/skills/spec-swarm-platform-pm/SKILL.md +122 -0
- package/skills/spec-swarm-pmm/SKILL.md +96 -0
- package/skills/spec-swarm-pmm/agents/openai.yaml +4 -0
- package/skills/spec-swarm-principal-product-designer/SKILL.md +95 -0
- package/skills/spec-swarm-principal-product-designer/agents/openai.yaml +4 -0
- package/skills/spec-swarm-product-ops-program/SKILL.md +96 -0
- package/skills/spec-swarm-product-ops-program/agents/openai.yaml +4 -0
- package/skills/spec-swarm-qa-release/SKILL.md +96 -0
- package/skills/spec-swarm-qa-release/agents/openai.yaml +4 -0
- package/skills/spec-swarm-responsible-ai-safety/SKILL.md +120 -0
- package/skills/spec-swarm-security-privacy-legal/SKILL.md +95 -0
- package/skills/spec-swarm-security-privacy-legal/agents/openai.yaml +4 -0
- package/skills/spec-swarm-strategy-competitive/SKILL.md +96 -0
- package/skills/spec-swarm-strategy-competitive/agents/openai.yaml +4 -0
- package/skills/spec-swarm-technical-architect/SKILL.md +95 -0
- package/skills/spec-swarm-technical-architect/agents/openai.yaml +4 -0
- package/skills/spec-swarm-technical-lead/SKILL.md +96 -0
- package/skills/spec-swarm-technical-lead/agents/openai.yaml +4 -0
- package/skills/spec-swarm-user-research/SKILL.md +95 -0
- package/skills/spec-swarm-user-research/agents/openai.yaml +4 -0
- package/skills/strategy-check/SKILL.md +170 -0
- package/skills/strategy-check/agents/openai.yaml +4 -0
- package/skills/study-digest/SKILL.md +41 -0
- package/skills/synthetic-customer/SKILL.md +68 -0
- package/skills/update-cli-spec/SKILL.md +69 -0
- package/skills/update-cli-spec/agents/openai.yaml +4 -0
- package/skills/voc-researcher/SKILL.md +45 -0
- package/skills/voc-researcher/agents/openai.yaml +4 -0
- package/skills-lock.json +35 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Go-to-Market Brief
|
|
2
|
+
|
|
3
|
+
## Decision
|
|
4
|
+
|
|
5
|
+
- Launch decision:
|
|
6
|
+
- Decision owner:
|
|
7
|
+
- Review state:
|
|
8
|
+
- Target window:
|
|
9
|
+
|
|
10
|
+
## Product Truth
|
|
11
|
+
|
|
12
|
+
- What changed:
|
|
13
|
+
- What did not change:
|
|
14
|
+
- What works now:
|
|
15
|
+
- Known limits:
|
|
16
|
+
|
|
17
|
+
## Audience and Pain
|
|
18
|
+
|
|
19
|
+
- Primary audience:
|
|
20
|
+
- Pain or unmet need:
|
|
21
|
+
- Current alternative:
|
|
22
|
+
- Evidence for the need:
|
|
23
|
+
|
|
24
|
+
## Positioning and Message
|
|
25
|
+
|
|
26
|
+
- Positioning statement:
|
|
27
|
+
- Differentiated value:
|
|
28
|
+
- Proof points:
|
|
29
|
+
- Claims to avoid:
|
|
30
|
+
|
|
31
|
+
## Rollout and Readiness
|
|
32
|
+
|
|
33
|
+
- Release stages:
|
|
34
|
+
- Entry and exit criteria:
|
|
35
|
+
- Required product, support, and communication artifacts:
|
|
36
|
+
- Owners and approval boundaries:
|
|
37
|
+
|
|
38
|
+
## Measures
|
|
39
|
+
|
|
40
|
+
- Desired outcome:
|
|
41
|
+
- Leading signal:
|
|
42
|
+
- Success measure:
|
|
43
|
+
- Stop or rollback signal:
|
|
44
|
+
|
|
45
|
+
## Evidence Ledger
|
|
46
|
+
|
|
47
|
+
- **Sources used** — approved evidence that supports this brief.
|
|
48
|
+
- **Sources omitted** — relevant evidence lanes not consulted.
|
|
49
|
+
- **Trust status** — fact, approved evidence, inference, or hypothesis.
|
|
50
|
+
- **Limits** — unresolved product, audience, or launch uncertainty.
|
|
51
|
+
|
|
52
|
+
## Human Decisions
|
|
53
|
+
|
|
54
|
+
- Decisions already made:
|
|
55
|
+
- Decisions still required:
|
|
56
|
+
- Recommended next decision:
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gong-quotes
|
|
3
|
+
description: "Use when approved customer-call evidence needs traceable quotations, paraphrases, themes, or quote-gap analysis."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Gong Quotes
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
The name is retained for compatibility; the workflow is provider-neutral. Work
|
|
11
|
+
only from approved sanitized evidence. Do not open, paste, commit, or reproduce a
|
|
12
|
+
raw transcript.
|
|
13
|
+
|
|
14
|
+
1. Confirm the topic, study or packet scope, and whether exact quotations are required.
|
|
15
|
+
2. Use `foo discovery` to match and apply an approved call through the in-memory
|
|
16
|
+
proof gate when raw call access is needed. Consume only the resulting approved
|
|
17
|
+
sanitized evidence envelope.
|
|
18
|
+
3. Reproduce a verbatim quote only when those exact words are already present in
|
|
19
|
+
approved sanitized evidence. Otherwise write a labeled paraphrase; never
|
|
20
|
+
reconstruct or invent wording.
|
|
21
|
+
4. Group quotes by theme, retain the stable evidence reference and date, show
|
|
22
|
+
dissent, and avoid participant PII.
|
|
23
|
+
5. Return the quote set in chat or an explicitly requested local artifact; never
|
|
24
|
+
update a CRM, call system, or message destination.
|
|
25
|
+
|
|
26
|
+
### Source ledger
|
|
27
|
+
|
|
28
|
+
- **Sources used** — approved sanitized evidence references and quote eligibility.
|
|
29
|
+
- **Sources omitted** — calls or evidence lanes not approved, unavailable, or out of scope.
|
|
30
|
+
- **Trust status** — exact approved quote, labeled paraphrase, or unsupported gap.
|
|
31
|
+
- **Limits** — coverage, representativeness, and wording that could not be quoted.
|
|
32
|
+
|
|
33
|
+
Optional omissions are named in both the human summary and the artifact.
|
|
34
|
+
|
|
35
|
+
## Error Handling
|
|
36
|
+
|
|
37
|
+
- If a required call lacks source approval, provider access, or an approved
|
|
38
|
+
sanitized envelope, stop with `status: blocked`, name what did not run, give
|
|
39
|
+
the exact `next action` from `foo discovery`, and set `exit: nonzero`.
|
|
40
|
+
- If an optional call is omitted, continue only when the remaining evidence can
|
|
41
|
+
support an honest result and list the omission.
|
|
42
|
+
- If asked for a quote that does not exist in approved evidence, return a quote
|
|
43
|
+
gap. Do not use a generic quote or model-generated substitute.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill-me
|
|
3
|
+
description: Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Human-facing voice
|
|
7
|
+
|
|
8
|
+
Before writing for a person, load `foo skill product-copywriting/references/foo-voice.md`
|
|
9
|
+
and apply it within this skill's required output format. Keep the evidence record
|
|
10
|
+
and workflow responsibilities intact. If the reference cannot be loaded, report
|
|
11
|
+
the delivery gap and preserve evidence, uncertainty and dissent explicitly.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
Use this skill when its frontmatter description matches the user request. Follow the workflow and constraints below.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
When the user explicitly asks to be grilled, pressure-test the plan until its consequential decisions are understood, resolving dependencies one at a time. When another skill borrows this interaction model, use its scope and question budget: one question, a recommended answer, then wait. Borrowing the pattern does not request an exhaustive interview. Keep criticism specific to the plan and its evidence. For each question, provide your recommended answer.
|
|
19
|
+
|
|
20
|
+
Ask the questions one at a time.
|
|
21
|
+
|
|
22
|
+
If a question can be answered by exploring the codebase, explore the codebase instead.
|
|
23
|
+
|
|
24
|
+
## Error Handling
|
|
25
|
+
|
|
26
|
+
- If required files, tools, connectors, credentials, or source artifacts are unavailable, state the blocker clearly and continue only with safe local evidence.
|
|
27
|
+
- If the user request requires missing product judgment or source-boundary approval, ask one focused question before proceeding.
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ideate
|
|
3
|
+
description: "Leaf craft for productfoo's ideation runs: how to think as an ideator, a stress reviewer, or a judge inside the run contract that `foo ideate` emits. The conductor (CLI) owns the choreography — phases, cells, blindness, budgets, verification; this skill holds only the per-role thinking moves."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ideate (leaf craft)
|
|
7
|
+
|
|
8
|
+
`foo ideate "<idea>"` emits the run contract: the phases, the per-ideator
|
|
9
|
+
frame × lens × seed cells, the protocol rules, and the record scaffold.
|
|
10
|
+
Execute that contract as printed. This skill adds only the craft — how to be
|
|
11
|
+
good *inside* each role. It contains no orchestration; if this file and the
|
|
12
|
+
emitted contract ever disagree about sequencing, the contract wins.
|
|
13
|
+
|
|
14
|
+
## Ideator craft (DIVERGE)
|
|
15
|
+
|
|
16
|
+
Work only your own cell; the contract tells you your frame, lens, and seed.
|
|
17
|
+
Use the shared prior-work brief as context, including previous ideas that
|
|
18
|
+
failed or were deferred. Compare with the strongest earlier proposal. A useful
|
|
19
|
+
new direction changes a mechanism, resolves an old constraint, or combines
|
|
20
|
+
findings into something the user can now do. Explain that difference with a
|
|
21
|
+
concrete before/after example in `mechanism`; a renamed earlier idea is not new.
|
|
22
|
+
Research conclusions retain their uncertainty until checked against evidence.
|
|
23
|
+
The thinking moves, each with its why (every depth rotates all five):
|
|
24
|
+
|
|
25
|
+
- **analogy** — steal the *mechanism* from another domain, never the surface;
|
|
26
|
+
surface-analogies decorate, mechanism-analogies transfer.
|
|
27
|
+
- **inversion** — "how would we guarantee the failure?" then negate each
|
|
28
|
+
ingredient; failure is easier to enumerate honestly than success.
|
|
29
|
+
- **how-might-we** — phrase the tension as HMW questions, then answer the
|
|
30
|
+
sharpest; the question shape stops premature solutioning.
|
|
31
|
+
- **first-principles** — separate bedrock truths from inherited assumptions
|
|
32
|
+
and rebuild only from bedrock; most designs smuggle in the defaults.
|
|
33
|
+
- **second-order** — "and then what?" twice; first-order wins often create
|
|
34
|
+
the next problem.
|
|
35
|
+
|
|
36
|
+
Return every idea as an object — `claim, frame, lens, reasoning, mechanism,
|
|
37
|
+
assumption, novelty, claims_relied_on` — appended to the record's ideas block.
|
|
38
|
+
Idea and evaluation stay separate so raw claims survive scoring. `reasoning`
|
|
39
|
+
is the frame's move, shown, in the tagged shape the contract prints (an
|
|
40
|
+
inversion enumerates its failure ingredients before the negation; an analogy
|
|
41
|
+
names its source domain and the mechanism stolen). Put a concise rationale
|
|
42
|
+
in `reasoning`, not a private reasoning transcript. The check verifies the
|
|
43
|
+
shape of the explanation; it cannot certify originality or usefulness.
|
|
44
|
+
|
|
45
|
+
Return at most 4 new ideas. Retain the strongest existing direction as the
|
|
46
|
+
comparison baseline named by the conductor. For new candidates, discard generic
|
|
47
|
+
restatements of that baseline and return ideas whose `novelty` can honestly complete `vs: <nearest existing or obvious
|
|
48
|
+
approach> — <what this beats it on>`. Constraints stated in the idea are held
|
|
49
|
+
once at contract level; never restate consent, approval, or exclusion language
|
|
50
|
+
inside your objects — a mechanism spent on disclaimers is a mechanism not
|
|
51
|
+
spent on the idea.
|
|
52
|
+
|
|
53
|
+
Write the claim as one sentence and put the texture in `mechanism`: it is free
|
|
54
|
+
text, read by humans, and never clustered on, so nuance costs you nothing at
|
|
55
|
+
merge time. `claims_relied_on` lists the empirical claims the idea would die
|
|
56
|
+
without — that list is what the falsification pass aims at.
|
|
57
|
+
|
|
58
|
+
## Stress craft (STRESS)
|
|
59
|
+
|
|
60
|
+
For a claim review, separate **supported**, **refuted**, and **unknown**.
|
|
61
|
+
An observation needs a source and what it actually shows. Agreement across
|
|
62
|
+
ideators is not corroboration; a missing source is not a refutation. Explain
|
|
63
|
+
the consequence for each dependent idea. Preserve failed originals when a
|
|
64
|
+
corrected idea is introduced so the decision can show what changed.
|
|
65
|
+
|
|
66
|
+
- **pre-mortem** — "it is six months later and this failed — why?"; past-tense
|
|
67
|
+
framing unlocks concrete failure stories that critique-framing suppresses.
|
|
68
|
+
- **consider-the-opposite** — argue the reverse position seriously once.
|
|
69
|
+
- **disconfirmation** — actively try to kill the front-runner; confirmation
|
|
70
|
+
accumulates by default, disconfirmation only happens on purpose.
|
|
71
|
+
- Roast moves: sharpest cut first; subtract weak scope before adding caveats.
|
|
72
|
+
- Dissent must cite the observation, not the role ("the wire log shows X"
|
|
73
|
+
beats "as security, I worry").
|
|
74
|
+
- The pass leaves a trace: fill the record's `pre_mortem`,
|
|
75
|
+
`disconfirmation_vs_frontrunner`, and `outcome_change` lines — what the
|
|
76
|
+
stress changed, or exactly why it changed nothing. A stress pass with no
|
|
77
|
+
recorded verdict is indistinguishable from one that never ran.
|
|
78
|
+
|
|
79
|
+
## Judge craft (CONVERGE)
|
|
80
|
+
|
|
81
|
+
- **NUF**: New (does this exist already?), Useful (does it move the actual
|
|
82
|
+
problem?), Feasible (buildable by this team at this scale?) — 1–10 each,
|
|
83
|
+
using the full range: a pool judged 4-to-7 is a judge refusing to judge.
|
|
84
|
+
- N is unanchored until it names its neighbor: every finalist carries
|
|
85
|
+
`nearest existing: <the closest thing that already exists>` and what this
|
|
86
|
+
beats it on — "none found locally" must be said out loud, never implied.
|
|
87
|
+
- Every finalist carries `cheapest test:` — the one-week falsification a
|
|
88
|
+
person could start Monday; an idea with no cheap test is a bet, and say so.
|
|
89
|
+
- Write the reason before the score; a score written first back-justifies.
|
|
90
|
+
- Note the asymmetry: reversible? cheap to test? A 6 that's free to try can
|
|
91
|
+
beat an 8 that's a one-way door.
|
|
92
|
+
- Tag your competence: `inside | edge | needs-evidence` — a judge outside
|
|
93
|
+
their circle flags it rather than bluffing calibration.
|
|
94
|
+
|
|
95
|
+
## The record's face (front matter)
|
|
96
|
+
|
|
97
|
+
The front matter is the first — often the only — thing a decider reads, so it
|
|
98
|
+
opens with `recommendation` and carries no machinery commentary. The
|
|
99
|
+
recommendation is opinionated and tight, in this shape and at most ~60 words:
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
<Winner, by name>. <Why, one clause>. Bet: <the single load-bearing
|
|
103
|
+
assumption>. Test: <the falsifier a person could start Monday>.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
No hedging words (maybe, could, consider, might) — a run that cannot pick
|
|
107
|
+
says so as its position ("the honest answer is nothing, because <reason>"),
|
|
108
|
+
which is a stance, not a hedge. A menu is not a recommendation; options
|
|
109
|
+
belong in `# The call`, ranked. `foo ideate check` refuses a record whose
|
|
110
|
+
recommendation is still null. Everything below `decider` in the front matter
|
|
111
|
+
is machinery (ids, contract version, the measured meter) — never add
|
|
112
|
+
explainer comments to it; the contract and this skill teach, the record
|
|
113
|
+
states.
|
|
114
|
+
|
|
115
|
+
## Useful decisions
|
|
116
|
+
|
|
117
|
+
The rendered decision is the human deliverable. It explains what the proposed
|
|
118
|
+
mechanism changes for the user, what it retains or challenges from named prior
|
|
119
|
+
research and ideas, and why it wins against the best alternative. Give each
|
|
120
|
+
alternative a condition under which the user should choose it.
|
|
121
|
+
|
|
122
|
+
In every ranking table, put `What this is` immediately after `Direction`.
|
|
123
|
+
Use one plain-English sentence saying who does or receives what. Describe the
|
|
124
|
+
idea itself before explaining why it ranks here; a renamed title or a phrase
|
|
125
|
+
such as “improves efficiency” does not explain the idea. Include the same
|
|
126
|
+
description for excluded directions so readers understand what was rejected.
|
|
127
|
+
|
|
128
|
+
Make the first experiment executable: an action, a time or cost bound, an
|
|
129
|
+
observable pass criterion, and a stop/change-direction criterion. Treat this
|
|
130
|
+
as a test to propose, not permission to run it. Preserve unresolved empirical
|
|
131
|
+
claims as explicit assumptions. If the evidence kills every candidate,
|
|
132
|
+
recommend doing nothing or gathering the missing evidence; do not manufacture
|
|
133
|
+
a winner to fill the form. Label scope cuts as proposals for the human; evidence-based exclusions remain
|
|
134
|
+
ineligible. Keep excluded directions in the backing rank with their refutation
|
|
135
|
+
and no score. The conductor owns the exact record and rendering
|
|
136
|
+
schema, including the size budget and validation commands.
|
|
137
|
+
|
|
138
|
+
## Judgment ledger
|
|
139
|
+
|
|
140
|
+
Carry claim, evidence, inference, confidence, dissent through the run. The
|
|
141
|
+
diversity meter and minority report are ledger entries, not decoration — a
|
|
142
|
+
homogeneous pool or vanished dissent is a finding to surface, never smooth
|
|
143
|
+
over. User-only decisions: the pick, the not-doing list, any scope call.
|
|
144
|
+
|
|
145
|
+
The meter is computed, never counted by reading: run
|
|
146
|
+
`foo ideate diversity <record> --write` over the stored objects. A number you
|
|
147
|
+
reached by eye must say `diversity_method: estimated` — every downstream reader
|
|
148
|
+
treats the meter as measured, so an eyeballed one is worse than none.
|
|
149
|
+
|
|
150
|
+
## Usage
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
foo ideate "a CLI that reviews my dependencies for supply-chain risk"
|
|
154
|
+
foo ideate "make onboarding not suck" --depth deep
|
|
155
|
+
foo ideate context "make onboarding not suck" --json
|
|
156
|
+
foo ideate check ideas/2026-07-06-dep-risk.md --before-build-on
|
|
157
|
+
foo ideate diversity ideas/2026-07-06-dep-risk.md --write
|
|
158
|
+
foo ideate check ideas/2026-07-06-dep-risk.md
|
|
159
|
+
foo ideate result ideas/2026-07-06-dep-risk.md
|
|
160
|
+
Use $ideate on this idea: <idea>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Run the CLI first; it emits the contract this craft plugs into.
|
|
164
|
+
|
|
165
|
+
## Error Handling
|
|
166
|
+
|
|
167
|
+
- **No idea text** — ask for the idea in one sentence; never invent a
|
|
168
|
+
placeholder.
|
|
169
|
+
- **Contract missing** (skill invoked without a `foo ideate` run) — run the
|
|
170
|
+
CLI first; do not improvise phases or cells from memory.
|
|
171
|
+
- **Asked to auto-pick or auto-ship** — refuse: the Decider is human (D6);
|
|
172
|
+
offer the shortlist and the `foo spec` hand-off instead.
|
|
173
|
+
- **Procedural failures** (homogeneous pool, judge inconsistency, missing
|
|
174
|
+
dissent, budget exhaustion) — the emitted contract carries the recovery
|
|
175
|
+
rules; follow it, and never bypass `foo ideate check` by hand-editing the
|
|
176
|
+
verdict.
|
|
177
|
+
- **No prior-work match** — local discovery is lexical and bounded. Inspect
|
|
178
|
+
related terminology and supplied references; record the search gap honestly.
|
|
179
|
+
- **Unresolved claim** — record unknown, retain its uncertainty in the decision,
|
|
180
|
+
and propose a test. A record check proves coverage and consistency, not facts.
|