cue-ai 0.9.2 → 0.9.3

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 +148 -170
  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,109 @@
1
+ # Skills Gap Filler
2
+
3
+ ## What This Does
4
+
5
+ Reads a job description and tells you exactly which "requirements" are real
6
+ gates vs. recruiter wishlist — and for the real gaps, gives you the fastest
7
+ path to closing them.
8
+
9
+ Recruiters copy-paste requirements from previous job postings, add
10
+ everything the last person in the role happened to know, and then use
11
+ the list to filter out qualified people. Most postings have 10-12
12
+ requirements. You need 60-70% to be competitive. This agent tells you
13
+ which 60-70% matters and what to do about the rest.
14
+
15
+ ## Instructions for Claude Code
16
+
17
+ ### Step 1 — Load inputs
18
+
19
+ Read `inputs/my-resume.md`.
20
+ Read `inputs/job-description.md`.
21
+ Read `rules/writing-rules.md`.
22
+
23
+ ### Step 2 — Classify every requirement
24
+
25
+ Extract every stated requirement from the JD. For each one, classify it:
26
+
27
+ **HARD GATE** — You will be screened out without this. Non-negotiable.
28
+ - Specific license or certification (Series 7, RN, PE, Bar)
29
+ - Minimum years experience explicitly stated ("5+ years required")
30
+ - Specific technology that is core to the role (not "preferred")
31
+ - Location or legal requirement (must be US citizen, must be on-site)
32
+
33
+ **REAL REQUIREMENT** — Hiring manager will test for this directly.
34
+ - Primary skill of the role
35
+ - Tools they use daily
36
+ - Domain knowledge central to the function
37
+
38
+ **NICE-TO-HAVE** — Listed to describe an ideal candidate, not a gate.
39
+ - "Preferred" or "plus" language
40
+ - Secondary tools ("experience with Salesforce a plus")
41
+ - Soft skills (everyone lists these, no one actually screens for them)
42
+ - Advanced degrees when not explicitly required
43
+ - Industry experience when transferable experience exists
44
+
45
+ **INFLATED REQUIREMENT** — Sounds hard, actually learnable in weeks.
46
+ - Common when JD was written by someone who doesn't do the job
47
+ - Often: specific software version, methodology names, tool names
48
+ - Tells you what to learn before the interview, not what blocks you
49
+
50
+ ### Step 3 — Gap analysis against the resume
51
+
52
+ For each HARD GATE and REAL REQUIREMENT the candidate doesn't have:
53
+
54
+ **Gap:** [what's missing]
55
+ **Type:** Hard Gate / Real Requirement
56
+ **Honest assessment:** Is this actually required or are they describing their last hire?
57
+ **Time to close:** [realistic estimate — days, weeks, months]
58
+ **How to close it:**
59
+ - Free: [specific resource — YouTube channel, documentation, free course]
60
+ - Fast: [certification or course that signals competency, with cost and time]
61
+ - Deep: [if this requires significant work — be honest about the timeline]
62
+ **What to say in the interview if you don't have it yet:**
63
+ [Exact language for addressing the gap honestly without disqualifying yourself]
64
+
65
+ ### Step 4 — The Apply Decision
66
+
67
+ Based on the gap analysis:
68
+
69
+ **APPLY NOW** — You meet the hard gates, have the real requirements, gaps are closeable
70
+ **APPLY + CLOSE GAPS FAST** — You meet most requirements, specific gaps closeable before interview rounds
71
+ **APPLY IN [X WEEKS]** — You have a gap that would disqualify but can close it in a specific timeframe
72
+ **DON'T APPLY YET** — A hard gate you cannot realistically close soon
73
+
74
+ Be direct. If the honest answer is "don't apply yet because X," say that.
75
+
76
+ ### Step 5 — The Fast Track
77
+
78
+ If the recommendation is APPLY + CLOSE GAPS FAST, write a specific
79
+ 3-7 day sprint plan:
80
+
81
+ ```
82
+ GAP-CLOSING SPRINT
83
+
84
+ Goal: Close [gap] before the interview stage
85
+
86
+ Day 1-2: [specific resource + what to complete]
87
+ Day 3-4: [specific resource + what to complete]
88
+ Day 5-7: [hands-on practice + what to build or document]
89
+
90
+ By end of sprint:
91
+ - You can speak credibly about [topic]
92
+ - You have [specific artifact/project/cert] to point to
93
+ - Interview answer: "[exact phrasing]"
94
+ ```
95
+
96
+ ### Step 6 — Save output
97
+
98
+ Write to `outputs/skills-gap.md`.
99
+
100
+ ## ✅ What to do next
101
+
102
+ ```
103
+ npm run fit ← score overall fit now that you know the gaps
104
+ npm run resume ← tailor resume to emphasize what you DO have
105
+ npm run ats ← ensure keywords from real requirements are in your resume
106
+ npm run interview ← prep for how to handle gap questions in the interview
107
+ ```
108
+
109
+ Apply all rules from `rules/writing-rules.md`.
@@ -0,0 +1,94 @@
1
+ # Internal Job Application
2
+
3
+ ## What This Does
4
+
5
+ Applies for an internal role differently than an external one. You know people,
6
+ you have context, you have a reputation — and you have more to lose if it goes
7
+ sideways. This agent accounts for all of that.
8
+
9
+ ## Instructions for Claude Code
10
+
11
+ ### Step 1 — Load inputs
12
+
13
+ Read `inputs/my-resume.md`.
14
+ Read `inputs/job-description.md` for the internal role.
15
+ Read `rules/writing-rules.md`.
16
+
17
+ ### Step 2 — Gather internal context
18
+
19
+ Ask:
20
+ > A few things I need to know about the internal situation:
21
+ > 1. Does your current manager know you're applying?
22
+ > 2. Do you have a relationship with the hiring manager for this role?
23
+ > 3. Who else might be applying internally?
24
+ > 4. What's the general perception of you in the company — strong performer, under the radar, known for specific things?
25
+ > 5. Why are you moving — growth, better fit, comp, or getting out of a bad situation? (be honest, this affects strategy)
26
+ > 6. What would your current manager say about you if the hiring manager asked?
27
+
28
+ ### Step 3 — Strategy assessment
29
+
30
+ Based on their answers, assess:
31
+
32
+ **Visibility advantage** — what does this person's internal reputation add to
33
+ their application that an external candidate can't match?
34
+
35
+ **Political considerations** — is there anything that needs to be handled before
36
+ or during the application? (informing current manager, managing relationships)
37
+
38
+ **The real pitch** — internal applications should reference institutional knowledge,
39
+ existing relationships, and demonstrated cultural fit. External candidates can't do this.
40
+
41
+ ### Step 4 — Internal resume tailoring
42
+
43
+ Tailor the resume for this role with internal framing:
44
+ - Lead experience bullets with company-specific impact where possible
45
+ - Reference internal initiatives, products, or teams by name where relevant
46
+ - Quantify with internal metrics the hiring manager will recognize
47
+
48
+ ### Step 5 — Internal cover letter
49
+
50
+ Write an internal cover letter (shorter than external — 150-200 words):
51
+ - Opens differently than an external letter — no need to introduce yourself
52
+ - References the internal context: "Having spent [X] years building [thing] here..."
53
+ - Names something specific about why this role is the right next move internally
54
+ - Does not apologize for applying or over-explain the move
55
+ - Ends with confidence — you know this company, you know what you're getting into
56
+
57
+ ### Step 6 — The conversation to have first
58
+
59
+ Before submitting: who should the user talk to before the application goes in?
60
+
61
+ Write a short script for:
62
+ 1. The conversation with their current manager (if not already had)
63
+ 2. A conversation with the hiring manager if they have a relationship
64
+ ("I wanted to let you know I'm planning to apply for the [role]...")
65
+
66
+ These conversations, done right, are often more important than the application itself.
67
+
68
+ ### Step 7 — What's different about the interview
69
+
70
+ Flag 3 things that are different about an internal interview:
71
+ - They already know your reputation — the interview validates it or contradicts it
72
+ - You can reference internal context that external candidates can't
73
+ - The stakes are higher if you don't get it — have a plan for that scenario
74
+
75
+ ### Step 8 — If you don't get it
76
+
77
+ Write 2-3 sentences on how to handle not getting the role with your reputation intact:
78
+ What to say to the hiring manager, what to say to your current manager, and
79
+ how to use the feedback constructively.
80
+
81
+ ### Step 9 — Save output
82
+
83
+ Write to `outputs/internal-application.md`.
84
+
85
+ ---
86
+
87
+ ## ✅ What to do next
88
+
89
+ Have the conversation with your current manager before submitting — if you haven't already.
90
+ Then submit. Then prepare as you would for any interview:
91
+ ```
92
+ npm run research ← pull context on the team and hiring manager
93
+ npm run interview ← build your prep guide
94
+ ```
@@ -0,0 +1,173 @@
1
+ # LinkedIn Content Generator
2
+
3
+ ## What This Does
4
+
5
+ Writes 5 LinkedIn posts built around your real experience and target
6
+ positioning — posts that build credibility with the people who hire for
7
+ the roles you want.
8
+
9
+ Posting on LinkedIn during a job search increases inbound recruiter contact
10
+ meaningfully. But most job seeker LinkedIn content is either too generic
11
+ ("5 lessons from my career") or too obviously desperate ("open to work —
12
+ DM me"). Neither builds authority.
13
+
14
+ This agent writes posts that demonstrate expertise, not availability. The
15
+ goal is to become recognizable to the right people before you need them.
16
+
17
+ ## Instructions for Claude Code
18
+
19
+ ### Step 1 — Load inputs
20
+
21
+ Read `inputs/my-resume.md`.
22
+ Read `inputs/job-description.md` if available — use target role as positioning lens.
23
+ Read `rules/writing-rules.md`.
24
+
25
+ Ask the user:
26
+
27
+ ```
28
+ A few questions to write posts that sound like you:
29
+
30
+ 1. What's the most counterintuitive thing you've learned in your career?
31
+ Something most people in your field get wrong.
32
+
33
+ 2. What's a story from your work that you find yourself telling a lot?
34
+ The one you use when explaining what you do.
35
+
36
+ 3. What do you know about [your industry/function] that took you years
37
+ to figure out but seems obvious now?
38
+
39
+ 4. What are you genuinely interested in right now — a trend, a problem,
40
+ a debate in your field?
41
+
42
+ 5. What's something you did that failed, and what did you actually learn?
43
+ (not the polished failure story — the real one)
44
+ ```
45
+
46
+ ### Step 2 — Generate 5 posts
47
+
48
+ One post per type. Each one is based on their answers — not generic.
49
+
50
+ ---
51
+
52
+ **POST TYPE 1 — The Counterintuitive Take**
53
+
54
+ Format: Lead with the counterintuitive claim. Explain why most people
55
+ think the opposite. 3-4 sentences of evidence or reasoning. One
56
+ practical implication.
57
+
58
+ Length: 150-200 words
59
+ Hook: Starts with the claim, not setup
60
+ Tone: Direct. Confident. Not preachy.
61
+ No: "In my experience..." "I've learned that..." "Here's the thing:"
62
+
63
+ ---
64
+
65
+ **POST TYPE 2 — The Story Post**
66
+
67
+ Format: Open in the middle of the story (not "once upon a time").
68
+ Build to the insight. The lesson comes last — and it's one sentence.
69
+
70
+ Length: 200-250 words
71
+ Hook: First line is a moment, not a setup
72
+ Tone: Specific. Human. The reader should feel like they were there.
73
+ No: Emojis as bullets. Ellipsis cliffhangers. Manufactured suspense.
74
+
75
+ ---
76
+
77
+ **POST TYPE 3 — The Hard-Won Insight**
78
+
79
+ Format: State the insight plainly. Back it with one specific example
80
+ from their career. Three implications, stated briefly.
81
+
82
+ Length: 150-175 words
83
+ Hook: The insight, stated as a declarative sentence
84
+ Tone: Earned authority. Not arrogant, but confident.
85
+ No: "I used to think X but now I know Y" (overused)
86
+
87
+ ---
88
+
89
+ **POST TYPE 4 — The Industry Take**
90
+
91
+ Format: Name the debate or trend. Take a clear position.
92
+ One supporting argument. One honest acknowledgment of the counterargument.
93
+ Close with what you're watching.
94
+
95
+ Length: 175-225 words
96
+ Hook: The position, stated directly
97
+ Tone: Informed. Specific to their industry/function.
98
+ No: Fence-sitting. Generic observations. "It depends."
99
+
100
+ ---
101
+
102
+ **POST TYPE 5 — The Useful Failure**
103
+
104
+ Format: What happened (briefly). What you thought you knew.
105
+ What actually happened. What you changed. One sentence on why it matters.
106
+
107
+ Length: 200-250 words
108
+ Hook: The moment it went wrong — specific
109
+ Tone: Self-aware without self-flagellation. The lesson should be useful,
110
+ not a confession.
111
+ No: "I failed and it was the best thing that ever happened to me" framing.
112
+ No: Vague lessons. The takeaway should be specific enough to be actionable.
113
+
114
+ ---
115
+
116
+ ### Step 3 — Posting strategy
117
+
118
+ Add a one-page strategy:
119
+
120
+ ```
121
+ POSTING STRATEGY
122
+
123
+ Cadence: 2-3 posts per week during active search. 1 per week otherwise.
124
+ Best days: Tuesday, Wednesday, Thursday
125
+ Best time: 8-9am or 5-6pm in your target market's time zone
126
+
127
+ Post order (recommended):
128
+ Week 1: Counterintuitive Take (establishes POV)
129
+ Week 2: Story Post (builds trust)
130
+ Week 3: Hard-Won Insight (demonstrates depth)
131
+ Week 4: Industry Take (signals relevance)
132
+ Week 5: Useful Failure (earns credibility)
133
+ Repeat with fresh angles.
134
+
135
+ What to do after posting:
136
+ - Reply to every comment in the first hour
137
+ - Do not reply with "Thanks!" — add something to the conversation
138
+ - Connect with everyone who engages who might be relevant
139
+
140
+ What NOT to post:
141
+ - Anything about being "open to work" or "exploring new opportunities"
142
+ - Vague inspiration content: hustle culture, grind mindset, motivational quotes
143
+ - Anything with a poll that has no real stakes
144
+ - Job application status updates
145
+ ```
146
+
147
+ ### Step 4 — Profile optimization note
148
+
149
+ Add a brief note:
150
+ If their LinkedIn headline or About section doesn't match the target
151
+ positioning, flag it and suggest they run `npm run linkedin` first.
152
+
153
+ ### Step 5 — Save output
154
+
155
+ Write to `outputs/linkedin-content.md`.
156
+
157
+ Tell the user:
158
+ > 5 posts ready. outputs/linkedin-content.md
159
+ >
160
+ > Post Type 1 first — it's the fastest way to establish a POV.
161
+ > Schedule them out, don't post all at once.
162
+ > The goal is recognition, not virality.
163
+
164
+ ## ✅ What to do next
165
+
166
+ ```
167
+ npm run linkedin ← audit your profile before you start posting
168
+ npm run network ← warm up specific contacts once you're posting
169
+ npm run referrals ← leverage the visibility for warm intros
170
+ ```
171
+
172
+ Apply all rules from `rules/writing-rules.md`.
173
+ No em dashes in any post. Posts should sound like a person talking, not writing.
@@ -0,0 +1,262 @@
1
+ # LinkedIn Post Scanner
2
+
3
+ ## What This Does
4
+
5
+ Scans your LinkedIn feed for posts worth commenting on — people talking
6
+ about job market struggles, hiring, layoffs, bad interview experiences,
7
+ resume tips, career pivots — and drafts a genuine comment for each one.
8
+
9
+ You review every comment before it goes anywhere. Nothing posts automatically.
10
+ The automation is in the finding and drafting. The judgment is yours.
11
+
12
+ One well-placed comment from the person who built a job search tool,
13
+ on a post with 500 likes, reaches more people than a cold post of your own.
14
+
15
+ ## Prerequisites
16
+
17
+ LinkedIn MCP connected in Claude.ai settings:
18
+ **Settings → Integrations → LinkedIn**
19
+
20
+ Or use the LinkedIn scraper MCP:
21
+ ```bash
22
+ uvx linkedin-scraper-mcp@latest --login
23
+ ```
24
+
25
+ ## Instructions for Claude Code
26
+
27
+ ### Step 1 — Load inputs
28
+
29
+ Read `inputs/my-resume.md` for your background context.
30
+ Read `rules/writing-rules.md`.
31
+
32
+ Ask the user:
33
+ ```
34
+ A few quick questions:
35
+
36
+ 1. What's your LinkedIn profile URL?
37
+ (so the comment sounds like you specifically)
38
+
39
+ 2. What's the one-line description of Job Hunter you want to use?
40
+ (e.g. "I built a free open source job search toolkit — jobhunter.ai")
41
+
42
+ 3. Any topics to avoid commenting on?
43
+ (e.g. specific companies, political topics, anything sensitive)
44
+ ```
45
+
46
+ Wait for their answers.
47
+
48
+ ### Step 2 — Define search targets
49
+
50
+ Look for posts matching these signals — high engagement, relevant topic,
51
+ comment window still open (under 48 hours old is ideal):
52
+
53
+ **Primary targets — highest value:**
54
+ - Posts about job market difficulty ("can't get callbacks", "100 applications")
55
+ - Posts about recruiter behavior (ghosting, ghost jobs, bias)
56
+ - Posts about resume and ATS struggles
57
+ - Posts about interview processes being too long
58
+ - Posts from recruiters giving job search advice (like the screenshot above)
59
+ - Posts about layoffs and career pivots
60
+ - Posts asking for resume feedback or job search advice
61
+
62
+ **Secondary targets — worth engaging:**
63
+ - Posts about LinkedIn optimization
64
+ - Posts about salary negotiation
65
+ - Posts about career growth and promotion
66
+ - Posts from hiring managers explaining their process
67
+
68
+ **Skip:**
69
+ - Anything political
70
+ - Posts from direct competitors
71
+ - Posts where top comments are already from tools/bots (signals low quality engagement)
72
+ - Posts older than 72 hours (engagement window mostly closed)
73
+ - Any topic the user said to avoid
74
+
75
+ ### Step 3 — Scan the feed
76
+
77
+ Use LinkedIn MCP to:
78
+ 1. Pull the user's home feed (last 24-48 hours)
79
+ 2. Search LinkedIn for recent posts using these queries:
80
+ - "job search" + high engagement filter
81
+ - "job market" + recent posts
82
+ - "resume" OR "ATS" + recruiter posts
83
+ - "interview process" + frustration signals
84
+ - "layoff" OR "laid off" + recent
85
+ - "hiring" + recruiter perspective
86
+
87
+ For each post found, extract:
88
+ - Author name and title
89
+ - Post text (full)
90
+ - Engagement count (likes + comments)
91
+ - Posted time
92
+ - Post URL
93
+
94
+ ### Step 4 — Score and filter
95
+
96
+ Score each post on 3 dimensions:
97
+
98
+ **Relevance (1-5):** How directly relevant is Job Hunter to this post?
99
+ - 5: Post is exactly about the problem Job Hunter solves
100
+ - 4: Adjacent topic where Job Hunter adds clear value
101
+ - 3: Tangentially related
102
+ - 1-2: Too far, skip
103
+
104
+ **Reach (1-5):** How many people will see this comment?
105
+ - 5: 500+ likes or the poster has 10k+ followers
106
+ - 4: 200-500 likes or 5k-10k followers
107
+ - 3: 100-200 likes
108
+ - 1-2: Under 100, skip (not worth the effort)
109
+
110
+ **Comment window (1-5):** Is there still time for the comment to get traction?
111
+ - 5: Under 6 hours old
112
+ - 4: 6-24 hours old
113
+ - 3: 24-48 hours old
114
+ - 1-2: Over 48 hours, skip
115
+
116
+ **Total score: 3-15. Surface anything scoring 9+.**
117
+
118
+ ### Step 5 — Draft comments
119
+
120
+ For each qualifying post (score 9+), draft 2 comment options:
121
+
122
+ **Comment style rules:**
123
+ - 2-4 sentences maximum — LinkedIn comments reward brevity
124
+ - First sentence must add something specific to the conversation
125
+ - Not "Great post!" or "This is so true" — both are noise
126
+ - Reference something specific from the post text
127
+ - Mention Job Hunter naturally — not as an ad, as a genuine contribution
128
+ - Sound like a person who built something to solve this exact problem
129
+ - Never start with "Hi" or "I" as the first word
130
+ - No em dashes
131
+
132
+ **Option A — Contribution style:**
133
+ Add a specific insight or data point that extends the conversation,
134
+ then mention Job Hunter as context for why you know this.
135
+
136
+ *Example:*
137
+ "The ghost job problem is worse than most people realize — postings stay up
138
+ for months after hiring freezes because no one removes them. Built a ghost
139
+ job detector into an open source tool (jobhunter.ai) after getting burned
140
+ by this multiple times. Eight signals worth checking before you spend hours
141
+ tailoring an application."
142
+
143
+ **Option B — Solidarity + resource style:**
144
+ Acknowledge the specific frustration from the post, then offer
145
+ Job Hunter as a direct resource.
146
+
147
+ *Example:*
148
+ "100 applications, 2 callbacks — that math usually means the ATS is
149
+ filtering before a human sees the resume. Built a free tool specifically
150
+ for this after going through the same thing. jobhunter.ai if it's useful."
151
+
152
+ ### Step 6 — Present for approval
153
+
154
+ Present each qualifying post and its draft comments in this format:
155
+
156
+ ```
157
+ ─────────────────────────────────────────────────────
158
+ POST [n] — Score: [X]/15
159
+ ─────────────────────────────────────────────────────
160
+ Author: [Name] — [Title]
161
+ Posted: [X hours ago]
162
+ Engagement: [likes] likes · [comments] comments
163
+ URL: [url]
164
+
165
+ POST SUMMARY:
166
+ [2-3 sentence summary of what they said]
167
+
168
+ OPTION A — Contribution style:
169
+ ─────────────────────
170
+ [Draft comment]
171
+ ─────────────────────
172
+
173
+ OPTION B — Solidarity + resource style:
174
+ ─────────────────────
175
+ [Draft comment]
176
+ ─────────────────────
177
+
178
+ → Use A / Use B / Edit / Skip
179
+ ─────────────────────────────────────────────────────
180
+ ```
181
+
182
+ Go through posts one at a time. Wait for the user's decision before
183
+ showing the next one.
184
+
185
+ ### Step 7 — Approved comments queue
186
+
187
+ Keep a running list of approved comments:
188
+
189
+ ```
190
+ APPROVED COMMENTS — Ready to post
191
+ ─────────────────────────────────────────────────────
192
+ [n] comments approved
193
+
194
+ 1. [Author] — [Post URL]
195
+ [Approved comment text]
196
+ [ ] Posted
197
+
198
+ 2. [Author] — [Post URL]
199
+ [Approved comment text]
200
+ [ ] Posted
201
+ ```
202
+
203
+ ### Step 8 — Post queue
204
+
205
+ When the user has finished reviewing all posts, show the approved queue
206
+ and offer two paths:
207
+
208
+ **Path A — Post via LinkedIn MCP (if connected):**
209
+ "Ready to post [n] comments. Post them now? (yes / one at a time / save for later)"
210
+
211
+ If yes: post each approved comment via LinkedIn MCP to the correct thread.
212
+ Mark each as posted.
213
+
214
+ **Path B — Manual posting guide:**
215
+ If LinkedIn MCP isn't available for posting, generate a posting guide:
216
+ ```
217
+ MANUAL POSTING GUIDE
218
+
219
+ For each comment below:
220
+ 1. Open the URL
221
+ 2. Click Comment
222
+ 3. Paste the text
223
+ 4. Post
224
+
225
+ [numbered list with URL + comment text]
226
+ ```
227
+
228
+ ### Step 9 — Save output
229
+
230
+ Write approved comments and status to `outputs/linkedin-scanner.md`.
231
+ Append each session — don't overwrite — so you build a record.
232
+
233
+ Tell the user:
234
+ > Scan complete. [n] posts found, [n] qualifying, [n] approved.
235
+ > [If posted:] [n] comments posted.
236
+ > [If manual:] Manual posting guide saved to outputs/linkedin-scanner.md
237
+
238
+ ## Posting frequency guidance
239
+
240
+ ```
241
+ SUSTAINABLE CADENCE
242
+
243
+ 3-5 meaningful comments per day is enough to build real visibility.
244
+ More than 10/day starts to look like a bot — even when it isn't.
245
+
246
+ Best times: 8-10am and 5-7pm in your target market's time zone.
247
+ Best days: Tuesday through Thursday.
248
+
249
+ Track which comment styles get replies — those are the ones to do more of.
250
+ A comment that starts a real conversation is worth 10 that get ignored.
251
+ ```
252
+
253
+ ## ✅ What to do next
254
+
255
+ ```
256
+ npm run linkedin-post ← write original posts for your own feed
257
+ npm run linkedin ← audit your profile so new visitors convert
258
+ npm run network ← direct outreach to people who engage with your comments
259
+ ```
260
+
261
+ Apply all rules from `rules/writing-rules.md`.
262
+ No em dashes in any comment. Sound like a person.