kerplunk-ai-prompts 0.1.29 → 0.1.31

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 677bab492e5ecea4dc08893d02d7fca538ba5efad725018ca491594958eb82da
4
- data.tar.gz: 9c45c43f46042ec2b1b504d528e38a60cb19f94631aa5fceb23e1bb4c556cb01
3
+ metadata.gz: cb8f15bd116ee84292035ddcb6049f0c50ab547f441e5580eb9ba8e76e3a89cd
4
+ data.tar.gz: fd9f8a27c9e3e4689571c1ca1555b2757ea92df90097a44edf439185acf2bf33
5
5
  SHA512:
6
- metadata.gz: e54f75633d9ddf8a5151da5dbb5f4cae05df1f87e7371fe721e32464d896c228405082631c8ba24db7963071f5995cf291005e940174e5ba956924678dcbc2db
7
- data.tar.gz: 1c0a2680a6e55da9e709f157909fc4b99b1742fc7a784093ce00ea3bbb190a2dd37e5ec949b9e4e4eacace9f9a00834a87e06dcc0f68e504bf15a055ebbbae37
6
+ metadata.gz: aa56d0820ab23bf378438fecf2ab1a095381d515a6b3882545dbb44553ca357671f5ada9f6e6ef10aa09c45588a5d5ec78e2e140d72f02d24b8240afec841078
7
+ data.tar.gz: 71ec11bdffa85d8ce5dc999d2d573f4570ea8670f4c5899acaeef6c6b0c9dcbf211238a51b6e5a0c24e585295fc1f3663628941d3d31e4e66753728ddd0d5a80
@@ -1,5 +1,8 @@
1
1
  require_relative "templates/generation/interview_questions"
2
2
  require_relative "templates/generation/job_description"
3
+ require_relative "templates//generation/candidate_search_criteria"
4
+ require_relative "templates//generation/invite_to_apply_email"
5
+ require_relative "templates//generation/invite_to_apply_follow_up_email"
3
6
  require_relative "templates/analysis/interview"
4
7
  require_relative "templates/analysis/interview_question"
5
8
  require_relative "templates/analysis/resume"
@@ -25,6 +28,12 @@ module Kerplunk
25
28
  Templates::Generation::InterviewQuestions.generate_prompt(*args)
26
29
  when :job_description
27
30
  Templates::Generation::JobDescription.generate_prompt(*args)
31
+ when :invite_to_apply_email
32
+ Templates::Generation::InviteToApplyEmail.generate_prompt
33
+ when :invite_to_apply_follow_up_email
34
+ Templates::Generation::InviteToApplyFollowUpEmail.generate_prompt
35
+ when :candidate_search_criteria
36
+ Templates::Generation::CandidateSearchCriteria.generate_prompt(*args)
28
37
  when :interview_question_analysis
29
38
  Templates::Analysis::InterviewQuestion.generate_prompt(*args)
30
39
  when :interview_analysis
