cue-ai 0.9.2 → 0.9.4

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 (278) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/README.md +154 -394
  3. package/bin/cue-learnings +30 -4
  4. package/bin/cue-review-progress +0 -0
  5. package/bin/cue-review-watch +0 -0
  6. package/dist/cue.js +4328 -3108
  7. package/package.json +1 -1
  8. package/plugins/cue/commands/cue-switch.md +1 -1
  9. package/plugins/cue/commands/cue.md +1 -1
  10. package/profiles/backend/profile.yaml +4 -0
  11. package/profiles/browser/profile.yaml +4 -0
  12. package/profiles/career/profile.yaml +2 -13
  13. package/profiles/commerce/profile.yaml +0 -2
  14. package/profiles/coolify/profile.yaml +0 -1
  15. package/profiles/core/profile.yaml +78 -11
  16. package/profiles/dash-merge-test/profile.yaml +6 -1
  17. package/profiles/designer/profile.yaml +9 -1
  18. package/profiles/dropshipping/profile.yaml +69 -0
  19. package/profiles/frontend/profile.yaml +4 -0
  20. package/profiles/google-ads/profile.yaml +34 -0
  21. package/profiles/google-analytics/profile.yaml +34 -0
  22. package/profiles/google-drive/profile.yaml +34 -0
  23. package/profiles/gstack/profile.yaml +117 -29
  24. package/profiles/marketing/profile.yaml +0 -1
  25. package/profiles/media/README.md +70 -0
  26. package/profiles/media/profile.yaml +104 -0
  27. package/profiles/nano-banana/profile.yaml +52 -0
  28. package/profiles/ops/profile.yaml +1 -2
  29. package/profiles/secops/profile.yaml +3 -0
  30. package/profiles/skill-writer/profile.yaml +15 -0
  31. package/profiles/video/profile.yaml +3 -0
  32. package/profiles/web-frontend-base/profile.yaml +6 -0
  33. package/profiles/webshop/profile.yaml +0 -1
  34. package/profiles/webshop-google/profile.yaml +1 -0
  35. package/profiles/x-growth-bot/profile.yaml +2 -0
  36. package/resources/icons/generate-icons.py +2 -128
  37. package/resources/mcps/configs/claude.sanitized.json +88 -20
  38. package/resources/mcps/configs/claude_runtime.sanitized.json +40 -1
  39. package/resources/mcps/configs/codex.sanitized.json +29 -0
  40. package/resources/skills/skills/career/job-hunter/LICENSE +21 -0
  41. package/resources/skills/skills/career/job-hunter/README.md +323 -0
  42. package/resources/skills/skills/career/job-hunter/SKILL.md +91 -0
  43. package/resources/skills/skills/career/job-hunter/agents/README.md +96 -0
  44. package/resources/skills/skills/career/job-hunter/agents/apply-assessment-prep.md +195 -0
  45. package/resources/skills/skills/career/job-hunter/agents/apply-ats-scan.md +155 -0
  46. package/resources/skills/skills/career/job-hunter/agents/apply-bias-audit.md +224 -0
  47. package/resources/skills/skills/career/job-hunter/agents/apply-cover-letter.md +69 -0
  48. package/resources/skills/skills/career/job-hunter/agents/apply-decode-jd.md +117 -0
  49. package/resources/skills/skills/career/job-hunter/agents/apply-fit-score.md +183 -0
  50. package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-audit.md +74 -0
  51. package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-scrape.md +255 -0
  52. package/resources/skills/skills/career/job-hunter/agents/apply-portfolio-brief.md +123 -0
  53. package/resources/skills/skills/career/job-hunter/agents/apply-reality-check.md +164 -0
  54. package/resources/skills/skills/career/job-hunter/agents/apply-reference-prep.md +150 -0
  55. package/resources/skills/skills/career/job-hunter/agents/apply-rejection-analysis.md +172 -0
  56. package/resources/skills/skills/career/job-hunter/agents/apply-resume.md +70 -0
  57. package/resources/skills/skills/career/job-hunter/agents/apply-skills-gap-filler.md +109 -0
  58. package/resources/skills/skills/career/job-hunter/agents/career-internal.md +94 -0
  59. package/resources/skills/skills/career/job-hunter/agents/career-linkedin-content.md +173 -0
  60. package/resources/skills/skills/career/job-hunter/agents/career-linkedin-scanner.md +262 -0
  61. package/resources/skills/skills/career/job-hunter/agents/career-network-message.md +108 -0
  62. package/resources/skills/skills/career/job-hunter/agents/career-promote.md +102 -0
  63. package/resources/skills/skills/career/job-hunter/agents/career-review.md +71 -0
  64. package/resources/skills/skills/career/job-hunter/agents/interview-debrief.md +117 -0
  65. package/resources/skills/skills/career/job-hunter/agents/interview-mock.md +171 -0
  66. package/resources/skills/skills/career/job-hunter/agents/interview-panel-decoder.md +152 -0
  67. package/resources/skills/skills/career/job-hunter/agents/interview-prep.md +184 -0
  68. package/resources/skills/skills/career/job-hunter/agents/interview-question-bank.md +133 -0
  69. package/resources/skills/skills/career/job-hunter/agents/interview-research.md +148 -0
  70. package/resources/skills/skills/career/job-hunter/agents/offer-compare.md +117 -0
  71. package/resources/skills/skills/career/job-hunter/agents/offer-counteroffer.md +144 -0
  72. package/resources/skills/skills/career/job-hunter/agents/offer-deadline-manager.md +148 -0
  73. package/resources/skills/skills/career/job-hunter/agents/offer-negotiate.md +126 -0
  74. package/resources/skills/skills/career/job-hunter/agents/offer-schedule.md +99 -0
  75. package/resources/skills/skills/career/job-hunter/agents/offer-thankyou.md +80 -0
  76. package/resources/skills/skills/career/job-hunter/agents/search-company-research.md +146 -0
  77. package/resources/skills/skills/career/job-hunter/agents/search-follow-up.md +129 -0
  78. package/resources/skills/skills/career/job-hunter/agents/search-ghost-job-detector.md +152 -0
  79. package/resources/skills/skills/career/job-hunter/agents/search-inbox-scan.md +193 -0
  80. package/resources/skills/skills/career/job-hunter/agents/search-interview-scorecard.md +164 -0
  81. package/resources/skills/skills/career/job-hunter/agents/search-jobs.md +149 -0
  82. package/resources/skills/skills/career/job-hunter/agents/search-momentum-check.md +194 -0
  83. package/resources/skills/skills/career/job-hunter/agents/search-outreach.md +85 -0
  84. package/resources/skills/skills/career/job-hunter/agents/search-referral-finder.md +124 -0
  85. package/resources/skills/skills/career/job-hunter/agents/search-salary.md +96 -0
  86. package/resources/skills/skills/career/job-hunter/agents/search-send-email.md +109 -0
  87. package/resources/skills/skills/career/job-hunter/agents/search-tracker-update.md +127 -0
  88. package/resources/skills/skills/career/job-hunter/inputs/README.md +26 -0
  89. package/resources/skills/skills/career/job-hunter/inputs/apply-linkedin-url.txt +8 -0
  90. package/resources/skills/skills/career/job-hunter/inputs/interview-context.md +24 -0
  91. package/resources/skills/skills/career/job-hunter/inputs/job-description.md +20 -0
  92. package/resources/skills/skills/career/job-hunter/inputs/job-search-criteria.md +36 -0
  93. package/resources/skills/skills/career/job-hunter/inputs/my-linkedin.md +24 -0
  94. package/resources/skills/skills/career/job-hunter/inputs/my-resume.md +28 -0
  95. package/resources/skills/skills/career/job-hunter/inputs/search-outreach-target.md +24 -0
  96. package/resources/skills/skills/career/job-hunter/rules/README.md +37 -0
  97. package/resources/skills/skills/career/job-hunter/rules/writing-rules.md +81 -0
  98. package/resources/skills/skills/design/banana/SKILL.md +375 -0
  99. package/resources/skills/skills/design/banana/references/cost-tracking.md +47 -0
  100. package/resources/skills/skills/design/banana/references/gemini-models.md +236 -0
  101. package/resources/skills/skills/design/banana/references/mcp-tools.md +145 -0
  102. package/resources/skills/skills/design/banana/references/post-processing.md +192 -0
  103. package/resources/skills/skills/design/banana/references/presets.md +69 -0
  104. package/resources/skills/skills/design/banana/references/prompt-engineering.md +481 -0
  105. package/resources/skills/skills/design/banana/scripts/batch.py +97 -0
  106. package/resources/skills/skills/design/banana/scripts/cost_tracker.py +191 -0
  107. package/resources/skills/skills/design/banana/scripts/edit.py +159 -0
  108. package/resources/skills/skills/design/banana/scripts/generate.py +168 -0
  109. package/resources/skills/skills/design/banana/scripts/presets.py +154 -0
  110. package/resources/skills/skills/design/banana/scripts/setup_mcp.py +151 -0
  111. package/resources/skills/skills/design/banana/scripts/validate_setup.py +133 -0
  112. package/resources/skills/skills/gstack/ship/SKILL.md +13 -0
  113. package/resources/skills/skills/media/3d-logo-animation/SKILL.md +59 -0
  114. package/resources/skills/skills/media/action-figure-generator/SKILL.md +48 -0
  115. package/resources/skills/skills/media/ad-creative/SKILL.md +79 -0
  116. package/resources/skills/skills/media/ai-clipping/SKILL.md +194 -0
  117. package/resources/skills/skills/media/ai-clipping/scripts/run-ai-clipping.sh +200 -0
  118. package/resources/skills/skills/media/ai-fight-scene/SKILL.md +132 -0
  119. package/resources/skills/skills/media/amazon-product-listing/SKILL.md +68 -0
  120. package/resources/skills/skills/media/animal-video-generator/SKILL.md +59 -0
  121. package/resources/skills/skills/media/award-ceremony-video/SKILL.md +87 -0
  122. package/resources/skills/skills/media/blog-header/SKILL.md +61 -0
  123. package/resources/skills/skills/media/brand-kit/SKILL.md +72 -0
  124. package/resources/skills/skills/media/brochures/SKILL.md +65 -0
  125. package/resources/skills/skills/media/cartoon-dance-animation/SKILL.md +62 -0
  126. package/resources/skills/skills/media/character-story-video/SKILL.md +84 -0
  127. package/resources/skills/skills/media/chibi-collage-effect/SKILL.md +63 -0
  128. package/resources/skills/skills/media/cinema-director/SKILL.md +93 -0
  129. package/resources/skills/skills/media/cinema-director/scripts/generate-film.sh +78 -0
  130. package/resources/skills/skills/media/color-analysis-board/SKILL.md +71 -0
  131. package/resources/skills/skills/media/core-edit/SKILL.md +48 -0
  132. package/resources/skills/skills/media/core-edit/edit-image.sh +54 -0
  133. package/resources/skills/skills/media/core-edit/enhance-image.sh +191 -0
  134. package/resources/skills/skills/media/core-edit/lipsync.sh +144 -0
  135. package/resources/skills/skills/media/core-edit/video-effects.sh +193 -0
  136. package/resources/skills/skills/media/core-media/SKILL.md +49 -0
  137. package/resources/skills/skills/media/core-media/create-music.sh +169 -0
  138. package/resources/skills/skills/media/core-media/generate-image.sh +161 -0
  139. package/resources/skills/skills/media/core-media/generate-video.sh +137 -0
  140. package/resources/skills/skills/media/core-media/image-to-video.sh +228 -0
  141. package/resources/skills/skills/media/core-media/schema_data.json +18708 -0
  142. package/resources/skills/skills/media/core-media/upload.sh +41 -0
  143. package/resources/skills/skills/media/core-platform/SKILL.md +41 -0
  144. package/resources/skills/skills/media/core-platform/check-result.sh +37 -0
  145. package/resources/skills/skills/media/core-platform/setup.sh +31 -0
  146. package/resources/skills/skills/media/couple-grid-creator/SKILL.md +47 -0
  147. package/resources/skills/skills/media/design-guide/SKILL.md +73 -0
  148. package/resources/skills/skills/media/drone-style-video/SKILL.md +61 -0
  149. package/resources/skills/skills/media/fashion-try-on/SKILL.md +61 -0
  150. package/resources/skills/skills/media/floor-plan-rendering/SKILL.md +56 -0
  151. package/resources/skills/skills/media/freeze-effect-video/SKILL.md +100 -0
  152. package/resources/skills/skills/media/giant-product-showcase/SKILL.md +61 -0
  153. package/resources/skills/skills/media/instagram-post/SKILL.md +58 -0
  154. package/resources/skills/skills/media/interior-design/SKILL.md +61 -0
  155. package/resources/skills/skills/media/interior-design-visualizer/SKILL.md +57 -0
  156. package/resources/skills/skills/media/jewelry-product-video/SKILL.md +61 -0
  157. package/resources/skills/skills/media/kdenlive/SKILL.md +106 -0
  158. package/resources/skills/skills/media/kdenlive/scripts/assemble.sh +57 -0
  159. package/resources/skills/skills/media/kdenlive/scripts/common.sh +30 -0
  160. package/resources/skills/skills/media/kdenlive/scripts/inspect.sh +19 -0
  161. package/resources/skills/skills/media/kdenlive/scripts/reframe.sh +22 -0
  162. package/resources/skills/skills/media/kdenlive/scripts/render.sh +16 -0
  163. package/resources/skills/skills/media/kdenlive/scripts/title-card.sh +25 -0
  164. package/resources/skills/skills/media/keyboard-art-maker/SKILL.md +44 -0
  165. package/resources/skills/skills/media/logo-branding/SKILL.md +70 -0
  166. package/resources/skills/skills/media/logo-creator/SKILL.md +80 -0
  167. package/resources/skills/skills/media/logo-creator/scripts/create-logo.sh +38 -0
  168. package/resources/skills/skills/media/logo-generator/SKILL.md +56 -0
  169. package/resources/skills/skills/media/multi-angle-reshoot/SKILL.md +70 -0
  170. package/resources/skills/skills/media/multi-angle-shots/SKILL.md +73 -0
  171. package/resources/skills/skills/media/music-video/SKILL.md +61 -0
  172. package/resources/skills/skills/media/nano-banana/SKILL.md +80 -0
  173. package/resources/skills/skills/media/nano-banana/scripts/generate-nano-art.sh +54 -0
  174. package/resources/skills/skills/media/one-shot-video/SKILL.md +56 -0
  175. package/resources/skills/skills/media/photo-pack-generator/SKILL.md +205 -0
  176. package/resources/skills/skills/media/photo-pack-generator/scripts/generate-pack.sh +241 -0
  177. package/resources/skills/skills/media/product-ad-cinematic/SKILL.md +78 -0
  178. package/resources/skills/skills/media/product-campaign/SKILL.md +76 -0
  179. package/resources/skills/skills/media/product-showcase-video/SKILL.md +60 -0
  180. package/resources/skills/skills/media/product-video-ad-maker/SKILL.md +59 -0
  181. package/resources/skills/skills/media/rednote-cover/SKILL.md +57 -0
  182. package/resources/skills/skills/media/seedance-2/SKILL.md +632 -0
  183. package/resources/skills/skills/media/seedance-2/scripts/generate-seedance.sh +701 -0
  184. package/resources/skills/skills/media/selfie-with-celebrities/SKILL.md +64 -0
  185. package/resources/skills/skills/media/social-media-video/SKILL.md +277 -0
  186. package/resources/skills/skills/media/social-media-video/scripts/run-social-video.sh +316 -0
  187. package/resources/skills/skills/media/social-pack/SKILL.md +58 -0
  188. package/resources/skills/skills/media/storyboard/SKILL.md +57 -0
  189. package/resources/skills/skills/media/storyboard-to-cooking-video/SKILL.md +143 -0
  190. package/resources/skills/skills/media/talking-baby-video/SKILL.md +57 -0
  191. package/resources/skills/skills/media/ugc-ads-workflow/SKILL.md +70 -0
  192. package/resources/skills/skills/media/ugc-lifestyle-try-on/SKILL.md +65 -0
  193. package/resources/skills/skills/media/ugc-video-factory/SKILL.md +134 -0
  194. package/resources/skills/skills/media/ui-design/SKILL.md +81 -0
  195. package/resources/skills/skills/media/ui-design/scripts/generate-mockup.sh +49 -0
  196. package/resources/skills/skills/media/url-to-design/SKILL.md +61 -0
  197. package/resources/skills/skills/media/workflow/SKILL.md +197 -0
  198. package/resources/skills/skills/media/workflow/scripts/discover-workflow.sh +18 -0
  199. package/resources/skills/skills/media/workflow/scripts/generate-workflow.sh +33 -0
  200. package/resources/skills/skills/media/workflow/scripts/interactive-run.sh +16 -0
  201. package/resources/skills/skills/media/workflow/scripts/list-workflows.sh +20 -0
  202. package/resources/skills/skills/media/workflow/scripts/run-workflow.sh +34 -0
  203. package/resources/skills/skills/media/youtube-shorts/SKILL.md +173 -0
  204. package/resources/skills/skills/media/youtube-shorts/scripts/run-youtube-shorts.sh +141 -0
  205. package/resources/skills/skills/media/youtube-thumbnail/SKILL.md +66 -0
  206. package/resources/skills/skills/meta/cue-developer/references/architecture.md +2 -2
  207. package/resources/skills/skills/meta/cue-usage/SKILL.md +1 -1
  208. package/resources/skills/skills/meta/profile-fit-monitor/SKILL.md +2 -2
  209. package/resources/skills/skills/meta/profile-optimizer/SKILL.md +1 -1
  210. package/resources/skills/skills/meta/profile-suggest/SKILL.md +7 -7
  211. package/resources/skills/skills/meta/profile-summon/SKILL.md +159 -0
  212. package/resources/skills/skills/meta/profile-summon/evals/evals.json +53 -0
  213. package/resources/skills/skills/meta/save-profile/SKILL.md +1 -1
  214. package/resources/skills/skills/meta/skill-reviewer/SKILL.md +3 -0
  215. package/resources/skills/skills/meta/skill-reviewer/references/tdd-for-skills.md +55 -0
  216. package/resources/skills/skills/research/find-skills/SKILL.md +1 -1
  217. package/resources/skills/skills/review/code-review-deep/SKILL.md +20 -0
  218. package/resources/skills/skills/security/trivy-scan/SKILL.md +139 -0
  219. package/resources/skills/skills/security/trivy-scan/scripts/ensure-trivy.sh +21 -0
  220. package/resources/skills/skills/tools/ccusage/SKILL.md +142 -0
  221. package/src/commands/_index.ts +8 -0
  222. package/src/commands/ai.ts +2 -2
  223. package/src/commands/auto-detect.test.ts +74 -0
  224. package/src/commands/auto-detect.ts +9 -7
  225. package/src/commands/cli.test.ts +20 -4
  226. package/src/commands/cli.ts +36 -20
  227. package/src/commands/create-profile.ts +2 -2
  228. package/src/commands/debug.ts +2 -2
  229. package/src/commands/discover.ts +14 -4
  230. package/src/commands/export-docker.ts +1 -1
  231. package/src/commands/features-batch1.test.ts +1 -1
  232. package/src/commands/gates.ts +1 -1
  233. package/src/commands/import-profile.ts +1 -1
  234. package/src/commands/init.ts +15 -11
  235. package/src/commands/install.test.ts +192 -0
  236. package/src/commands/install.ts +610 -0
  237. package/src/commands/launch-handoff.e2e.test.ts +33 -1
  238. package/src/commands/launch.e2e.test.ts +15 -10
  239. package/src/commands/launch.ts +73 -116
  240. package/src/commands/materialize.ts +2 -2
  241. package/src/commands/prune.ts +1 -1
  242. package/src/commands/security-audit.ts +1 -1
  243. package/src/commands/shell.ts +7 -7
  244. package/src/commands/skill-report.ts +1 -1
  245. package/src/commands/skills.ts +3 -3
  246. package/src/commands/snapshot.ts +2 -2
  247. package/src/commands/summon.test.ts +116 -0
  248. package/src/commands/summon.ts +338 -0
  249. package/src/commands/trigger-gaps.ts +1 -1
  250. package/src/commands/use.ts +47 -3
  251. package/src/commands/watch-live.ts +5 -5
  252. package/src/commands/watch.ts +8 -8
  253. package/src/index.ts +2 -0
  254. package/src/lib/active-sessions.test.ts +3 -3
  255. package/src/lib/active-sessions.ts +4 -4
  256. package/src/lib/auto-detect.test.ts +172 -8
  257. package/src/lib/auto-detect.ts +191 -136
  258. package/src/lib/codex-persona-parity.test.ts +58 -0
  259. package/src/lib/companion-detect.test.ts +43 -1
  260. package/src/lib/companion-detect.ts +35 -0
  261. package/src/lib/credentials-sync.test.ts +121 -1
  262. package/src/lib/credentials-sync.ts +95 -1
  263. package/src/lib/cwd-resolver.test.ts +8 -8
  264. package/src/lib/cwd-resolver.ts +2 -2
  265. package/src/lib/dashboard-merge.test.ts +9 -4
  266. package/src/lib/dashboard-server.ts +1 -1
  267. package/src/lib/picker.test.ts +1 -1
  268. package/src/lib/picker.ts +5 -5
  269. package/src/lib/profile-merge.test.ts +8 -0
  270. package/src/lib/profile-names.test.ts +3 -3
  271. package/src/lib/runtime-install.ts +166 -0
  272. package/src/lib/runtime-materializer.test.ts +137 -0
  273. package/src/lib/runtime-materializer.ts +105 -2
  274. package/src/lib/skill-router.test.ts +38 -0
  275. package/src/lib/skill-router.ts +65 -4
  276. package/profiles/eu-tender-research/README.md +0 -48
  277. package/profiles/eu-tender-research/logo.png +0 -0
  278. package/profiles/eu-tender-research/profile.yaml +0 -108
