@sushanglewis/lincoln 1.5.0 → 1.5.2

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.
Files changed (305) hide show
  1. package/dist/main.d.ts +3 -0
  2. package/dist/main.js +1286 -916
  3. package/dist/main.js.map +1 -1
  4. package/dist/postinstall.d.ts +3 -0
  5. package/dist/postinstall.js +18 -0
  6. package/dist/postinstall.js.map +1 -0
  7. package/framework/.claude/agents/_contract.md +79 -0
  8. package/framework/.claude/agents/architect.md +31 -0
  9. package/framework/.claude/agents/default.md +151 -0
  10. package/framework/.claude/agents/designer.md +33 -0
  11. package/framework/.claude/agents/engineer.md +42 -0
  12. package/framework/.claude/agents/external/NOTICES.md +12 -0
  13. package/framework/.claude/agents/external/everything-claude-code.manifest.yaml +23 -0
  14. package/framework/.claude/agents/external/oh-my-claudecode.manifest.yaml +26 -0
  15. package/framework/.claude/agents/external/wshobson-agents.manifest.yaml +23 -0
  16. package/framework/.claude/agents/frontend-engineer.md +32 -0
  17. package/framework/.claude/agents/knowledge-curator.md +28 -0
  18. package/framework/.claude/agents/pm.md +38 -0
  19. package/framework/.claude/agents/qa.md +28 -0
  20. package/framework/.claude/agents/release-coordinator.md +25 -0
  21. package/framework/.claude/agents/researcher.md +41 -0
  22. package/framework/.claude/harnesses/claude-code.yaml +15 -0
  23. package/framework/.claude/harnesses/codex.yaml +40 -0
  24. package/framework/.claude/harnesses/command-map.yaml +255 -0
  25. package/framework/.claude/harnesses/opencode.yaml +32 -0
  26. package/framework/.claude/harnesses/scenarios.yaml +45 -0
  27. package/framework/.claude/hooks/on-pr-event.sh +69 -0
  28. package/framework/.claude/hooks/on-session-start.sh +427 -0
  29. package/framework/.claude/hooks/on-stop.sh +104 -0
  30. package/framework/.claude/hooks/post-tool-use.sh +161 -0
  31. package/framework/.claude/hooks/pre-tool-use.sh +246 -0
  32. package/framework/.claude/schemas/agent-definition.schema.json +35 -0
  33. package/framework/.claude/schemas/benchmark-report.schema.json +148 -0
  34. package/framework/.claude/schemas/pm-to-ux-handoff.schema.yaml +128 -0
  35. package/framework/.claude/schemas/stage-definition.schema.json +233 -0
  36. package/framework/.claude/schemas/workflow-stage.schema.json +86 -0
  37. package/framework/.claude/schemas/workflow-template.schema.json +88 -0
  38. package/framework/.claude/settings.json +14 -0
  39. package/framework/.claude/skills/build-product-prototype/SKILL.md +35 -0
  40. package/framework/.claude/skills/build-product-prototype/prompts/main.md +78 -0
  41. package/framework/.claude/skills/clarify-requirements/SKILL.md +32 -0
  42. package/framework/.claude/skills/clarify-requirements/prompts/main.md +81 -0
  43. package/framework/.claude/skills/dependencies.yaml +139 -0
  44. package/framework/.claude/skills/draft-product-design/SKILL.md +40 -0
  45. package/framework/.claude/skills/draft-product-design/prompts/main.md +47 -0
  46. package/framework/.claude/skills/lc-analyze-frameworks/SKILL.md +43 -0
  47. package/framework/.claude/skills/lc-analyze-frameworks/prompts/main.md +95 -0
  48. package/framework/.claude/skills/lc-benchmark/SKILL.md +61 -0
  49. package/framework/.claude/skills/lc-build-codebase-knowledge/SKILL.md +38 -0
  50. package/framework/.claude/skills/lc-build-codebase-knowledge/prompts/build-codebase-knowledge.md +61 -0
  51. package/framework/.claude/skills/lc-collect-intelligence/SKILL.md +43 -0
  52. package/framework/.claude/skills/lc-collect-intelligence/prompts/main.md +72 -0
  53. package/framework/.claude/skills/lc-competitive-analysis/SKILL.md +43 -0
  54. package/framework/.claude/skills/lc-competitive-analysis/prompts/main.md +70 -0
  55. package/framework/.claude/skills/lc-explore-opensource/SKILL.md +36 -0
  56. package/framework/.claude/skills/lc-explore-opensource/prompts/explore-opensource.md +77 -0
  57. package/framework/.claude/skills/lc-first-principles/SKILL.md +43 -0
  58. package/framework/.claude/skills/lc-first-principles/prompts/main.md +73 -0
  59. package/framework/.claude/skills/lc-handoff/SKILL.md +34 -0
  60. package/framework/.claude/skills/lc-init-branch/SKILL.md +52 -0
  61. package/framework/.claude/skills/lc-market-research/SKILL.md +43 -0
  62. package/framework/.claude/skills/lc-market-research/prompts/main.md +79 -0
  63. package/framework/.claude/skills/lc-product-research/SKILL.md +43 -0
  64. package/framework/.claude/skills/lc-product-research/prompts/main.md +80 -0
  65. package/framework/.claude/skills/lc-research-report/SKILL.md +43 -0
  66. package/framework/.claude/skills/lc-research-report/prompts/main.md +90 -0
  67. package/framework/.claude/skills/lc-research-scope/SKILL.md +43 -0
  68. package/framework/.claude/skills/lc-research-scope/prompts/main.md +82 -0
  69. package/framework/.claude/skills/lc-setup/SKILL.md +68 -0
  70. package/framework/.claude/skills/lc-setup/prompts/main.md +88 -0
  71. package/framework/.claude/skills/lc-stage/SKILL.md +45 -0
  72. package/framework/.claude/skills/lc-stakeholder-research/SKILL.md +43 -0
  73. package/framework/.claude/skills/lc-stakeholder-research/prompts/main.md +65 -0
  74. package/framework/.claude/skills/lc-status/SKILL.md +25 -0
  75. package/framework/.claude/skills/lc-storytelling/SKILL.md +43 -0
  76. package/framework/.claude/skills/lc-storytelling/prompts/main.md +77 -0
  77. package/framework/.claude/skills/lc-wf/SKILL.md +54 -0
  78. package/framework/.claude/skills/lc-workflow/SKILL.md +48 -0
  79. package/framework/.claude/skills/lc-workflow/validators/validate.py +755 -0
  80. package/framework/.claude/skills/lc-workflow-router/SKILL.md +41 -0
  81. package/framework/.claude/skills/lc-workflow-router/prompts/intake-prompt.md +91 -0
  82. package/framework/.claude/skills/lc-workflow-router/prompts/router-prompt.md +44 -0
  83. package/framework/.claude/skills/plan-tdd-development/SKILL.md +31 -0
  84. package/framework/.claude/skills/plan-tdd-development/prompts/main.md +44 -0
  85. package/framework/.claude/skills/process-interview/SKILL.md +32 -0
  86. package/framework/.claude/skills/process-interview/prompts/main.md +47 -0
  87. package/framework/.claude/skills/propose-with-openspec/SKILL.md +37 -0
  88. package/framework/.claude/skills/propose-with-openspec/prompts/main.md +53 -0
  89. package/framework/.claude/skills/split-to-github/SKILL.md +32 -0
  90. package/framework/.claude/skills/split-to-github/prompts/main.md +42 -0
  91. package/framework/.claude/skills/sync-to-knowledge/SKILL.md +35 -0
  92. package/framework/.claude/skills/sync-to-knowledge/prompts/main.md +54 -0
  93. package/framework/.claude/skills/workflow-continue/SKILL.md +24 -0
  94. package/framework/.claude/skills/workflow-continue/prompts/main.md +25 -0
  95. package/framework/.claude/stages/build-codebase-knowledge.yaml +42 -0
  96. package/framework/.claude/stages/clarify.yaml +59 -0
  97. package/framework/.claude/stages/explore-opensource.yaml +40 -0
  98. package/framework/.claude/stages/implement.yaml +60 -0
  99. package/framework/.claude/stages/ingest.yaml +40 -0
  100. package/framework/.claude/stages/lc-analyze-frameworks.yaml +37 -0
  101. package/framework/.claude/stages/lc-collect-intelligence.yaml +37 -0
  102. package/framework/.claude/stages/lc-competitive-analysis.yaml +37 -0
  103. package/framework/.claude/stages/lc-first-principles.yaml +37 -0
  104. package/framework/.claude/stages/lc-market-research.yaml +37 -0
  105. package/framework/.claude/stages/lc-product-research.yaml +37 -0
  106. package/framework/.claude/stages/lc-research-report.yaml +38 -0
  107. package/framework/.claude/stages/lc-research-scope.yaml +38 -0
  108. package/framework/.claude/stages/lc-stakeholder-research.yaml +37 -0
  109. package/framework/.claude/stages/lc-storytelling.yaml +37 -0
  110. package/framework/.claude/stages/product-design-docs.yaml +66 -0
  111. package/framework/.claude/stages/product-prototype.yaml +53 -0
  112. package/framework/.claude/stages/propose.yaml +45 -0
  113. package/framework/.claude/stages/split.yaml +41 -0
  114. package/framework/.claude/stages/sync-knowledge.yaml +49 -0
  115. package/framework/.claude/stages/tdd-development-plan.yaml +43 -0
  116. package/framework/.claude/stages/workflow-router.yaml +45 -0
  117. package/framework/.claude/templates/solo-workflow-context.yaml +23 -0
  118. package/framework/.claude/workflows/README.md +93 -0
  119. package/framework/.claude/workflows/bug-fix.yaml +81 -0
  120. package/framework/.claude/workflows/design-spike.yaml +55 -0
  121. package/framework/.claude/workflows/existing-project-iteration.yaml +106 -0
  122. package/framework/.claude/workflows/interview-to-knowledge.yaml +189 -0
  123. package/framework/.claude/workflows/oss-first-design.yaml +100 -0
  124. package/framework/.claude/workflows/pm-research.yaml +115 -0
  125. package/framework/.claude-plugin/hooks.json +6 -0
  126. package/framework/.claude-plugin/marketplace.json +32 -0
  127. package/framework/.claude-plugin/plugin.json +57 -0
  128. package/framework/.version-bump.json +43 -0
  129. package/framework/CLAUDE.md +140 -0
  130. package/framework/CONTRIBUTING.md +219 -0
  131. package/framework/LICENSE +21 -0
  132. package/framework/README.en.md +139 -0
  133. package/framework/README.md +139 -0
  134. package/framework/RELEASE.md +334 -0
  135. package/framework/SKILL.md +24 -0
  136. package/framework/USAGE.md +356 -0
  137. package/framework/manifest.json +1214 -0
  138. package/framework/requirements.txt +4 -0
  139. package/framework/scripts/__init__.py +0 -0
  140. package/framework/scripts/build_codebase_knowledge.py +76 -0
  141. package/framework/scripts/bump_version.py +181 -0
  142. package/framework/scripts/check-dependency-drift.py +69 -0
  143. package/framework/scripts/check-harness-drift.sh +57 -0
  144. package/framework/scripts/check-main-merge-hygiene.py +128 -0
  145. package/framework/scripts/check-skill-dependencies.sh +124 -0
  146. package/framework/scripts/init-lincoln-branch.sh +300 -0
  147. package/framework/scripts/init-project.sh +184 -0
  148. package/framework/scripts/lc-benchmark-cli.py +66 -0
  149. package/framework/scripts/lincoln-audit.py +288 -0
  150. package/framework/scripts/lincoln-setup.py +651 -0
  151. package/framework/scripts/lincoln-status.py +448 -0
  152. package/framework/scripts/lincoln_benchmark.py +224 -0
  153. package/framework/scripts/lincoln_benchmark_eval.py +104 -0
  154. package/framework/scripts/lincoln_benchmark_metrics.py +818 -0
  155. package/framework/scripts/lincoln_benchmark_report.py +141 -0
  156. package/framework/scripts/lincoln_command_map.py +289 -0
  157. package/framework/scripts/lincoln_dependency_manager.py +335 -0
  158. package/framework/scripts/lincoln_documents.py +175 -0
  159. package/framework/scripts/lincoln_harness_adapter.py +319 -0
  160. package/framework/scripts/lincoln_index.py +255 -0
  161. package/framework/scripts/lincoln_paths.py +198 -0
  162. package/framework/scripts/lincoln_prd.py +227 -0
  163. package/framework/scripts/lincoln_role.py +46 -0
  164. package/framework/scripts/lincoln_scenario.py +59 -0
  165. package/framework/scripts/lincoln_session_start_metrics.py +71 -0
  166. package/framework/scripts/lincoln_skill_prompt.py +48 -0
  167. package/framework/scripts/lincoln_trace.py +335 -0
  168. package/framework/scripts/lincoln_workflow.py +199 -0
  169. package/framework/scripts/list-active-lincoln-branches.sh +87 -0
  170. package/framework/scripts/package-lincoln-plugin.py +340 -0
  171. package/framework/scripts/run-infrastructure-tests.py +84 -0
  172. package/framework/scripts/stage_loader.py +1071 -0
  173. package/framework/scripts/static-check.sh +356 -0
  174. package/framework/scripts/sync-external-agents.sh +210 -0
  175. package/framework/scripts/sync-framework-package.mjs +218 -0
  176. package/framework/scripts/task_tool_guard.py +213 -0
  177. package/framework/scripts/track-artifacts.py +140 -0
  178. package/framework/scripts/validate_stage.py +350 -0
  179. package/{README.md → framework/tools/lincoln/README.md} +4 -4
  180. package/framework/tools/lincoln/package-lock.json +3349 -0
  181. package/framework/tools/lincoln/package.json +48 -0
  182. package/framework/tools/lincoln/src/cli.tsx +60 -0
  183. package/framework/tools/lincoln/src/components/AudioMeter.tsx +34 -0
  184. package/framework/tools/lincoln/src/components/CancelledScreen.tsx +11 -0
  185. package/framework/tools/lincoln/src/components/DevicesMenu.tsx +79 -0
  186. package/framework/tools/lincoln/src/components/HintBar.tsx +25 -0
  187. package/framework/tools/lincoln/src/components/LogView.tsx +36 -0
  188. package/framework/tools/lincoln/src/components/ModelMenu.tsx +122 -0
  189. package/framework/tools/lincoln/src/components/ReadyScreen.tsx +54 -0
  190. package/framework/tools/lincoln/src/components/RecordingApp.tsx +211 -0
  191. package/framework/tools/lincoln/src/components/RecordingScreen.tsx +41 -0
  192. package/framework/tools/lincoln/src/components/SelectMenu.tsx +53 -0
  193. package/framework/tools/lincoln/src/components/StatusPanel.tsx +52 -0
  194. package/framework/tools/lincoln/src/components/StopConfirmation.tsx +32 -0
  195. package/framework/tools/lincoln/src/config/args.ts +35 -0
  196. package/framework/tools/lincoln/src/config/loadConfig.ts +81 -0
  197. package/framework/tools/lincoln/src/config/resolveConfig.ts +85 -0
  198. package/framework/tools/lincoln/src/devices/listDevices.ts +11 -0
  199. package/framework/tools/lincoln/src/devices/parseDevices.ts +25 -0
  200. package/framework/tools/lincoln/src/hooks/useKeyHandler.ts +63 -0
  201. package/framework/tools/lincoln/src/main.tsx +4 -0
  202. package/framework/tools/lincoln/src/models/models.ts +34 -0
  203. package/framework/tools/lincoln/src/models/runWarmup.ts +46 -0
  204. package/framework/tools/lincoln/src/models/warmupProgress.ts +30 -0
  205. package/framework/tools/lincoln/src/recording/spawnRecorder.ts +127 -0
  206. package/framework/tools/lincoln/src/recording/useRecorder.ts +146 -0
  207. package/framework/tools/lincoln/src/utils/amplitudeToMeter.ts +4 -0
  208. package/framework/tools/lincoln/src/utils/formatDuration.ts +6 -0
  209. package/framework/tools/lincoln/src/utils/sessionId.ts +25 -0
  210. package/framework/tools/lincoln/tests/cli.test.tsx +52 -0
  211. package/framework/tools/lincoln/tests/components/AudioMeter.test.tsx +31 -0
  212. package/framework/tools/lincoln/tests/components/CancelledScreen.test.tsx +12 -0
  213. package/framework/tools/lincoln/tests/components/ReadyScreen.test.tsx +68 -0
  214. package/framework/tools/lincoln/tests/components/RecordingApp.menus.test.tsx +158 -0
  215. package/framework/tools/lincoln/tests/components/RecordingApp.test.tsx +248 -0
  216. package/framework/tools/lincoln/tests/components/RecordingScreen.test.tsx +37 -0
  217. package/framework/tools/lincoln/tests/components/SelectMenu.test.tsx +59 -0
  218. package/framework/tools/lincoln/tests/components/StopConfirmation.test.tsx +38 -0
  219. package/framework/tools/lincoln/tests/config/args.test.ts +49 -0
  220. package/framework/tools/lincoln/tests/config/loadConfig.test.ts +59 -0
  221. package/framework/tools/lincoln/tests/config/resolveConfig.test.ts +72 -0
  222. package/framework/tools/lincoln/tests/devices/parseDevices.test.ts +21 -0
  223. package/framework/tools/lincoln/tests/hooks/useKeyHandler.enabled.test.tsx +44 -0
  224. package/framework/tools/lincoln/tests/hooks/useKeyHandler.test.tsx +130 -0
  225. package/framework/tools/lincoln/tests/models/models.test.ts +27 -0
  226. package/framework/tools/lincoln/tests/models/warmupProgress.test.ts +25 -0
  227. package/framework/tools/lincoln/tests/recording/spawnRecorder.test.ts +85 -0
  228. package/framework/tools/lincoln/tests/recording/useRecorder.test.tsx +172 -0
  229. package/framework/tools/lincoln/tests/utils/amplitudeToMeter.test.ts +22 -0
  230. package/framework/tools/lincoln/tests/utils/formatDuration.test.ts +11 -0
  231. package/framework/tools/lincoln/tests/utils/sessionId.test.ts +30 -0
  232. package/framework/tools/lincoln/tsconfig.json +22 -0
  233. package/framework/tools/lincoln/tsconfig.tests.json +10 -0
  234. package/framework/tools/lincoln/tsup.config.ts +17 -0
  235. package/framework/tools/lincoln/vitest.config.ts +20 -0
  236. package/framework/tools/lincoln-installer/package-lock.json +3611 -0
  237. package/framework/tools/lincoln-installer/package.json +53 -0
  238. package/framework/tools/lincoln-installer/src/cli.tsx +63 -0
  239. package/framework/tools/lincoln-installer/src/components/HarnessSelectScreen.tsx +43 -0
  240. package/framework/tools/lincoln-installer/src/components/InstallerApp.tsx +98 -0
  241. package/framework/tools/lincoln-installer/src/components/OptionsScreen.tsx +56 -0
  242. package/framework/tools/lincoln-installer/src/components/ProgressScreen.tsx +25 -0
  243. package/framework/tools/lincoln-installer/src/components/ResultScreen.tsx +40 -0
  244. package/framework/tools/lincoln-installer/src/components/SelectMenu.tsx +73 -0
  245. package/framework/tools/lincoln-installer/src/components/SummaryScreen.tsx +49 -0
  246. package/framework/tools/lincoln-installer/src/components/UpdateApp.tsx +135 -0
  247. package/framework/tools/lincoln-installer/src/components/WelcomeScreen.tsx +22 -0
  248. package/framework/tools/lincoln-installer/src/config/args.ts +76 -0
  249. package/framework/tools/lincoln-installer/src/config/resolveConfig.ts +33 -0
  250. package/framework/tools/lincoln-installer/src/config/updateArgs.ts +67 -0
  251. package/framework/tools/lincoln-installer/src/hooks/useSetup.ts +149 -0
  252. package/framework/tools/lincoln-installer/src/main.tsx +11 -0
  253. package/framework/tools/lincoln-installer/src/types.ts +19 -0
  254. package/framework/tools/lincoln-installer/src/update-main.tsx +11 -0
  255. package/framework/tools/lincoln-installer/src/update.tsx +90 -0
  256. package/framework/tools/lincoln-installer/src/utils/detectHarness.ts +51 -0
  257. package/framework/tools/lincoln-installer/src/utils/runSetup.ts +62 -0
  258. package/framework/tools/lincoln-installer/src/utils/updateRelease.ts +454 -0
  259. package/framework/tools/lincoln-installer/tests/components/InstallerApp.test.tsx +88 -0
  260. package/framework/tools/lincoln-installer/tests/components/SelectMenu.test.tsx +26 -0
  261. package/framework/tools/lincoln-installer/tests/components/UpdateApp.test.tsx +170 -0
  262. package/framework/tools/lincoln-installer/tests/components/screens.test.tsx +310 -0
  263. package/framework/tools/lincoln-installer/tests/config/args.test.ts +66 -0
  264. package/framework/tools/lincoln-installer/tests/config/resolveConfig.test.ts +75 -0
  265. package/framework/tools/lincoln-installer/tests/config/updateArgs.test.ts +52 -0
  266. package/framework/tools/lincoln-installer/tests/hooks/useSetup.test.tsx +213 -0
  267. package/framework/tools/lincoln-installer/tests/update.test.tsx +108 -0
  268. package/framework/tools/lincoln-installer/tests/utils/detectHarness.test.ts +40 -0
  269. package/framework/tools/lincoln-installer/tests/utils/runSetup.test.ts +45 -0
  270. package/framework/tools/lincoln-installer/tests/utils/updateRelease.test.ts +559 -0
  271. package/framework/tools/lincoln-installer/tsconfig.json +22 -0
  272. package/framework/tools/lincoln-installer/tsconfig.tests.json +8 -0
  273. package/framework/tools/lincoln-installer/tsup.config.ts +17 -0
  274. package/framework/tools/lincoln-installer/vitest.config.ts +20 -0
  275. package/framework/tools/lincoln-record/Cargo.lock +1896 -0
  276. package/framework/tools/lincoln-record/Cargo.toml +24 -0
  277. package/framework/tools/lincoln-record/diarize/diarize.py +117 -0
  278. package/framework/tools/lincoln-record/diarize/merge.py +55 -0
  279. package/framework/tools/lincoln-record/src/audio/capture/microphone.rs +194 -0
  280. package/framework/tools/lincoln-record/src/audio/capture/mod.rs +1 -0
  281. package/framework/tools/lincoln-record/src/audio/devices.rs +20 -0
  282. package/framework/tools/lincoln-record/src/audio/mod.rs +5 -0
  283. package/framework/tools/lincoln-record/src/audio/resampler.rs +44 -0
  284. package/framework/tools/lincoln-record/src/audio/saver.rs +87 -0
  285. package/framework/tools/lincoln-record/src/audio/source.rs +104 -0
  286. package/framework/tools/lincoln-record/src/cli.rs +96 -0
  287. package/framework/tools/lincoln-record/src/config.rs +135 -0
  288. package/framework/tools/lincoln-record/src/lib.rs +6 -0
  289. package/framework/tools/lincoln-record/src/main.rs +242 -0
  290. package/framework/tools/lincoln-record/src/model/mod.rs +248 -0
  291. package/framework/tools/lincoln-record/src/output/metadata.rs +30 -0
  292. package/framework/tools/lincoln-record/src/output/mod.rs +2 -0
  293. package/framework/tools/lincoln-record/src/output/transcript.rs +42 -0
  294. package/framework/tools/lincoln-record/src/transcription/diarization.rs +64 -0
  295. package/framework/tools/lincoln-record/src/transcription/mod.rs +3 -0
  296. package/framework/tools/lincoln-record/src/transcription/provider.rs +43 -0
  297. package/framework/tools/lincoln-record/src/transcription/whisper.rs +176 -0
  298. package/framework/tools/lincoln-record/tests/cli_args.rs +103 -0
  299. package/framework/tools/lincoln-record/tests/config_test.rs +70 -0
  300. package/framework/tools/lincoln-record/tests/devices_test.rs +23 -0
  301. package/framework/tools/lincoln-record/tests/diarization_tests.rs +101 -0
  302. package/framework/tools/lincoln-record/tests/integration_tests.rs +44 -0
  303. package/framework/tools/lincoln-record/tests/model_test.rs +68 -0
  304. package/framework/tools/lincoln-record/tests/transcription_tests.rs +73 -0
  305. package/package.json +19 -13