@@ -0,0 +1,344 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kerplunk
4
+ module AI
5
+ module Prompts
6
+ module Templates
7
+ module Generation
8
+ # The CandidateSearchCriteria class is responsible for generating a prompt for search criteria
9
+ # for the search for potential candidates
10
+ class CandidateSearchCriteria # rubocop:disable Metrics/ClassLength
11
+ # Generates a candidate search prompt for a given search input.
12
+ #
13
+ # @param search_query [String] the search string input to extract job search keywords from
14
+ # @return [String] the generated candidate search prompt
15
+ def self.generate_prompt(search_query) # rubocop:disable Metrics/MethodLength
16
+ raise ArgumentError, "search_query is required" if search_query.nil? || search_query.empty?
17
+
18
+ <<~PROMPT
19
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON.
20
+
21
+ You are an expert technical recruiter seeking to build a query criteria for searching for potential job candidates.
22
+
23
+ You need to analyse a search query provided to you and build a search criteria object out of that search query.
24
+ The search criteria should be an array of all the possible field/operator/value objects or nested field/operator/value objects.
25
+ Additionally in the output you need to split the search query into keywords as well.
26
+
27
+ === The Search Query
28
+ #{search_query}
29
+
30
+ Search Query Example 1: Experienced software engineer who lives in Austin TX.
31
+ Example output 1: {
32
+ "search_criteria": [
33
+ { "field": "job_title", "operator": "=", "value": "software engineer" },
34
+ { "field": "location_name", "operator": "=", "value": "austin, texas, united states" },
35
+ [
36
+ { "field": "experience.num_sources", "operator": ">", "value": 2 },
37
+ { "field": "inferred_years_experience", "operator": ">", "value": 2 }
38
+ ]
39
+ ],
40
+ "keywords": {
41
+ "name": "Experienced Software Engineer",
42
+ "geography": "Austin, Texas, USA",
43
+ "location": "Austin, Texas, USA"
44
+ }
45
+ }
46
+
47
+ Search Query Example 2: Software engineers at google with 5+ years of experience.
48
+ Example output 2: {
49
+ "search_criteria": [
50
+ { "field": "job_title", "operator": "=", "value": "software engineer" },
51
+ { "field": "job_company_name", "operator": "=", "value": "google" },
52
+ [
53
+ { "field": "experience.num_sources", "operator": ">", "value": 5 },
54
+ { "field": "inferred_years_experience", "operator": ">", "value": 5 }
55
+ ]
56
+ ],
57
+ "keywords": {
58
+ "name": "Experienced Software Engineer",
59
+ "geography": "",
60
+ "location": ""
61
+ }
62
+ }
63
+
64
+ Search Query Example 3: Revenue cycle manager dallas texas in the healthcare industry and 3 years experience
65
+ Example output 3: {
66
+ "search_criteria": [
67
+ { "field": "job_title", "operator": "=", "value": "revenue cycle manager" },
68
+ { "field": "location_name", "operator": "=", "value": "dallas, texas, united states" },
69
+ [
70
+ { "field": "industry", "operator": "=", "value": "hospital & health care" },
71
+ { "field": "job_company_industry", "operator": "=", "value": "hospital & health care" },
72
+ { "field": "experience.company.industry", "operator": "=", "value": "hospital & health care" }
73
+ ],
74
+ [
75
+ { "field": "experience.num_sources", "operator": ">=", "value": 3 },
76
+ { "field": "inferred_years_experience", "operator": ">=", "value": 3 }
77
+ ]
78
+ ],
79
+ "keywords": {
80
+ "name": "Revenue cycle manager",
81
+ "geography": "Dallas, Texas, USA",
82
+ "location": "Dallas, Texas, USA"
83
+ }
84
+ }
85
+
86
+ === VALUES FOR FIELD KEY
87
+ The possible values for the "field" key in each object should basically be picked out according to the following criteria:
88
+
89
+ birth_date: The day the person was born
90
+ birth_year: The year the person was born
91
+ countries: All countries associated with the person
92
+ education: The person's education information
93
+ education.summary: User-inputted summary of their education
94
+ education.degrees: The degrees the person earned at the school, from canonical values for education degrees specified in the below section
95
+ education.end_date: The date the person left the school
96
+ education.gpa: The GPA the person earned at the school
97
+ education.majors: All majors the person earned at the school, from the canonical values for education majors & minors specified in the below section
98
+ education.minors: All minors the person earned at the school, from the canonical values for education majors & minors specified in the below section
99
+ education.school: The school the person attended
100
+ education.school.domain: The primary website domain associated with the school
101
+ education.school.facebook_url: The school's Facebook URL
102
+ education.school.location: The location of the school
103
+ education.school.location.continent: The continent the school is in
104
+ education.school.location.country: The country the school is in
105
+ education.school.location.locality: The locality the school is in
106
+ education.school.location.name: School location in the format "locality, region, country"
107
+ education.school.location.region: The region the school is in
108
+ education.school.name: The name of the school
109
+ education.school.type: The school type, from canonical values for school type specified in the below section
110
+ education.school.website: The website URL associated with the school
111
+ education.start_date: The date the person started at the school
112
+ emails: Email addresses associated with the person
113
+ emails.address: The fully parsed email address
114
+ emails.type: The type of email address, from canonical values for email types specified in the below section
115
+ experience: The person's work experience
116
+ experience.company: The company where the person worked
117
+ experience.company.facebook_url: The company's Facebook URL
118
+ experience.company.founded: The founding year of the company
119
+ experience.company.industry: The self-identified industry of the company, from canonical values for industries specified in the below section
120
+ experience.company.location: The location of the company's headquarters
121
+ experience.company.location.address_line_2: The street address line 2 of the company HQ address
122
+ experience.company.location.continent: The continent the company HQ is in
123
+ experience.company.location.country: The country the company HQ is in
124
+ experience.company.location.geo: City-center geo code of the company HQ, in the format "latitude, longitude"
125
+ experience.company.location.locality: The locality the company HQ is in
126
+ experience.company.location.metro: The metro area the company HQ is in
127
+ experience.company.location.name: Company HQ location in the format "locality, region, country"
128
+ experience.company.location.postal_code: The postal code of the company HQ address
129
+ experience.company.location.region: The region the company HQ is in
130
+ experience.company.location.street_address: The street address of the company HQ
131
+ experience.company.name: The company name, cleaned and standardized
132
+ experience.company.size: The self-reported company size range
133
+ experience.company.type: The company type from the canonical values for company types specified in the below section
134
+ experience.company.website: The company's primary website, cleaned and standardized
135
+ experience.end_date: The date the person left the company
136
+ experience.summary: User-inputted summary of their work experience
137
+ experience.num_sources: The number of total experience sources that this person has
138
+ experience.is_primary: Whether this is the person's current job or not
139
+ experience.location_names: Locations where the person has worked while with this company (if different from the company HQ)
140
+ experience.start_date: The date the person started at the company
141
+ experience.title: The person's job title while at the company
142
+ experience.title.levels: The level(s) of the job, from canonical values for job levels specified in the below section
143
+ experience.title.name: The job title itself
144
+ experience.title.role: The job role, from canonical values for job roles specified in the below section
145
+ experience.title.sub_role: The job sub role, from canonical values for job sub roles specified in the below section
146
+ experience.title.class: The job class, from canonical values for job classes specified in the below section
147
+ facebook_id: The person's Facebook profile ID based on source agreement
148
+ facebook_url: The person's Facebook profile URL based on source agreement
149
+ facebook_username: The person's Facebook profile username based on source agreement
150
+ first_name: The person's first name
151
+ last_name: The person's last name
152
+ full_name: The person's full name
153
+ sex: The person's biological sex
154
+ github_url: The person's GitHub profile URL based on source agreement
155
+ github_username: The person's GitHub profile username based on source agreement
156
+ industry: The most relevant industry for this person based on their work history, from canonical values for industries specified in the below section
157
+ interests: The person's self-reported interests
158
+ job_company_facebook_url: The person's current company's Facebook URL
159
+ job_company_founded: The person's current company's founding year
160
+ job_company_industry: The person's current company's industry, from canonical values for industries specified in the below section
161
+ job_company_linkedin_id: The person's current company's LinkedIn ID
162
+ job_company_linkedin_url: The person's current company's LinkedIn URL
163
+ job_company_location_address_line_2: The person's current company's headquarters' street address line 2
164
+ job_company_location_continent: The person's current company's headquarters' continent
165
+ job_company_location_country: The person's current company's headquarters' country
166
+ job_company_location_geo: The person's current company's headquarters' city-center geographic coordinates
167
+ job_company_location_locality: The person's current company's headquarters' locality
168
+ job_company_location_metro: The person's current company's headquarters' metro area
169
+ job_company_location_name: The person's current company's headquarters' location name in the format "locality, region, country"
170
+ job_company_location_postal_code: The person's current company's headquarters' postal code
171
+ job_company_location_region: The person's current company's headquarters' region
172
+ job_company_location_street_address: The person's current company's headquarters' street address
173
+ job_company_name: The person's current company's name
174
+ job_company_size: The person's current company's size range
175
+ job_company_twitter_url: The person's current company's Twitter URL
176
+ job_company_website: The person's current company's website
177
+ job_last_changed: The timestamp that reflects when the top-level job information changed
178
+ job_last_verified: The timestamp that reflects when the information on the top level job information has been last validated by a data source
179
+ job_start_date: The date the person started their current job
180
+ job_title: The person's current job title
181
+ job_title_levels: The derived level(s) of the person's current job title, from canonical values for job levels specified in the below section
182
+ job_title_role: The derived role of the person's current job title, from canonical values for job roles specified in the below section
183
+ job_title_sub_role: The derived sub-role of the person's current job title, from canonical values for job sub roles specified in the below section
184
+ job_title_class: The derived class of the person's current job title, from canonical values for job classes specified in the below section
185
+ job_company_type: The person's current company's type, from the canonical values for company types specified in the below section
186
+ linkedin_id: The person's LinkedIn profile ID. This is null when no values in the "profiles" array are active
187
+ linkedin_url: The person's current LinkedIn profile URL. This is null when no values in the "profiles" array are active
188
+ linkedin_username: The person's LinkedIn profile username. This is null when no values in the "profiles" array are active
189
+ location_address_line_2: The person's current street address line 2
190
+ location_continent: The continent of the person's current address
191
+ location_country: The country of the person's current address
192
+ location_geo: The geo code of the city center of the person's current address
193
+ location_last_updated: The timestamp that a new data source contributed to the record for the person's current address
194
+ location_locality: The locality of the person's current address
195
+ location_metro: The metro of the person's current address
196
+ location_name: The location of the person's current address in the format "locality, region, country"
197
+ location_names: All location names (in the format "locality, region, country") associated with the person
198
+ location_postal_code: The postal code of the person's current address
199
+ location_region: The region of the person's current address
200
+ location_street_address: The person's current street address
201
+ middle_name: The person's middle name
202
+ mobile_phone: The direct-dial mobile phone associated with the person
203
+ personal_emails: All personal emails associated with the person
204
+ phone_numbers: All phone numbers associated with the person
205
+ profiles: Social profiles associated with the person
206
+ profiles.id: The profile ID (format varies based on social network)
207
+ profiles.network: The social network the profile is on, from canonical values for profile networks specified in the below section
208
+ profiles.url: The profile URL
209
+ profiles.username: The profile username
210
+ recommended_personal_email: The best available email to reach a person
211
+ regions: All regions associated with the person
212
+ skills: The person's self-reported skills
213
+ street_addresses: All street addresses associated with the person
214
+ street_addresses.address_line_2: The street address line 2
215
+ street_addresses.continent: The continent the address is in
216
+ street_addresses.country: The country the address is in
217
+ street_addresses.geo: The city-center geographic coordinates of the address
218
+ street_addresses.locality: The locality the address is in
219
+ street_addresses.metro: The metro area the address is in
220
+ street_addresses.name: The location of the address in the format "locality, region, country"
221
+ street_addresses.postal_code: The postal code of the address
222
+ street_addresses.region: The region of the address
223
+ street_addresses.street_address: The street address
224
+ twitter_url: The person's Twitter profile URL based on source agreement
225
+ twitter_username: The person's Twitter profile username based on source agreement
226
+ work_email: The person's current work email
227
+ inferred_years_experience: The person's inferred years of total work experience
228
+ certifications: Any certifications the person has
229
+ certifications.end_date: The expiration date of the certification
230
+ certifications.name: Certification name
231
+ certifications.organization: The organization awarding the certification
232
+ certifications.start_date: The date the certification was awarded
233
+ headline: The brief headline associated with the person profile.
234
+ job_summary: User-inputted summary of their current job
235
+ languages: Languages the person knows
236
+ languages.name: The language, from the canonical values for languages names specified in the below section
237
+ languages.proficiency: Self-ranked language proficiency from 1 (limited) to 5 (fluent)
238
+
239
+ === CANONICAL VALUES
240
+ Below are some canonical ENUM specific values that specify possible values against a particular field:
241
+
242
+ Job Classes: [general_and_administrative, research_and_development, sales_and_marketing, services, unemployed]
243
+ Job Sub Roles: [academic, account_executive, account_management, accounting, accounting_services, administrative, advisor, agriculture, aides, architecture, artist, board_member, bookkeeping, brand, building_and_grounds, business_analyst, business_development, chemical, compliance, construction, consulting, content, corporate_development, curation, customer_success, customer_support, data_analyst, data_engineering, data_science, dental, devops, doctor, electric, electrical, emergency_services, entertainment, executive, fashion, financial, fitness, fraud, graphic_design, growth, hair_stylist, hardware, health_and_safety, human_resources, implementation, industrial, information_technology, insurance, investment_banking, investor, investor_relations, journalism, judicial, legal, legal_services, logistics, machinist, marketing_design, marketing_services, mechanic, mechanical, military, network, nursing, partnerships, pharmacy, planning_and_analysis, plumbing, political, primary_and_secondary, procurement, product_design, product_management, professor, project_management, protective_service, qa_engineering, quality_assurance, realtor, recruiting, restaurants, retail, revenue_operations, risk, sales_development, scientific, security, social_service, software, solutions_engineer, strategy, student, talent_analytics, therapy, tour_and_travel, training, translation, transport, unemployed, veterinarian, warehouse, web, wellness]
244
+ Job Roles: [advisory, analyst, creative, education, engineering, finance, fulfillment, health, hospitality, human_resources, legal, manufacturing, marketing, operations, partnerships, product, professional_service, public_service, research, sales, sales_engineering, support, trade, unemployed]
245
+ Job Levels: [cxo, director, entry, manager, owner, partner, senior, training, unpaid, vp]
246
+ Company Types: [educational, government, nonprofit, private, public, public_subsidiary]
247
+ Email Types: [current_professional, disposable, personal, professional]
248
+ School Types: [post-secondary institution, primary school, secondary school]
249
+ Education Degrees: [associate of arts, associates, bachelor of aerospace engineering, bachelor of applied science, bachelor of architecture, bachelor of arts, bachelor of arts in business administration, bachelor of arts in communication, bachelor of arts in education, bachelor of biosystems engineering, bachelor of business administration, bachelor of chemical engineering, bachelor of civil engineering, bachelor of commerce, bachelor of design, bachelor of education, bachelor of electrical engineering, bachelor of engineering, bachelor of fine arts, bachelor of general studies, bachelor of industrial & systems engineering, bachelor of industrial design, bachelor of interdisciplinary studies, bachelor of interior architecture, bachelor of law, bachelor of liberal arts, bachelor of liberal arts and sciences, bachelor of materials engineering, bachelor of mathematics, bachelor of mechanical engineering, bachelor of medicine, bachelor of music, bachelor of music education, bachelor of pharmacy, bachelor of polymer and fiber engineering, bachelor of professional health science, bachelor of science, bachelor of science in aerospace engineering, bachelor of science in biomedical engineering, bachelor of science in business administration, bachelor of science in chemical engineering, bachelor of science in chemistry, bachelor of science in civil engineering, bachelor of science in commerce business administration, bachelor of science in computer science, bachelor of science in education, bachelor of science in electrical engineering, bachelor of science in engineering, bachelor of science in engineering technology, bachelor of science in geology, bachelor of science in human environmental sciences, bachelor of science in materials engineering, bachelor of science in mechanical engineering, bachelor of science in metallurgical engineering, bachelor of science in microbiology, bachelor of science in nursing, bachelor of science in social work, bachelor of social work, bachelor of software engineering, bachelor of technology, bachelor of textile engineering, bachelor of textile management and technology, bachelor of veterinary science, bachelor of wireless engineering, bachelors, doctor of audiology, doctor of business administration, doctor of chiropractic, doctor of dental surgery, doctor of education, doctor of jurisprudence, doctor of medical dentistry, doctor of medicine, doctor of ministry, doctor of musical arts, doctor of nursing practice, doctor of optometry, doctor of osteophathy, doctor of pharmacy, doctor of philosophy, doctor of physical therapy, doctor of psychology, doctor of public health, doctor of science, doctor of veterinary medicine, doctorates, magister juris, magisters, master of accountancy, master of accounting, master of aerospace engineering, master of agriculture, master of applied mathematics, master of aquaculture, master of arts, master of arts in education, master of arts in teaching, master of building construction, master of business administration, master of chemical engineering, master of civil engineering, master of commerce, master of communication disorders, master of community planning, master of dental surgery, master of design, master of divinity, master of education, master of electrical engineering, master of engineering, master of fine arts, master of health science, master of hispanic studies, master of industrial design, master of integrated design and construction, master of international studies, master of landscape architecture, master of laws, master of liberal arts, master of library & information studies, master of library science, master of materials engineering, master of mechanical engineering, master of music, master of natural resources, master of nurse anesthesia, master of political science, master of probability and statistics, master of professional studies, master of public administration, master of public health, master of real estate development, master of rehabilitation counseling, master of science, master of science in aerospace engineering, master of science in basic medical sciences, master of science in biomedical engineering, master of science in chemical engineering, master of science in chemistry, master of science in civil engineering, master of science in computer science, master of science in criminal justice, master of science in education, master of science in electrical engineering, master of science in engineering science & mechanics, master of science in forensic science, master of science in health administration, master of science in health informatics, master of science in human environmental sciences, master of science in industrial engineering, master of science in information systems, master of science in instructional leadership administration, master of science in justice and public safety, master of science in marine science, master of science in materials engineering, master of science in mechanical engineering, master of science in metallurgical engineering, master of science in nursing, master of science in occupational therapy, master of science in operations research, master of science in physician assistant studies, master of science in public health, master of science in software engineering, master of social work, master of software engineering, master of tax accounting, master of taxation, master of technical & professional communication, master of technology, master of urban and regional planning, masters]
250
+ Education Majors & Minors: [3d modelling, 3d modelling and animation, accountancy, accounting, acting, actuarial science, addiction counseling, administration, administration of justice, advertising, aerospace and aeronautical engineering, aerospace engineering, african american studies, african culture, african language, african language and culture, african language and literature, african language studies, african languages, african literature, african literature and culture, african studies, africana studies, africana study, afrikaans, afrikaans culture, afrikaans language, afrikaans language and culture, afrikaans language and literature, afrikaans language studies, afrikaans languages, afrikaans literature, afrikaans literature and culture, afrikaans studies, agricultural economics, agricultural engineering, agriculture, agriculture production, agriculture production and management, agronomy, airway science, american history, american indian studies, american literature, american sign language, american studies, anatomy, ancient civilizations, anesthesiology, animal behavior, animal bioscience, animal science, animation, anthropology, anthropology and archeology, apparel and merchandising, apparel and textiles, apparel design, applied digital art, applied economics, applied graphic design, applied linguistics, applied mathematics, applied physics, applied psychology, applied science, applied statistics, aquaculture, aquatics, arabic, arabic culture, arabic language, arabic language and culture, arabic language and literature, arabic language studies, arabic languages, arabic literature, arabic literature and culture, arabic studies, archeology, architectural engineering, architectural tech, architecture, architecture and engineering, area ethnic and civilization studies, art, art and design, art and music education, art education, art history, art therapy, asian american studies, asian studies, astrology, astronomy, astronomy and astrophysics, astrophysics, atmospheric science, atmospheric science and meteorology, audiology, automotive mechanics, aviation, avionic systems, avionics, avionics maintenance, baking, baking and pastry art, balkan culture, balkan language, balkan language and culture, balkan language and literature, balkan language studies, balkan languages, balkan literature, balkan literature and culture, balkan studies, ballet, baltic culture, baltic language, baltic language and culture, baltic language and literature, baltic language studies, baltic languages, baltic literature, baltic literature and culture, baltic studies, banking, behavioral science, behavioural science, biblical preaching, biblical studies, biobehavioral health, biochemical engineering, biochemical science, biochemistry, bioengineering, bioinformatics, biological engineering, biological science, biology, biomedical engineering, biomedical science, biophysics, biotechnology, botany, brass instruments, british literature, broadcast and cinematic art, broadcast journalism, broadcasting, buddhist studies, bulgarian, bulgarian culture, bulgarian language, bulgarian language and culture, bulgarian language and literature, bulgarian language studies, bulgarian languages, bulgarian literature, bulgarian literature and culture, bulgarian studies, business, business admin, business administration, business administration and management, business and medical administration, business economics, business finance, business law, business management, business management and administration, business marketing, business studies, celtic studies, ceramics, chemical engineering, chemistry, chicano, chicano culture, chicano studies, child and adolescent development, child development, chinese, chinese culture, chinese language, chinese language and culture, chinese language and literature, chinese language studies, chinese languages, chinese literature, chinese literature and culture, chinese studies, choral conducting, choral maintenance tech, christian administration, christian doctorine, christian preaching, civil engineering, classical culture, classical language, classical language and culture, classical language and literature, classical language studies, classical languages, classical literature, classical literature and culture, classical studies, classics, clinical nurse, clinical nursing, clinical psychology, coaching, cognitive science, cognitive science and biopsychology, college student affairs, commerce, commercial art, commercial science, commercial studies, communication, communication art, communication disorders science and services, communication management, communication studies, communication tech, communications, communications and media studies, community, community and public health, community development, comp lit, comp sci, comparative literature, comparative race and ethnic studies, comparative religious studies, composition, composition and rhetoric, computer, computer administration management and security, computer and information science, computer and information systems, computer application, computer applications, computer engineering, computer graphics, computer information systems, computer networking and telecommunications, computer programming, computer programming and data processing, computer science, computer science and electrical engineering, computer science and engineering, computer science and mathematics, computer systems, computer systems engineering, computer systems management, computer tech, conducting, conflict resolution, construction, construction and land development, construction management, construction services, consulting, consulting and sales, consumer science, corporate finance, corporate law, corrections, cosmetology, cosmetology services and culinary art, counseling, counseling psychology, court reporting, creative writing, criminal justice, criminal justice and fire protection, criminology, culinary art, culinary arts, curriculum and instruction, curriculum supervision, customer service, customer service management, cybersecurity, czech, czech culture, czech language, czech language and culture, czech language and literature, czech language studies, czech languages, czech literature, czech literature and culture, czech studies, dance, dance performance, danish, danish culture, danish language, danish language and culture, danish language and literature, danish language studies, danish languages, danish literature, danish literature and culture, danish studies, data science, demography, dental hygiene, dental tech, dentistry, design, digital art, digital video, digital video and cinema, digital visual effects, disability studies, distribution management, diversity studies, divinity, documentary production, drama, drama and theater art, drawing, drug development, dutch, dutch culture, dutch language, dutch language and culture, dutch language and literature, dutch language studies, dutch languages, dutch literature, dutch literature and culture, dutch studies, early childhood education, earth science, east asian studies, ecology, economics, education, educational administration and supervision, educational psychology, electrical engineering, electrical engineering and computer science, electrical engineering tech, electronics, electronics engineering, elementary education, energy, energy and climate policy, energy and enviornmental analysis, engineering, engineering and industrial management, engineering mechanics physics and science, engineering tech, english, english as a second language, english culture, english language, english language and culture, english language and literature, english language arts, english language studies, english languages, english literature, english literature and culture, english studies, entomology, entrepreneurial studies, entrepreneurship, environmental, environmental and geotechnical engineering, environmental engineering, environmental science, environmental studies, epidemiology, ethics, european civilization, european history, european modern languages, european studies, event planning, exercise and sport science, exercise science, family, family and community services, family and consumer science, family science, family therapy, fashion, fashion design, feminine spirituality, feminine studies, film, film and television, film directing, film photography, film photography and visual art, film video and photographic art, finance, finance and marketing, financial accounting, financial economics, financial engineering, financial forensics, financial forensics and fraud investigation, financial management, fine, fine and studio art, fine art, fine arts, finnish, finnish culture, finnish language, finnish language and culture, finnish language and literature, finnish language studies, finnish languages, finnish literature, finnish literature and culture, finnish studies, fisheries, fisheries and wildlife science, flute, flute performance, folklore, folklore studies, food, food and nutritional science, food preparation, food safety, food science, foreign relations, foreign studies, forensic chemistry, forensic computing, forensic science, forensics, forest science, forest tech, forestry, francophone studies, french, french culture, french language, french language and culture, french language and literature, french language studies, french languages, french literature, french literature and culture, french pastry, french studies, fundraising, fundraising and grantmaking, game design, gay and lesbian studies, gay lesbian studies, gender and diversity studies, gender and womens studies, gender studies, general agriculture, general business, general education, general engineering, general medical and health services, general science, general social science, general studies, genetics, genomics, geochemistry, geography, geological and geophysical engineering, geology, geology and earth science, geophysics, geoscience, geosciences, geotechnical engineering, german, german culture, german language, german language and culture, german language and literature, german language studies, german languages, german literature, german literature and culture, german studies, global health, global history, global studies, government, government and management, government and politics, graphic and printing, graphic and printing science, graphic art, graphic design, greek, greek culture, greek language, greek language and culture, greek language and literature, greek language studies, greek languages, greek literature, greek literature and culture, greek mythology, greek studies, gynecology, health administration, health and medical administrative services, health and medical preparatory programs, health care, health care administration, health education, health education teaching, health medical professions, health promotion, health science, health service administration, health services, healthcare, healthcare administration, hebrew, hebrew culture, hebrew language, hebrew language and culture, hebrew language and literature, hebrew language studies, hebrew languages, hebrew literature, hebrew literature and culture, hebrew studies, hindi, hindi culture, hindi language, hindi language and culture, hindi language and literature, hindi language studies, hindi languages, hindi literature, hindi literature and culture, hindi studies, hindu, hindu studies, historic preservation, history, holocaust studies, homeland security, horticulture, hospitality, hospitality and tourism, hospitality management, hotel management, human development, human physiology, human relations, human resource development, human resource management, human resources, human resources and personnel management, human resources management, human services, human services and community organization, humanities, hungarian, hungarian culture, hungarian language, hungarian language and culture, hungarian language and literature, hungarian language studies, hungarian languages, hungarian literature, hungarian literature and culture, hungarian studies, illustration, illustraton, immunology, indonesian, indonesian and malay languages, indonesian culture, indonesian language, indonesian language and culture, indonesian language and literature, indonesian language studies, indonesian languages, indonesian literature, indonesian literature and culture, indonesian studies, industrial administration, industrial and manufacturing engineering, industrial and organizational psychology, industrial design, industrial engineering, industrial engineering and operations research, industrial production tech, industrial relations, industrial safety, industrial sales, industrial tech, informatics, information science, information science and agronomy, information science and tech, information systems, information systems management, information tech, instructional tech, interactive media, intercultural and international studies, interdisciplinary social science, interdisciplinary studies, international affairs, international business, international commerce, international communications, international development, international development and conflict management, international economic relations, international economics, international finance, international law, international relations, international studies, investment analysis, investment banking, irish studies, islamic culture, islamic religion, islamic studies, italian, italian culture, italian language, italian language and culture, italian language and literature, italian language studies, italian languages, italian literature, italian literature and culture, italian studies, japanese, japanese culture, japanese language, japanese language and culture, japanese language and literature, japanese language studies, japanese languages, japanese literature, japanese literature and culture, japanese studies, jazz, jazz performance, journalism, judaic studies, kinesiology, korean, korean culture, korean language, korean language and culture, korean language and literature, korean language studies, korean languages, korean literature, korean literature and culture, korean studies, labor relations, labor studies, landscape architecture, landscaping, landscaping and groundskeeping, language and drama education, latin, latin american and caribbean studies, latin american studies, law, law enforcement, law enforcement executive development, leadership, legal administration, legal studies, lgbtq studies, liberal art, liberal arts, liberal studies, library science, linguistics, linguistics and comparative language and literature, literature, liturgical studies, logic, logistics, management, management information systems and statistics, management science, management studies, mandarin, mandarin chinese, mandarin culture, mandarin language, mandarin language and culture, mandarin language and literature, mandarin language studies, mandarin languages, mandarin literature, mandarin literature and culture, mandarin studies, marine biology, marine science, marketing, masonry, mass media, materials engineering, materials engineering and materials science, materials science, mathematical modeling, mathematical science, mathematics, mechanical engineering, mechanical engineering related tech, mechanical tech, mechatronics, mechatronics and automation, mechatronics engineering, media art, media art and entertainment, media management, media studies, medical assisting services, medical biology, medical engineering, medical insurance, medical tech, medicine, medieval and renaissance studies, medieval studies, metallurgical engineering, metaphysics, meteorology, microbiology, middle eastern studies, military science, military tech, mining, mining and mineral engineering, mining engineering, ministry, modern art, modern languages, molecular biology, molecular biophysics, multicultural studies, multimedia, multimedia journalism, music, music education, mythology, mythology and folklore, nanotechnology, native american studies, natural resource conservation, natural resources conservation, natural resources management, natural science, naval architecture, naval architecture and marine engineering, naval architecture and ocean engineering, near and middle eastern studies, near eastern studies, network administration, network and systems administration, neuroscience, norwegian, norwegian culture, norwegian language, norwegian language and culture, norwegian language and literature, norwegian language studies, norwegian languages, norwegian literature, norwegian literature and culture, norwegian studies, nuclear engineering, nuclear propulsion, number theory, nursing, nursing administration, nutrition, nutrition science, nutritional science, occupational health, occupational health and safety, occupational safety, occupational safety engineering, occupational therapy, oceanography, operations logistics, operations logistics and e-commerce, operations management, optometry, orchestral conducting, organ performance, organic chemistry, organization administration, organizational and professional communications, organizational communications, organizational leadership, organizational management, orthodontics, painting, paleontology, paralegal, paralegal studies, parks, parks and recreation, parks recreation and leisure studies, percussion, performing art, performing arts, petroleum engineering, petroleum geoscience, petroleum tech, pharmaceutical administration, pharmaceutical development, pharmaceutical science, pharmacology, pharmacy, philosophy, photography, physical, physical activity, physical and health education teaching, physical education, physical fitness parks recreation and leisure, physical science, physical therapy, physics, physiology, physiotherapy, piano, piano performace, piano performance, planetary, planetary and atmospheric science, plant science, plant science and agronomy, playwriting, poetry, police science, political development, political science, political science and government, politics, poly sci, portuguese, portuguese culture, portuguese language, portuguese language and culture, portuguese language and literature, portuguese language studies, portuguese languages, portuguese literature, portuguese literature and culture, portuguese studies, pre dental, pre law, pre law and legal studies, pre med, pre optometry, pre orthodontics, prelaw, premed, premedicine, product design, product marketing, production tech, project management, psychology, public admin, public administration, public affairs, public health, public law, public policy, public relations, public service, public service and administration, publishing, puppetry, quality improvement, queer studies, rabbinic studies, rabbinical studies, radio broadcasting, radiology, real estate, recording art, recording arts, recreation, recreation administration, regional planning, religious education, religious studies, retail, rhetoric, robotics, russian, russian culture, russian language, russian language and culture, russian language and literature, russian language studies, russian languages, russian literature, russian literature and culture, russian studies, scandinavian, scandinavian culture, scandinavian language, scandinavian language and culture, scandinavian language and literature, scandinavian language studies, scandinavian languages, scandinavian literature, scandinavian literature and culture, scandinavian studies, school student counseling, science and computer teacher education, science information, science tech, science tech and society, screen art and cultures, screen writing, screenwriting, sculpture, secondary teacher education, semiconductor manufacturing, serbian, serbian culture, serbian language, serbian language and culture, serbian language and literature, serbian language studies, serbian languages, serbian literature, serbian literature and culture, serbian studies, slavic culture, slavic language, slavic language and culture, slavic language and literature, slavic language studies, slavic languages, slavic literature, slavic literature and culture, slavic studies, social psychology, social science, social sciences, social services, social studies, social work, sociology, software development, software engineering, soil science, sommelier, spanish, spanish culture, spanish language, spanish language and culture, spanish language and literature, spanish language studies, spanish languages, spanish literature, spanish literature and culture, spanish studies, special education, special needs education, speech and hearing science, speech communications, speech language pathology, speech pathology, speech science, sport administration, sport communications, sport management, sport philosophy, sport psychology, sports and fitness, sports management, statistics, statistics and decision science, stringed instruments, studio art, studio arts, supply chain management, sustainability, sustainability management, sustainability studies, swedish, swedish culture, swedish language, swedish language and culture, swedish language and literature, swedish language studies, swedish languages, swedish literature, swedish literature and culture, swedish studies, talmudic studies, taxidermy, teacher education, teaching, telecom, telecom and electronics, telecommunications, television, television broadcasting, theater, theater art, theater arts, theatre, theological studies, theology, theology and religious vocations, tibetan, tibetan culture, tibetan language, tibetan language and culture, tibetan language and literature, tibetan language studies, tibetan languages, tibetan literature, tibetan literature and culture, tibetan studies, tourism, tourism management, toxicology, transportation science and tech, travel, travel and tourism management, travel services management, treatment therapy professions, trial advocacy, turfgrass science, turkish, turkish culture, turkish language, turkish language and culture, turkish language and literature, turkish language studies, turkish languages, turkish literature, turkish literature and culture, turkish studies, ukrainian, ukrainian culture, ukrainian language, ukrainian language and culture, ukrainian language and literature, ukrainian language studies, ukrainian languages, ukrainian literature, ukrainian literature and culture, ukrainian studies, united states history, urban planning, urban schooling, urban social studies, urban sociology, urban studies, veterinary pathology, veterinary science, veterinary studies, vietnamese, vietnamese culture, vietnamese language, vietnamese language and culture, vietnamese language and literature, vietnamese language studies, vietnamese languages, vietnamese literature, vietnamese literature and culture, vietnamese studies, virology, visual, visual and performing art, visual art, visual communications, visual effects, viticulture, vlsi design, vlsi engineer, vocal performance, vocational counseling, vocational rehabilitation, voice, voice and opera, web development, welding, welding engineering, wellness management, wildlife and fisheries science, wildlife and fishery science, wildlife science, wildlife tech, womens studies, writing, writing and culture, zoology]
251
+ Industry types: [accounting, airlines/aviation, alternative dispute resolution, alternative medicine, animation, apparel & fashion, architecture & planning, arts and crafts, automotive, aviation & aerospace, banking, biotechnology, broadcast media, building materials, business supplies and equipment, capital markets, chemicals, civic & social organization, civil engineering, commercial real estate, computer & network security, computer games, computer hardware, computer networking, computer software, construction, consumer electronics, consumer goods, consumer services, cosmetics, dairy, defense & space, design, e-learning, education management, electrical/electronic manufacturing, entertainment, environmental services, events services, executive office, facilities services, farming, financial services, fine art, fishery, food & beverages, food production, fund-raising, furniture, gambling & casinos, glass, ceramics & concrete, government administration, government relations, graphic design, health, wellness and fitness, higher education, hospital & health care, hospitality, human resources, import and export, individual & family services, industrial automation, information services, information technology and services, insurance, international affairs, international trade and development, internet, investment banking, investment management, judiciary, law enforcement, law practice, legal services, legislative office, leisure, travel & tourism, libraries, logistics and supply chain, luxury goods & jewelry, machinery, management consulting, maritime, market research, marketing and advertising, mechanical or industrial engineering, media production, medical devices, medical practice, mental health care, military, mining & metals, motion pictures and film, museums and institutions, music, nanotechnology, newspapers, non-profit organization management, oil & energy, online media, outsourcing/offshoring, package/freight delivery, packaging and containers, paper & forest products, performing arts, pharmaceuticals, philanthropy, photography, plastics, political organization, primary/secondary education, printing, professional training & coaching, program development, public policy, public relations and communications, public safety, publishing, railroad manufacture, ranching, real estate, recreational facilities and services, religious institutions, renewables & environment, research, restaurants, retail, security and investigations, semiconductors, shipbuilding, sporting goods, sports, staffing and recruiting, supermarkets, telecommunications, textiles, think tanks, tobacco, translation and localization, transportation/trucking/railroad, utilities, venture capital & private equity, veterinary, warehousing, wholesale, wine and spirits, wireless, writing and editing]
252
+ Language names: [afrikaans, akan, albanian, amazigh, american sign language, amharic, arabic, aramaic, armenian, assamese, aymara, azerbaijani, balochi, bambara, banda, bashkort, basque, belarusian, bemba, bengali, bhojpuri, bislama, bosnian, brahui, bulgarian, burmese, cantonese, catalan, cebuano, chechen, cherokee, chewa, croatian, czech, dakota, danish, dari, dholuo, dinka, dutch, english, esperanto, estonian, ewe, farsi, filipino, finnish, fon, french, fula, galician, georgian, german, gikuyu, greek, guarani, gujarati, haitian creole, hausa, hawaiian, hawaiian creole, hebrew, hiligaynon, hindi, hungarian, icelandic, igbo, ilocano, indonesian, inuit/inupiaq, irish gaelic, italian, japanese, jarai, javanese, k'iche', kabyle, kannada, kashmiri, kazakh, khmer, khoekhoe, kinyarwanda, kongo, konkani, korean, kurdish, kyrgyz, lao, latin, latvian, lingala, lithuanian, macedonian, maithili, malagasy, malay, malayalam, mandarin, mandinka, marathi, mende, mongolian, nahuatl, navajo, nepali, norwegian, ojibwa, oriya, oromo, pashto, persian, polish, portuguese, punjabi, quechua, romani, romanian, russian, samoan, sanskrit, serbian, shona, sindhi, sinhala, sinhalese, slovak, slovene, slovenian, somali, songhay, spanish, swahili, swazi, swedish, tachelhit, tagalog, taiwanese, tajiki, tamil, tatar, telugu, thai, tibetic languages, tigrigna, tok pisin, tonga, tsonga, tswana, tuareg, turkish, turkmen, ukrainian, urdu, uyghur, uzbek, vietnamese, warlpiri, welsh, wolof, xhosa, yakut, yiddish, yoruba, yucatec, zapotec, zulu]
253
+ Profile Networks: [aboutme, angellist, behance, crunchbase, dribbble, ello, facebook, flickr, foursquare, github, gitlab, google, gravatar, indeed, instagram, klout, linkedin, medium, meetup, myspace, pinterest, quora, reddit, soundcloud, stackoverflow, twitter, vimeo, wordpress, xing, youtube]
254
+
255
+ If there is any inference from the search query that the user is searching with a particular field type that falls under the category of one of the above fields,
256
+ try to populate the "value" key with the enum values provided against the associated particular field.
257
+
258
+ === When analyzing the search query, please consider a few key points that might usually be associated with each query:
259
+
260
+ 1. Current Location
261
+ If you encounter any information related to a location that is not related/attached to a specific work experience build the field/operator/value object with keys starting with location_.
262
+ Populate country/locality/name/continent accordingly.
263
+ If you encounter an alpha-2/alpha-3 code inferring a location convert it into the corresponding name for the city/state/country before building a field/operator/value object out of it and DO NOT INCLUDE THE CODES in the object.
264
+ location_name field contains the format "locality, region, country" so if all three are inferred from the query use build only a single object with location_name field instead of separate objects for location_name, location_locality and location_country fields.
265
+ For example, for the search query: experienced software engineers from austin tx,
266
+ use the object { "field": "location_name", "operator": "=", "austin, texas, united states" } instead of { "field": "location_name", "operator": "=", "austin, tx, united states" }
267
+
268
+ 2. Work Experience
269
+ If there's any indication in the query that the candidate should have some sort of work experience in whatsoever field build the field/operator/value object with field value as experience.
270
+ For example, if the search query states 5+ years of experience the object comes out to be { "field": "experience.num_sources", "operator": ">", "value": 5 } or { "field": "inferred_years_experience", "operator": ">", "value": 5 }.
271
+ Another example would be if the query stated principal software engineers it would ideally be good to build field/operator/value object with value greater than 7, i.e { "field": "experience.num_sources", "operator": ">", "value": 7 } or { "field": "inferred_years_experience", "operator": ">", "value": 7 }.
272
+ Do not explicitly assume that an experienced software engineer means that the work experience must more than 5 years rather try to deduce it from the title if there is any in the search query.
273
+
274
+ 3. Contact information & Not Null
275
+ The main fields for mapping any sort of contact information that is found in the search query are mobile_phone and recommended_personal_email. If there's any indication
276
+ in the search query that the candidates should have some sort of contact information build the objects for those as well otherwise skip them
277
+
278
+ 4. Current Job Title/Current Company
279
+ Majority of the search queries will have some sort of job title or an indication towards the past/current field of the potential candidates search, populate those fields against the job_title key.
280
+ And populate any sort of information from the search query about the current company against the keys starting with job_company_
281
+ Make sure to decode/use full forms of any shortened job titles. A couple of examples below:
282
+ 1. For "sales rep" use "sales representative".
283
+ 2. For "cfo" use "chief financial officer".
284
+ 3. "JS developer", "FE developer" and "BE developer" go as "JavaScript developer", "Front-end developer" and "Backend developer" respectively.
285
+
286
+ === Additional analysis criteria
287
+
288
+ 1. When selecting the field, always pick the values for the "field" key from the section specifying the possible values for it that fall under the description for the value.
289
+ For example { "field": "experience.num_sources", "operator": ">", "value": 7 } is a valid object according to the schema.
290
+ On the other hand { "field": "experience", "operator": ">", "value": 7 } is not
291
+
292
+ 2. When selecting the field, THERE CAN BE MULTIPLE possible values for the "field" key that fit from the section specifying the possible values for it, MAKE SURE TO GENERATE field/operator/value objects for all of those values after nesting them inside another array.
293
+ Example 1: The search query indicates that the candidate should have worked in the defense industry
294
+ Generated Search Criteria 1: [
295
+ ...Other field/operator/value objects,
296
+ [
297
+ { "field": "industry", "operator": "=", "value": "defense and space" },
298
+ { "field": "job_company_industry", "operator": "=", "value": "defense and space" },
299
+ { "field": "experience.company.industry", "operator": "=", "value": "defense and space" }
300
+ ]
301
+ ]
302
+
303
+ Example 2: The search query indicates that the candidate should have 3 or more years of experience
304
+ Generated Search Criteria 2: [
305
+ ...Other field/operator/value objects,
306
+ [
307
+ { "field": "experience.num_source", "operator": ">=", "value": 3 },
308
+ { "field": "inferred_years_experience", "operator": ">=", "value": 3 }
309
+ ]
310
+ ]
311
+
312
+ 3. Assume that the operators will be adding up to an SQL query so make use of IN, NOT IN, NULL and NOT NULL as operators where necessary, in which case value field should be null/array of values.
313
+ Example 1: The search query indicates that the candidates should have experience in Python and AWS
314
+ Generated Object 1: { "field": "skills", "operator": "in", "value": ["Python", "AWS"] }
315
+
316
+ Example 2: The search query indicates that the candidates should have an email and a phone number
317
+ Generated Object 2: { "field": "recommended_personal_email", "operator": "not null", "value": null }
318
+
319
+ If you are unable to generate a search criteria, please try again. Check your output and rerun the prompt if you are not satisfied with the results.
320
+
321
+ Example JSON output structure:
322
+ {
323
+ "search_criteria": [
324
+ { "field": "field1", "operator": "operator1", "value": "value1" },
325
+ { "field": "field2", "operator": "operator2", "value": "value2" },
326
+ [
327
+ { "field": "field3", "operator": "operator3", "value": "value3" },
328
+ { "field": "field4", "operator": "operator4", "value": "value4" }
329
+ ]
330
+ ],
331
+ "keywords": {
332
+ "name": "Any job title inferred from the query",
333
+ "geography": "geographical location inferred from the query",
334
+ "location": "location inferred from the query"
335
+ }
336
+ }
337
+ PROMPT
338
+ end
339
+ end
340
+ end
341
+ end
342
+ end
343
+ end
344
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kerplunk
4
+ module AI
5
+ module Prompts
6
+ module Templates
7
+ module Generation
8
+ # The InviteToApplyEmail class is responsible for generating a prompt for generation of invitation
9
+ # to apply email
10
+ class InviteToApplyEmail
11
+ # Generates an application invitation email prompt
12
+ def self.generate_prompt
13
+ <<~PROMPT
14
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have the key "email" and "subject" with a values that is a string containing valid HTML for the invite to apply email and the email subject respectively.
15
+
16
+ You are a recruiter writing a short, friendly, and slightly playful email to a passive candidate. Please include the following placeholders exactly as written:
17
+ - *first_name*
18
+ - *job_title*
19
+ - *current_company*
20
+ - *job_link*
21
+ - *industry*
22
+
23
+ Required Output Format:
24
+
25
+ 1. Subject Line:
26
+ Provide a concise subject line that entices the candidate to open the email. And include it in the response against the "subject" key
27
+
28
+ 2. Email Body:
29
+ - Greet the candidate using *first_name*.
30
+ - Mention that you saw their profile on LinkedIn.
31
+ - Highlight why they caught your eye by using a compliment.
32
+ - Introduce the opportunity for a *job_title* role.
33
+ - Mention the role is in the *industry*, but not at *current_company*.
34
+ - Indicate that the pay can go up to $150k/year.
35
+ - Invite them to apply or learn more via the link *job_link*.
36
+ - Close with a warm and friendly sign-off, using the name "Jonathan."
37
+
38
+ Tone & Style:
39
+ - Warm, authentic, and slightly playful.
40
+ - Keep it short and to the point.
41
+ - Show genuine enthusiasm for their skills.
42
+
43
+ Example JSON output structure:
44
+ {
45
+ "subject": "You’d be great at this, *first_name*!",
46
+ "email": "<p>The email body goes here....</p>"
47
+ }
48
+ PROMPT
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kerplunk
4
+ module AI
5
+ module Prompts
6
+ module Templates
7
+ module Generation
8
+ # The InviteToApplyFollowUpEmail class is responsible for generating a prompt for generation
9
+ # of a follow-up invitation email.
10
+ class InviteToApplyFollowUpEmail
11
+ # Generates an application invitation follow-up prompt
12
+ def self.generate_prompt
13
+ <<~PROMPT
14
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have the key "email" and "subject" with a values that is a string containing valid HTML for the invitation to apply follow up email and the email subject respectively.
15
+
16
+ You are a recruiter writing a short, friendly, and slightly playful follow-up email to a candidate previously approached for an opportunity through an email.
17
+ Please include the following placeholders exactly as written:
18
+ - *first_name*
19
+ - *job_title*
20
+ - *current_company*
21
+ - *job_link*
22
+ - *industry*
23
+
24
+ Required Output Format:
25
+
26
+ 1. Subject Line:
27
+ Provide a concise subject line that entices the candidate to open the email. And include it in the response against the "subject" key
28
+
29
+ 2. Email Body:
30
+ - Greet the candidate using *first_name*.
31
+ - Mention that you saw their profile on LinkedIn.
32
+ - Highlight why they caught your eye by using a compliment.
33
+ - Introduce the opportunity for a *job_title* role.
34
+ - Mention the role is in the *industry*, but not at *current_company*.
35
+ - Indicate that the pay can go up to $150k/year.
36
+ - Invite them to apply or learn more via the link *job_link*.
37
+ - Close with a warm and friendly sign-off, using the name "Jonathan."
38
+
39
+ Tone & Style:
40
+ - Warm, authentic, and slightly playful.
41
+ - Keep it short and to the point.
42
+ - Show genuine enthusiasm for their skills.
43
+
44
+ Example JSON output structure:
45
+ {
46
+ "subject": "Following up on an opportunity, *first_name*!",
47
+ "email": "<p>The email body goes here....</p>"
48
+ }
49
+ PROMPT
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -3,7 +3,7 @@
3
3
  module Kerplunk
