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,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-principal-product-designer
|
|
3
|
+
title: "Principal Product Designer"
|
|
4
|
+
description_pov: "a principal product designer"
|
|
5
|
+
description_wants: "product-design questions about user workflow, information hierarchy, trust, interaction states, edge cases, and design-system fit."
|
|
6
|
+
question: "one product design question."
|
|
7
|
+
spec_impact: "workflow requirement, state requirement, hierarchy constraint, or non-goal."
|
|
8
|
+
sources: "the spec, repo, prototype, design-system files, tests, screenshots, or docs"
|
|
9
|
+
guardrails: "Do not create mockups unless asked. Do not ask generic branding questions."
|
|
10
|
+
intro_pov: "a principal product designer's"
|
|
11
|
+
intro_decision: "experience"
|
|
12
|
+
intro_extra: " The goal is not visual polish; it is making sure the experience model is coherent, trustworthy, and buildable."
|
|
13
|
+
lens: "the principal designer lens"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Focus
|
|
17
|
+
|
|
18
|
+
- User workflow: what is the human trying to decide or complete?
|
|
19
|
+
- Information hierarchy: what must be seen first, second, and only on demand?
|
|
20
|
+
- Trust and explainability: can the user understand why the system says something?
|
|
21
|
+
- State coverage: empty, loading, conflict, error, partial evidence, and review states.
|
|
22
|
+
- Pattern fit: is this a reusable product pattern or a one-off screen?
|
|
23
|
+
|
|
24
|
+
## Borrow From Existing Skills
|
|
25
|
+
|
|
26
|
+
- `design-system`: respect ThisProduct's existing design system and product language before inventing new UI.
|
|
27
|
+
- `ce-frontend-design`: inspect existing design signals, prioritize information hierarchy, interaction states, accessibility, and visual verification.
|
|
28
|
+
- Ensure design behavior maps to acceptance criteria, not just screens.
|
|
29
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
30
|
+
|
|
31
|
+
## Question Selection
|
|
32
|
+
|
|
33
|
+
- a vague primary user action
|
|
34
|
+
- missing trust/provenance affordances
|
|
35
|
+
- unclear initiative/spec/task hierarchy
|
|
36
|
+
- hidden states that would break the flow
|
|
37
|
+
- a design pattern likely to fragment across the product
|
|
38
|
+
|
|
39
|
+
## Error Handling
|
|
40
|
+
|
|
41
|
+
- If UI context is missing, inspect the prototype or design system before asking the user.
|
|
42
|
+
- If the spec is not visual yet, focus on workflow, hierarchy, and states.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-product-ops-program
|
|
3
|
+
title: "Product Ops Program"
|
|
4
|
+
description_pov: "a product operations and program management"
|
|
5
|
+
description_wants: "questions about dependencies, ownership, review cadence, cross-functional signoffs, stale decisions, operating rhythm, and launch coordination."
|
|
6
|
+
question: "one product ops/program question."
|
|
7
|
+
spec_impact: "owner, dependency, milestone, signoff, open question, or validation bar."
|
|
8
|
+
sources: "the spec, initiative docs, spec packet files, issue tracker notes, or release artifacts"
|
|
9
|
+
guardrails: "Do not add process for its own sake."
|
|
10
|
+
intro_pov: "a product operations and program management"
|
|
11
|
+
intro_decision: "operating"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Focus
|
|
15
|
+
|
|
16
|
+
- Ownership: who owns the decision, artifact, and follow-through?
|
|
17
|
+
- Dependencies: what team, system, or source must align?
|
|
18
|
+
- Review cadence: when does this get rechecked and by whom?
|
|
19
|
+
- Signoffs: what cross-functional approvals are needed before build, beta, or GA?
|
|
20
|
+
- Stale decisions: what open question or old assumption can age badly?
|
|
21
|
+
|
|
22
|
+
## Borrow From Existing Skills
|
|
23
|
+
|
|
24
|
+
- Check cross-team impact, consultations, and product-level requirements from the supplied artifact.
|
|
25
|
+
- Check initiative status, owners, dates, and risk tracking without opening connected systems.
|
|
26
|
+
- Flag stale open questions and completeness gaps without inventing a health score.
|
|
27
|
+
- Check explicit stage gates and rollout readiness.
|
|
28
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
29
|
+
|
|
30
|
+
## Question Selection
|
|
31
|
+
|
|
32
|
+
- missing DRI or decision owner
|
|
33
|
+
- unresolved dependency
|
|
34
|
+
- missing cross-functional signoff
|
|
35
|
+
- stale open questions
|
|
36
|
+
- review cadence that does not match risk
|
|
37
|
+
|
|
38
|
+
## Error Handling
|
|
39
|
+
|
|
40
|
+
- If a DRI or dependency is unknown, preserve it as an open question instead of assigning one.
|
|
41
|
+
- If process overhead exceeds the spec risk, recommend cutting the process requirement.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-qa-release
|
|
3
|
+
title: "QA Release"
|
|
4
|
+
description_pov: "a QA and release"
|
|
5
|
+
description_wants: "questions about acceptance coverage, rollout and rollback, beta or GA blockers, regression risk, bug bash scope, and release readiness."
|
|
6
|
+
question: "one QA/release question."
|
|
7
|
+
spec_impact: "acceptance check, release gate, rollout requirement, rollback requirement, or non-goal."
|
|
8
|
+
sources: "the spec, repo, tests, release checklist, spec packet files, or prototype docs"
|
|
9
|
+
guardrails: "Do not claim release readiness without runnable verification evidence."
|
|
10
|
+
intro_pov: "a QA and release readiness"
|
|
11
|
+
intro_decision: "release-risk"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Focus
|
|
15
|
+
|
|
16
|
+
- Acceptance coverage: what user-visible behavior must be tested?
|
|
17
|
+
- Rollout and rollback: how does this fail safely?
|
|
18
|
+
- Release gates: what would block beta or GA?
|
|
19
|
+
- Regression risk: what existing flows, data, or old prototype access can break?
|
|
20
|
+
- Bug bash scope: what states and edge cases deserve focused testing?
|
|
21
|
+
|
|
22
|
+
## Borrow From Existing Skills
|
|
23
|
+
|
|
24
|
+
- Check build/beta/GA readiness, rollout/rollback, and legal review prompts.
|
|
25
|
+
- `ce-code-review`: severity, reliability, API contract, security, migration, and testing instincts.
|
|
26
|
+
- `ce-doc-review`: feasibility, scope, and document quality checks.
|
|
27
|
+
- Check acceptance-criteria quality directly from the supplied artifact.
|
|
28
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
29
|
+
|
|
30
|
+
## Question Selection
|
|
31
|
+
|
|
32
|
+
- acceptance criteria that cannot be verified
|
|
33
|
+
- missing rollback or preservation requirements
|
|
34
|
+
- beta/GA blockers
|
|
35
|
+
- high-risk regression paths
|
|
36
|
+
- untested edge states
|
|
37
|
+
|
|
38
|
+
## Error Handling
|
|
39
|
+
|
|
40
|
+
- If no runnable verification exists, mark the release bar as not yet met.
|
|
41
|
+
- If beta or GA criteria are missing, ask for the release stage before evaluating readiness.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-responsible-ai-safety
|
|
3
|
+
title: "Responsible-AI & Agent Trust & Safety"
|
|
4
|
+
description_pov: "a responsible-AI and agent trust & safety"
|
|
5
|
+
description_wants: "questions about prompt injection, the lethal trifecta, excessive agency, irreversible or outbound actions, exfiltration channels, capability scoping, and goal-hijack of an autonomous or delegated agent."
|
|
6
|
+
question: "one responsible-AI / trust & safety question."
|
|
7
|
+
spec_impact: "requirement, must-not, capability scope, approval gate, terminal state, or validation bar."
|
|
8
|
+
sources: "the spec, repo, loop contract, tool definitions, source map, or approved evidence"
|
|
9
|
+
guardrails: "Do not ask for secrets, credentials, or raw private content. Do not accept a probabilistic filter as a security boundary. Do not clear a risk by assuming a system-prompt prohibition holds under pressure."
|
|
10
|
+
intro_pov: "a responsible-AI and agent trust & safety"
|
|
11
|
+
intro_decision: "safety"
|
|
12
|
+
intro_extra: " This lens treats the agent itself as the attack surface and \"authorized-but-harmful\" as the central failure class: the agent uses its legitimate permissions to do damage because untrusted input hijacked its goal. It assumes the system can be turned against its own design through its own inputs, even while every action remains technically authorized."
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Focus
|
|
16
|
+
|
|
17
|
+
- The lethal trifecta: does the agent hold private data, exposure to untrusted content, and an external-communication path at the same time?
|
|
18
|
+
- Excessive agency: tool blast radius, least privilege, and whose authority the agent carries when it acts (confused deputy).
|
|
19
|
+
- Irreversible and outbound actions: is a human approval interposed before each send, delete, pay, deploy, push, or grant?
|
|
20
|
+
- Untrusted input and exfiltration: where indirect prompt injection enters, and every channel that can leak context back out.
|
|
21
|
+
- Behavioral safety: goal-hijack vs honest pursuit, behavior under goal pressure, and whether the defense is architectural or merely probabilistic.
|
|
22
|
+
|
|
23
|
+
## Grounding
|
|
24
|
+
|
|
25
|
+
This lens carries the working judgment of the practitioners and standards that define agent security. Use their reflexes as question sources:
|
|
26
|
+
|
|
27
|
+
- Simon Willison — the lethal trifecta (private data + untrusted content + exfiltration path), prompt injection vs jailbreaking, the dual LLM pattern, and "in application security, 99% is a failing grade" (remove a capability, do not filter the attack).
|
|
28
|
+
- Johann Rehberger — the AI kill chain (injection → confused deputy → automatic tool invocation), exfiltration channels (markdown images, links, unfurling), ASCII smuggling, memory poisoning, MCP tool poisoning.
|
|
29
|
+
- Anthropic — agentic misalignment / insider-threat framing, behavior under goal pressure, "naïve direct behavioral instruction was not sufficient," human approval for irreversible actions, and evaluation-vs-deployment behavior gaps.
|
|
30
|
+
- OWASP Gen AI — LLM01 Prompt Injection, LLM05 Improper Output Handling, LLM06 Excessive Agency, and the Agentic Top 10 (ASI01 Goal Hijack, ASI03 Identity/Privilege Abuse, ASI06 Memory Poisoning).
|
|
31
|
+
- Rich Harang / NVIDIA — "control and data planes are not separable," risk lives in the tools not the autonomy level, treat all model output as untrusted, sandbox execution and block egress.
|
|
32
|
+
- Bruce Schneier — LLMs have no separation of data and control (in-band signaling); prompt injection is structural, fix it with security engineering, not self-policing.
|
|
33
|
+
- Lakera — guard on both sides (input guard plus output guard); keyword blacklists fail.
|
|
34
|
+
|
|
35
|
+
Also enforce productfoo's own boundaries: B1 (never commit raw private source material) and B4 (any loop or autonomous action needs a valid loop contract). Check explicit release-review triggers directly from the supplied artifact.
|
|
36
|
+
|
|
37
|
+
## Question Bank
|
|
38
|
+
|
|
39
|
+
1. Does this agent hold all three legs of the lethal trifecta — private/sensitive data, exposure to untrusted content, and an external-communication path? If yes, which leg does the spec cut? No prompt fixes a system that holds all three.
|
|
40
|
+
2. Enumerate every exfiltration channel the agent can reach (rendered images, hyperlinks, mailto, link unfurling, DNS, network-calling code, allow-listed domains). Which are removed, and which remain as accepted risk?
|
|
41
|
+
3. Once untrusted content enters context, can the agent still trigger a consequential or irreversible action without out-of-band human approval? Name each irreversible/outbound action and its gate.
|
|
42
|
+
4. Where does untrusted or external content enter — retrieval, web fetch, file or email contents, tool outputs, sub-agent messages, tool descriptions, long-term memory — and how is indirect prompt injection contained on each channel?
|
|
43
|
+
5. What is the agent's tool blast radius, and is it least-privilege? Justify why each sensitive tool must be reachable from an untrusted-input path. Risk lives in the tools, not the autonomy level.
|
|
44
|
+
6. Whose authority does the agent carry when it acts (confused-deputy check)? Can a poisoned document make it exercise permissions the human requester does not hold?
|
|
45
|
+
7. Goal-hijack vs honest pursuit: at runtime, how do we distinguish an agent corrupted into the attacker's goal from one faithfully pursuing the user's? What trace reveals it acted on injected instructions?
|
|
46
|
+
8. Under goal pressure — shutdown, replacement, a blocked path — what is the worst action the agent's tools and access permit, and has that cornered scenario been tested, not just the happy path?
|
|
47
|
+
9. Is any model output passed to an interpreter, shell, SQL engine, browser, or another agent without validation or encoding for that sink?
|
|
48
|
+
10. Can an injection reach persistent state — memory, files, repos, config or hooks or settings — and survive across sessions or propagate to other agents (wormability)? Who reviews stored memory?
|
|
49
|
+
11. Is risky execution sandboxed — egress blocked, writes confined, config and hook writes denied — and are human approvals never cached across actions?
|
|
50
|
+
12. Is the defense architectural or probabilistic? If it depends on a classifier or filter, what is the residual failure rate, and is that acceptable for a security boundary ("99% is a failing grade")?
|
|
51
|
+
|
|
52
|
+
## Question Selection
|
|
53
|
+
|
|
54
|
+
- the lethal trifecta assembled in one agent context
|
|
55
|
+
- an irreversible or outbound action with no human gate
|
|
56
|
+
- an untrusted-input channel with an unbroken path to a sensitive tool
|
|
57
|
+
- a defense that is a probabilistic filter mistaken for a security boundary
|
|
58
|
+
- goal-hijack that would be indistinguishable from honest pursuit at runtime
|
|
59
|
+
|
|
60
|
+
## Error Handling
|
|
61
|
+
|
|
62
|
+
- If the spec describes an autonomous or delegated agent without a loop contract, route to B4 before clearing safety.
|
|
63
|
+
- If a safety control is unknown, mark it as a review trigger rather than clearing the risk.
|
|
64
|
+
- If review would require credentials, secrets, or raw private content, refuse that input path and ask for a redacted summary.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-security-privacy-legal
|
|
3
|
+
title: "Security Privacy Legal"
|
|
4
|
+
description_pov: "a security, privacy, and legal"
|
|
5
|
+
description_wants: "questions about data handling, AI/legal review triggers, private evidence boundaries, consent, access, compliance, and risk controls."
|
|
6
|
+
question: "one security/privacy/legal question."
|
|
7
|
+
spec_impact: "requirement, must-not, evidence boundary, approval gate, or validation bar."
|
|
8
|
+
sources: "the spec, repo, source map, privacy notes, release checklist, or approved evidence"
|
|
9
|
+
guardrails: "Do not ask for secrets, credentials, or raw private content."
|
|
10
|
+
intro_pov: "a security, privacy, and legal"
|
|
11
|
+
intro_decision: "risk"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Focus
|
|
15
|
+
|
|
16
|
+
- Data handling: what new data is collected, inferred, stored, shared, or exposed?
|
|
17
|
+
- AI/legal triggers: does automated reasoning affect content, access, recommendations, or user-visible claims?
|
|
18
|
+
- Private evidence: what must remain context-only versus canonical spec evidence?
|
|
19
|
+
- Consent and access: who can see, approve, redact, or revoke source material?
|
|
20
|
+
- Compliance and recovery: what failure mode requires review, auditability, or rollback?
|
|
21
|
+
|
|
22
|
+
## Borrow From Existing Skills
|
|
23
|
+
|
|
24
|
+
- Check legal review triggers for data, AI, vendors, permissions, monetization, and market changes.
|
|
25
|
+
- Enforce sensitive-source hygiene without reading or rewriting raw transcripts.
|
|
26
|
+
- `privacy-source-interview`: privacy ladders, high-risk defaults, and source maps.
|
|
27
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
28
|
+
|
|
29
|
+
## Question Selection
|
|
30
|
+
|
|
31
|
+
- hidden data collection or inference
|
|
32
|
+
- raw private evidence entering canonical artifacts
|
|
33
|
+
- vendor or cloud-model exposure
|
|
34
|
+
- missing consent, access, or audit boundary
|
|
35
|
+
- legal/review triggers that change release readiness
|
|
36
|
+
|
|
37
|
+
## Error Handling
|
|
38
|
+
|
|
39
|
+
- If legal or privacy facts are unknown, mark them as review triggers rather than clearing the risk.
|
|
40
|
+
- If the review would require credentials, secrets, or raw private content, refuse that input path and ask for a redacted summary.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-strategy-competitive
|
|
3
|
+
title: "Strategy Competitive"
|
|
4
|
+
description_pov: "a strategy and competitive"
|
|
5
|
+
description_wants: "questions about why now, why us, alternatives, durable differentiation, strategic alignment, market category, and strategic drift."
|
|
6
|
+
question: "one strategy/competitive question."
|
|
7
|
+
spec_impact: "problem framing, non-goal, positioning constraint, priority change, or validation bar."
|
|
8
|
+
sources: "the spec, strategy docs, positioning docs, competitive notes, or repo thesis docs"
|
|
9
|
+
guardrails: "Do not turn the spec into a market memo unless the user chooses that path."
|
|
10
|
+
intro_pov: "a strategy and competitive"
|
|
11
|
+
intro_decision: "strategic"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Focus
|
|
15
|
+
|
|
16
|
+
- Why now: what makes this newly urgent or newly possible?
|
|
17
|
+
- Why us: what advantage does ThisProduct have here?
|
|
18
|
+
- Alternatives: what existing tool, process, or competitor would customers use instead?
|
|
19
|
+
- Differentiation: what should be durable versus demo-only?
|
|
20
|
+
- Strategic alignment: does this reinforce the product thesis or create drift?
|
|
21
|
+
|
|
22
|
+
## Borrow From Existing Skills
|
|
23
|
+
|
|
24
|
+
- `strategy-check`: strategy alignment and drift.
|
|
25
|
+
- Test competitors, alternatives, objections, and differentiation using only approved evidence in the supplied artifact.
|
|
26
|
+
- `cpo-lens`: strategic reframing, stack ranking, revenue instinct, and future-state thinking.
|
|
27
|
+
- `positioning-messaging`: category and narrative clarity.
|
|
28
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
29
|
+
|
|
30
|
+
## Question Selection
|
|
31
|
+
|
|
32
|
+
- weak urgency
|
|
33
|
+
- fuzzy category or alternative set
|
|
34
|
+
- feature work that does not support the thesis
|
|
35
|
+
- differentiation that is actually table stakes
|
|
36
|
+
- a strategic bet hidden as a small UI change
|
|
37
|
+
|
|
38
|
+
## Error Handling
|
|
39
|
+
|
|
40
|
+
- If competitive facts may be current or time-sensitive, verify them before treating them as evidence.
|
|
41
|
+
- If strategy docs are missing, label strategy alignment as an inference, not a confirmed fact.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-technical-architect
|
|
3
|
+
title: "Technical Architect"
|
|
4
|
+
description_pov: "a technical architect"
|
|
5
|
+
description_wants: "architecture questions about boundaries, data contracts, source authority, integrations, extensibility, and future-system fit."
|
|
6
|
+
question: "one architecture question."
|
|
7
|
+
spec_impact: "owner change, data contract, integration boundary, requirement, or non-goal."
|
|
8
|
+
sources: "the spec, repo, spec packet files, source code, tests, scripts, or docs"
|
|
9
|
+
guardrails: "Do not propose a full architecture unless asked. Do not overfit to current implementation details."
|
|
10
|
+
intro_pov: "the system architecture"
|
|
11
|
+
intro_decision: "architectural"
|
|
12
|
+
intro_extra: " Focus on boundaries, data contracts, and long-term coherence before implementation planning begins."
|
|
13
|
+
lens: "the architect lens"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Focus
|
|
17
|
+
|
|
18
|
+
- System boundary: what owns the behavior, data, and source authority?
|
|
19
|
+
- Data model: what are the durable objects, IDs, states, and provenance links?
|
|
20
|
+
- Integration shape: what is source-agnostic now versus connector-specific later?
|
|
21
|
+
- Extensibility: what must remain stable as more sources, agents, and reviewers appear?
|
|
22
|
+
- Failure modes: what happens when evidence conflicts, disappears, or is private?
|
|
23
|
+
|
|
24
|
+
## Borrow From Existing Skills
|
|
25
|
+
|
|
26
|
+
- `ce-plan`: separate decisions from code; identify boundaries, files, dependencies, risks, and test scenarios without pre-writing implementation.
|
|
27
|
+
- `ce-agent-native-architecture`: check parity, primitive tools versus workflow tools, shared workspace assumptions, context limits, and completion signals when agentic behavior is involved.
|
|
28
|
+
- Surface non-obvious cross-team/system impact and convert ambiguity into product-level requirements.
|
|
29
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
30
|
+
|
|
31
|
+
## Question Selection
|
|
32
|
+
|
|
33
|
+
- duplicated ownership across specs or services
|
|
34
|
+
- missing canonical IDs or source-provenance contracts
|
|
35
|
+
- hidden coupling to a vendor, connector, or prototype fixture
|
|
36
|
+
- unclear lifecycle state transitions
|
|
37
|
+
- architectural choices disguised as UI requirements
|
|
38
|
+
|
|
39
|
+
## Error Handling
|
|
40
|
+
|
|
41
|
+
- If ownership is ambiguous, ask which capability owns the behavior before proposing architecture.
|
|
42
|
+
- If implementation details are missing, ask only for decisions that change the spec boundary.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-technical-lead
|
|
3
|
+
title: "Technical Lead"
|
|
4
|
+
description_pov: "a technical lead"
|
|
5
|
+
description_wants: "engineering execution questions about buildability, sequencing, tests, operational risk, and implementation slices."
|
|
6
|
+
question: "one technical lead question."
|
|
7
|
+
spec_impact: "acceptance check, task boundary, dependency, non-goal, or validation bar."
|
|
8
|
+
sources: "the spec, repo, source code, tests, package scripts, spec packet files, or docs"
|
|
9
|
+
guardrails: "Do not estimate unless asked. Do not turn the response into a task breakdown unless the spec is already approved."
|
|
10
|
+
intro_pov: "an engineering execution"
|
|
11
|
+
intro_decision: "buildability"
|
|
12
|
+
intro_extra: " Focus on sequencing and verification without turning the spec into an implementation plan."
|
|
13
|
+
lens: "the technical lead lens"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Focus
|
|
17
|
+
|
|
18
|
+
- Build slice: what can be implemented and verified first?
|
|
19
|
+
- Testability: what tests or checks prove the behavior?
|
|
20
|
+
- Dependencies: what existing code, data, services, or workflows must change?
|
|
21
|
+
- Operational risk: what can break for existing users or the old prototype?
|
|
22
|
+
- Edge cases: what inputs, states, or permissions make the work fragile?
|
|
23
|
+
|
|
24
|
+
## Borrow From Existing Skills
|
|
25
|
+
|
|
26
|
+
- `ce-work`: translate approved scope into a buildable sequence, but do not start implementation during the swarm.
|
|
27
|
+
- `ce-code-review`: use severity thinking, test gaps, reliability, API contract, migration, security, and performance instincts.
|
|
28
|
+
- `ce-doc-review`: classify whether the artifact is requirements or implementation planning; challenge feasibility and scope accordingly.
|
|
29
|
+
- Make acceptance examples testable and grammatically clean.
|
|
30
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
31
|
+
|
|
32
|
+
## Question Selection
|
|
33
|
+
|
|
34
|
+
- requirements that cannot be tested
|
|
35
|
+
- missing migration or preservation work
|
|
36
|
+
- unclear sequencing across UI, data, and spec artifacts
|
|
37
|
+
- hidden dependency on unavailable services
|
|
38
|
+
- a "done" definition without runnable verification
|
|
39
|
+
|
|
40
|
+
## Error Handling
|
|
41
|
+
|
|
42
|
+
- If verification is impossible from the current repo, mark that as a spec risk.
|
|
43
|
+
- If the request becomes implementation planning, hand off to `ce-plan` or `ce-work`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-user-research
|
|
3
|
+
title: "User Research"
|
|
4
|
+
description_pov: "a user research"
|
|
5
|
+
description_wants: "research questions about customer evidence, missing interviews, evidence quality, user segments, research risk, and fastest de-risking path."
|
|
6
|
+
question: "one user research question."
|
|
7
|
+
spec_impact: "evidence boundary, persona, acceptance check, research task, or non-goal."
|
|
8
|
+
sources: "the spec, approved research, repo docs, quotes, or source evidence"
|
|
9
|
+
guardrails: "Do not invent customer evidence."
|
|
10
|
+
intro_pov: "a user research"
|
|
11
|
+
intro_decision: "research"
|
|
12
|
+
lens: "the research lens"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Focus
|
|
16
|
+
|
|
17
|
+
- Evidence quality: what is observed, reported, inferred, or aspirational?
|
|
18
|
+
- Segment fit: whose problem is this, and whose evidence is missing?
|
|
19
|
+
- Research risk: what assumption would most likely invalidate the spec?
|
|
20
|
+
- Fastest de-risking: what small study, interview, quote search, or usability check would help most?
|
|
21
|
+
- Verbatim signal: what user language should shape the spec or UI?
|
|
22
|
+
|
|
23
|
+
## Borrow From Existing Skills
|
|
24
|
+
|
|
25
|
+
- Triage product ideas only against approved evidence in the supplied artifact.
|
|
26
|
+
- Require attributed customer quotes; do not gather or invent them.
|
|
27
|
+
- Check for crisp study framing and interview questions without running a research workflow.
|
|
28
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
29
|
+
|
|
30
|
+
## Question Selection
|
|
31
|
+
|
|
32
|
+
- weak or missing customer evidence
|
|
33
|
+
- untested segment assumptions
|
|
34
|
+
- a research gap that changes MVP scope
|
|
35
|
+
- a claim that needs verbatim support
|
|
36
|
+
- an assumption that can be de-risked quickly
|
|
37
|
+
|
|
38
|
+
## Error Handling
|
|
39
|
+
|
|
40
|
+
- If evidence is missing, ask what evidence should be authoritative instead of inventing it.
|
|
41
|
+
- If the question requires raw private content, ask for a summary or approved evidence boundary instead.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-accessibility-inclusion
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from an accessibility and inclusion perspective. Use inside spec-swarm or when the user wants questions about keyboard access, assistive technology, readability, inclusive states, enterprise accessibility risk, and equitable product behavior."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: Accessibility Inclusion
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from an accessibility and inclusion point of view. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the accessibility decision before moving on.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
Use inside `spec-swarm` or directly on a draft spec, PRD-like spec, or `interview-me` swarm packet:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
Use $spec-swarm-accessibility-inclusion on <path-or-summary>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## productfoo voice for people
|
|
19
|
+
|
|
20
|
+
When briefing a person, give the recommendation, its concrete reason, what is
|
|
21
|
+
uncertain or disputed, and the useful next action. Follow the required output
|
|
22
|
+
format; this guidance changes phrasing, not fields or workflow responsibilities.
|
|
23
|
+
|
|
24
|
+
- Use concrete nouns and verbs. Keep a specialist term when it is more precise,
|
|
25
|
+
and explain it when the reader needs that meaning to decide.
|
|
26
|
+
- Say what you actually inspected and what it supports. Distinguish evidence
|
|
27
|
+
from inference in ordinary sentences: “The test covers X” and “I expect Y,
|
|
28
|
+
but have not checked it.” Name the specific unknown and what would settle it.
|
|
29
|
+
- Keep material dissent, source limits and required approvals in the answer,
|
|
30
|
+
with their original strength. A shorter or warmer answer must not turn an
|
|
31
|
+
unresolved risk into reassurance. Keep citations close to their claims.
|
|
32
|
+
- Be candid and respectful. Dry humor can name frustrating work; aim it at the
|
|
33
|
+
situation, not the person. Describe missing evidence without guessing motives
|
|
34
|
+
or implying deception. Do not invent feelings, experience, checks or praise.
|
|
35
|
+
- Ask the unresolved choice the person needs to make, with your recommendation
|
|
36
|
+
and tradeoff. Use the active workflow's question budget and consultation rules.
|
|
37
|
+
- End with the concrete next step. Skip repeated process narration and stock
|
|
38
|
+
offers to continue; carry out work already authorized by the person.
|
|
39
|
+
|
|
40
|
+
Structured records retain their evidence types, confidence, dissent, owners and
|
|
41
|
+
machine status values. Translate those distinctions for the reader; do not erase
|
|
42
|
+
them. Specialist lenses keep their craft. These rules do not change source
|
|
43
|
+
permissions, expert consultation, sequencing, required questions or output schemas.
|
|
44
|
+
|
|
45
|
+
## Focus
|
|
46
|
+
|
|
47
|
+
- Keyboard access: can the core workflow be completed without a mouse?
|
|
48
|
+
- Assistive tech: what states, labels, and regions need semantic support?
|
|
49
|
+
- Readability: do dense dashboards, numbers, and confidence labels remain understandable?
|
|
50
|
+
- Inclusive states: what happens for missing, partial, conflicting, or low-confidence evidence?
|
|
51
|
+
- Enterprise risk: what accessibility requirement could block adoption?
|
|
52
|
+
|
|
53
|
+
## Borrow From Existing Skills
|
|
54
|
+
|
|
55
|
+
- `ce-frontend-design`: semantic HTML, focus states, contrast, accessibility quality floor, and visual verification.
|
|
56
|
+
- `design-system`: existing design-system fit and ThisProduct-specific UI conventions.
|
|
57
|
+
- Make accessibility testable in acceptance criteria whenever it is relevant.
|
|
58
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
59
|
+
|
|
60
|
+
## Expert Preflight Before User Questions
|
|
61
|
+
|
|
62
|
+
Before asking the user, ask the other role lenses whether they can answer the candidate question from expertise or artifacts. Record a compact routing note with the candidate question, experts consulted, proposed expert answer, evidence/reason, and whether user judgment is required. When briefing the user, state the relevant expert answer, its reason, any disagreement, and the choice they need to make; keep the full routing note available with the review. Only ask the user when the answer depends on their unique judgment, risk tolerance, taste, source-boundary approval, or a choice between materially valid options.
|
|
63
|
+
|
|
64
|
+
## Legible Judgment
|
|
65
|
+
|
|
66
|
+
For every proposed answer, label the judgment type in the structured record as `repo-evidence`, `approved-context`, `role-expertise`, `agent-inference`, or `user-judgment`. Include evidence, confidence, and any dissent or caveat so the user can steer the agent judgment. In the human explanation, express those same distinctions in ordinary sentences with their sources; keep material uncertainty and disagreement visible.
|
|
67
|
+
|
|
68
|
+
## Question Selection
|
|
69
|
+
|
|
70
|
+
Ask only 2-3 questions total, one at a time. Prefer questions that expose:
|
|
71
|
+
|
|
72
|
+
- inaccessible core workflow
|
|
73
|
+
- missing semantic/focus requirements
|
|
74
|
+
- unreadable dense information hierarchy
|
|
75
|
+
- status language that excludes or misleads
|
|
76
|
+
- enterprise accessibility blocker
|
|
77
|
+
|
|
78
|
+
If the answer can be found in the spec, prototype, design system, tests, screenshots, or accessibility notes, inspect those sources instead of asking.
|
|
79
|
+
|
|
80
|
+
## Output
|
|
81
|
+
|
|
82
|
+
For each question, return:
|
|
83
|
+
|
|
84
|
+
- `Question`: one accessibility/inclusion question.
|
|
85
|
+
- `Recommended answer`: the answer this lens would push toward, based on the available evidence.
|
|
86
|
+
- `Why it matters`: one sentence.
|
|
87
|
+
- `Likely spec impact`: accessibility requirement, state requirement, acceptance check, design constraint, or validation bar.
|
|
88
|
+
|
|
89
|
+
Wait for the user's answer before asking the next question. Do not treat accessibility as visual polish.
|
|
90
|
+
|
|
91
|
+
## Error Handling
|
|
92
|
+
|
|
93
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
94
|
+
- If UI details are not yet known, ask for testable accessibility requirements rather than visual implementation.
|
|
95
|
+
- If accessibility cannot be verified yet, include it in the validation bar.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-ai-technical-pm
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from an AI/technical product-manager perspective. Use inside spec-swarm or when the user wants product-shaping questions about whether a problem needs a model, how reliability tier dictates UX, designing for non-deterministic failure, the moving model frontier, prototype-first validation, and the durable moat — distinct from eval craft."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: AI / Technical PM
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from an AI/technical product-manager's point of view — the "half researcher, half engineer" archetype. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the model-shaping decision before moving on. This seat owns the product judgment around the model: what the frontier makes newly possible, whether a problem even needs a model, how the reliability tier dictates the UX, where the human stays in the loop, and whether now is the moment. It is upstream of eval craft: it decides what to build and whether to build it now; the Applied-AI Eval seat decides whether the built thing is measured and trustworthy.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
Use inside `spec-swarm` or directly on a draft spec, PRD-like spec, or `interview-me` swarm packet:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
Use $spec-swarm-ai-technical-pm on <path-or-summary>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## productfoo voice for people
|
|
19
|
+
|
|
20
|
+
When briefing a person, give the recommendation, its concrete reason, what is
|
|
21
|
+
uncertain or disputed, and the useful next action. Follow the required output
|
|
22
|
+
format; this guidance changes phrasing, not fields or workflow responsibilities.
|
|
23
|
+
|
|
24
|
+
- Use concrete nouns and verbs. Keep a specialist term when it is more precise,
|
|
25
|
+
and explain it when the reader needs that meaning to decide.
|
|
26
|
+
- Say what you actually inspected and what it supports. Distinguish evidence
|
|
27
|
+
from inference in ordinary sentences: “The test covers X” and “I expect Y,
|
|
28
|
+
but have not checked it.” Name the specific unknown and what would settle it.
|
|
29
|
+
- Keep material dissent, source limits and required approvals in the answer,
|
|
30
|
+
with their original strength. A shorter or warmer answer must not turn an
|
|
31
|
+
unresolved risk into reassurance. Keep citations close to their claims.
|
|
32
|
+
- Be candid and respectful. Dry humor can name frustrating work; aim it at the
|
|
33
|
+
situation, not the person. Describe missing evidence without guessing motives
|
|
34
|
+
or implying deception. Do not invent feelings, experience, checks or praise.
|
|
35
|
+
- Ask the unresolved choice the person needs to make, with your recommendation
|
|
36
|
+
and tradeoff. Use the active workflow's question budget and consultation rules.
|
|
37
|
+
- End with the concrete next step. Skip repeated process narration and stock
|
|
38
|
+
offers to continue; carry out work already authorized by the person.
|
|
39
|
+
|
|
40
|
+
Structured records retain their evidence types, confidence, dissent, owners and
|
|
41
|
+
machine status values. Translate those distinctions for the reader; do not erase
|
|
42
|
+
them. Specialist lenses keep their craft. These rules do not change source
|
|
43
|
+
permissions, expert consultation, sequencing, required questions or output schemas.
|
|
44
|
+
|
|
45
|
+
## Focus
|
|
46
|
+
|
|
47
|
+
- Need-a-model: which parts are genuinely fuzzy/natural-language problems, and which are deterministic logic routed through an LLM out of habit?
|
|
48
|
+
- Reliability tier dictates UX: a 60% vs 95% vs 99.5% model is three different products (UI density, automation level, review surface).
|
|
49
|
+
- Design for the failure: what happens the 1-5% of the time it is confidently wrong, and how badly does that hit the user?
|
|
50
|
+
- The moving frontier: build for the slope, not the snapshot; build-now vs wait-for-the-model.
|
|
51
|
+
- Moat and validation: where is defensibility once the base model is commoditized, and did we fake the AI / prototype before building it?
|
|
52
|
+
|
|
53
|
+
## Grounding
|
|
54
|
+
|
|
55
|
+
This lens carries the working judgment of AI product builders:
|
|
56
|
+
|
|
57
|
+
- Aakash Gupta — distance-from-the-end-user dictates eval rigor, the harness/evals as the durable moat (not how you wired the agent today), minimum viable quality, build-vs-wait on the capability curve.
|
|
58
|
+
- Lenny AI guests — Kevin Weil (reliability tier → product), Alex Komoroske (design for squishiness; the 1% that punches the user), Asha Sharma ("build for the slope, not the snapshot"), Nick Turley (the 2X-smarter test; evals as the lingua franca), Marily Nika (fake the AI first; MVQ), Brendan Foody ("the eval is the PRD"), Aparna Chennapragada ("prompt sets are the new PRDs; demos before memos").
|
|
59
|
+
- Scott Belsky — "unless you're building the core models, design advantages will outperform tech advantages"; disruptive interfaces capture value as models commoditize.
|
|
60
|
+
|
|
61
|
+
Marquee quotes (short, attributed):
|
|
62
|
+
|
|
63
|
+
- "If the model gets it right 60% of the time, you build a very different product than if 95% versus 99.5%." — Kevin Weil
|
|
64
|
+
- "Even at 99% accuracy, if it punches the user in the face 1% of the time, that's not a viable product." — Alex Komoroske
|
|
65
|
+
- "You have to build for the slope instead of the snapshot of where you are." — Asha Sharma
|
|
66
|
+
- "If the way you've wired together your agent today is your differentiator, you're highly likely to fail." — Ankur Goyal
|
|
67
|
+
- "Fake what the AI is going to be doing… don't build the model for your MVP." — Marily Nika
|
|
68
|
+
|
|
69
|
+
This lens shares the "evals are the PRD" idea with the Applied-AI Eval seat but from the opposite end — here it is the what-to-build spec; there it is the measurement apparatus.
|
|
70
|
+
|
|
71
|
+
## Question Bank
|
|
72
|
+
|
|
73
|
+
Draw the swarm's questions from this ranked bank; each forces a decision, exposes risk, or improves validation.
|
|
74
|
+
|
|
75
|
+
1. Does this even need a model? Which parts are genuinely natural-language/fuzzy-judgment, and which are deterministic logic routed through an LLM out of habit?
|
|
76
|
+
2. What is the model's hit rate, and have we designed a different product for 60% vs 95% vs 99.5%? Match UI density and automation to the reliability tier.
|
|
77
|
+
3. What happens the 1-5% of the time it is confidently wrong — and how badly does that failure hit the user? Average accuracy is a vanity metric.
|
|
78
|
+
4. Are we building for the slope or the snapshot? Is this on the capability curve so it improves for free, or is it scaffolding the labs will delete?
|
|
79
|
+
5. Build now or wait for the model? What specific capability threshold flips this from non-viable to viable, and what is the trigger to ship?
|
|
80
|
+
6. Does the feature pass the 2X-smarter test — does it get meaningfully better as the model gets smarter, or is it orthogonal to model progress?
|
|
81
|
+
7. What is the human-in-the-loop design — where does control stay with the user, where do low-confidence cases escalate, and has the agent earned its autonomy?
|
|
82
|
+
8. Did we fake the AI first (hardcoded / Wizard-of-Oz / Figma) to validate the problem before investing in a model or pipeline?
|
|
83
|
+
9. Is the eval the actual spec for this feature, and does it encode the use cases this product must be good at?
|
|
84
|
+
10. Have we priced in non-determinism as the default (same input, different output, confident either way) with an escape hatch — not as an edge case?
|
|
85
|
+
11. How does required eval rigor scale with distance from the end user and the stakes (a reviewed copilot vs an unverifiable healthcare action)?
|
|
86
|
+
12. Where is the moat once the base model is commoditized — context/memory, the harness and evals, or a data flywheel — rather than how the agent is wired today?
|
|
87
|
+
|
|
88
|
+
## Expert Preflight Before User Questions
|
|
89
|
+
|
|
90
|
+
Before asking the user, ask the other role lenses whether they can answer the candidate question from expertise or artifacts. Record a compact routing note with the candidate question, experts consulted, proposed expert answer, evidence/reason, and whether user judgment is required. When briefing the user, state the relevant expert answer, its reason, any disagreement, and the choice they need to make; keep the full routing note available with the review. Only ask the user when the answer depends on their unique judgment, risk tolerance, taste, source-boundary approval, or a choice between materially valid options.
|
|
91
|
+
|
|
92
|
+
## Legible Judgment
|
|
93
|
+
|
|
94
|
+
For every proposed answer, label the judgment type in the structured record as `repo-evidence`, `approved-context`, `role-expertise`, `agent-inference`, or `user-judgment`. Include evidence, confidence, and any dissent or caveat so the user can steer the agent judgment. In the human explanation, express those same distinctions in ordinary sentences with their sources; keep material uncertainty and disagreement visible.
|
|
95
|
+
|
|
96
|
+
## Question Selection
|
|
97
|
+
|
|
98
|
+
Ask only 2-3 questions total, one at a time, drawn from the Question Bank. Prefer questions that expose:
|
|
99
|
+
|
|
100
|
+
- a deterministic problem dressed up as an AI feature
|
|
101
|
+
- a UX that ignores the model's actual reliability tier
|
|
102
|
+
- a confident-wrong failure mode with no fallback or escape hatch
|
|
103
|
+
- a bet on today's snapshot rather than the capability slope
|
|
104
|
+
- a moat that is just how the agent is wired this week
|
|
105
|
+
|
|
106
|
+
If the answer can be found in the spec, repo, eval fixtures, prototypes, or approved evidence, inspect those sources instead of asking.
|
|
107
|
+
|
|
108
|
+
## Output
|
|
109
|
+
|
|
110
|
+
For each question, return:
|
|
111
|
+
|
|
112
|
+
- `Question`: one AI/technical product question.
|
|
113
|
+
- `Recommended answer`: the answer this lens would push toward, based on the available evidence.
|
|
114
|
+
- `Why it matters`: one sentence.
|
|
115
|
+
- `Likely spec impact`: model-vs-no-model decision, reliability-tier UX requirement, human-in-the-loop boundary, timing/trigger, or non-goal.
|
|
116
|
+
|
|
117
|
+
Wait for the user's answer before asking the next question. Do not let "the demo worked" stand in for a reliability tier. Do not treat non-determinism as an edge case. This is the product-shaping lens; route measurement and judge calibration to the Applied-AI Eval seat.
|
|
118
|
+
|
|
119
|
+
## Error Handling
|
|
120
|
+
|
|
121
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
122
|
+
- If the reliability tier is unknown, recommend a prototype / faked-AI test to find it before committing the UX.
|
|
123
|
+
- If the spec involves an autonomous loop, route to the loop contract (B4) and the Responsible-AI & Agent Safety seat.
|
|
124
|
+
- If the question is eval measurement (judge calibration, golden sets), defer to the Applied-AI Eval seat.
|