@@ -0,0 +1,70 @@
1
+ # lc-competitive-analysis prompt
2
+
3
+ You are executing the Lincoln workflow step `lc-competitive-analysis`: analyze the competitive landscape.
4
+
5
+ ## Goal
6
+
7
+ Produce `{process_slug}/research/{session_id}/competitive.md` with a structured competitive analysis, including positioning, SWOT, and differentiation opportunities.
8
+
9
+ ## Inputs
10
+
11
+ - `session_id`: the research session identifier
12
+ - `{process_slug}/research/{session_id}/scope.md`
13
+ - `{process_slug}/research/{session_id}/market.md`
14
+ - `{process_slug}/research/{session_id}/product.md`
15
+
16
+ ## Steps
17
+
18
+ 1. Read prior research documents.
19
+ 2. Identify direct and indirect competitors.
20
+ 3. For each competitor, summarize positioning, target segment, key strengths, and key weaknesses.
21
+ 4. Build a SWOT for our product (or proposed product) in this competitive context.
22
+ 5. Identify 2-4 differentiation opportunities.
23
+ 6. Use WebSearch / WebFetch to verify claims.
24
+ 7. Write `competitive.md` using the template below.
25
+
26
+ ## Output template
27
+
28
+ ```markdown
29
+ # Competitive Analysis: <Title>
30
+
31
+ ## Competitor Landscape
32
+
33
+ | Competitor | Type | Positioning | Target Segment | Key Strengths | Key Weaknesses |
34
+ |------------|------|-------------|----------------|---------------|----------------|
35
+ | ... | ... | ... | ... | ... | ... |
36
+
37
+ ## SWOT (Our Product)
38
+
39
+ ### Strengths
40
+ - ...
41
+
42
+ ### Weaknesses
43
+ - ...
44
+
45
+ ### Opportunities
46
+ - ...
47
+
48
+ ### Threats
49
+ - ...
50
+
51
+ ## Differentiation Opportunities
52
+
53
+ 1. **<Opportunity 1>**
54
+ - Evidence: ...
55
+ - How to exploit: ...
56
+
57
+ ## Strategic Implications
58
+
59
+ - <what this means for positioning>
60
+ ```
61
+
62
+ ## Rules
63
+
64
+ - Be specific: avoid generic claims like "better UX" without evidence.
65
+ - Cite sources for competitor facts.
66
+ - Distinguish current state from future threats.
67
+
68
+ ## Exit Criteria
69
+
70
+ - `competitive.md` includes a competitor table, SWOT, and at least two differentiation opportunities.
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: lc-explore-opensource
3
+ description: Use during product design when the requirement can be solved or informed by existing open-source projects.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Lincoln Explore Open Source
8
+
9
+ ## Purpose
10
+
11
+ Using [lc-explore-opensource] to research open-source projects that can solve or inform the current requirement.
12
+
13
+ Research existing open-source projects that solve a similar problem, score them against Lincoln criteria, and produce a recommendation document.
14
+
15
+ ## When to Use
16
+
17
+ - `oss-first-design` workflow template is active.
18
+ - `product-design-docs` stage identifies a subproblem that could be delegated to an existing library/tool.
19
+ - PM says "看看有没有开源方案".
20
+
21
+ ## Inputs
22
+
23
+ - Requirement keywords
24
+ - Target technology stack
25
+ - Constraints (license, self-host vs SaaS, language)
26
+
27
+ ## Outputs
28
+
29
+ - `{process_slug}/docs/research/{change_name}-oss-options.md`
30
+
31
+ ## Rules
32
+
33
+ - Prefer active projects with clear documentation.
34
+ - Score on business fit, technical fit, license, maintenance, and integration cost.
35
+ - Do not download or execute third-party code.
36
+ - Present at least 2 options plus a "build from scratch" baseline.
@@ -0,0 +1,77 @@
1
+ # explore-opensource prompt
2
+
3
+ You are the Lincoln Open Source Researcher. Find and evaluate open-source projects that could address the current requirement.
4
+
5
+ ## Inputs
6
+
7
+ - Requirement summary (from `{process_slug}/pages/docs/requirements.html`)
8
+ - Design topic (from current design context)
9
+ - Target stack/language (from `{process_slug}/pages/docs/design-review.html`)
10
+
11
+ ## Steps
12
+
13
+ 1. Extract 2-5 search keywords from the requirement.
14
+ 2. Search GitHub/npm/PyPI/crates for candidate projects:
15
+ - Use `WebSearch` or GitHub MCP.
16
+ - Record name, repo URL, license, last update, stars/downloads.
17
+ 3. For each candidate, read README and summarize:
18
+ - What problem it solves
19
+ - Key features relevant to the requirement
20
+ - Integration approach
21
+ - License compatibility
22
+ 4. Score each candidate 1-5 on:
23
+ - Business fit: does it match the user problem?
24
+ - Technical fit: does it match our stack?
25
+ - Maintenance: recent commits, issue response, release cadence
26
+ - Documentation: README, examples, API docs
27
+ - Integration cost: API surface, deployment complexity
28
+ 5. Compute a weighted total: business 30%, technical 25%, maintenance 20%, docs 15%, integration 10%.
29
+ 6. Write `{process_slug}/docs/research/{change_name}-oss-options.md` with:
30
+ - Executive recommendation
31
+ - Candidate table
32
+ - Detailed pros/cons for top 2
33
+ - Build-from-scratch baseline
34
+ - Next-step recommendation
35
+
36
+ ## Output format
37
+
38
+ ```markdown
39
+ # Open Source Research: <Topic>
40
+
41
+ ## Recommendation
42
+
43
+ **Top choice:** <project name>
44
+ **Reason:** <one sentence>
45
+
46
+ ## Candidates
47
+
48
+ | Project | License | Stars | Business | Technical | Maintenance | Docs | Integration | Total |
49
+ |---------|---------|-------|----------|-----------|-------------|------|-------------|-------|
50
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
51
+
52
+ ## Top candidate details
53
+
54
+ ### 1. <Project A>
55
+ - Repo:
56
+ - Pros:
57
+ - Cons:
58
+ - Integration notes:
59
+
60
+ ### 2. <Project B>
61
+ ...
62
+
63
+ ## Build-from-scratch baseline
64
+
65
+ - Effort estimate:
66
+ - Maintenance burden:
67
+ - When it wins:
68
+
69
+ ## Next steps
70
+
71
+ 1. ...
72
+ ```
73
+
74
+ ## Human gate
75
+
76
+ - Present the candidate table to PM.
77
+ - Do not make a final recommendation binding without PM confirmation.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: lc-first-principles
3
+ description: 帮助 PM 回归底层真相,挑战假设,识别第一性原理,为研究奠定坚实基础。
4
+ version: 1.0.0
5
+ triggers:
6
+ - "lc-first-principles"
7
+ inputs:
8
+ - name: topic
9
+ description: 研究主题或产品决策背景
10
+ required: false
11
+ outputs:
12
+ - "{process_slug}/research/{session_id}/first-principles.md"
13
+ required_tools:
14
+ - Bash
15
+ - Read
16
+ - Write
17
+ ---
18
+
19
+ # lc-first-principles
20
+
21
+ ## Purpose
22
+
23
+ Using [lc-first-principles] to 帮助 PM 回归底层真相,挑战假设,识别第一性原理,为研究奠定坚实基础.
24
+
25
+ ## When to Use
26
+
27
+ - `pm-research` workflow 的 `lc-first-principles` 阶段。
28
+ - PM 需要 帮助 PM 回归底层真相,挑战假设,识别第一性原理,为研究奠定坚实基础。 时。
29
+
30
+ ## Inputs
31
+
32
+ - `session_id`: 研究 session 标识
33
+ - 当前阶段之前的所有研究产物
34
+
35
+ ## Outputs
36
+
37
+ - `{process_slug}/research/{session_id}/first-principles.md`
38
+
39
+ ## Rules
40
+
41
+ - 严格基于已有研究产物,避免引入未经验证的假设。
42
+ - 所有外部事实必须标注来源。
43
+ - human_gate 阶段必须获得人类 PM 显式确认。
@@ -0,0 +1,73 @@
1
+ # lc-first-principles prompt
2
+
3
+ You are executing the Lincoln workflow step `lc-first-principles`: explore the first principles behind the research topic.
4
+
5
+ ## Goal
6
+
7
+ Produce `{process_slug}/research/{session_id}/first-principles.md` that captures the fundamental truths, unstated assumptions, and root causes beneath the research topic.
8
+
9
+ ## Inputs
10
+
11
+ - `session_id`: the research session identifier
12
+ - `{process_slug}/research/{session_id}/scope.md`
13
+
14
+ ## Steps
15
+
16
+ 1. Read the approved `scope.md`.
17
+ 2. Ask: "What are we actually trying to decide?" "Why does this problem exist?" "What must be true for any solution to matter?"
18
+ 3. List the explicit and implicit assumptions held by the PM, users, and team.
19
+ 4. For each assumption, ask "Is this always true?" and "What would happen if it were false?"
20
+ 5. Trace each assumption down to a first principle: a statement that cannot be reduced further within this context.
21
+ 6. Identify 1-3 root causes or fundamental truths that reshape how the research should be framed.
22
+ 7. Write `first-principles.md` using the template below.
23
+
24
+ ## Output template
25
+
26
+ ```markdown
27
+ # First-Principles Analysis: <Title>
28
+
29
+ ## Decision Context
30
+
31
+ <复述 scope 中的决策背景>
32
+
33
+ ## Explicit Assumptions
34
+
35
+ | Assumption | Why it is held | Evidence | Risk if false |
36
+ |------------|----------------|----------|---------------|
37
+ | ... | ... | ... | ... |
38
+
39
+ ## Implicit Assumptions
40
+
41
+ - <unspoken beliefs that need surfacing>
42
+
43
+ ## First Principles
44
+
45
+ 1. **<Principle 1>**
46
+ - Reasoning: <why it is fundamental>
47
+ - Implication: <how it reframes the research>
48
+
49
+ ## Root Causes
50
+
51
+ 1. <Root cause 1>
52
+ 2. <Root cause 2>
53
+
54
+ ## Reframed Research Questions
55
+
56
+ 1. <问题 1,基于第一性原理>
57
+ 2. <问题 2>
58
+
59
+ ## Questions for PM Confirmation
60
+
61
+ - <1-2 questions to confirm the reframing>
62
+ ```
63
+
64
+ ## Human Interaction Rules
65
+
66
+ - Present the reframed questions to the PM.
67
+ - Pause for PM feedback. If the PM provides refinements, update the document and continue; otherwise proceed.
68
+ - If the PM disagrees with an assumption, capture the revised view and update the document.
69
+
70
+ ## Exit Criteria
71
+
72
+ - `first-principles.md` is complete and has been reviewed by the PM (revisions incorporated if any).
73
+ - At least one implicit assumption has been surfaced and validated.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: lc-handoff
3
+ description: 为当前阶段生成交接文档,并标记人类审批通过
4
+ triggers:
5
+ - "生成交接文档"
6
+ - "lc-handoff"
7
+ - "handoff"
8
+ inputs:
9
+ - name: stage
10
+ description: 当前阶段 ID,如 clarify
11
+ required: false
12
+ outputs:
13
+ - "{process_slug}/handoffs/lc-handoff-{stage}.md"
14
+ required_tools:
15
+ - Read
16
+ - Bash
17
+ - Write
18
+ ---
19
+
20
+ # lc-handoff
21
+
22
+ ## Purpose
23
+
24
+ Using [lc-handoff] to 为当前阶段生成交接文档,并标记人类审批通过.
25
+
26
+
27
+ 为当前阶段生成交接文档,并在人类 PM 确认后标记 gate 审批通过。
28
+
29
+ 执行步骤:
30
+ 1. 读取 `<process_slug>/workflow-stage.yaml` 确定当前 stage 和 process_slug。
31
+ 2. 收集当前 stage 的产物、决策、待解决问题。
32
+ 3. 写入 `<process_slug>/handoffs/lc-handoff-{stage}.md`。
33
+ 4. 人类 PM 确认后,调用 `python scripts/stage_loader.py --stage {stage} --action approve-gate`。
34
+ 5. 调用 `python scripts/stage_loader.py --action append-node` 追加节点记录。
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: lc-init-branch
3
+ description: 基于 GitHub issue 初始化 Lincoln issue work package 和 feature branch
4
+ triggers:
5
+ - "初始化 Lincoln 分支"
6
+ - "lc-init-branch"
7
+ - "创建 Lincoln feature branch"
8
+ - "初始化 issue 工作包"
9
+ inputs:
10
+ - name: issue_number
11
+ description: GitHub issue 编号,如 21
12
+ required: true
13
+ - name: session_id
14
+ description: 会话 ID,如 2026-06-27-stakeholder;可选,默认基于 issue 生成
15
+ required: false
16
+ - name: design_id
17
+ description: 设计 ID,如 checkout-redesign;可选,默认基于 issue 生成
18
+ required: false
19
+ - name: process_slug
20
+ description: 过程包目录名;可选,默认 issue-{number}
21
+ required: false
22
+ outputs:
23
+ - git branch issue-{number}(若当前在 main)
24
+ - 分支根目录下的 {process_slug}/ 过程包(designs/ docs/ interviews/ openspec/ recordings/ requirements/)
25
+ - '"{process_slug}/workflow-stage.yaml" 含 issue_number'
26
+ required_tools:
27
+ - Bash
28
+ - Read
29
+ - Write
30
+ ---
31
+
32
+ # lc-init-branch
33
+
34
+ ## Purpose
35
+
36
+ Using [lc-init-branch] to 基于 GitHub issue 初始化 Lincoln issue work package 和 feature branch.
37
+
38
+
39
+ PM 在 Conductor 中基于 GitHub issue 初始化 workspace 后,调用此 skill 创建对应的过程包:
40
+
41
+ 1. 若当前在 `main`,切出 `issue-{number}` feature branch;若已处于 feature branch,则使用该分支。
42
+ 2. 创建 `{process_slug}/` 目录结构(`.gitkeep` 占位),`.tpl` 模板只读保留在 `.claude/templates/issue-package/` 供 Agent 按需参考生成文档,不复制进工作包。
43
+ 3. 写入 `{process_slug}/workflow-stage.yaml`,设置 `issue_number`、`session_id`、`design_id`、`process_slug`,并自动生成 `{process_slug}/documents.yaml` 文档索引。
44
+ 4. Commit 初始过程包,可选 `--push` 到远程。
45
+
46
+ 示例:
47
+
48
+ ```bash
49
+ scripts/init-lincoln-branch.sh --issue-number 21 --session-id 2026-07-08-stakeholder --design-id checkout-redesign --push
50
+ ```
51
+
52
+ 过程包只存在于 feature branch,不合并到 `main`。
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: lc-market-research
3
+ description: 分析市场规模、趋势、细分与动态,为产品定位与机会判断提供事实基础。
4
+ version: 1.0.0
5
+ triggers:
6
+ - "lc-market-research"
7
+ inputs:
8
+ - name: topic
9
+ description: 研究主题或产品决策背景
10
+ required: false
11
+ outputs:
12
+ - "{process_slug}/research/{session_id}/market-research.md"
13
+ required_tools:
14
+ - Bash
15
+ - Read
16
+ - Write
17
+ ---
18
+
19
+ # lc-market-research
20
+
21
+ ## Purpose
22
+
23
+ Using [lc-market-research] to 分析市场规模、趋势、细分与动态,为产品定位与机会判断提供事实基础.
24
+
25
+ ## When to Use
26
+
27
+ - `pm-research` workflow 的 `lc-market-research` 阶段。
28
+ - PM 需要 分析市场规模、趋势、细分与动态,为产品定位与机会判断提供事实基础。 时。
29
+
30
+ ## Inputs
31
+
32
+ - `session_id`: 研究 session 标识
33
+ - 当前阶段之前的所有研究产物
34
+
35
+ ## Outputs
36
+
37
+ - `{process_slug}/research/{session_id}/market-research.md`
38
+
39
+ ## Rules
40
+
41
+ - 严格基于已有研究产物,避免引入未经验证的假设。
42
+ - 所有外部事实必须标注来源。
43
+ - human_gate 阶段必须获得人类 PM 显式确认。
@@ -0,0 +1,79 @@
1
+ # lc-market-research prompt
2
+
3
+ You are executing the Lincoln workflow step `lc-market-research`: analyze the market context for the product decision.
4
+
5
+ ## Goal
6
+
7
+ Produce `{process_slug}/research/{session_id}/market.md` describing market size, trends, segments, and dynamics.
8
+
9
+ ## Inputs
10
+
11
+ - `session_id`: the research session identifier
12
+ - `{process_slug}/research/{session_id}/scope.md`
13
+ - `{process_slug}/research/{session_id}/first-principles.md`
14
+ - `{process_slug}/research/{session_id}/stakeholders.md`
15
+
16
+ ## Steps
17
+
18
+ 1. Read prior research documents.
19
+ 2. Define the addressable market:
20
+ - TAM / SAM / SOM if data is available
21
+ - Key segments and their growth rates
22
+ 3. Identify macro trends (technology, regulation, behavior, economics) that affect the market.
23
+ 4. Map the value chain and key players.
24
+ 5. Use WebSearch / WebFetch to find authoritative reports and data sources.
25
+ 6. Write `market.md` using the template below.
26
+
27
+ ## Output template
28
+
29
+ ```markdown
30
+ # Market Research: <Title>
31
+
32
+ ## Market Definition
33
+
34
+ <what market are we in and why>
35
+
36
+ ## Market Size
37
+
38
+ | Metric | Value | Source | Year |
39
+ |--------|-------|--------|------|
40
+ | TAM | ... | ... | ... |
41
+ | SAM | ... | ... | ... |
42
+ | SOM | ... | ... | ... |
43
+
44
+ ## Trends
45
+
46
+ 1. **<Trend 1>** — implication: ...
47
+ 2. **<Trend 2>** — implication: ...
48
+
49
+ ## Segments
50
+
51
+ | Segment | Description | Size | Growth | Key Needs |
52
+ |---------|-------------|------|--------|-----------|
53
+ | ... | ... | ... | ... | ... |
54
+
55
+ ## Value Chain
56
+
57
+ - <step 1>
58
+ - <step 2>
59
+
60
+ ## Sources
61
+
62
+ - <source 1>
63
+ - <source 2>
64
+
65
+ ## Implications
66
+
67
+ - <what this means for the product>
68
+ ```
69
+
70
+ ## Rules
71
+
72
+ - Prefer primary or well-known secondary sources (industry reports, official statistics, reputable publications).
73
+ - Flag low-confidence numbers and assumptions.
74
+ - Cite all data points.
75
+
76
+ ## Exit Criteria
77
+
78
+ - `market.md` is complete with cited sources.
79
+ - At least one trend and one segment are analyzed.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: lc-product-research
3
+ description: 研究相关产品/解决方案的能力、价值主张、使用场景与优劣势。
4
+ version: 1.0.0
5
+ triggers:
6
+ - "lc-product-research"
7
+ inputs:
8
+ - name: topic
9
+ description: 研究主题或产品决策背景
10
+ required: false
11
+ outputs:
12
+ - "{process_slug}/research/{session_id}/product-research.md"
13
+ required_tools:
14
+ - Bash
15
+ - Read
16
+ - Write
17
+ ---
18
+
19
+ # lc-product-research
20
+
21
+ ## Purpose
22
+
23
+ Using [lc-product-research] to 研究相关产品/解决方案的能力、价值主张、使用场景与优劣势.
24
+
25
+ ## When to Use
26
+
27
+ - `pm-research` workflow 的 `lc-product-research` 阶段。
28
+ - PM 需要 研究相关产品/解决方案的能力、价值主张、使用场景与优劣势。 时。
29
+
30
+ ## Inputs
31
+
32
+ - `session_id`: 研究 session 标识
33
+ - 当前阶段之前的所有研究产物
34
+
35
+ ## Outputs
36
+
37
+ - `{process_slug}/research/{session_id}/product-research.md`
38
+
39
+ ## Rules
40
+
41
+ - 严格基于已有研究产物,避免引入未经验证的假设。
42
+ - 所有外部事实必须标注来源。
43
+ - human_gate 阶段必须获得人类 PM 显式确认。
@@ -0,0 +1,80 @@
1
+ # lc-product-research prompt
2
+
3
+ You are executing the Lincoln workflow step `lc-product-research`: research existing products and solutions relevant to the decision.
4
+
5
+ ## Goal
6
+
7
+ Produce `{process_slug}/research/{session_id}/product.md` analyzing relevant products' capabilities, value propositions, and use cases.
8
+
9
+ ## Inputs
10
+
11
+ - `session_id`: the research session identifier
12
+ - `{process_slug}/research/{session_id}/scope.md`
13
+ - `{process_slug}/research/{session_id}/first-principles.md`
14
+ - `{process_slug}/research/{session_id}/stakeholders.md`
15
+
16
+ ## Steps
17
+
18
+ 1. Read prior research documents.
19
+ 2. Identify 3-7 relevant products or solution categories.
20
+ 3. For each product, research:
21
+ - Positioning and value proposition
22
+ - Core capabilities and features
23
+ - Target users and use cases
24
+ - Pricing model (if public)
25
+ - API / integration surface (if relevant)
26
+ 4. Use WebSearch / WebFetch / GitHub MCP to gather official information.
27
+ 5. Write `product.md` using the template below.
28
+
29
+ ## Output template
30
+
31
+ ```markdown
32
+ # Product Research: <Title>
33
+
34
+ ## Products Analyzed
35
+
36
+ | Product | Category | Positioning | Target Users | Pricing |
37
+ |---------|----------|-------------|--------------|---------|
38
+ | ... | ... | ... | ... | ... |
39
+
40
+ ## Product Profiles
41
+
42
+ ### 1. <Product A>
43
+
44
+ - **Value proposition:** ...
45
+ - **Core capabilities:** ...
46
+ - **Use cases:** ...
47
+ - **API / integration:** ...
48
+ - **Strengths:** ...
49
+ - **Weaknesses:** ...
50
+
51
+ ### 2. <Product B>
52
+
53
+ ...
54
+
55
+ ## Capability Comparison
56
+
57
+ | Capability | Product A | Product B | Product C |
58
+ |------------|-----------|-----------|-----------|
59
+ | ... | ... | ... | ... |
60
+
61
+ ## Sources
62
+
63
+ - <source 1>
64
+ - <source 2>
65
+
66
+ ## Implications
67
+
68
+ - <what this means for our product>
69
+ ```
70
+
71
+ ## Rules
72
+
73
+ - Rely on official sources (product websites, docs, API references, pricing pages).
74
+ - Distinguish facts from marketing claims.
75
+ - Note information gaps.
76
+
77
+ ## Exit Criteria
78
+
79
+ - `product.md` covers at least 3 relevant products.
80
+ - Each product has capabilities and use cases documented with sources.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: lc-research-report
3
+ description: 整合 PM 研究全流程产物,输出可交付、可沉淀的研究报告。
4
+ version: 1.0.0
5
+ triggers:
6
+ - "lc-research-report"
7
+ inputs:
8
+ - name: topic
9
+ description: 研究主题或产品决策背景
10
+ required: false
11
+ outputs:
12
+ - "{process_slug}/research/{session_id}/report.md"
13
+ required_tools:
14
+ - Bash
15
+ - Read
16
+ - Write
17
+ ---
18
+
19
+ # lc-research-report
20
+
21
+ ## Purpose
22
+
23
+ Using [lc-research-report] to 整合 PM 研究全流程产物,输出可交付、可沉淀的研究报告.
24
+
25
+ ## When to Use
26
+
27
+ - `pm-research` workflow 的 `lc-research-report` 阶段。
28
+ - PM 需要 整合 PM 研究全流程产物,输出可交付、可沉淀的研究报告。 时。
29
+
30
+ ## Inputs
31
+
32
+ - `session_id`: 研究 session 标识
33
+ - 当前阶段之前的所有研究产物
34
+
35
+ ## Outputs
36
+
37
+ - `{process_slug}/research/{session_id}/report.md`
38
+
39
+ ## Rules
40
+
41
+ - 严格基于已有研究产物,避免引入未经验证的假设。
42
+ - 所有外部事实必须标注来源。
43
+ - human_gate 阶段必须获得人类 PM 显式确认。