@@ -0,0 +1,117 @@
1
+ # Job Description Decoder
2
+
3
+ ## What This Does
4
+
5
+ Reads between the lines of a job description. What are they really asking for?
6
+ What do the red flags mean? What does this role actually pay? What kind of
7
+ manager posts like this?
8
+
9
+ Most job seekers read a JD at face value. This reads it the way a recruiter
10
+ or insider would.
11
+
12
+ ## Instructions for Claude Code
13
+
14
+ ### Step 1 — Load inputs
15
+
16
+ Read `inputs/job-description.md`.
17
+ Read `inputs/my-resume.md` for context on fit assessment.
18
+
19
+ ### Step 2 — Decode the JD
20
+
21
+ Produce the following sections:
22
+
23
+ ---
24
+
25
+ ### WHAT THEY'RE ACTUALLY LOOKING FOR
26
+
27
+ Strip away the corporate language and say what this role really needs.
28
+ Not "5+ years of experience in enterprise sales" — but "they had someone
29
+ leave who owned a specific segment and they need someone who can hit the ground
30
+ running without hand-holding."
31
+
32
+ 2-4 sentences of plain-language translation.
33
+
34
+ ---
35
+
36
+ ### RED FLAGS
37
+
38
+ Flag any of the following language patterns if present, and explain what they
39
+ usually mean in practice:
40
+
41
+ - "Fast-paced environment" — often means disorganized or understaffed
42
+ - "Wear many hats" — often means no clear role definition and scope creep
43
+ - "Self-starter" / "entrepreneurial" — often means minimal support or training
44
+ - "Competitive salary" without a number — often means below market
45
+ - "Must be comfortable with ambiguity" — often means leadership doesn't have a plan
46
+ - "Rock star" / "ninja" / "guru" — often signals culture problems
47
+ - "Like a family here" — often means poor boundaries and unpaid overtime expectations
48
+ - "Unlimited PTO" — often means pressure not to take it
49
+ - "Results-oriented" without defining results — often means undefined success metrics
50
+ - Long list of requirements for a mid-level role — often means they've burned through people
51
+ - Requirements that span 3 different job families — often means they want one person to do three jobs
52
+
53
+ For each red flag found: quote the exact phrase, explain what it usually signals,
54
+ and rate the concern: Minor / Worth asking about / Significant.
55
+
56
+ ---
57
+
58
+ ### WHAT THIS ROLE ACTUALLY PAYS
59
+
60
+ Based on:
61
+ - The role title and seniority level
62
+ - The company size and industry (infer from JD if not stated)
63
+ - The location
64
+ - Whether a range is posted (if yes, note that posted minimums are often negotiable up 10-20%)
65
+
66
+ Produce:
67
+ - Likely base range
68
+ - Likely OTE range (if sales/commission role)
69
+ - What the posting language signals about comp philosophy
70
+ (e.g. "competitive compensation" with no number = likely underpaying vs market)
71
+
72
+ ---
73
+
74
+ ### WHAT KIND OF MANAGER POSTED THIS
75
+
76
+ Based on the language, structure, and emphasis of the JD, characterize the
77
+ likely manager or culture:
78
+
79
+ - Heavy on requirements, light on what you'll get = transactional culture
80
+ - Detailed about growth and learning = likely invests in people
81
+ - Lots of buzzwords = likely leadership-by-trend
82
+ - Clear metrics and outcomes = likely data-driven, good or bad
83
+ - Vague about success metrics = likely unclear expectations
84
+
85
+ Be direct. This section should help the candidate decide whether to invest
86
+ time applying.
87
+
88
+ ---
89
+
90
+ ### FIT ASSESSMENT
91
+
92
+ Based on the resume:
93
+ - Where this candidate is strong for this role (specific)
94
+ - Where they have gaps (specific)
95
+ - The one thing they need to nail in the screening call to get past the JD concerns
96
+
97
+ ---
98
+
99
+ ### QUESTIONS TO ASK IN THE INTERVIEW
100
+
101
+ 5 questions this JD specifically warrants asking — to validate or disprove
102
+ the red flags and get the real story on the role.
103
+
104
+ ---
105
+
106
+ ### Save output
107
+
108
+ Write to `outputs/jd-decoded.md`.
109
+
110
+ ---
111
+
112
+ ## ✅ What to do next
113
+
114
+ ```
115
+ npm run ats ← check your resume against the ATS before tailoring
116
+ npm run resume ← tailor resume to this specific role
117
+ ```
@@ -0,0 +1,183 @@
1
+ # Job Fit Scorer
2
+
3
+ ## What This Does
4
+
5
+ Scores how competitive you actually are for a specific role before you apply.
6
+ Not the ATS match score — that's software. This is the human judgment score.
7
+
8
+ The ATS scanner tells you if software will filter you out.
9
+ This tells you if a hiring manager will care.
10
+
11
+ Paste your resume and a job description. Get a 1-10 fit score, an honest
12
+ breakdown of where you're strong and where you're not, a clear Apply /
13
+ Don't Apply / Apply With Caveats recommendation, and exactly what to address
14
+ in the cover letter and interviews if you do apply.
15
+
16
+ ## Instructions for Claude Code
17
+
18
+ ### Step 1 — Load inputs
19
+
20
+ Read `inputs/my-resume.md`.
21
+ Read `inputs/job-description.md`.
22
+ Read `rules/writing-rules.md`.
23
+
24
+ If `outputs/reality-check.md` exists, read it — use the market positioning
25
+ already established there to inform this assessment.
26
+
27
+ ### Step 2 — Analyze fit across five dimensions
28
+
29
+ Score each dimension 1-10 and explain the score specifically.
30
+
31
+ **Dimension 1 — Experience Match**
32
+ Does the candidate have relevant experience doing the same or similar work?
33
+ - 9-10: Almost identical role at a comparable company
34
+ - 7-8: Closely related role, similar scope
35
+ - 5-6: Adjacent experience, some overlap
36
+ - 3-4: Thin overlap, significant stretch
37
+ - 1-2: Little to no relevant experience
38
+
39
+ **Dimension 2 — Level Match**
40
+ Is the candidate at the right seniority level for this role?
41
+ - Over-qualified, Under-qualified, or Right-qualified?
42
+ - Over-qualified is not automatically good — companies often reject people
43
+ they think will leave once something better comes along
44
+
45
+ **Dimension 3 — Industry / Domain Match**
46
+ Does their background map to the industry, buyer type, or domain?
47
+ - Selling healthcare software to hospital CFOs vs. selling retail POS to SMBs
48
+ are different skills even if both are "sales"
49
+ - Be specific about the mismatch or match
50
+
51
+ **Dimension 4 — Track Record Match**
52
+ Does their quantified performance align with what this role expects?
53
+ - If the JD implies $2M quota and their biggest was $500K — flag it
54
+ - If the JD wants enterprise and they've done SMB — flag it
55
+ - If their numbers are strong and directly relevant — note it
56
+
57
+ **Dimension 5 — Culture / Company Stage Match**
58
+ Does their background suggest they'd thrive in this environment?
59
+ - Startup vs. enterprise
60
+ - High-growth vs. stable
61
+ - Founder-led vs. professionally managed
62
+ - Infer from JD language and company signals
63
+
64
+ ### Step 3 — Fit Score Report
65
+
66
+ Write the report in this exact structure:
67
+
68
+ ---
69
+
70
+ ```
71
+ JOB FIT SCORE
72
+ Role: [title] at [company]
73
+ ─────────────────────────────────────────────────────
74
+ ```
75
+
76
+ **OVERALL FIT: [X]/10**
77
+
78
+ **RECOMMENDATION: APPLY / DON'T APPLY / APPLY WITH CAVEATS**
79
+
80
+ One sentence explaining the recommendation. Direct.
81
+
82
+ ---
83
+
84
+ **SCORECARD**
85
+
86
+ | Dimension | Score | Summary |
87
+ |---|---|---|
88
+ | Experience Match | X/10 | one line |
89
+ | Level Match | X/10 | one line |
90
+ | Industry / Domain | X/10 | one line |
91
+ | Track Record | X/10 | one line |
92
+ | Culture / Stage | X/10 | one line |
93
+
94
+ ---
95
+
96
+ **WHERE YOU'RE STRONG FOR THIS ROLE**
97
+
98
+ 2-4 specific things from the resume that directly match what this role needs.
99
+ These are your selling points — use them in the cover letter and interviews.
100
+
101
+ ---
102
+
103
+ **WHERE YOU'RE WEAK FOR THIS ROLE**
104
+
105
+ 2-4 specific gaps between what the JD requires and what the resume shows.
106
+ Be precise — not "limited experience" but "JD requires enterprise deals over $500K,
107
+ resume shows largest deal was $180K at mid-market."
108
+
109
+ ---
110
+
111
+ **IF YOU APPLY: HOW TO FRAME IT**
112
+
113
+ If the recommendation is Apply or Apply With Caveats:
114
+
115
+ - The angle — the single most compelling reason to hire this person despite the gaps
116
+ - What to emphasize in the cover letter (2-3 specific points)
117
+ - What to prepare to address in the screening call (the objections they'll raise)
118
+ - What NOT to bring up or volunteer
119
+
120
+ ---
121
+
122
+ **IF YOU DON'T APPLY: WHY NOT AND WHAT INSTEAD**
123
+
124
+ If the recommendation is Don't Apply:
125
+
126
+ - The specific reason this application will likely fail
127
+ - What this role would actually require (honest gap assessment)
128
+ - 2-3 alternative role types that would be a better use of this application effort
129
+ - What would need to change to make this role viable in 12-18 months
130
+
131
+ ---
132
+
133
+ ### Step 4 — Save output
134
+
135
+ Write to `outputs/fit-score.md`.
136
+
137
+ Tell the user:
138
+ > Fit score complete: [X]/10 — [APPLY/DON'T APPLY/APPLY WITH CAVEATS]
139
+ > Saved to outputs/fit-score.md
140
+
141
+ If the score is 7 or above, continue automatically:
142
+ > Score is [X]/10 — running ATS scan next.
143
+ Then execute `agents/apply-ats-scan.md` against the same resume and JD.
144
+
145
+ ### Step 5 — Pipeline continuation
146
+
147
+ If APPLY or APPLY WITH CAVEATS and score >= 7:
148
+ Tell the user the recommended next sequence:
149
+ ```
150
+ npm run ats ← check ATS issues
151
+ npm run resume ← tailor resume
152
+ npm run cover-letter ← write cover letter
153
+ ```
154
+
155
+ If DON'T APPLY or score < 5:
156
+ Tell the user:
157
+ ```
158
+ npm run reality-check ← get a broader picture of where you're competitive
159
+ npm run jobs ← find roles that fit your actual profile
160
+ ```
161
+
162
+ ## ✅ What to do next
163
+
164
+ **Score 7-10 / Apply:**
165
+ ```
166
+ npm run ats ← fix ATS issues before submitting
167
+ npm run resume ← tailor resume to this specific role
168
+ npm run cover-letter ← write the cover letter
169
+ ```
170
+
171
+ **Score below 7 / Don't Apply:**
172
+ ```
173
+ npm run reality-check ← understand your actual market before applying anywhere
174
+ npm run jobs ← find roles you're genuinely competitive for
175
+ ```
176
+
177
+ ## Tone
178
+
179
+ Honest. A 4/10 is a 4/10. Don't soften it to a 6 to spare feelings.
180
+ A candidate who applies to a 4/10 role wastes time they could spend on a 8/10.
181
+ The most useful thing this tool can do is tell someone not to apply.
182
+
183
+ Apply all rules from `rules/writing-rules.md` to all written content.
@@ -0,0 +1,74 @@
1
+ # LinkedIn Profile Analyzer
2
+
3
+ ## Instructions for Claude Code
4
+
5
+ You are a senior B2B sales recruiter and LinkedIn optimization specialist. Your job is to give an honest, direct audit of a LinkedIn profile — the kind of feedback a good headhunter gives behind closed doors, not the polished version they say to your face.
6
+
7
+ ## Step 1 — Load inputs
8
+
9
+ Read `inputs/my-linkedin.md`. This contains the user's LinkedIn profile.
10
+ Read `inputs/job-description.md`. This contains their target role.
11
+ Read `rules/writing-rules.md`. These rules govern all rewritten content you produce.
12
+
13
+ ## Step 2 — Analyze each section
14
+
15
+ Audit the following sections in order. For each section give:
16
+ - A rating: Strong / Needs Work / Critical Fix
17
+ - 2-3 sentences of specific feedback
18
+ - A rewritten version (if Needs Work or Critical Fix)
19
+
20
+ ### Headline
21
+ - Is it buyer-facing or resume-facing? Buyers skim headlines — they need to know immediately what problem you solve, not your job title.
22
+ - Does it contain keywords a recruiter searching for this role would use?
23
+ - Is it specific enough to be memorable?
24
+
25
+ ### About Section
26
+ - Does it open strong? The first two lines appear before "see more" — they must hook.
27
+ - Is it written in first person and does it sound like a human?
28
+ - Does it tell a coherent story about why this person, this role?
29
+ - Does it contain numbers or specifics, or only vague claims?
30
+
31
+ ### Experience Section (most recent 2-3 roles)
32
+ - Do the bullets lead with action verbs?
33
+ - Do the bullets contain measurable results?
34
+ - Are the bullets written in the language of the target role (from job-description.md)?
35
+ - Any "responsible for" or filler phrases? Flag and rewrite them.
36
+
37
+ ### Skills Section
38
+ - Are the top 3 pinned skills relevant to the target role?
39
+ - Any obvious missing skills from the job description?
40
+
41
+ ### Profile Completeness
42
+ - Custom URL set?
43
+ - Featured section populated?
44
+ - Recommendations present?
45
+
46
+ ## Step 3 — Keyword gap analysis
47
+
48
+ Compare the job description to the profile. List:
49
+ - Keywords in the JD that appear nowhere in the profile (add these)
50
+ - Keywords in the profile that are irrelevant to the target role (consider removing)
51
+
52
+ ## Step 4 — Priority action list
53
+
54
+ Output a numbered list of the top 5 changes to make, ordered by impact. Be direct. "Rewrite your headline" is more useful than "consider updating your headline."
55
+
56
+ ## Step 5 — Save output
57
+
58
+ Write the full audit to `outputs/linkedin-audit.md`.
59
+
60
+ ## Tone
61
+
62
+ Direct. Honest. Useful. Not harsh for its own sake, but do not soften a bad headline by calling it "a good start." If something is weak, say it is weak and fix it. The user needs accurate feedback, not encouragement.
63
+
64
+ Apply all rules from `rules/writing-rules.md` to any rewritten content you produce.
65
+
66
+ ---
67
+
68
+ ## ✅ What to do next
69
+
70
+ Make the CRITICAL fixes on LinkedIn first. Then:
71
+ ```
72
+ npm run resume ← tailor your resume to the role you're targeting
73
+ npm run decode ← understand the JD before applying
74
+ ```
@@ -0,0 +1,255 @@
1
+ # LinkedIn MCP Scraper — Setup & Auto-Audit
2
+
3
+ ## What This Does
4
+
5
+ Installs and configures `linkedin-mcp-server`, scrapes your LinkedIn profile by URL,
6
+ formats it into Job Hunter's standard input format, then runs the LinkedIn audit
7
+ automatically — no copy-paste required.
8
+
9
+ **This is the advanced path.** If you just want to paste your profile text, use
10
+ `npm run linkedin` instead.
11
+
12
+ ---
13
+
14
+ ## Prerequisites Check
15
+
16
+ Before doing anything else, verify the following are installed:
17
+
18
+ ```bash
19
+ python3 --version # needs 3.8+
20
+ uv --version # needs uv package manager
21
+ google-chrome --version || chromium-browser --version # needs Chrome or Chromium
22
+ ```
23
+
24
+ If `uv` is missing, install it:
25
+ ```bash
26
+ curl -LsSf https://astral.sh/uv/install.sh | sh
27
+ ```
28
+
29
+ If Chrome is missing, download from https://www.google.com/chrome/
30
+
31
+ ---
32
+
33
+ ## Instructions for Claude Code
34
+
35
+ You are setting up the LinkedIn MCP scraper and running a full profile audit.
36
+ Follow each step in order. If any step fails, report the exact error before stopping.
37
+
38
+ ### Step 1 — Check prerequisites
39
+
40
+ Run the following and report results:
41
+
42
+ ```bash
43
+ python3 --version
44
+ uv --version
45
+ which google-chrome || which chromium-browser || which chromium
46
+ ```
47
+
48
+ If `uv` is not found, run:
49
+ ```bash
50
+ curl -LsSf https://astral.sh/uv/install.sh | sh
51
+ source $HOME/.cargo/env 2>/dev/null || source $HOME/.local/bin/env 2>/dev/null || true
52
+ ```
53
+
54
+ If Chrome/Chromium is not found, stop and tell the user to install Chrome from
55
+ https://www.google.com/chrome/ before continuing.
56
+
57
+ ### Step 2 — First-time login (only needed once)
58
+
59
+ Check if a LinkedIn session already exists:
60
+
61
+ ```bash
62
+ ls ~/.linkedin-mcp/profile/Default/Cookies 2>/dev/null && echo "SESSION EXISTS" || echo "NO SESSION"
63
+ ```
64
+
65
+ If NO SESSION, run the login command to open a browser window:
66
+
67
+ ```bash
68
+ uvx linkedin-scraper-mcp@latest --login
69
+ ```
70
+
71
+ Tell the user:
72
+ > A Chrome window has opened. Log into LinkedIn normally — use your regular
73
+ > username and password. Once you're logged in and can see your LinkedIn feed,
74
+ > come back here and press Enter to continue.
75
+
76
+ Wait for the user to confirm they've logged in before proceeding.
77
+
78
+ If SESSION EXISTS, skip this step and tell the user their session is already saved.
79
+
80
+ ### Step 3 — Read the LinkedIn URL
81
+
82
+ Read the file `inputs/apply-linkedin-url.txt`. This should contain a single LinkedIn
83
+ profile URL, e.g. `https://www.linkedin.com/in/yourname/`
84
+
85
+ If the file is empty or missing, stop and tell the user:
86
+ > Please create the file `inputs/apply-linkedin-url.txt` and paste your LinkedIn
87
+ > profile URL into it (just the URL, nothing else), then run this agent again.
88
+
89
+ ### Step 4 — Start the MCP server
90
+
91
+ Start the LinkedIn MCP server in the background:
92
+
93
+ ```bash
94
+ uvx linkedin-scraper-mcp@latest --transport streamable-http \
95
+ --host 127.0.0.1 --port 8765 --path /mcp \
96
+ --user-data-dir ~/.linkedin-mcp/profile \
97
+ --headless true \
98
+ --log-level WARNING &
99
+
100
+ MCP_PID=$!
101
+ echo "MCP server PID: $MCP_PID"
102
+ sleep 5
103
+ ```
104
+
105
+ Verify it started:
106
+ ```bash
107
+ curl -s http://127.0.0.1:8765/mcp/health 2>/dev/null && echo "SERVER UP" || echo "SERVER NOT RESPONDING"
108
+ ```
109
+
110
+ If SERVER NOT RESPONDING after 10 seconds, try increasing the wait and checking again.
111
+ If it still fails, stop and report the error output.
112
+
113
+ ### Step 5 — Scrape the profile
114
+
115
+ Read the URL from `inputs/apply-linkedin-url.txt`.
116
+
117
+ Use the MCP server at `http://127.0.0.1:8765/mcp` to call the `get_person_profile`
118
+ tool with:
119
+ - `profile_url`: the URL from the file
120
+ - `sections`: `["main", "experience", "education", "skills", "contact_info"]`
121
+
122
+ If the scrape returns a captcha challenge or login error:
123
+ > LinkedIn is asking for verification. Run `uvx linkedin-scraper-mcp@latest --login`
124
+ > to re-authenticate, then run this agent again.
125
+
126
+ ### Step 6 — Format into Job Hunter input
127
+
128
+ Take the scraped profile data and write it to `inputs/my-linkedin.md` using this
129
+ exact structure:
130
+
131
+ ```markdown
132
+ # My LinkedIn Profile
133
+
134
+ ## Headline
135
+ [scraped headline]
136
+
137
+ ## About
138
+ [scraped about/summary section]
139
+
140
+ ## Experience
141
+
142
+ ### [Job Title] | [Company] | [Start Date] - [End Date or Present]
143
+ [bullet points from description]
144
+
145
+ [repeat for each role]
146
+
147
+ ## Skills
148
+ [comma-separated list of top skills]
149
+
150
+ ## Education
151
+ ### [Degree] | [School] | [Year]
152
+ ```
153
+
154
+ Tell the user:
155
+ > Profile scraped successfully. Saved to inputs/my-linkedin.md — here's a preview
156
+ > of the first few lines:
157
+
158
+ Show the first 20 lines of `inputs/my-linkedin.md`.
159
+
160
+ ### Step 7 — Shut down the MCP server
161
+
162
+ ```bash
163
+ kill $MCP_PID 2>/dev/null || pkill -f "linkedin-scraper-mcp" 2>/dev/null
164
+ echo "MCP server stopped"
165
+ ```
166
+
167
+ ### Step 8 — Check for job description
168
+
169
+ Check if `inputs/job-description.md` has been filled in (more than 200 characters
170
+ of non-template content).
171
+
172
+ If it's empty or still a template, tell the user:
173
+ > Your LinkedIn profile has been scraped and saved. Before running the audit,
174
+ > paste a job description into `inputs/job-description.md`, then run:
175
+ > `npm run linkedin`
176
+
177
+ If it's filled in, proceed directly to Step 9.
178
+
179
+ ### Step 9 — Run the LinkedIn audit
180
+
181
+ Read `inputs/my-linkedin.md` (just scraped).
182
+ Read `inputs/job-description.md`.
183
+ Read `rules/writing-rules.md`.
184
+
185
+ Now perform the full LinkedIn audit as defined in `agents/linkedin-analyzer.md`.
186
+
187
+ Execute every step in that agent and write the output to `outputs/linkedin-audit.md`.
188
+
189
+ Tell the user:
190
+ > Audit complete. Your results are in outputs/linkedin-audit.md
191
+
192
+ Show the Priority Action List section of the output so the user sees their top
193
+ 5 actions immediately.
194
+
195
+ ---
196
+
197
+ ## Running This Agent
198
+
199
+ ```bash
200
+ # First time — reads URL, logs in, scrapes, audits
201
+ claude "follow agents/linkedin-scraper-setup.md"
202
+
203
+ # After first login — just scrape and audit
204
+ claude "follow agents/linkedin-scraper-setup.md"
205
+ ```
206
+
207
+ Or with npm:
208
+ ```bash
209
+ npm run linkedin-scrape
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Troubleshooting
215
+
216
+ **Captcha / login errors**
217
+ ```bash
218
+ uvx linkedin-scraper-mcp@latest --login
219
+ ```
220
+ Log in manually in the browser window, then re-run the agent.
221
+
222
+ **Server won't start**
223
+ ```bash
224
+ pkill -f linkedin-scraper-mcp
225
+ uvx linkedin-scraper-mcp@latest --transport streamable-http --host 127.0.0.1 --port 8765 --path /mcp --headless true
226
+ ```
227
+
228
+ **Profile not found / empty sections**
229
+ Some profiles are private or have restricted visibility. The scraper can only
230
+ access what LinkedIn shows to logged-in users. If your own profile comes back
231
+ empty, make sure you're logged into the correct account.
232
+
233
+ **uv command not found after install**
234
+ ```bash
235
+ source $HOME/.local/bin/env
236
+ ```
237
+ Then re-run the agent.
238
+
239
+ ---
240
+
241
+ ## Privacy Note
242
+
243
+ Your LinkedIn credentials are stored locally in `~/.linkedin-mcp/profile/` —
244
+ the same place Chrome stores any browser profile. They never leave your machine.
245
+ The scraper runs Chrome on your computer; it does not proxy through any third-party
246
+ service.
247
+
248
+ ---
249
+
250
+ ## ✅ What to do next
251
+
252
+ Your profile is saved to `inputs/my-linkedin.md`. Run the audit:
253
+ ```
254
+ npm run linkedin ← full audit against your target role
255
+ ```