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,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-copywriting
|
|
3
|
+
description: "Use when working on ThisProduct copy, reducing jargon, explaining the product, editing the static prototype under design system/thisproduct, or deciding whether terms like Spec, Cross-functional Spec, drift, evidence, provenance, source packets, tokens, routing, or agents should appear in user-facing language."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Human-facing voice
|
|
7
|
+
|
|
8
|
+
Before writing for a person, load `foo skill product-copywriting/references/foo-voice.md`
|
|
9
|
+
and apply it within this skill's required output format. Keep the evidence record
|
|
10
|
+
and workflow responsibilities intact. If the reference cannot be loaded, report
|
|
11
|
+
the delivery gap and preserve evidence, uncertainty and dissent explicitly.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
Use this skill when its frontmatter description matches the user request. Follow the workflow and constraints below.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# ThisProduct Copywriting
|
|
19
|
+
|
|
20
|
+
Use this skill to make ThisProduct understandable without flattening the product. The working test is: a product leader should be able to explain the screen out loud after reading it once.
|
|
21
|
+
|
|
22
|
+
## Source Of Truth
|
|
23
|
+
|
|
24
|
+
Before rewriting, read the smallest relevant set:
|
|
25
|
+
|
|
26
|
+
- `AGENTS.md` for product constraints and source boundaries.
|
|
27
|
+
- `README.md` for the current product definition.
|
|
28
|
+
- `docs/prototypes/2026-06-11-thisproduct-jargon-audit.md` for the full jargon backlog.
|
|
29
|
+
- `design system/thisproduct/components.jsx` and `design system/thisproduct/data.js` when changing prototype UI text.
|
|
30
|
+
|
|
31
|
+
Do not import private Obsidian notes, meeting notes, or local context into repo copy unless the user explicitly asks.
|
|
32
|
+
|
|
33
|
+
## Protected Product Language
|
|
34
|
+
|
|
35
|
+
Keep these terms, but define or contextualize them early:
|
|
36
|
+
|
|
37
|
+
- `ThisProduct`: product name.
|
|
38
|
+
- `Initiative`: the main unit of product work.
|
|
39
|
+
- `Cross-functional Spec`: the core spec object. Use this exact capitalization.
|
|
40
|
+
- `Spec`: product-facing shorthand. Use `Spec`, not `Adaptive Spec Packet`, in UI and marketing copy.
|
|
41
|
+
- `Evidence`: the trust layer behind every claim.
|
|
42
|
+
- `Agent`: acceptable because ThisProduct is about people working with agents.
|
|
43
|
+
- `Drift`: acceptable only after explaining it as work changing from the approved plan.
|
|
44
|
+
|
|
45
|
+
Use repo paths such as `specs/<name>/` only when they are real implementation source references. Product-facing labels should say `Spec`.
|
|
46
|
+
|
|
47
|
+
## Default Translations
|
|
48
|
+
|
|
49
|
+
Use these replacements unless the source context requires the exact technical term:
|
|
50
|
+
|
|
51
|
+
| Avoid | Prefer |
|
|
52
|
+
|---|---|
|
|
53
|
+
| Adaptive Spec Packet | Spec |
|
|
54
|
+
| Cross-functional spec | Cross-functional Spec |
|
|
55
|
+
| provenance | where this came from |
|
|
56
|
+
| source-backed | with links back to the source |
|
|
57
|
+
| source-agnostic | works across your tools |
|
|
58
|
+
| demo substrate | demo source |
|
|
59
|
+
| source packets | approved source bundles |
|
|
60
|
+
| expected output fixture | expected result |
|
|
61
|
+
| thisproduct graph | initiative map |
|
|
62
|
+
| lens | view |
|
|
63
|
+
| product implication | why this matters |
|
|
64
|
+
| agent decision | what the agent changed |
|
|
65
|
+
| result contract | agent result report |
|
|
66
|
+
| trace | record of what happened |
|
|
67
|
+
| telemetry | usage data or activity data |
|
|
68
|
+
| routing receipts | savings proof |
|
|
69
|
+
| task class | type of work |
|
|
70
|
+
| callsite | AI call |
|
|
71
|
+
|
|
72
|
+
## Page Jobs
|
|
73
|
+
|
|
74
|
+
Rewrite page by page. Do not try to explain the whole system on every screen.
|
|
75
|
+
|
|
76
|
+
- Home: answer what is happening, what needs attention, and what can be trusted.
|
|
77
|
+
- Initiative Spec: explain the Cross-functional Spec before showing views, requirements, or source links.
|
|
78
|
+
- Drift: say what changed, why it matters, and what the user should do.
|
|
79
|
+
- Spend and Impact: make cost decision-oriented before showing tokens, routing, or ROI.
|
|
80
|
+
- Routing: first say ThisProduct helps spend less on AI calls without lowering quality; only then introduce modes or receipts.
|
|
81
|
+
- Ideas: emphasize grouped inputs and a ranked list; keep scoring methods secondary.
|
|
82
|
+
- Forecast: separate real forecasts from demo forecasts, then say what action changes a date.
|
|
83
|
+
- Activity: keep it as a plain event feed.
|
|
84
|
+
|
|
85
|
+
## Voice Rules
|
|
86
|
+
|
|
87
|
+
The shared productfoo voice reference loaded above governs human explanations across
|
|
88
|
+
products. The protected ThisProduct terms and prototype paths in this skill are
|
|
89
|
+
local product rules, not a vocabulary to impose on every productfoo answer.
|
|
90
|
+
|
|
91
|
+
- Lead with the user job, then introduce the ThisProduct noun.
|
|
92
|
+
- Prefer concrete nouns and verbs over category language.
|
|
93
|
+
- Keep one idea per section.
|
|
94
|
+
- Show uncertainty directly; do not turn weak evidence into certainty.
|
|
95
|
+
- Preserve source boundaries. Synthetic data must be labeled synthetic.
|
|
96
|
+
- Do not use hype words such as `revolutionary`, `seamless`, `innovative`, or `AI-powered` unless quoted from a source.
|
|
97
|
+
- Do not make token savings the parent thesis. The parent thesis is making product work legible to people and agents.
|
|
98
|
+
|
|
99
|
+
## Editing Workflow
|
|
100
|
+
|
|
101
|
+
When changing prototype copy:
|
|
102
|
+
|
|
103
|
+
1. Find visible strings in `design system/thisproduct/components.jsx`, `design system/thisproduct/data.js`, and `design system/thisproduct/app.jsx`.
|
|
104
|
+
2. Update tests before production copy when behavior or canonical terms change.
|
|
105
|
+
3. Keep source paths and Proof document routes working.
|
|
106
|
+
4. Preserve demo-vs-real boundaries; do not invent operating data for ThisProduct dogfood mode.
|
|
107
|
+
5. Run the prototype checks after editing:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
node "design system/thisproduct/prototype-smoke.test.mjs"
|
|
111
|
+
node "design system/thisproduct/data-mode.test.mjs"
|
|
112
|
+
node "design system/thisproduct/decision-accordion.test.mjs"
|
|
113
|
+
node "design system/thisproduct/spend-action.test.mjs"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
6. Run a terminology sweep:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
rg -n "Adaptive Spec Packet|cross-functional spec|Cross-functional spec|Full spec|What this spec is planning" "design system/thisproduct"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Uppercase `Adaptive Spec Packet` should not appear in product-facing prototype copy. Product-facing labels should say `Spec`; repo-path references may use `specs/<name>/` when needed.
|
|
123
|
+
|
|
124
|
+
## Error Handling
|
|
125
|
+
|
|
126
|
+
- If required files, tools, connectors, credentials, or source artifacts are unavailable, state the blocker clearly and continue only with safe local evidence.
|
|
127
|
+
- If the user request requires missing product judgment or source-boundary approval, ask one focused question before proceeding.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
## productfoo voice for people
|
|
2
|
+
|
|
3
|
+
When briefing a person, give the recommendation, its concrete reason, what is
|
|
4
|
+
uncertain or disputed, and the useful next action. Follow the required output
|
|
5
|
+
format; this guidance changes phrasing, not fields or workflow responsibilities.
|
|
6
|
+
|
|
7
|
+
- Use concrete nouns and verbs. Keep a specialist term when it is more precise,
|
|
8
|
+
and explain it when the reader needs that meaning to decide.
|
|
9
|
+
- Say what you actually inspected and what it supports. Distinguish evidence
|
|
10
|
+
from inference in ordinary sentences: “The test covers X” and “I expect Y,
|
|
11
|
+
but have not checked it.” Name the specific unknown and what would settle it.
|
|
12
|
+
- Keep material dissent, source limits and required approvals in the answer,
|
|
13
|
+
with their original strength. A shorter or warmer answer must not turn an
|
|
14
|
+
unresolved risk into reassurance. Keep citations close to their claims.
|
|
15
|
+
- Be candid and respectful. Dry humor can name frustrating work; aim it at the
|
|
16
|
+
situation, not the person. Describe missing evidence without guessing motives
|
|
17
|
+
or implying deception. Do not invent feelings, experience, checks or praise.
|
|
18
|
+
- Ask the unresolved choice the person needs to make, with your recommendation
|
|
19
|
+
and tradeoff. Use the active workflow's question budget and consultation rules.
|
|
20
|
+
- End with the concrete next step. Skip repeated process narration and stock
|
|
21
|
+
offers to continue; carry out work already authorized by the person.
|
|
22
|
+
|
|
23
|
+
Structured records retain their evidence types, confidence, dissent, owners and
|
|
24
|
+
machine status values. Translate those distinctions for the reader; do not erase
|
|
25
|
+
them. Specialist lenses keep their craft. These rules do not change source
|
|
26
|
+
permissions, expert consultation, sequencing, required questions or output schemas.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-shape-interview
|
|
3
|
+
description: "Run a one-question-at-a-time shaping interview before generating an HTML artifact, scenario prototype, workbench, Build Preview, or visual app exploration from a spec packet, PRD-like spec, approved intake summary, or swarm report. Use when the user wants one solid artifact optimized for a product bet rather than multiple divergent directions, when realistic dummy data is needed to make an app feel real, or when the artifact generator needs a packet-local Shape Brief and exact next generator prompt."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Product Shape Interview
|
|
7
|
+
|
|
8
|
+
Shape one artifact before generation. This skill decides what one HTML artifact should prove, what scenario it should make feel real, and what generator prompt should run next.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
Use with a spec packet, PRD-like spec, approved `interview-me` intake summary, `spec-swarm` report, or existing artifact critique:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
Use $product-shape-interview on <packet-or-spec-path> before generating an artifact.
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If no source artifact is provided, ask for the spec packet, spec path, intake summary, swarm report, or artifact critique before shaping.
|
|
19
|
+
|
|
20
|
+
## Core Rule
|
|
21
|
+
|
|
22
|
+
Do not generate UI, HTML, Build Previews, scenario prototypes, or mockups during this skill. Produce a Shape Brief first. The next generator must consume that brief.
|
|
23
|
+
|
|
24
|
+
Default away from multiple directions. Recommend one artifact job unless the source material shows comparison itself is the product question.
|
|
25
|
+
|
|
26
|
+
## Clarity-First Defaults
|
|
27
|
+
|
|
28
|
+
The brief must steer the generator toward a clear artifact, not a dense one. Bake these into `Visual And Interaction Posture` and `Design Review Plan` so the downstream generator inherits them. The artifact has failed if a developer finds it confusing.
|
|
29
|
+
|
|
30
|
+
- One decision per screen, three choices or fewer; trade-offs as a labeled spectrum with exactly one recommendation.
|
|
31
|
+
- Plain language leads; commands, JSON, event schemas, and requirement IDs go behind a "show detail" disclosure, never the default surface.
|
|
32
|
+
- Outcomes shown as plain cards and state chips, not command output.
|
|
33
|
+
- Fix detector P0/P1 before the first show, do not merely report them; treat "busy" or "confusing" as a blocking defect.
|
|
34
|
+
|
|
35
|
+
## Inputs
|
|
36
|
+
|
|
37
|
+
Read the provided source artifact and extract:
|
|
38
|
+
|
|
39
|
+
- Product bet
|
|
40
|
+
- Primary user, buyer, reviewer, or operator
|
|
41
|
+
- Core workflow or broken decision
|
|
42
|
+
- Product objects and relationships
|
|
43
|
+
- Agent behavior, if any
|
|
44
|
+
- Human approval or steering boundaries
|
|
45
|
+
- Trust, provenance, confidence, dissent, and privacy requirements
|
|
46
|
+
- Existing realistic data hints, source constraints, and fake precision risks
|
|
47
|
+
- Required states: empty, loading, populated, error, stale, ambiguous, rejected, approved, regenerated
|
|
48
|
+
- MVP boundary, explicit non-goals, and open questions
|
|
49
|
+
- Prior critique of generated artifacts, if available
|
|
50
|
+
|
|
51
|
+
Do not use raw private notes, transcripts, or source dumps unless the user explicitly approved them for this shaping run.
|
|
52
|
+
|
|
53
|
+
## Shaping Interview
|
|
54
|
+
|
|
55
|
+
Before asking the user, inspect the source artifact and decide what is already answered. Ask only questions that require unique product judgment, taste, appetite for risk, source-boundary approval, or a choice between materially valid options.
|
|
56
|
+
|
|
57
|
+
### Announce and teach (productfoo brand presence, R-004)
|
|
58
|
+
|
|
59
|
+
Before the first question, emit the signature frame and a compact announce-and-teach block so the user knows productfoo has taken over the agent's default behavior and learns the loop in the same beat (full on the first interview of a session, one line thereafter):
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
── foo ▸ shape ────────────────────────── specs over vibes ──
|
|
63
|
+
You're in foo: I'll ask a few focused questions, then shape the artifact — not autocomplete a guess.
|
|
64
|
+
I've read what you gave me, so I'll only ask what it can't tell me — about 4 questions.
|
|
65
|
+
Say "go deeper" for more, or "just write it" to skip.
|
|
66
|
+
Progress: Q1 / ~4
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Say what is about to happen, in the user's words. Do **not** list the fields a spec contains: "the product bet", "source and approval boundaries", "MVP scope and the validation bar", "what still needs human judgment" are productfoo's filing labels, not a first-time user's language, and a list of them is the machinery showing through on the first screen anyone ever sees. The one thing worth teaching is the loop itself — productfoo reads the source artifact and asks only the gaps (that is the whole point of the preflight above) — so say that, and get to Q1. State one count only, the depth you are actually running, and make the progress counter match it. Name the escape hatches explicitly, and drop the box-drawing when output is piped or read by an agent (R-008).
|
|
70
|
+
|
|
71
|
+
Ask one question at a time. Use numbered options with a recommendation when defensible:
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
Question: What should this artifact optimize for first?
|
|
75
|
+
|
|
76
|
+
1. **End-to-end scenario realism (Recommended)**
|
|
77
|
+
Best when the current artifact does not feel like real software yet.
|
|
78
|
+
2. Agent behavior and approval
|
|
79
|
+
Best when the product depends on what the agent reads, infers, proposes, and waits on.
|
|
80
|
+
3. Product model clarity
|
|
81
|
+
Best when the app category, objects, and workflow shape are still unclear.
|
|
82
|
+
4. Visual application realism
|
|
83
|
+
Best when the product model is settled but the screens need to feel credible.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Rules:
|
|
87
|
+
|
|
88
|
+
- Keep options numbered `1` through `4` when practical.
|
|
89
|
+
- Mark exactly one option with `(Recommended)` when evidence supports it.
|
|
90
|
+
- Bold the recommended option label in Markdown.
|
|
91
|
+
- If no recommendation is defensible, say `No recommendation yet` before the options.
|
|
92
|
+
- Wait for the user's answer before asking the next question.
|
|
93
|
+
- Do not ask for facts that the spec, packet, code, design system, or approved context can answer.
|
|
94
|
+
|
|
95
|
+
High-value shaping questions:
|
|
96
|
+
|
|
97
|
+
- What should the artifact optimize for first: product model, agent behavior, end-to-end workflow, realistic data, visual credibility, or decision export?
|
|
98
|
+
- What kind of artifact should exist: scenario prototype, product model explorer, agent trace player, app mock, decision workbench, or hybrid?
|
|
99
|
+
- What one scenario should the user feel from start to finish?
|
|
100
|
+
- Which object model should anchor the artifact: task, case, packet, source, user journey, decision, queue item, or agent run?
|
|
101
|
+
- What must the agent see, believe, propose, ask approval for, revise, and export?
|
|
102
|
+
- What realistic dummy data would make the product feel real?
|
|
103
|
+
- What states or edge cases must appear so the artifact does not feel fake?
|
|
104
|
+
- What should the human be able to decide after using the artifact?
|
|
105
|
+
- What should stay out of the artifact because it would create fake precision or false product truth?
|
|
106
|
+
- What exact generator should run next?
|
|
107
|
+
|
|
108
|
+
## Shape Brief Contract
|
|
109
|
+
|
|
110
|
+
Write the accepted brief inside the source packet:
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
<packet>/artifacts/shapes/<run-id>/shape.md
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If the input is not a packet, write the brief beside the input artifact in the nearest reasonable `artifacts/shapes/<run-id>/shape.md` location and explain the location.
|
|
117
|
+
|
|
118
|
+
Use a timestamped, slugged run ID such as `2026-06-19-scheduling-scenario`.
|
|
119
|
+
|
|
120
|
+
The Shape Brief must include:
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
# Product Shape Brief
|
|
124
|
+
|
|
125
|
+
Source:
|
|
126
|
+
Run ID:
|
|
127
|
+
Status:
|
|
128
|
+
Created:
|
|
129
|
+
|
|
130
|
+
## Optimization Target
|
|
131
|
+
|
|
132
|
+
## Artifact Type
|
|
133
|
+
|
|
134
|
+
## Primary Scenario
|
|
135
|
+
|
|
136
|
+
## Primary Reviewer
|
|
137
|
+
|
|
138
|
+
## Product Model
|
|
139
|
+
|
|
140
|
+
## Core Objects
|
|
141
|
+
|
|
142
|
+
## Agent Loop
|
|
143
|
+
|
|
144
|
+
## Human Decision
|
|
145
|
+
|
|
146
|
+
## Realistic Dummy Data Contract
|
|
147
|
+
|
|
148
|
+
## Required States
|
|
149
|
+
|
|
150
|
+
## Trust And Provenance
|
|
151
|
+
|
|
152
|
+
## Visual And Interaction Posture
|
|
153
|
+
|
|
154
|
+
## Design Review Plan
|
|
155
|
+
|
|
156
|
+
## Non-Goals
|
|
157
|
+
|
|
158
|
+
## Open Questions
|
|
159
|
+
|
|
160
|
+
## Generator Prompt
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Field Guidance
|
|
164
|
+
|
|
165
|
+
- `Optimization Target`: name the main thing the artifact must prove, not a list of all goals.
|
|
166
|
+
- `Artifact Type`: choose one primary type such as `scenario prototype`, `product model explorer`, `agent trace player`, `application mock`, or `decision workbench`.
|
|
167
|
+
- `Primary Scenario`: describe the one workflow slice the artifact must make feel real.
|
|
168
|
+
- `Product Model`: name the app shape, such as queue, cockpit, canvas, wizard, inbox, review room, ledger, timeline, or operating surface.
|
|
169
|
+
- `Core Objects`: list the objects the artifact must make tangible, with relationships.
|
|
170
|
+
- `Agent Loop`: show `read -> infer -> propose -> approval boundary -> revise -> outcome/export` when the product is agentic.
|
|
171
|
+
- `Realistic Dummy Data Contract`: define plausible records, names, statuses, timestamps, source labels, masked/private fields, stale evidence, errors, and edge cases. Avoid gray placeholder bars as primary content.
|
|
172
|
+
- `Required States`: include enough states to make the product behavior credible.
|
|
173
|
+
- `Trust And Provenance`: define what evidence, source boundary, confidence, dissent, or privacy markers must be visible.
|
|
174
|
+
- `Visual And Interaction Posture`: state the design system, density, motion, and app realism expectations without turning the brief into a full design spec. Default to clarity-first: plain language leads, three choices or fewer, and implementation detail (commands, JSON, requirement IDs) sits behind progressive disclosure.
|
|
175
|
+
- `Design Review Plan`: name which post-generation review should run, usually `$impeccable critique <artifact>`, plus `$impeccable audit <artifact>` or `$impeccable polish <artifact>` when the artifact promises responsive, accessible, production-like behavior. Require P0/P1 fixed before the first show, not merely reported. If Impeccable is unavailable, require a manual review gap to be recorded.
|
|
176
|
+
- `Non-Goals`: explicitly forbid four divergent directions unless comparison is the chosen artifact job.
|
|
177
|
+
- `Generator Prompt`: include the exact next prompt an agent can run.
|
|
178
|
+
|
|
179
|
+
## Generator Prompt Contract
|
|
180
|
+
|
|
181
|
+
End every brief with a directly runnable prompt:
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
Use $scenario-workbench on <path-to-shape.md>.
|
|
185
|
+
Generate one HTML artifact optimized for the approved Shape Brief. Do not generate four directions unless the Shape Brief says comparison is the optimization target.
|
|
186
|
+
After generation, run the Shape Brief's Design Review Plan and report the critique snapshot path, score, P0/P1 findings, and remaining gaps.
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
If `scenario-workbench` does not exist yet, route to the closest available generator and make the gap explicit:
|
|
190
|
+
|
|
191
|
+
```text
|
|
192
|
+
Use $preview-swarm on <path-to-shape.md>, but treat the Shape Brief as authoritative: generate one scenario workbench, not divergent Build Preview directions.
|
|
193
|
+
After generation, run the Shape Brief's Design Review Plan and report the critique snapshot path, score, P0/P1 findings, and remaining gaps.
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Event Logging
|
|
197
|
+
|
|
198
|
+
If working inside a spec packet with `events.jsonl`, append an event only after the user accepts the Shape Brief or explicitly asks to record it. The event should point to the shape path and summarize the optimization target. Do not treat the shape as canonical product truth until accepted.
|
|
199
|
+
|
|
200
|
+
## Output
|
|
201
|
+
|
|
202
|
+
Return:
|
|
203
|
+
|
|
204
|
+
- Shape Brief path
|
|
205
|
+
- Optimization target
|
|
206
|
+
- Artifact type
|
|
207
|
+
- Primary scenario
|
|
208
|
+
- Dummy data contract summary
|
|
209
|
+
- Generator prompt
|
|
210
|
+
- Remaining user-judgment questions, if any
|
|
211
|
+
|
|
212
|
+
## Error Handling
|
|
213
|
+
|
|
214
|
+
- If the source artifact is missing, ask for the packet, spec path, intake summary, swarm report, or artifact critique before shaping.
|
|
215
|
+
- If the source is too thin to choose an optimization target, route back to `interview-me` before writing a fake Shape Brief.
|
|
216
|
+
- If the user wants immediate artifact generation, explain that this skill is a pre-generation gate and ask whether to skip the gate explicitly.
|
|
217
|
+
- If the artifact should use private sources, ask for source-boundary approval before including private-derived facts in the Shape Brief.
|
|
218
|
+
- If the run is not packet-local, explain where the brief will be written before writing it.
|
|
219
|
+
- If no generator skill exists for the chosen artifact type, write the brief anyway and put the generator gap in the prompt section.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ready-for-release
|
|
3
|
+
description: "Use when a product change needs an evidence-backed Build, Beta, GA, or release-note readiness decision."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ready For Release
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
Issue a readiness result only from inspected proof. A retrieval failure is a
|
|
11
|
+
blocked assessment, never a readiness verdict.
|
|
12
|
+
|
|
13
|
+
1. Confirm the release stage and approved packet or local release source.
|
|
14
|
+
2. Inspect requirement proof, tests, rollout and rollback plan, owner decisions,
|
|
15
|
+
customer impact, documentation, privacy/legal status, and unresolved risks.
|
|
16
|
+
3. Use approved sanitized evidence or validated research when a readiness claim
|
|
17
|
+
depends on customers or the market. Connector access alone is not approval.
|
|
18
|
+
4. Return exactly one result: `READY`, `NOT READY`, or `BLOCKED`. `READY` requires
|
|
19
|
+
every stage-critical check to have proof; unknown is not pass.
|
|
20
|
+
5. List blocking checks, dissent, owners, and exact next actions. Draft release
|
|
21
|
+
notes locally only when explicitly requested; do not send them.
|
|
22
|
+
|
|
23
|
+
### Source ledger
|
|
24
|
+
|
|
25
|
+
- **Sources used** — proof/reference, approval, retrieval outcome, and receipt status.
|
|
26
|
+
- **Sources omitted** — every optional release-information lane not used and why.
|
|
27
|
+
- **Trust status** — verified proof, approved evidence, owner decision, or unknown.
|
|
28
|
+
- **Limits** — checks not assessable and human sign-offs still required.
|
|
29
|
+
|
|
30
|
+
Optional omissions appear in both the human result and any release artifact.
|
|
31
|
+
|
|
32
|
+
## Error Handling
|
|
33
|
+
|
|
34
|
+
- On a required retrieval failure, issue no readiness verdict. Return `status:
|
|
35
|
+
blocked`, `did_not_run: release readiness`, `missing: <source>`, `next action:
|
|
36
|
+
<exact recovery step>`, and `exit: nonzero`.
|
|
37
|
+
- If an optional source fails, list it under **Sources omitted** and lower the
|
|
38
|
+
scope or confidence; never replace it with general knowledge.
|
|
39
|
+
- If proof conflicts, return `NOT READY` or `BLOCKED` with the conflict visible.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: redact-transcripts
|
|
3
|
+
description: "Use when transcript handling needs a redaction plan but observing or rewriting the source would require private-file access."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Redact Transcripts
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
This draft keeps its file-ingress boundary. It may provide an in-chat redaction
|
|
11
|
+
checklist or local outline without seeing the transcript; it must stop before
|
|
12
|
+
opening, enumerating, fingerprinting, rewriting, or reporting metadata about a file.
|
|
13
|
+
|
|
14
|
+
The checklist covers direct identifiers, quasi-identifiers, credentials, private
|
|
15
|
+
URLs, company-confidential facts, quoted third parties, and re-identification risk.
|
|
16
|
+
It is not proof that an unseen transcript is safe.
|
|
17
|
+
|
|
18
|
+
## Error Handling
|
|
19
|
+
|
|
20
|
+
- When a path or upload is supplied, return `status: blocked`, `did_not_run:
|
|
21
|
+
transcript observation`, `missing: safe file-ingress`, `next action: use the
|
|
22
|
+
approved in-memory discovery flow to produce sanitized evidence`, `exit: nonzero`.
|
|
23
|
+
- Do not ask the user to paste raw content into chat as a workaround.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research-brief
|
|
3
|
+
description: "Use when a product question needs a scoped research plan, study brief, hypotheses, participant criteria, or evidence plan before research begins."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Research Brief
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
Create a decision-oriented research plan from explicit intent and approved
|
|
11
|
+
context. Do not inspect a private source merely because a connector can see it.
|
|
12
|
+
|
|
13
|
+
1. Frame the decision, target segment, known evidence, deadline, and what would
|
|
14
|
+
change as a result of the study.
|
|
15
|
+
2. Use repo facts and approved sanitized material already in context. Do not
|
|
16
|
+
open, read, or inspect any new local or private material. For connector data,
|
|
17
|
+
require `foo source discover` plus packet-scoped `foo source approve` before
|
|
18
|
+
reading; connector access is not approval.
|
|
19
|
+
3. Write research questions and falsifiable hypotheses, then choose the smallest
|
|
20
|
+
method and participant set that can answer them.
|
|
21
|
+
4. Specify recruitment, consent, privacy, analysis, evidence labels, decision
|
|
22
|
+
owner, and stop conditions. Raw transcripts and PII stay out of Git.
|
|
23
|
+
5. Present a short proposal for human confirmation before the full brief. Return
|
|
24
|
+
in chat by default; write only to an explicitly approved local destination.
|
|
25
|
+
|
|
26
|
+
### Brief shape
|
|
27
|
+
|
|
28
|
+
Decision · background · hypotheses · questions · method · participants · source
|
|
29
|
+
plan · consent/privacy · analysis · risks · timeline · decisions needed.
|
|
30
|
+
|
|
31
|
+
### Source ledger
|
|
32
|
+
|
|
33
|
+
- **Sources used** — source class, approval scope, and stable reference.
|
|
34
|
+
- **Sources omitted** — every optional prior-study, customer, or analytics lane not used.
|
|
35
|
+
- **Trust status** — repo fact, approved sanitized evidence, or hypothesis.
|
|
36
|
+
- **Limits** — evidence gaps and decisions that remain with a person.
|
|
37
|
+
|
|
38
|
+
Optional omissions are named in both the human summary and the brief artifact.
|
|
39
|
+
|
|
40
|
+
## Error Handling
|
|
41
|
+
|
|
42
|
+
- If the decision, required private-source approval, consent, or access is
|
|
43
|
+
missing, do not inspect the private source. Return `status: blocked`, name
|
|
44
|
+
what did not run, give the exact `next action`, and set `exit: nonzero`.
|
|
45
|
+
- If an optional source is unavailable, continue only when the remaining plan
|
|
46
|
+
is still valid and list it under **Sources omitted**.
|
|
47
|
+
- If the requested study would collect unnecessary sensitive data, propose a
|
|
48
|
+
lower-data method and require human approval before proceeding.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research-refresh
|
|
3
|
+
description: "Use when new approved evidence should refresh an existing research brief, digest, or strategic analysis through decision-relevant amendments or an explicit no-change result."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Research Refresh
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
Refresh what the evidence changes about a named decision. Preserve the existing
|
|
11
|
+
artifact's structure; a newer source alone is not a reason to rewrite it.
|
|
12
|
+
|
|
13
|
+
1. Identify the existing artifact, its decision or working thesis, the currency
|
|
14
|
+
window, and the claims to check. Derive materiality from that decision: an
|
|
15
|
+
affected choice, buying criterion, constraint, confidence, or next evidence
|
|
16
|
+
step. Use criteria already supplied before asking for missing judgment.
|
|
17
|
+
2. Read repo truth, explicitly approved packet evidence, or approved sanitized
|
|
18
|
+
findings. Research papers must pass `foo research validate <paper.md>` before
|
|
19
|
+
use. If more public research is needed, use the governed research workflow;
|
|
20
|
+
connector access alone never authorizes new private-source reads.
|
|
21
|
+
3. Compare new evidence against existing claims. Distinguish unchanged,
|
|
22
|
+
superseded, contradicted, newly material, and unresolved claims. An event
|
|
23
|
+
outside the requested window can establish a baseline, but cannot be
|
|
24
|
+
presented as a new development inside it.
|
|
25
|
+
4. Propose only the smallest decision-relevant amendments. Every proposal names
|
|
26
|
+
the old claim and locator, new evidence and date, relation, changed decision
|
|
27
|
+
implication, and replacement text. Preserve uncertainty and counterevidence;
|
|
28
|
+
a contradiction stays visible even when it changes no recommended action.
|
|
29
|
+
5. If nothing material changed, return **No material updates in the checked
|
|
30
|
+
scope**, the window and sources checked, omissions, and unresolved claims.
|
|
31
|
+
This is a result of a completed comparison, not reassurance about unchecked
|
|
32
|
+
sources or stale evidence.
|
|
33
|
+
6. Return proposals in chat by default, or at a requested local destination.
|
|
34
|
+
Apply edits only within the user's requested scope. After editing a governed
|
|
35
|
+
research paper, obtain fresh proof through its research workflow and rerun
|
|
36
|
+
`foo research validate <paper.md>` before downstream use; the old receipt
|
|
37
|
+
binds the old bytes. Evidence updates do not automatically change accepted
|
|
38
|
+
specs, requirements, tasks, or human decisions.
|
|
39
|
+
|
|
40
|
+
### Review output
|
|
41
|
+
|
|
42
|
+
Lead with the changed implication or scoped no-change result. Follow with a
|
|
43
|
+
small amendment table: **Existing claim · New evidence · Relation · Decision
|
|
44
|
+
implication · Proposed edit**. Keep contradictions and unresolved claims visible.
|
|
45
|
+
Include **Sources used**, **Sources omitted**, **Trust status**, and **Limits**,
|
|
46
|
+
with clickable references, source dates, confidence and dissent. For examples
|
|
47
|
+
of materiality, no-op and incomplete coverage, read
|
|
48
|
+
[the worked cases](references/worked-cases.md).
|
|
49
|
+
|
|
50
|
+
This method is invoked on demand. Scheduling, publishing, and automatic PRs
|
|
51
|
+
are separate work; a refresh does not authorize them.
|
|
52
|
+
|
|
53
|
+
## Error Handling
|
|
54
|
+
|
|
55
|
+
- If the decision or materiality criterion is missing, use supplied context to
|
|
56
|
+
resolve it or ask one focused question. Do not invent a universal threshold.
|
|
57
|
+
- If required evidence is inaccessible, unapproved, or fails validation, return
|
|
58
|
+
`status: blocked`, name the check that did not run, give the next action, and
|
|
59
|
+
mark the wrapper `exit: nonzero`. Never turn this into a no-change result.
|
|
60
|
+
- If optional sources are missing, continue within the checked scope when the
|
|
61
|
+
remaining evidence supports an honest comparison, and disclose the omissions.
|
|
62
|
+
- If only raw private material is offered, use productfoo's proof-gated discovery
|
|
63
|
+
workflow; do not read it here or request a raw paste as a workaround.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Worked refresh cases
|
|
2
|
+
|
|
3
|
+
These are fictional instruction examples, not observed customer evidence. Use
|
|
4
|
+
them to reason about the decision consequence; do not infer universal thresholds
|
|
5
|
+
or actual skill effectiveness from them.
|
|
6
|
+
|
|
7
|
+
## A changed constraint warrants an amendment
|
|
8
|
+
|
|
9
|
+
Decision: choose a supplier whose approved deployment region includes Region A.
|
|
10
|
+
Existing claim: supplier supports Region A; the supplied baseline reference
|
|
11
|
+
records that support. New approved evidence: the supplied current reference
|
|
12
|
+
states that new deployments there are unavailable.
|
|
13
|
+
|
|
14
|
+
Propose replacing the availability claim and reopening the affected shortlist
|
|
15
|
+
decision. Cite both supplied references and dates. Do not rewrite unrelated
|
|
16
|
+
capability sections or automatically change the decision itself.
|
|
17
|
+
|
|
18
|
+
## Routine news yields a scoped no-op
|
|
19
|
+
|
|
20
|
+
Decision: choose a supplier by deployment region and audit requirements. New
|
|
21
|
+
approved evidence: a launch announcement about a cosmetic interface update,
|
|
22
|
+
with no change to either criterion.
|
|
23
|
+
|
|
24
|
+
Return no material updates in the checked scope, including the window and
|
|
25
|
+
announcement reference. Preserve the original analysis. Do not force a new
|
|
26
|
+
recommendation merely to make the refresh look productive.
|
|
27
|
+
|
|
28
|
+
## Contradiction remains visible without an immediate decision change
|
|
29
|
+
|
|
30
|
+
Decision: shortlist suppliers; deployment coverage is still awaiting verification.
|
|
31
|
+
Two current approved references disagree about Region A availability.
|
|
32
|
+
|
|
33
|
+
Record both claims and their dates as contradictory evidence. Propose a lower
|
|
34
|
+
confidence statement or explicit verification question; do not choose the
|
|
35
|
+
convenient source or omit the conflict because the shortlist has not changed.
|
|
36
|
+
|
|
37
|
+
## Missing required coverage cannot prove no change
|
|
38
|
+
|
|
39
|
+
Decision: reassess a shortlist after a required compliance check. That required
|
|
40
|
+
source is unavailable or its paper fails validation.
|
|
41
|
+
|
|
42
|
+
Report the incomplete comparison and the next action. Do not report a no-op.
|
|
43
|
+
An unavailable optional source may instead be listed as omitted, with any
|
|
44
|
+
conclusion restricted to the evidence actually checked.
|