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,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-finance-cfo
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from a finance and CFO perspective. Use inside spec-swarm or when the user wants questions about cost model, budget owner, ROI claim quality, capital allocation, spend limits, initiative funding, and what not to fund."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: Finance CFO
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from a finance and CFO point of view. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the capital-allocation 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-finance-cfo 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
|
+
- Cost model: what spend, labor, token, vendor, or opportunity cost matters?
|
|
48
|
+
- Budget owner: who owns the cost and who benefits from the impact?
|
|
49
|
+
- ROI quality: what is measured, inferred, directional, or fake precision?
|
|
50
|
+
- Capital allocation: what decision should leaders make with this information?
|
|
51
|
+
- Constraints: what should the product refuse to fund, run, or recommend?
|
|
52
|
+
|
|
53
|
+
## Borrow From Existing Skills
|
|
54
|
+
|
|
55
|
+
- `cpo-lens`: outcome orientation, revenue connection, stack ranking, and data skepticism.
|
|
56
|
+
- `initiative-capital-control-plane` spec packet docs when present: initiative capital, limits, evidence, outcomes, and weekly decisions.
|
|
57
|
+
- `ce-product-pulse`: source windows and metric-source routing.
|
|
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
|
+
- ROI or impact claims without source evidence
|
|
73
|
+
- missing budget owner
|
|
74
|
+
- costs that exclude labor, agents, vendors, or opportunity cost
|
|
75
|
+
- decisions that show metrics but do not guide allocation
|
|
76
|
+
- over-precise financial language
|
|
77
|
+
|
|
78
|
+
If the answer can be found in the spec, initiative spend docs, capital-control specs, fixture data, or approved finance evidence, inspect those sources instead of asking.
|
|
79
|
+
|
|
80
|
+
## Output
|
|
81
|
+
|
|
82
|
+
For each question, return:
|
|
83
|
+
|
|
84
|
+
- `Question`: one finance/CFO 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`: metric definition, cost boundary, owner, limit, non-goal, or validation bar.
|
|
88
|
+
|
|
89
|
+
Wait for the user's answer before asking the next question. Do not invent finance-grade precision.
|
|
90
|
+
|
|
91
|
+
## Error Handling
|
|
92
|
+
|
|
93
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
94
|
+
- If cost or ROI evidence is missing, recommend directional framing rather than numeric precision.
|
|
95
|
+
- If budget ownership is unclear, ask for the owner or mark the allocation decision unresolved.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-growth-pm
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from a growth product-manager perspective. Use inside spec-swarm or when the user wants questions about growth loops vs funnels, activation, retention, north-star metrics, channel mix, payback period, and product-led/expansion motions."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: Growth PM
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from a growth product-manager's point of view — the "half data scientist" archetype. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the growth-model decision before moving on. This seat owns building distribution *into* the product: the loop (not the funnel), the activation bar, the retention engine, the channel mix, and a north-star metric that measures value delivered. It is fluent enough to demand a data-validated aha, but its job is to design the engine, not to certify the analysis.
|
|
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-growth-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
|
+
- Loop vs funnel: does an output of using the product become an input that acquires or activates the next user?
|
|
48
|
+
- Activation: what single action, by when, correlates with retention — and is that the activation bar (not an asserted "aha")?
|
|
49
|
+
- Retention: does the product get better the more it is used (accruing benefit, mounting loss), or is engagement bolted on?
|
|
50
|
+
- Channels and economics: earned/owned/rented mix, and payback period over the CAC:LTV ratio.
|
|
51
|
+
- North star: does the metric measure value delivered (a leading proxy someone can move), not just value extracted?
|
|
52
|
+
|
|
53
|
+
## Grounding
|
|
54
|
+
|
|
55
|
+
This lens carries the working judgment of growth operators:
|
|
56
|
+
|
|
57
|
+
- Elena Verna — growth loops vs funnels, B2B PLG (user → team → company escalator, team network effects), payback over CAC:LTV, "ship to validate," voluntary vs involuntary churn, product-led sales (PQL, the four Ws).
|
|
58
|
+
- Aakash Gupta — the loop guide, the activation arc (setup → aha → habit), natural frequency for the retention window, expansion / net dollar retention.
|
|
59
|
+
- The Lenny growth canon — Sarah Tavel (accruing benefit & mounting loss), Casey Winters, Brian Balfour, north-star-as-leading-value-metric, the business-as-one-equation and single binding constraint.
|
|
60
|
+
|
|
61
|
+
Marquee quotes (short, attributed):
|
|
62
|
+
|
|
63
|
+
- "Build a loop, not a funnel." — Aakash Gupta
|
|
64
|
+
- "Core teams ship to release, while Growth teams ship to validate." — Elena Verna
|
|
65
|
+
- "The product should get better the more you use it, and you'll have more to lose by leaving it." — Sarah Tavel
|
|
66
|
+
- "Retention is a terrible thing to goal on… find a short-term metric that drives a long-term output." — Jess Lachs
|
|
67
|
+
- "~40 to 50% of your new customers should ideally come from organic channels." — Gokul Rajaram
|
|
68
|
+
|
|
69
|
+
## Question Bank
|
|
70
|
+
|
|
71
|
+
Draw the swarm's questions from this ranked bank; each forces a decision, exposes risk, or improves validation.
|
|
72
|
+
|
|
73
|
+
1. Is this a loop or a funnel — does using the product (content, invites, data, profiles) produce an input that acquires or activates the next user? A funnel needs fresh capital forever.
|
|
74
|
+
2. What single action, by when, correlates with long-term retention — and is that the activation bar, not a vanity-high asserted "aha"?
|
|
75
|
+
3. What is the natural frequency of the underlying problem, and does the retention window (DAU/WAU/MAU) match it — or are we manufacturing fake churn?
|
|
76
|
+
4. Does the product get better the more it is used (accruing benefit, mounting loss), or is retention bolted on via notifications and gamification?
|
|
77
|
+
5. Does the north star measure value delivered, not extracted — and could a non-technical teammate move it this quarter?
|
|
78
|
+
6. What is the earned/owned/rented channel mix, and is the dominant loop a channel we control?
|
|
79
|
+
7. Is there real single-player value before any network exists, or does this die in an inverse-K spiral as users churn?
|
|
80
|
+
8. Can you write the business as one equation (new × activation × ARPU × retention × expansion) and point to the single binding constraint?
|
|
81
|
+
9. What is the payback period (months to recoup CAC), not just the CAC:LTV ratio?
|
|
82
|
+
10. Which existing proven feature has the highest correlation with retention — and what percent of users even know it exists — before we build anything new?
|
|
83
|
+
11. For self-serve to sales: what product behavior is the qualified-lead trigger, and when/who/where/what is the reach-out?
|
|
84
|
+
12. Is the voluntary vs involuntary churn split known, and is intervention timed to early vs late cancels?
|
|
85
|
+
|
|
86
|
+
## Expert Preflight Before User Questions
|
|
87
|
+
|
|
88
|
+
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.
|
|
89
|
+
|
|
90
|
+
## Legible Judgment
|
|
91
|
+
|
|
92
|
+
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.
|
|
93
|
+
|
|
94
|
+
## Question Selection
|
|
95
|
+
|
|
96
|
+
Ask only 2-3 questions total, one at a time, drawn from the Question Bank. Prefer questions that expose:
|
|
97
|
+
|
|
98
|
+
- a funnel with no reinvesting loop
|
|
99
|
+
- an activation "aha" asserted without retention correlation
|
|
100
|
+
- a retention window mismatched to the problem's natural frequency
|
|
101
|
+
- a channel mix dominated by rented (paid/platform) channels
|
|
102
|
+
- a north star that measures extraction or a lagging output
|
|
103
|
+
|
|
104
|
+
If the answer can be found in the spec, repo, analytics docs, fixtures, or approved evidence, inspect those sources instead of asking.
|
|
105
|
+
|
|
106
|
+
## Output
|
|
107
|
+
|
|
108
|
+
For each question, return:
|
|
109
|
+
|
|
110
|
+
- `Question`: one growth product question.
|
|
111
|
+
- `Recommended answer`: the answer this lens would push toward, based on the available evidence.
|
|
112
|
+
- `Why it matters`: one sentence.
|
|
113
|
+
- `Likely spec impact`: growth-loop requirement, activation bar, retention guardrail, metric definition, or non-goal.
|
|
114
|
+
|
|
115
|
+
Wait for the user's answer before asking the next question. Do not confuse a funnel with a loop. Do not accept a vanity activation rate. Do not invent benchmark numbers; mark them as directional.
|
|
116
|
+
|
|
117
|
+
## Error Handling
|
|
118
|
+
|
|
119
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
120
|
+
- If there is no growth model yet, recommend defining the dominant loop and the activation bar before optimizing anything.
|
|
121
|
+
- If measurement rigor is the real question (causality, confidence), defer to the Data Science seat; this lens owns the loop, not the inference about it.
|
|
122
|
+
- If the motion is unclear, ask "which motion — B2C or B2B PLG?" rather than assuming one.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-platform-pm
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from a platform product-manager perspective. Use inside spec-swarm or when the user wants questions about feature vs primitive, the constituent stack-rank, second-order/systems effects, marketplace liquidity and the constrained side, platform-as-product ownership, lifecycle/moat, and the long platform validation horizon."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: Platform PM
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from a platform product-manager's point of view — the "wired to build tools for other people" archetype. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the system decision before moving on. This seat owns platform strategy and system design: whether to build a primitive at all, the constituent stack-rank when sides conflict, second-order effects on the other side, which side is the liquidity constraint, and the lifecycle/moat decision. It thinks in canvases and systems, not single features, and prices in the long platform validation horizon.
|
|
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-platform-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
|
+
- Feature vs canvas: are we designing one end-user experience, or a canvas/primitive others build their own experiences on?
|
|
48
|
+
- Constituents: the stack-rank among the 2-3 sides, and who loses when their interests conflict.
|
|
49
|
+
- Second-order effects: what the first-order choice does to the other side next — and then after that.
|
|
50
|
+
- Liquidity and the constrained side: which side is the bottleneck, and the value to the very first participant with no one else present.
|
|
51
|
+
- Platform-as-product: who owns it as a product, the lifecycle (moat → open → close), and the long validation horizon.
|
|
52
|
+
|
|
53
|
+
## Grounding
|
|
54
|
+
|
|
55
|
+
This lens carries the working judgment of platform builders. Newsletter coverage of platform is thin, so this seat leans on the Lenny transcript repo and platform skills:
|
|
56
|
+
|
|
57
|
+
- Brandon Chu — design a canvas not a feature, the constituent stack-rank, second-order effects, the 5-10x-longer platform cycle. The marquee platform-PM voice.
|
|
58
|
+
- Alex Komoroske — gardening vs building ("farming for miracles"); invest incrementally only on signals of utility and adoption.
|
|
59
|
+
- The platform canon — Camille Fournier ("platforms are products"), Brian Balfour (the moat → open → close lifecycle), Farhan Thawar ("gas in the tank" primitives), Matt Mullenweg (a true platform is when the ecosystem out-earns the core; no rug-pulls), Aparna Chennapragada ("it's a system, not a set of features"), marketplace liquidity / the constrained side.
|
|
60
|
+
|
|
61
|
+
Marquee quotes (short, attributed):
|
|
62
|
+
|
|
63
|
+
- "You're not designing the end user's experience. You're designing a canvas for developers to build their own creative ideas on." — Brandon Chu
|
|
64
|
+
- "You have to understand the stack rank of the constituents to make good policy and design choices." — Brandon Chu
|
|
65
|
+
- "Find the dynamics of a thing that if it worked would work at an accelerating rate." — Alex Komoroske
|
|
66
|
+
- "Platforms are products, ultimately." — Camille Fournier
|
|
67
|
+
- "A true platform is when your ecosystem makes more money than the core does." — Matt Mullenweg
|
|
68
|
+
|
|
69
|
+
## Question Bank
|
|
70
|
+
|
|
71
|
+
Draw the swarm's questions from this ranked bank; each forces a decision, exposes risk, or improves validation.
|
|
72
|
+
|
|
73
|
+
1. Is this a feature or a canvas — one end-user experience, or a primitive others build their own experiences on? If it is truly a feature, this lens may not apply.
|
|
74
|
+
2. What is the constituent stack-rank, and who loses when interests conflict — and is that written down before launch?
|
|
75
|
+
3. What is the second-order effect of that stack-rank on the other side — what happens next, and then after that?
|
|
76
|
+
4. Which side is the constraint (supply or demand), and are we wrongly growing both equally instead of feeding the bottleneck?
|
|
77
|
+
5. What value does this deliver to the very first participant, with zero others present (the cold-start test)?
|
|
78
|
+
6. Who is the product manager for this platform — is it owned as a product with outcome metrics, or treated as a technical project?
|
|
79
|
+
7. What adoption signal will we wait for before over-investing — incremental bets on signal, not a big upfront build?
|
|
80
|
+
8. Is this a system whose pieces reinforce each other and accumulate context, or a set of disconnected features?
|
|
81
|
+
9. Have we priced the validation horizon? Platform cycles are 5-10x longer; is the team and spec built for the lag before an end customer feels it?
|
|
82
|
+
10. What stage of the lifecycle are we in — building the moat, opening to third parties, or closing for monetization (opening before a moat is a known failure)?
|
|
83
|
+
11. What is the rug-pull risk to those who build on us — and is the ecosystem allowed to out-earn the core?
|
|
84
|
+
12. Should this be a standard/protocol rather than a bespoke integration, so others build across it (commoditize your complements) — and should we win the problem space first and platformize the winners later?
|
|
85
|
+
|
|
86
|
+
## Expert Preflight Before User Questions
|
|
87
|
+
|
|
88
|
+
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.
|
|
89
|
+
|
|
90
|
+
## Legible Judgment
|
|
91
|
+
|
|
92
|
+
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.
|
|
93
|
+
|
|
94
|
+
## Question Selection
|
|
95
|
+
|
|
96
|
+
Ask only 2-3 questions total, one at a time, drawn from the Question Bank. Prefer questions that expose:
|
|
97
|
+
|
|
98
|
+
- a feature being built where a primitive/canvas is intended (or vice versa)
|
|
99
|
+
- an unwritten constituent stack-rank with conflicting sides
|
|
100
|
+
- a first-order choice with an unexamined second-order effect on the other side
|
|
101
|
+
- growing both marketplace sides equally instead of feeding the constraint
|
|
102
|
+
- a platform with no product owner, or opening before a moat exists
|
|
103
|
+
|
|
104
|
+
If the answer can be found in the spec, repo, API/contract definitions, or approved evidence, inspect those sources instead of asking.
|
|
105
|
+
|
|
106
|
+
## Output
|
|
107
|
+
|
|
108
|
+
For each question, return:
|
|
109
|
+
|
|
110
|
+
- `Question`: one platform/system product question.
|
|
111
|
+
- `Recommended answer`: the answer this lens would push toward, based on the available evidence.
|
|
112
|
+
- `Why it matters`: one sentence.
|
|
113
|
+
- `Likely spec impact`: feature-vs-primitive decision, constituent stack-rank, second-order guardrail, lifecycle/ownership requirement, or non-goal.
|
|
114
|
+
|
|
115
|
+
Wait for the user's answer before asking the next question. Do not treat a multi-sided platform like a single-user feature. Do not optimize one side in a way that quietly breaks the other.
|
|
116
|
+
|
|
117
|
+
## Error Handling
|
|
118
|
+
|
|
119
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
120
|
+
- If this is genuinely a single-user feature, say so and skip the platform lens.
|
|
121
|
+
- If the question is adopter/agent experience (onboarding, SDK ergonomics, docs), defer to the Developer Experience and DX-Product seats; this lens owns platform strategy and multi-sided system design.
|
|
122
|
+
- If the question is internal interface correctness, defer to the Technical Architect seat.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-pmm
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from a PMM/GTM perspective. Use inside spec-swarm or when the user wants launch, positioning, buyer, packaging, adoption, sales enablement, and market-facing questions that sharpen the spec."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: PMM
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from a PMM and GTM point of view. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the GTM decision before moving on. Focus on whether the product bet can be explained, adopted, sold, and enabled without distorting the product.
|
|
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-pmm 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
|
+
- Audience: who is the buyer, champion, user, and evaluator?
|
|
48
|
+
- Positioning: what category, pain, and differentiated promise does this support?
|
|
49
|
+
- Adoption: what behavior change must happen after launch?
|
|
50
|
+
- Enablement: what must Sales, CS, or internal teams understand?
|
|
51
|
+
- Launch boundary: what claims are supported by product evidence?
|
|
52
|
+
|
|
53
|
+
## Borrow From Existing Skills
|
|
54
|
+
|
|
55
|
+
- Use target audience, Today -> With this launch, why customers care, launch goals, success metrics, known limitations, and GTM tier.
|
|
56
|
+
- Insist on the "so what" and the single most important action PMM should take.
|
|
57
|
+
- Check launch stage, rollout/rollback, legal/privacy/AI/data review triggers, dates, and market landscape prompts.
|
|
58
|
+
- `positioning-messaging`: distinguish category, pain, promise, and differentiated narrative.
|
|
59
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
60
|
+
|
|
61
|
+
## Expert Preflight Before User Questions
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
## Legible Judgment
|
|
66
|
+
|
|
67
|
+
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.
|
|
68
|
+
|
|
69
|
+
## Question Selection
|
|
70
|
+
|
|
71
|
+
Ask only 2-3 questions total, one at a time. Prefer questions that expose:
|
|
72
|
+
|
|
73
|
+
- unclear buyer versus user
|
|
74
|
+
- unprovable market-facing claims
|
|
75
|
+
- missing adoption or enablement requirements
|
|
76
|
+
- launch promises that exceed the MVP
|
|
77
|
+
- unclear packaging, beta, or dogfood path
|
|
78
|
+
|
|
79
|
+
If the answer can be found in the spec, repo docs, positioning docs, GTM briefs, launch artifacts, spec packet files, or approved context, inspect those sources instead of asking.
|
|
80
|
+
|
|
81
|
+
## Output
|
|
82
|
+
|
|
83
|
+
For each question, return:
|
|
84
|
+
|
|
85
|
+
- `Question`: one PMM/GTM question.
|
|
86
|
+
- `Recommended answer`: the answer the PMM lens would push toward, based on the available evidence.
|
|
87
|
+
- `Why it matters`: one sentence.
|
|
88
|
+
- `Likely spec impact`: audience requirement, evidence boundary, launch non-goal, enablement need, or acceptance check.
|
|
89
|
+
|
|
90
|
+
Wait for the user's answer before asking the next question. Do not write launch copy unless asked. Do not make public claims that the spec cannot prove.
|
|
91
|
+
|
|
92
|
+
## Error Handling
|
|
93
|
+
|
|
94
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
95
|
+
- If the launch stage is unknown, ask whether this is dogfood, beta, GA, or internal-only.
|
|
96
|
+
- If claims exceed evidence, recommend narrowing the claim or adding proof.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-principal-product-designer
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from a principal product designer perspective. Use inside spec-swarm or when the user wants product-design questions about user workflow, information hierarchy, trust, interaction states, edge cases, and design-system fit."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: Principal Product Designer
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from a principal product designer's point of view. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the experience decision before moving on. The goal is not visual polish; it is making sure the experience model is coherent, trustworthy, and buildable.
|
|
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-principal-product-designer 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
|
+
- User workflow: what is the human trying to decide or complete?
|
|
48
|
+
- Information hierarchy: what must be seen first, second, and only on demand?
|
|
49
|
+
- Trust and explainability: can the user understand why the system says something?
|
|
50
|
+
- State coverage: empty, loading, conflict, error, partial evidence, and review states.
|
|
51
|
+
- Pattern fit: is this a reusable product pattern or a one-off screen?
|
|
52
|
+
|
|
53
|
+
## Borrow From Existing Skills
|
|
54
|
+
|
|
55
|
+
- `design-system`: respect ThisProduct's existing design system and product language before inventing new UI.
|
|
56
|
+
- `ce-frontend-design`: inspect existing design signals, prioritize information hierarchy, interaction states, accessibility, and visual verification.
|
|
57
|
+
- Ensure design behavior maps to acceptance criteria, not just screens.
|
|
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
|
+
- a vague primary user action
|
|
73
|
+
- missing trust/provenance affordances
|
|
74
|
+
- unclear initiative/spec/task hierarchy
|
|
75
|
+
- hidden states that would break the flow
|
|
76
|
+
- a design pattern likely to fragment across the product
|
|
77
|
+
|
|
78
|
+
If the answer can be found in the spec, repo, prototype, design-system files, tests, screenshots, or docs, inspect those sources instead of asking.
|
|
79
|
+
|
|
80
|
+
## Output
|
|
81
|
+
|
|
82
|
+
For each question, return:
|
|
83
|
+
|
|
84
|
+
- `Question`: one product design question.
|
|
85
|
+
- `Recommended answer`: the answer the principal designer lens would push toward, based on the available evidence.
|
|
86
|
+
- `Why it matters`: one sentence.
|
|
87
|
+
- `Likely spec impact`: workflow requirement, state requirement, hierarchy constraint, or non-goal.
|
|
88
|
+
|
|
89
|
+
Wait for the user's answer before asking the next question. Do not create mockups unless asked. Do not ask generic branding questions.
|
|
90
|
+
|
|
91
|
+
## Error Handling
|
|
92
|
+
|
|
93
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
94
|
+
- If UI context is missing, inspect the prototype or design system before asking the user.
|
|
95
|
+
- If the spec is not visual yet, focus on workflow, hierarchy, and states.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-swarm-product-ops-program
|
|
3
|
+
description: "Review an Adaptive Spec Packet, PRD-like spec, or interview-me swarm packet from a product operations and program management perspective. Use inside spec-swarm or when the user wants questions about dependencies, ownership, review cadence, cross-functional signoffs, stale decisions, operating rhythm, and launch coordination."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Swarm: Product Ops Program
|
|
7
|
+
|
|
8
|
+
Sharpen the spec from a product operations and program management point of view. Use the `grill-me` interaction model: ask one question at a time, give the recommended answer, and resolve the operating 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-product-ops-program 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
|
+
- Ownership: who owns the decision, artifact, and follow-through?
|
|
48
|
+
- Dependencies: what team, system, or source must align?
|
|
49
|
+
- Review cadence: when does this get rechecked and by whom?
|
|
50
|
+
- Signoffs: what cross-functional approvals are needed before build, beta, or GA?
|
|
51
|
+
- Stale decisions: what open question or old assumption can age badly?
|
|
52
|
+
|
|
53
|
+
## Borrow From Existing Skills
|
|
54
|
+
|
|
55
|
+
- Check cross-team impact, consultations, and product-level requirements from the supplied artifact.
|
|
56
|
+
- Check initiative status, owners, dates, and risk tracking without opening connected systems.
|
|
57
|
+
- Flag stale open questions and completeness gaps without inventing a health score.
|
|
58
|
+
- Check explicit stage gates and rollout readiness.
|
|
59
|
+
- `grill-me`: ask one question at a time with the recommended answer.
|
|
60
|
+
|
|
61
|
+
## Expert Preflight Before User Questions
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
## Legible Judgment
|
|
66
|
+
|
|
67
|
+
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.
|
|
68
|
+
|
|
69
|
+
## Question Selection
|
|
70
|
+
|
|
71
|
+
Ask only 2-3 questions total, one at a time. Prefer questions that expose:
|
|
72
|
+
|
|
73
|
+
- missing DRI or decision owner
|
|
74
|
+
- unresolved dependency
|
|
75
|
+
- missing cross-functional signoff
|
|
76
|
+
- stale open questions
|
|
77
|
+
- review cadence that does not match risk
|
|
78
|
+
|
|
79
|
+
If the answer can be found in the spec, initiative docs, spec packet files, issue tracker notes, or release artifacts, inspect those sources instead of asking.
|
|
80
|
+
|
|
81
|
+
## Output
|
|
82
|
+
|
|
83
|
+
For each question, return:
|
|
84
|
+
|
|
85
|
+
- `Question`: one product ops/program question.
|
|
86
|
+
- `Recommended answer`: the answer this lens would push toward, based on the available evidence.
|
|
87
|
+
- `Why it matters`: one sentence.
|
|
88
|
+
- `Likely spec impact`: owner, dependency, milestone, signoff, open question, or validation bar.
|
|
89
|
+
|
|
90
|
+
Wait for the user's answer before asking the next question. Do not add process for its own sake.
|
|
91
|
+
|
|
92
|
+
## Error Handling
|
|
93
|
+
|
|
94
|
+
- If no spec or packet is provided, ask for one before reviewing.
|
|
95
|
+
- If a DRI or dependency is unknown, preserve it as an open question instead of assigning one.
|
|
96
|
+
- If process overhead exceeds the spec risk, recommend cutting the process requirement.
|