@sushanglewis/lincoln 1.5.0 → 1.5.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/dist/main.d.ts +3 -0
- package/dist/main.js +1231 -906
- package/dist/main.js.map +1 -1
- package/dist/postinstall.d.ts +3 -0
- package/dist/postinstall.js +18 -0
- package/dist/postinstall.js.map +1 -0
- package/framework/.claude/agents/_contract.md +79 -0
- package/framework/.claude/agents/architect.md +31 -0
- package/framework/.claude/agents/default.md +151 -0
- package/framework/.claude/agents/designer.md +33 -0
- package/framework/.claude/agents/engineer.md +42 -0
- package/framework/.claude/agents/external/NOTICES.md +12 -0
- package/framework/.claude/agents/external/everything-claude-code.manifest.yaml +23 -0
- package/framework/.claude/agents/external/oh-my-claudecode.manifest.yaml +26 -0
- package/framework/.claude/agents/external/wshobson-agents.manifest.yaml +23 -0
- package/framework/.claude/agents/frontend-engineer.md +32 -0
- package/framework/.claude/agents/knowledge-curator.md +28 -0
- package/framework/.claude/agents/pm.md +38 -0
- package/framework/.claude/agents/qa.md +28 -0
- package/framework/.claude/agents/release-coordinator.md +25 -0
- package/framework/.claude/agents/researcher.md +41 -0
- package/framework/.claude/harnesses/claude-code.yaml +15 -0
- package/framework/.claude/harnesses/codex.yaml +40 -0
- package/framework/.claude/harnesses/command-map.yaml +255 -0
- package/framework/.claude/harnesses/opencode.yaml +32 -0
- package/framework/.claude/harnesses/scenarios.yaml +45 -0
- package/framework/.claude/hooks/on-pr-event.sh +69 -0
- package/framework/.claude/hooks/on-session-start.sh +427 -0
- package/framework/.claude/hooks/on-stop.sh +104 -0
- package/framework/.claude/hooks/post-tool-use.sh +161 -0
- package/framework/.claude/hooks/pre-tool-use.sh +246 -0
- package/framework/.claude/schemas/agent-definition.schema.json +35 -0
- package/framework/.claude/schemas/benchmark-report.schema.json +148 -0
- package/framework/.claude/schemas/pm-to-ux-handoff.schema.yaml +128 -0
- package/framework/.claude/schemas/stage-definition.schema.json +233 -0
- package/framework/.claude/schemas/workflow-stage.schema.json +86 -0
- package/framework/.claude/schemas/workflow-template.schema.json +88 -0
- package/framework/.claude/settings.json +14 -0
- package/framework/.claude/skills/build-product-prototype/SKILL.md +35 -0
- package/framework/.claude/skills/build-product-prototype/prompts/main.md +78 -0
- package/framework/.claude/skills/clarify-requirements/SKILL.md +32 -0
- package/framework/.claude/skills/clarify-requirements/prompts/main.md +81 -0
- package/framework/.claude/skills/dependencies.yaml +139 -0
- package/framework/.claude/skills/draft-product-design/SKILL.md +40 -0
- package/framework/.claude/skills/draft-product-design/prompts/main.md +47 -0
- package/framework/.claude/skills/lc-analyze-frameworks/SKILL.md +43 -0
- package/framework/.claude/skills/lc-analyze-frameworks/prompts/main.md +95 -0
- package/framework/.claude/skills/lc-benchmark/SKILL.md +61 -0
- package/framework/.claude/skills/lc-build-codebase-knowledge/SKILL.md +38 -0
- package/framework/.claude/skills/lc-build-codebase-knowledge/prompts/build-codebase-knowledge.md +61 -0
- package/framework/.claude/skills/lc-collect-intelligence/SKILL.md +43 -0
- package/framework/.claude/skills/lc-collect-intelligence/prompts/main.md +72 -0
- package/framework/.claude/skills/lc-competitive-analysis/SKILL.md +43 -0
- package/framework/.claude/skills/lc-competitive-analysis/prompts/main.md +70 -0
- package/framework/.claude/skills/lc-explore-opensource/SKILL.md +36 -0
- package/framework/.claude/skills/lc-explore-opensource/prompts/explore-opensource.md +77 -0
- package/framework/.claude/skills/lc-first-principles/SKILL.md +43 -0
- package/framework/.claude/skills/lc-first-principles/prompts/main.md +73 -0
- package/framework/.claude/skills/lc-handoff/SKILL.md +34 -0
- package/framework/.claude/skills/lc-init-branch/SKILL.md +52 -0
- package/framework/.claude/skills/lc-market-research/SKILL.md +43 -0
- package/framework/.claude/skills/lc-market-research/prompts/main.md +79 -0
- package/framework/.claude/skills/lc-product-research/SKILL.md +43 -0
- package/framework/.claude/skills/lc-product-research/prompts/main.md +80 -0
- package/framework/.claude/skills/lc-research-report/SKILL.md +43 -0
- package/framework/.claude/skills/lc-research-report/prompts/main.md +90 -0
- package/framework/.claude/skills/lc-research-scope/SKILL.md +43 -0
- package/framework/.claude/skills/lc-research-scope/prompts/main.md +82 -0
- package/framework/.claude/skills/lc-setup/SKILL.md +68 -0
- package/framework/.claude/skills/lc-setup/prompts/main.md +88 -0
- package/framework/.claude/skills/lc-stage/SKILL.md +45 -0
- package/framework/.claude/skills/lc-stakeholder-research/SKILL.md +43 -0
- package/framework/.claude/skills/lc-stakeholder-research/prompts/main.md +65 -0
- package/framework/.claude/skills/lc-status/SKILL.md +25 -0
- package/framework/.claude/skills/lc-storytelling/SKILL.md +43 -0
- package/framework/.claude/skills/lc-storytelling/prompts/main.md +77 -0
- package/framework/.claude/skills/lc-wf/SKILL.md +54 -0
- package/framework/.claude/skills/lc-workflow/SKILL.md +48 -0
- package/framework/.claude/skills/lc-workflow/validators/validate.py +755 -0
- package/framework/.claude/skills/lc-workflow-router/SKILL.md +41 -0
- package/framework/.claude/skills/lc-workflow-router/prompts/intake-prompt.md +91 -0
- package/framework/.claude/skills/lc-workflow-router/prompts/router-prompt.md +44 -0
- package/framework/.claude/skills/plan-tdd-development/SKILL.md +31 -0
- package/framework/.claude/skills/plan-tdd-development/prompts/main.md +44 -0
- package/framework/.claude/skills/process-interview/SKILL.md +32 -0
- package/framework/.claude/skills/process-interview/prompts/main.md +47 -0
- package/framework/.claude/skills/propose-with-openspec/SKILL.md +37 -0
- package/framework/.claude/skills/propose-with-openspec/prompts/main.md +53 -0
- package/framework/.claude/skills/split-to-github/SKILL.md +32 -0
- package/framework/.claude/skills/split-to-github/prompts/main.md +42 -0
- package/framework/.claude/skills/sync-to-knowledge/SKILL.md +35 -0
- package/framework/.claude/skills/sync-to-knowledge/prompts/main.md +54 -0
- package/framework/.claude/skills/workflow-continue/SKILL.md +24 -0
- package/framework/.claude/skills/workflow-continue/prompts/main.md +25 -0
- package/framework/.claude/stages/build-codebase-knowledge.yaml +42 -0
- package/framework/.claude/stages/clarify.yaml +59 -0
- package/framework/.claude/stages/explore-opensource.yaml +40 -0
- package/framework/.claude/stages/implement.yaml +60 -0
- package/framework/.claude/stages/ingest.yaml +40 -0
- package/framework/.claude/stages/lc-analyze-frameworks.yaml +37 -0
- package/framework/.claude/stages/lc-collect-intelligence.yaml +37 -0
- package/framework/.claude/stages/lc-competitive-analysis.yaml +37 -0
- package/framework/.claude/stages/lc-first-principles.yaml +37 -0
- package/framework/.claude/stages/lc-market-research.yaml +37 -0
- package/framework/.claude/stages/lc-product-research.yaml +37 -0
- package/framework/.claude/stages/lc-research-report.yaml +38 -0
- package/framework/.claude/stages/lc-research-scope.yaml +38 -0
- package/framework/.claude/stages/lc-stakeholder-research.yaml +37 -0
- package/framework/.claude/stages/lc-storytelling.yaml +37 -0
- package/framework/.claude/stages/product-design-docs.yaml +66 -0
- package/framework/.claude/stages/product-prototype.yaml +53 -0
- package/framework/.claude/stages/propose.yaml +45 -0
- package/framework/.claude/stages/split.yaml +41 -0
- package/framework/.claude/stages/sync-knowledge.yaml +49 -0
- package/framework/.claude/stages/tdd-development-plan.yaml +43 -0
- package/framework/.claude/stages/workflow-router.yaml +45 -0
- package/framework/.claude/templates/solo-workflow-context.yaml +23 -0
- package/framework/.claude/workflows/README.md +93 -0
- package/framework/.claude/workflows/bug-fix.yaml +81 -0
- package/framework/.claude/workflows/design-spike.yaml +55 -0
- package/framework/.claude/workflows/existing-project-iteration.yaml +106 -0
- package/framework/.claude/workflows/interview-to-knowledge.yaml +189 -0
- package/framework/.claude/workflows/oss-first-design.yaml +100 -0
- package/framework/.claude/workflows/pm-research.yaml +115 -0
- package/framework/.claude-plugin/hooks.json +6 -0
- package/framework/.claude-plugin/marketplace.json +32 -0
- package/framework/.claude-plugin/plugin.json +57 -0
- package/framework/.version-bump.json +43 -0
- package/framework/CLAUDE.md +140 -0
- package/framework/CONTRIBUTING.md +219 -0
- package/framework/LICENSE +21 -0
- package/framework/README.en.md +139 -0
- package/framework/README.md +139 -0
- package/framework/RELEASE.md +334 -0
- package/framework/SKILL.md +24 -0
- package/framework/USAGE.md +356 -0
- package/framework/manifest.json +1214 -0
- package/framework/requirements.txt +4 -0
- package/framework/scripts/__init__.py +0 -0
- package/framework/scripts/build_codebase_knowledge.py +76 -0
- package/framework/scripts/bump_version.py +181 -0
- package/framework/scripts/check-dependency-drift.py +69 -0
- package/framework/scripts/check-harness-drift.sh +57 -0
- package/framework/scripts/check-main-merge-hygiene.py +128 -0
- package/framework/scripts/check-skill-dependencies.sh +124 -0
- package/framework/scripts/init-lincoln-branch.sh +300 -0
- package/framework/scripts/init-project.sh +184 -0
- package/framework/scripts/lc-benchmark-cli.py +66 -0
- package/framework/scripts/lincoln-audit.py +288 -0
- package/framework/scripts/lincoln-setup.py +651 -0
- package/framework/scripts/lincoln-status.py +448 -0
- package/framework/scripts/lincoln_benchmark.py +224 -0
- package/framework/scripts/lincoln_benchmark_eval.py +104 -0
- package/framework/scripts/lincoln_benchmark_metrics.py +818 -0
- package/framework/scripts/lincoln_benchmark_report.py +141 -0
- package/framework/scripts/lincoln_command_map.py +289 -0
- package/framework/scripts/lincoln_dependency_manager.py +335 -0
- package/framework/scripts/lincoln_documents.py +175 -0
- package/framework/scripts/lincoln_harness_adapter.py +319 -0
- package/framework/scripts/lincoln_index.py +255 -0
- package/framework/scripts/lincoln_paths.py +198 -0
- package/framework/scripts/lincoln_prd.py +227 -0
- package/framework/scripts/lincoln_role.py +46 -0
- package/framework/scripts/lincoln_scenario.py +59 -0
- package/framework/scripts/lincoln_session_start_metrics.py +71 -0
- package/framework/scripts/lincoln_skill_prompt.py +48 -0
- package/framework/scripts/lincoln_trace.py +335 -0
- package/framework/scripts/lincoln_workflow.py +199 -0
- package/framework/scripts/list-active-lincoln-branches.sh +87 -0
- package/framework/scripts/package-lincoln-plugin.py +340 -0
- package/framework/scripts/run-infrastructure-tests.py +84 -0
- package/framework/scripts/stage_loader.py +1071 -0
- package/framework/scripts/static-check.sh +356 -0
- package/framework/scripts/sync-external-agents.sh +210 -0
- package/framework/scripts/sync-framework-package.mjs +218 -0
- package/framework/scripts/task_tool_guard.py +213 -0
- package/framework/scripts/track-artifacts.py +140 -0
- package/framework/scripts/validate_stage.py +350 -0
- package/{README.md → framework/tools/lincoln/README.md} +4 -4
- package/framework/tools/lincoln/package-lock.json +3349 -0
- package/framework/tools/lincoln/package.json +48 -0
- package/framework/tools/lincoln/src/cli.tsx +60 -0
- package/framework/tools/lincoln/src/components/AudioMeter.tsx +34 -0
- package/framework/tools/lincoln/src/components/CancelledScreen.tsx +11 -0
- package/framework/tools/lincoln/src/components/DevicesMenu.tsx +79 -0
- package/framework/tools/lincoln/src/components/HintBar.tsx +25 -0
- package/framework/tools/lincoln/src/components/LogView.tsx +36 -0
- package/framework/tools/lincoln/src/components/ModelMenu.tsx +122 -0
- package/framework/tools/lincoln/src/components/ReadyScreen.tsx +54 -0
- package/framework/tools/lincoln/src/components/RecordingApp.tsx +211 -0
- package/framework/tools/lincoln/src/components/RecordingScreen.tsx +41 -0
- package/framework/tools/lincoln/src/components/SelectMenu.tsx +53 -0
- package/framework/tools/lincoln/src/components/StatusPanel.tsx +52 -0
- package/framework/tools/lincoln/src/components/StopConfirmation.tsx +32 -0
- package/framework/tools/lincoln/src/config/args.ts +35 -0
- package/framework/tools/lincoln/src/config/loadConfig.ts +81 -0
- package/framework/tools/lincoln/src/config/resolveConfig.ts +85 -0
- package/framework/tools/lincoln/src/devices/listDevices.ts +11 -0
- package/framework/tools/lincoln/src/devices/parseDevices.ts +25 -0
- package/framework/tools/lincoln/src/hooks/useKeyHandler.ts +63 -0
- package/framework/tools/lincoln/src/main.tsx +4 -0
- package/framework/tools/lincoln/src/models/models.ts +34 -0
- package/framework/tools/lincoln/src/models/runWarmup.ts +46 -0
- package/framework/tools/lincoln/src/models/warmupProgress.ts +30 -0
- package/framework/tools/lincoln/src/recording/spawnRecorder.ts +127 -0
- package/framework/tools/lincoln/src/recording/useRecorder.ts +146 -0
- package/framework/tools/lincoln/src/utils/amplitudeToMeter.ts +4 -0
- package/framework/tools/lincoln/src/utils/formatDuration.ts +6 -0
- package/framework/tools/lincoln/src/utils/sessionId.ts +25 -0
- package/framework/tools/lincoln/tests/cli.test.tsx +52 -0
- package/framework/tools/lincoln/tests/components/AudioMeter.test.tsx +31 -0
- package/framework/tools/lincoln/tests/components/CancelledScreen.test.tsx +12 -0
- package/framework/tools/lincoln/tests/components/ReadyScreen.test.tsx +68 -0
- package/framework/tools/lincoln/tests/components/RecordingApp.menus.test.tsx +158 -0
- package/framework/tools/lincoln/tests/components/RecordingApp.test.tsx +248 -0
- package/framework/tools/lincoln/tests/components/RecordingScreen.test.tsx +37 -0
- package/framework/tools/lincoln/tests/components/SelectMenu.test.tsx +59 -0
- package/framework/tools/lincoln/tests/components/StopConfirmation.test.tsx +38 -0
- package/framework/tools/lincoln/tests/config/args.test.ts +49 -0
- package/framework/tools/lincoln/tests/config/loadConfig.test.ts +59 -0
- package/framework/tools/lincoln/tests/config/resolveConfig.test.ts +72 -0
- package/framework/tools/lincoln/tests/devices/parseDevices.test.ts +21 -0
- package/framework/tools/lincoln/tests/hooks/useKeyHandler.enabled.test.tsx +44 -0
- package/framework/tools/lincoln/tests/hooks/useKeyHandler.test.tsx +130 -0
- package/framework/tools/lincoln/tests/models/models.test.ts +27 -0
- package/framework/tools/lincoln/tests/models/warmupProgress.test.ts +25 -0
- package/framework/tools/lincoln/tests/recording/spawnRecorder.test.ts +85 -0
- package/framework/tools/lincoln/tests/recording/useRecorder.test.tsx +172 -0
- package/framework/tools/lincoln/tests/utils/amplitudeToMeter.test.ts +22 -0
- package/framework/tools/lincoln/tests/utils/formatDuration.test.ts +11 -0
- package/framework/tools/lincoln/tests/utils/sessionId.test.ts +30 -0
- package/framework/tools/lincoln/tsconfig.json +22 -0
- package/framework/tools/lincoln/tsconfig.tests.json +10 -0
- package/framework/tools/lincoln/tsup.config.ts +17 -0
- package/framework/tools/lincoln/vitest.config.ts +20 -0
- package/framework/tools/lincoln-installer/package-lock.json +3611 -0
- package/framework/tools/lincoln-installer/package.json +53 -0
- package/framework/tools/lincoln-installer/src/cli.tsx +63 -0
- package/framework/tools/lincoln-installer/src/components/HarnessSelectScreen.tsx +43 -0
- package/framework/tools/lincoln-installer/src/components/InstallerApp.tsx +98 -0
- package/framework/tools/lincoln-installer/src/components/OptionsScreen.tsx +56 -0
- package/framework/tools/lincoln-installer/src/components/ProgressScreen.tsx +25 -0
- package/framework/tools/lincoln-installer/src/components/ResultScreen.tsx +40 -0
- package/framework/tools/lincoln-installer/src/components/SelectMenu.tsx +73 -0
- package/framework/tools/lincoln-installer/src/components/SummaryScreen.tsx +49 -0
- package/framework/tools/lincoln-installer/src/components/UpdateApp.tsx +135 -0
- package/framework/tools/lincoln-installer/src/components/WelcomeScreen.tsx +22 -0
- package/framework/tools/lincoln-installer/src/config/args.ts +76 -0
- package/framework/tools/lincoln-installer/src/config/resolveConfig.ts +33 -0
- package/framework/tools/lincoln-installer/src/config/updateArgs.ts +67 -0
- package/framework/tools/lincoln-installer/src/hooks/useSetup.ts +149 -0
- package/framework/tools/lincoln-installer/src/main.tsx +11 -0
- package/framework/tools/lincoln-installer/src/types.ts +19 -0
- package/framework/tools/lincoln-installer/src/update-main.tsx +11 -0
- package/framework/tools/lincoln-installer/src/update.tsx +90 -0
- package/framework/tools/lincoln-installer/src/utils/detectHarness.ts +51 -0
- package/framework/tools/lincoln-installer/src/utils/runSetup.ts +62 -0
- package/framework/tools/lincoln-installer/src/utils/updateRelease.ts +454 -0
- package/framework/tools/lincoln-installer/tests/components/InstallerApp.test.tsx +88 -0
- package/framework/tools/lincoln-installer/tests/components/SelectMenu.test.tsx +26 -0
- package/framework/tools/lincoln-installer/tests/components/UpdateApp.test.tsx +170 -0
- package/framework/tools/lincoln-installer/tests/components/screens.test.tsx +310 -0
- package/framework/tools/lincoln-installer/tests/config/args.test.ts +66 -0
- package/framework/tools/lincoln-installer/tests/config/resolveConfig.test.ts +75 -0
- package/framework/tools/lincoln-installer/tests/config/updateArgs.test.ts +52 -0
- package/framework/tools/lincoln-installer/tests/hooks/useSetup.test.tsx +213 -0
- package/framework/tools/lincoln-installer/tests/update.test.tsx +108 -0
- package/framework/tools/lincoln-installer/tests/utils/detectHarness.test.ts +40 -0
- package/framework/tools/lincoln-installer/tests/utils/runSetup.test.ts +45 -0
- package/framework/tools/lincoln-installer/tests/utils/updateRelease.test.ts +559 -0
- package/framework/tools/lincoln-installer/tsconfig.json +22 -0
- package/framework/tools/lincoln-installer/tsconfig.tests.json +8 -0
- package/framework/tools/lincoln-installer/tsup.config.ts +17 -0
- package/framework/tools/lincoln-installer/vitest.config.ts +20 -0
- package/framework/tools/lincoln-record/Cargo.lock +1896 -0
- package/framework/tools/lincoln-record/Cargo.toml +24 -0
- package/framework/tools/lincoln-record/diarize/diarize.py +117 -0
- package/framework/tools/lincoln-record/diarize/merge.py +55 -0
- package/framework/tools/lincoln-record/src/audio/capture/microphone.rs +194 -0
- package/framework/tools/lincoln-record/src/audio/capture/mod.rs +1 -0
- package/framework/tools/lincoln-record/src/audio/devices.rs +20 -0
- package/framework/tools/lincoln-record/src/audio/mod.rs +5 -0
- package/framework/tools/lincoln-record/src/audio/resampler.rs +44 -0
- package/framework/tools/lincoln-record/src/audio/saver.rs +87 -0
- package/framework/tools/lincoln-record/src/audio/source.rs +104 -0
- package/framework/tools/lincoln-record/src/cli.rs +96 -0
- package/framework/tools/lincoln-record/src/config.rs +135 -0
- package/framework/tools/lincoln-record/src/lib.rs +6 -0
- package/framework/tools/lincoln-record/src/main.rs +242 -0
- package/framework/tools/lincoln-record/src/model/mod.rs +248 -0
- package/framework/tools/lincoln-record/src/output/metadata.rs +30 -0
- package/framework/tools/lincoln-record/src/output/mod.rs +2 -0
- package/framework/tools/lincoln-record/src/output/transcript.rs +42 -0
- package/framework/tools/lincoln-record/src/transcription/diarization.rs +64 -0
- package/framework/tools/lincoln-record/src/transcription/mod.rs +3 -0
- package/framework/tools/lincoln-record/src/transcription/provider.rs +43 -0
- package/framework/tools/lincoln-record/src/transcription/whisper.rs +176 -0
- package/framework/tools/lincoln-record/tests/cli_args.rs +103 -0
- package/framework/tools/lincoln-record/tests/config_test.rs +70 -0
- package/framework/tools/lincoln-record/tests/devices_test.rs +23 -0
- package/framework/tools/lincoln-record/tests/diarization_tests.rs +101 -0
- package/framework/tools/lincoln-record/tests/integration_tests.rs +44 -0
- package/framework/tools/lincoln-record/tests/model_test.rs +68 -0
- package/framework/tools/lincoln-record/tests/transcription_tests.rs +73 -0
- package/package.json +19 -13
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# lc-research-report prompt
|
|
2
|
+
|
|
3
|
+
You are executing the Lincoln workflow step `lc-research-report`: synthesize all research artifacts into a final report.
|
|
4
|
+
|
|
5
|
+
## Goal
|
|
6
|
+
|
|
7
|
+
Produce `{process_slug}/research/{session_id}/report.md` that integrates the research scope, first principles, stakeholder map, market, product, competitive, framework, intelligence, and narrative into a decision-ready document.
|
|
8
|
+
|
|
9
|
+
## Inputs
|
|
10
|
+
|
|
11
|
+
- `session_id`: the research session identifier
|
|
12
|
+
- All prior research artifacts in `{process_slug}/research/{session_id}/`
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
1. Read all prior research artifacts.
|
|
17
|
+
2. Write an executive summary with:
|
|
18
|
+
- Core thesis
|
|
19
|
+
- Key findings
|
|
20
|
+
- Recommended decision
|
|
21
|
+
- Key risks
|
|
22
|
+
3. Include sections for each research domain (scope, first principles, stakeholders, market, product, competitive, frameworks, intelligence, narrative).
|
|
23
|
+
4. Link every claim to evidence in the prior artifacts.
|
|
24
|
+
5. Add an appendix with all sources.
|
|
25
|
+
6. Write `report.md` using the template below.
|
|
26
|
+
7. Present the report to the PM for final approval.
|
|
27
|
+
|
|
28
|
+
## Output template
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
# Research Report: <Title>
|
|
32
|
+
|
|
33
|
+
## Executive Summary
|
|
34
|
+
|
|
35
|
+
### Core Thesis
|
|
36
|
+
...
|
|
37
|
+
|
|
38
|
+
### Key Findings
|
|
39
|
+
1. ...
|
|
40
|
+
2. ...
|
|
41
|
+
|
|
42
|
+
### Recommendation
|
|
43
|
+
...
|
|
44
|
+
|
|
45
|
+
### Risks
|
|
46
|
+
- ...
|
|
47
|
+
|
|
48
|
+
## Background
|
|
49
|
+
...
|
|
50
|
+
|
|
51
|
+
## First Principles
|
|
52
|
+
...
|
|
53
|
+
|
|
54
|
+
## Stakeholder Insights
|
|
55
|
+
...
|
|
56
|
+
|
|
57
|
+
## Market Analysis
|
|
58
|
+
...
|
|
59
|
+
|
|
60
|
+
## Product Analysis
|
|
61
|
+
...
|
|
62
|
+
|
|
63
|
+
## Competitive Analysis
|
|
64
|
+
...
|
|
65
|
+
|
|
66
|
+
## Applied Frameworks
|
|
67
|
+
...
|
|
68
|
+
|
|
69
|
+
## Evidence Summary
|
|
70
|
+
...
|
|
71
|
+
|
|
72
|
+
## Narrative
|
|
73
|
+
...
|
|
74
|
+
|
|
75
|
+
## Next Steps
|
|
76
|
+
1. ...
|
|
77
|
+
|
|
78
|
+
## Appendix: Sources
|
|
79
|
+
- ...
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Human Interaction Rules
|
|
83
|
+
|
|
84
|
+
- Present the report to the PM for approval.
|
|
85
|
+
- Do not mark the stage complete until the PM explicitly confirms.
|
|
86
|
+
|
|
87
|
+
## Exit Criteria
|
|
88
|
+
|
|
89
|
+
- `report.md` is complete and approved by the human PM.
|
|
90
|
+
- Every recommendation links to evidence.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lc-research-scope
|
|
3
|
+
description: 界定 PM 研究工作的范围、目标、问题与验收标准,作为后续研究阶段的单一事实来源。
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
triggers:
|
|
6
|
+
- "lc-research-scope"
|
|
7
|
+
inputs:
|
|
8
|
+
- name: topic
|
|
9
|
+
description: 研究主题或产品决策背景
|
|
10
|
+
required: false
|
|
11
|
+
outputs:
|
|
12
|
+
- "{process_slug}/research/{session_id}/scope.md"
|
|
13
|
+
required_tools:
|
|
14
|
+
- Bash
|
|
15
|
+
- Read
|
|
16
|
+
- Write
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# lc-research-scope
|
|
20
|
+
|
|
21
|
+
## Purpose
|
|
22
|
+
|
|
23
|
+
Using [lc-research-scope] to 界定 PM 研究工作的范围、目标、问题与验收标准,作为后续研究阶段的单一事实来源.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- `pm-research` workflow 的 `lc-research-scope` 阶段。
|
|
28
|
+
- PM 需要 界定 PM 研究工作的范围、目标、问题与验收标准,作为后续研究阶段的单一事实来源。 时。
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
|
|
32
|
+
- `session_id`: 研究 session 标识
|
|
33
|
+
- 当前阶段之前的所有研究产物
|
|
34
|
+
|
|
35
|
+
## Outputs
|
|
36
|
+
|
|
37
|
+
- `{process_slug}/research/{session_id}/scope.md`
|
|
38
|
+
|
|
39
|
+
## Rules
|
|
40
|
+
|
|
41
|
+
- 严格基于已有研究产物,避免引入未经验证的假设。
|
|
42
|
+
- 所有外部事实必须标注来源。
|
|
43
|
+
- human_gate 阶段必须获得人类 PM 显式确认。
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# lc-research-scope prompt
|
|
2
|
+
|
|
3
|
+
You are executing the Lincoln workflow step `lc-research-scope`: define the research brief for a PM-led research workflow.
|
|
4
|
+
|
|
5
|
+
## Goal
|
|
6
|
+
|
|
7
|
+
Produce `{process_slug}/research/{session_id}/scope.md` that becomes the single source of truth for all subsequent research stages.
|
|
8
|
+
|
|
9
|
+
## Inputs
|
|
10
|
+
|
|
11
|
+
- `session_id`: the research session identifier
|
|
12
|
+
- Optional topic, questions, or context provided by the human PM
|
|
13
|
+
- Any existing requirements, interviews, designs, or knowledge documents in `{process_slug}/`
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
1. Create `{process_slug}/research/{session_id}/` if it does not exist.
|
|
18
|
+
2. Read any existing context that could shape the research (requirements, interview summaries, knowledge notes).
|
|
19
|
+
3. Draft `scope.md` using the template below.
|
|
20
|
+
4. Identify 1-3 ambiguities and tag each with its Johari quadrant:
|
|
21
|
+
- 知道自己知道 → confirm with the PM
|
|
22
|
+
- 知道自己不知道 → ask directly and coach
|
|
23
|
+
- 不知道自己知道 → surface existing assets
|
|
24
|
+
- 不知道自己不知道 → probe with concrete scenarios
|
|
25
|
+
5. Ask the human PM at most 3 questions per turn to converge on scope.
|
|
26
|
+
6. Update `scope.md` after each answer.
|
|
27
|
+
7. Repeat until the PM confirms the scope is ready.
|
|
28
|
+
8. When confirmed, append `<!-- status: approved -->` to `scope.md`.
|
|
29
|
+
|
|
30
|
+
## Output template
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Research Scope: <Title>
|
|
34
|
+
|
|
35
|
+
## Background
|
|
36
|
+
|
|
37
|
+
<决策背景与研究动机>
|
|
38
|
+
|
|
39
|
+
## Research Questions
|
|
40
|
+
|
|
41
|
+
1. <问题 1>
|
|
42
|
+
2. <问题 2>
|
|
43
|
+
3. <问题 3>
|
|
44
|
+
|
|
45
|
+
## Scope Inclusions
|
|
46
|
+
|
|
47
|
+
- <明确包含的内容>
|
|
48
|
+
|
|
49
|
+
## Scope Exclusions
|
|
50
|
+
|
|
51
|
+
- <明确不包含的内容,避免范围蔓延>
|
|
52
|
+
|
|
53
|
+
## Stakeholders
|
|
54
|
+
|
|
55
|
+
- <谁使用、谁买单、谁建设、谁维护(初步)>
|
|
56
|
+
|
|
57
|
+
## Analysis Frameworks
|
|
58
|
+
|
|
59
|
+
- <初步建议使用的分析框架>
|
|
60
|
+
|
|
61
|
+
## Acceptance Criteria
|
|
62
|
+
|
|
63
|
+
1. <怎样算研究完成>
|
|
64
|
+
2. <需要产出哪些 artifact>
|
|
65
|
+
3. <决策点是什么>
|
|
66
|
+
|
|
67
|
+
## Risks & Assumptions
|
|
68
|
+
|
|
69
|
+
- <关键假设>
|
|
70
|
+
- <可能风险>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Human Interaction Rules
|
|
74
|
+
|
|
75
|
+
- Ask at most 3 questions per turn.
|
|
76
|
+
- After each answer, update the document and show the changed sections.
|
|
77
|
+
- Do not proceed to the next step until the PM explicitly confirms (e.g., says "confirm" or "确认").
|
|
78
|
+
|
|
79
|
+
## Exit Criteria
|
|
80
|
+
|
|
81
|
+
- `scope.md` is approved by the human PM.
|
|
82
|
+
- Research questions and acceptance criteria are explicit and decision-oriented.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lc-setup
|
|
3
|
+
description: |
|
|
4
|
+
Lincoln 环境初始化 skill。用于在仓库首次打开或依赖发生变化时,
|
|
5
|
+
检查、安装并配置 Lincoln 所需的外部 skills、CLI 工具、插件以及仓库配置。
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# lc-setup
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Using [lc-setup] to guide one-time Lincoln installation and dependency setup.
|
|
13
|
+
|
|
14
|
+
详细安装执行指令见 `prompts/main.md`。会话启动 hook 只负责提示依赖缺失,具体安装剧本由本 skill 承载。
|
|
15
|
+
|
|
16
|
+
## 触发条件
|
|
17
|
+
|
|
18
|
+
- 用户首次用 Claude Code 打开从 Lincoln template 创建的新仓库。
|
|
19
|
+
- `.claude/hooks/on-session-start.sh` 检测到 Lincoln setup 尚未完成。
|
|
20
|
+
- 用户复制 README 中的初始化提示词并发送给 Claude。
|
|
21
|
+
- 运行 `python scripts/lincoln-setup.py check` 发现缺失依赖。
|
|
22
|
+
|
|
23
|
+
## 职责
|
|
24
|
+
|
|
25
|
+
1. 检查 `.claude/skills/dependencies.yaml` 声明的依赖是否满足。
|
|
26
|
+
2. 安装缺失的外部 skills(`superpowers`、`gsd`)到 `~/.claude/skills/`,并确保 ref 正确。
|
|
27
|
+
3. 安装缺失的 CLI 工具(`openspec`、`gh`、`ffmpeg`、Whisper 实现)。
|
|
28
|
+
4. 安装 `oh-my-claudecode` 插件(可选但默认安装)。
|
|
29
|
+
5. 配置 `.github/openspec-config.yml` 的 `repository.owner` 和 `repository.name`。
|
|
30
|
+
6. 运行 `scripts/init-project.sh` 完成项目级初始化。
|
|
31
|
+
7. 安装任何全局工具或写入配置前,必须先向用户确认。
|
|
32
|
+
|
|
33
|
+
## 调用方式
|
|
34
|
+
|
|
35
|
+
优先使用 Skill 工具调用 `lc-setup`;如果环境不支持,可运行等效命令:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
python scripts/lincoln-setup.py bootstrap
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
常用子命令:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python scripts/lincoln-setup.py check # 仅检查
|
|
45
|
+
python scripts/lincoln-setup.py install-skills # 安装外部 skills
|
|
46
|
+
python scripts/lincoln-setup.py install-clis # 安装 CLI 工具
|
|
47
|
+
python scripts/lincoln-setup.py init-repo-config --owner <owner> --name <repo>
|
|
48
|
+
python scripts/lincoln-setup.py bootstrap # 完整流程
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 产物
|
|
52
|
+
|
|
53
|
+
- `~/.claude/skills/` 下的外部 skill 目录。
|
|
54
|
+
- 安装到 PATH 的 CLI 工具。
|
|
55
|
+
- 更新后的 `.github/openspec-config.yml`。
|
|
56
|
+
- 写入 `.context/lc-setup-state.yaml` 的 setup 完成状态。
|
|
57
|
+
- 初始化后的项目目录结构(products、oss、knowledge 等)。
|
|
58
|
+
|
|
59
|
+
## 约束
|
|
60
|
+
|
|
61
|
+
- 不得跳过用户确认擅自安装全局工具。
|
|
62
|
+
- 遇到不支持的平台或安装失败时,给出清晰的手动替代命令。
|
|
63
|
+
- 安装完成后汇报状态:依赖是否就绪、配置是否写入、下一步动作。
|
|
64
|
+
- 如果 `.context/lc-setup-state.yaml` 已标记完成且依赖检查通过,可跳过重复安装。
|
|
65
|
+
|
|
66
|
+
## Prompts
|
|
67
|
+
|
|
68
|
+
- `prompts/main.md` — 给 Claude 的详细安装执行指令。
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Lincoln 初始化安装执行指令
|
|
2
|
+
|
|
3
|
+
> 如果用户更喜欢终端 TUI 安装,也可以推荐 `npx lincoln-install` 作为自助式替代;它会调用同样的 `scripts/lincoln-setup.py` 后端,但提供交互式选择 harness 与安装范围的向导。
|
|
4
|
+
|
|
5
|
+
你是 Lincoln 的初始化助手。当前仓库可能尚未完成 Lincoln 环境配置,或者依赖清单已更新。请按以下步骤执行,并在每一步完成后向用户简要汇报。
|
|
6
|
+
|
|
7
|
+
## 1. 检查当前环境
|
|
8
|
+
|
|
9
|
+
运行:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
python scripts/lincoln-setup.py check
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- 列出所有缺失的 skills、CLI 工具、插件。
|
|
16
|
+
- 区分 required 与 optional/default_install。
|
|
17
|
+
- 如果检查通过且 `.context/lc-setup-state.yaml` 已标记完成,直接汇报“环境已就绪”,跳过剩余步骤。
|
|
18
|
+
|
|
19
|
+
## 2. 安装外部 skills
|
|
20
|
+
|
|
21
|
+
运行:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
python scripts/lincoln-setup.py install-skills
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- 默认会逐个询问用户确认。如果用户明确说“全部安装”,可追加 `--yes`。
|
|
28
|
+
- 该命令会:
|
|
29
|
+
- 将 `superpowers`(上游 obra/superpowers,main 分支)clone 到 `~/.claude/skills/superpowers`
|
|
30
|
+
- 将 `gsd`(上游 gsd-build/get-shit-done,main 分支)clone 到 `~/.claude/skills/gsd`
|
|
31
|
+
- 安装 `oh-my-claudecode` 插件(如声明为 default_install)
|
|
32
|
+
- 如果目标目录已存在且 ref 匹配,自动跳过;如果 ref 不匹配或工作区 dirty,先向用户说明再决定。
|
|
33
|
+
|
|
34
|
+
## 3. 安装 CLI 工具
|
|
35
|
+
|
|
36
|
+
运行:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
python scripts/lincoln-setup.py install-clis
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
- 默认逐个询问用户确认。
|
|
43
|
+
- **先问用户是否需要录音转写能力**;只有需要时才安装 ffmpeg 与 Whisper 实现。
|
|
44
|
+
- 需要处理的 CLI 包括:
|
|
45
|
+
- `openspec`:基于 Node.js,运行 `npm install -g @fission-ai/openspec`
|
|
46
|
+
- `gh`:macOS 用 `brew install gh`,Linux 用包管理器
|
|
47
|
+
- `ffmpeg`(可选,仅录音转写需要):macOS 用 `brew install ffmpeg`
|
|
48
|
+
- Whisper 实现(可选,仅录音转写需要):优先 `faster-whisper`;如果失败,提供 `openai-whisper` 或 OpenAI API key 选项
|
|
49
|
+
- 顺带询问用户是否需要 benchmark;需要时介绍 `scripts/lincoln_benchmark.py` 的用法。
|
|
50
|
+
- 安装失败后,给出对应平台的手动安装命令。
|
|
51
|
+
|
|
52
|
+
## 4. 配置仓库信息
|
|
53
|
+
|
|
54
|
+
运行:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python scripts/lincoln-setup.py init-repo-config --owner <owner> --name <repo>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
- 从 git remote origin 自动推断 owner/name;如果推断失败,询问用户。
|
|
61
|
+
- 如果 `.github/openspec-config.yml` 已经包含真实值,命令会跳过并提示。
|
|
62
|
+
|
|
63
|
+
## 5. 运行项目初始化
|
|
64
|
+
|
|
65
|
+
运行:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
bash scripts/init-project.sh
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- 这会创建 products、oss、knowledge 等目录结构。
|
|
72
|
+
- 如果还有未满足的依赖,`init-project.sh` 会警告但不会强制退出。
|
|
73
|
+
|
|
74
|
+
## 6. 汇报状态
|
|
75
|
+
|
|
76
|
+
完成所有步骤后,向用户汇报:
|
|
77
|
+
|
|
78
|
+
- ✅ 已安装的 skills 与 CLI 工具
|
|
79
|
+
- ✅ `.github/openspec-config.yml` 中的仓库信息
|
|
80
|
+
- ⚠️ 仍缺失或需要手动处理的项目
|
|
81
|
+
- 📋 下一步:创建 issue 工作包或开始第一个 Lincoln 工作流
|
|
82
|
+
|
|
83
|
+
## 重要约束
|
|
84
|
+
|
|
85
|
+
- 不要假设用户已经允许安装全局工具;每次安装前必须获得确认(除非用户主动说 `--yes`)。
|
|
86
|
+
- 不要修改 `{process_slug}/recordings/` 中的任何文件。
|
|
87
|
+
- 不要创建 GitHub Issues 或 PR,除非人类明确请求。
|
|
88
|
+
- 如果某一步失败,暂停并报告失败原因与修复建议,不要继续后续步骤。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lc-stage
|
|
3
|
+
description: 用自然语言驱动当前阶段的生命周期:查看状态、校验准入、提交产物、确认 gate、进入下一阶段
|
|
4
|
+
triggers:
|
|
5
|
+
- "lc-stage"
|
|
6
|
+
- "提交产物"
|
|
7
|
+
- "提交本阶段产物"
|
|
8
|
+
- "确认通过"
|
|
9
|
+
- "审批通过"
|
|
10
|
+
- "校验阶段"
|
|
11
|
+
- "进入下一阶段"
|
|
12
|
+
inputs:
|
|
13
|
+
- name: intent
|
|
14
|
+
description: 自然语言意图(如"提交产物""确认通过");可选,缺省时汇报当前状态并询问下一步
|
|
15
|
+
required: false
|
|
16
|
+
outputs:
|
|
17
|
+
- 对应 stage_loader.py 动作的执行结果与下一步建议
|
|
18
|
+
required_tools:
|
|
19
|
+
- Bash
|
|
20
|
+
- Read
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# lc-stage — 阶段生命周期自然语言入口
|
|
24
|
+
|
|
25
|
+
## Purpose
|
|
26
|
+
|
|
27
|
+
Using [lc-stage] to 用自然语言驱动当前阶段的生命周期:查看状态、校验准入、提交产物、确认 gate、进入下一阶段.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
用户不需要记任何终端命令。Agent 把自然语言意图翻译成 `scripts/stage_loader.py` 动作并代为执行:
|
|
31
|
+
|
|
32
|
+
| 用户说 | 动作 | 底层命令(Agent 执行,用户无需关心) |
|
|
33
|
+
|--------|------|-----------------------------------|
|
|
34
|
+
| "现在什么状态" | status | `python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/lincoln-status.py" --format markdown`(或 `/lc-status`) |
|
|
35
|
+
| "可以开始吗 / 校验准入" | validate-entry | `python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/stage_loader.py" --stage <current_stage> --action validate-entry`(或 `/lc-validate`) |
|
|
36
|
+
| "提交产物 / 记录产物" | record-artifacts | `python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/stage_loader.py" --stage <current_stage> --action record-artifacts`(或 `/lc-submit`) |
|
|
37
|
+
| "确认通过 / 审批通过" | approve-gate | 仅当人类 PM 明确确认后:`... --action approve-gate`(或 `/lc-approve`) |
|
|
38
|
+
| "生成交接 / 切换窗口" | handoff-report | 见 `/lc-handoff` |
|
|
39
|
+
| "进入下一阶段" | transition-next | 仅在当前阶段 gate 通过后执行 |
|
|
40
|
+
|
|
41
|
+
规则:
|
|
42
|
+
|
|
43
|
+
1. `<current_stage>` 由 Agent 从 `{process_slug}/workflow-stage.yaml`(team)或 `.context/workflow/<name>.yaml`(solo)的 `current_run.current_stage` 读取,不要让用户提供。
|
|
44
|
+
2. `human_gate: true` 的阶段,执行 `approve-gate` 前必须有人类 PM 的显式确认原话;Agent 不得自行审批,不得用本技能替代人类确认。
|
|
45
|
+
3. 执行后用一两句话向用户汇报结果与下一步,不要倾倒原始命令输出。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lc-stakeholder-research
|
|
3
|
+
description: 识别并研究产品相关者(用户、买单方、建设方、维护方),找到他们的发声渠道并分析其诉求。
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
triggers:
|
|
6
|
+
- "lc-stakeholder-research"
|
|
7
|
+
inputs:
|
|
8
|
+
- name: topic
|
|
9
|
+
description: 研究主题或产品决策背景
|
|
10
|
+
required: false
|
|
11
|
+
outputs:
|
|
12
|
+
- "{process_slug}/research/{session_id}/stakeholder-research.md"
|
|
13
|
+
required_tools:
|
|
14
|
+
- Bash
|
|
15
|
+
- Read
|
|
16
|
+
- Write
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# lc-stakeholder-research
|
|
20
|
+
|
|
21
|
+
## Purpose
|
|
22
|
+
|
|
23
|
+
Using [lc-stakeholder-research] to 识别并研究产品相关者(用户、买单方、建设方、维护方),找到他们的发声渠道并分析其诉求.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- `pm-research` workflow 的 `lc-stakeholder-research` 阶段。
|
|
28
|
+
- PM 需要 识别并研究产品相关者(用户、买单方、建设方、维护方),找到他们的发声渠道并分析其诉求。 时。
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
|
|
32
|
+
- `session_id`: 研究 session 标识
|
|
33
|
+
- 当前阶段之前的所有研究产物
|
|
34
|
+
|
|
35
|
+
## Outputs
|
|
36
|
+
|
|
37
|
+
- `{process_slug}/research/{session_id}/stakeholder-research.md`
|
|
38
|
+
|
|
39
|
+
## Rules
|
|
40
|
+
|
|
41
|
+
- 严格基于已有研究产物,避免引入未经验证的假设。
|
|
42
|
+
- 所有外部事实必须标注来源。
|
|
43
|
+
- human_gate 阶段必须获得人类 PM 显式确认。
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# lc-stakeholder-research prompt
|
|
2
|
+
|
|
3
|
+
You are executing the Lincoln workflow step `lc-stakeholder-research`: identify and analyze the stakeholders surrounding the product decision.
|
|
4
|
+
|
|
5
|
+
## Goal
|
|
6
|
+
|
|
7
|
+
Produce `{process_slug}/research/{session_id}/stakeholders.md` that maps who uses, pays for, builds, and maintains the product, where they speak, and what they need.
|
|
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
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
1. Read the scope and first-principles documents.
|
|
18
|
+
2. List stakeholder categories:
|
|
19
|
+
- End users (primary, secondary)
|
|
20
|
+
- Economic buyers / budget owners
|
|
21
|
+
- Builders / implementers
|
|
22
|
+
- Maintainers / operators
|
|
23
|
+
- Influencers / gatekeepers
|
|
24
|
+
3. For each stakeholder, identify:
|
|
25
|
+
- Goals and pains
|
|
26
|
+
- Where they publicly voice opinions (forums, Slack, X/Twitter, Reddit, GitHub, app stores, review sites, interviews)
|
|
27
|
+
- Evidence of their voice (quotes, metrics, behavioral signals)
|
|
28
|
+
4. Use WebSearch / WebFetch / GitHub MCP to collect representative quotes and data points.
|
|
29
|
+
5. Write `stakeholders.md` using the template below.
|
|
30
|
+
|
|
31
|
+
## Output template
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# Stakeholder Research: <Title>
|
|
35
|
+
|
|
36
|
+
## Stakeholder Map
|
|
37
|
+
|
|
38
|
+
| Role | Who | Goals | Pains | Voice Channels | Evidence |
|
|
39
|
+
|------|-----|-------|-------|----------------|----------|
|
|
40
|
+
| ... | ... | ... | ... | ... | ... |
|
|
41
|
+
|
|
42
|
+
## Key Quotes
|
|
43
|
+
|
|
44
|
+
> "..." — source, channel, date
|
|
45
|
+
|
|
46
|
+
## Insight Summary
|
|
47
|
+
|
|
48
|
+
- <stakeholder tension 1>
|
|
49
|
+
- <stakeholder tension 2>
|
|
50
|
+
|
|
51
|
+
## Implications for Research
|
|
52
|
+
|
|
53
|
+
- <what this means for the product decision>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Rules
|
|
57
|
+
|
|
58
|
+
- Every claim about a stakeholder must have a source.
|
|
59
|
+
- Distinguish observed behavior from inferred needs.
|
|
60
|
+
- Respect privacy: do not scrape private communities without authorization.
|
|
61
|
+
|
|
62
|
+
## Exit Criteria
|
|
63
|
+
|
|
64
|
+
- `stakeholders.md` covers all relevant stakeholder categories.
|
|
65
|
+
- Each category links to at least one voice channel and one piece of evidence.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lc-status
|
|
3
|
+
description: 查看当前 Lincoln 分支的阶段状态、等待对象、推荐技能和下一步动作
|
|
4
|
+
triggers:
|
|
5
|
+
- "查看 Lincoln 状态"
|
|
6
|
+
- "lc-status"
|
|
7
|
+
- "当前阶段"
|
|
8
|
+
inputs: []
|
|
9
|
+
outputs:
|
|
10
|
+
- 结构化状态报告
|
|
11
|
+
required_tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Bash
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# lc-status
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
Using [lc-status] to 查看当前 Lincoln 分支的阶段状态、等待对象、推荐技能和下一步动作.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
调用 `python scripts/lincoln-status.py --format markdown` 输出当前 Lincoln 分支状态。
|
|
24
|
+
|
|
25
|
+
输出包含:当前阶段、等待对象、已加载上下文、推荐技能、产物状态、下一步动作。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lc-storytelling
|
|
3
|
+
description: 基于金字塔原理与科学论述逻辑,将研究成果结构化为动人的、可说服决策者的故事。
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
triggers:
|
|
6
|
+
- "lc-storytelling"
|
|
7
|
+
inputs:
|
|
8
|
+
- name: topic
|
|
9
|
+
description: 研究主题或产品决策背景
|
|
10
|
+
required: false
|
|
11
|
+
outputs:
|
|
12
|
+
- "{process_slug}/research/{session_id}/narrative.md"
|
|
13
|
+
required_tools:
|
|
14
|
+
- Bash
|
|
15
|
+
- Read
|
|
16
|
+
- Write
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# lc-storytelling
|
|
20
|
+
|
|
21
|
+
## Purpose
|
|
22
|
+
|
|
23
|
+
Using [lc-storytelling] to 基于金字塔原理与科学论述逻辑,将研究成果结构化为动人的、可说服决策者的故事.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- `pm-research` workflow 的 `lc-storytelling` 阶段。
|
|
28
|
+
- PM 需要 基于金字塔原理与科学论述逻辑,将研究成果结构化为动人的、可说服决策者的故事。 时。
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
|
|
32
|
+
- `session_id`: 研究 session 标识
|
|
33
|
+
- 当前阶段之前的所有研究产物
|
|
34
|
+
|
|
35
|
+
## Outputs
|
|
36
|
+
|
|
37
|
+
- `{process_slug}/research/{session_id}/storytelling.md`
|
|
38
|
+
|
|
39
|
+
## Rules
|
|
40
|
+
|
|
41
|
+
- 严格基于已有研究产物,避免引入未经验证的假设。
|
|
42
|
+
- 所有外部事实必须标注来源。
|
|
43
|
+
- human_gate 阶段必须获得人类 PM 显式确认。
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# lc-storytelling prompt
|
|
2
|
+
|
|
3
|
+
You are executing the Lincoln workflow step `lc-storytelling`: structure the research findings into a compelling, evidence-based narrative.
|
|
4
|
+
|
|
5
|
+
## Goal
|
|
6
|
+
|
|
7
|
+
Produce `{process_slug}/research/{session_id}/narrative.md` that presents the research as a clear story using pyramid principle reasoning (thesis → sub-theses → evidence).
|
|
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}/analysis-frameworks.md`
|
|
15
|
+
- `{process_slug}/research/{session_id}/collected-intelligence.md`
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
1. Read all prior research artifacts.
|
|
20
|
+
2. Identify the single core thesis (the answer to the research question).
|
|
21
|
+
3. Derive 3-5 supporting sub-theses. Each sub-thesis must be backed by evidence.
|
|
22
|
+
4. For each sub-thesis, list 2-4 pieces of evidence (data, quotes, analysis).
|
|
23
|
+
5. Arrange the narrative using one of these structures:
|
|
24
|
+
- SCQA (Situation, Complication, Question, Answer)
|
|
25
|
+
- Thesis → Sub-thesis → Evidence
|
|
26
|
+
- Major premise → Minor premise → Conclusion
|
|
27
|
+
6. Add a story arc: setup → tension → turning point → resolution → call to action.
|
|
28
|
+
7. Write `narrative.md` using the template below.
|
|
29
|
+
8. Present the narrative to the PM for confirmation before writing the final report.
|
|
30
|
+
|
|
31
|
+
## Output template
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# Research Narrative: <Title>
|
|
35
|
+
|
|
36
|
+
## Core Thesis
|
|
37
|
+
|
|
38
|
+
<one-sentence conclusion>
|
|
39
|
+
|
|
40
|
+
## Story Arc
|
|
41
|
+
|
|
42
|
+
- **Setup:** ...
|
|
43
|
+
- **Tension:** ...
|
|
44
|
+
- **Turning point:** ...
|
|
45
|
+
- **Resolution:** ...
|
|
46
|
+
- **Call to action:** ...
|
|
47
|
+
|
|
48
|
+
## Supporting Sub-theses
|
|
49
|
+
|
|
50
|
+
### Sub-thesis 1: <statement>
|
|
51
|
+
- Evidence: ...
|
|
52
|
+
- Evidence: ...
|
|
53
|
+
|
|
54
|
+
### Sub-thesis 2: ...
|
|
55
|
+
|
|
56
|
+
## Logical Structure
|
|
57
|
+
|
|
58
|
+
- **Major premise:** ...
|
|
59
|
+
- **Minor premise:** ...
|
|
60
|
+
- **Conclusion:** ...
|
|
61
|
+
|
|
62
|
+
## PM Confirmation Questions
|
|
63
|
+
|
|
64
|
+
1. <Is this the right thesis?>
|
|
65
|
+
2. <Is the evidence sufficient?>
|
|
66
|
+
3. <What would make this story more convincing?>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Human Interaction Rules
|
|
70
|
+
|
|
71
|
+
- Present the narrative and ask for PM confirmation.
|
|
72
|
+
- Present the narrative for PM feedback; incorporate any revisions, then proceed to the final report.
|
|
73
|
+
- If the PM challenges a sub-thesis, return to the evidence and revise.
|
|
74
|
+
|
|
75
|
+
## Exit Criteria
|
|
76
|
+
|
|
77
|
+
- `narrative.md` has a reviewed core thesis and evidence-backed sub-theses (revisions incorporated if any).
|