4
4
  module AI
5
5
  module Prompts
6
- VERSION = "0.1.29"
6
+ VERSION = "0.1.31"
7
7
  end
8
8
  end
9
9
  end
@@ -22,7 +22,10 @@ module Kerplunk
22
22
  :interview_question_analysis,
23
23
  :interview_analysis,
24
24
  :copilot_interview_analysis,
25
- :resume_analysis
25
+ :resume_analysis,
26
+ :candidate_search_criteria,
27
+ :invite_to_apply_email,
28
+ :invite_to_apply_follow_up_email
26
29
  ]
27
30
  end
28
31
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kerplunk-ai-prompts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.29
4
+ version: 0.1.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Schutt
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-27 00:00:00.000000000 Z
11
+ date: 2025-02-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A collection of AI prompt templates for use in Kerplunk
14
14
  email:
@@ -33,7 +33,10 @@ files:
33
33
  - lib/kerplunk/ai/prompts/templates/analysis/interview.rb
34
34
  - lib/kerplunk/ai/prompts/templates/analysis/interview_question.rb
35
35
  - lib/kerplunk/ai/prompts/templates/analysis/resume.rb
36
+ - lib/kerplunk/ai/prompts/templates/generation/candidate_search_criteria.rb
36
37
  - lib/kerplunk/ai/prompts/templates/generation/interview_questions.rb
38
+ - lib/kerplunk/ai/prompts/templates/generation/invite_to_apply_email.rb
39
+ - lib/kerplunk/ai/prompts/templates/generation/invite_to_apply_follow_up_email.rb
37
40
  - lib/kerplunk/ai/prompts/templates/generation/job_description.rb
38
41
  - lib/kerplunk/ai/prompts/version.rb
39
42
  - sig/kerplunk/ai/prompts.rbs
@@ -45,7 +48,7 @@ metadata:
45
48
  homepage_uri: https://kerplunk.com
46
49
  source_code_uri: https://kerplunk.com
47
50
  changelog_uri: https://kerplunk.com/CHANGELOG.md
48
- post_install_message:
51
+ post_install_message:
49
52
  rdoc_options: []
50
53
  require_paths:
51
54
  - lib
@@ -61,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
64
  version: '0'
62
65
  requirements: []
63
66
  rubygems_version: 3.5.11
64
- signing_key:
67
+ signing_key:
65
68
  specification_version: 4
66
69
  summary: Kerplunk AI Prompt Templates
67
70
  test_files: []