kerplunk-ai-prompts 0.1.6 → 0.1.8

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: 118144917c2f1cf6714adfbb4f5ec03bb7ba8712cc8ee6d8ecf13d9908cbba46
4
- data.tar.gz: 8bfb5099630077a091f6900023b2c1772c31a8348906e37facc15605ce5e1d50
3
+ metadata.gz: c3f1094d0085b6905fd0b7882da68c877308cfc38ab7e6a1b225fae646bdfda6
4
+ data.tar.gz: c66630d687c98437280aea0f987270ebf10b5f06d5a42c5497b1301d09e317ea
5
5
  SHA512:
6
- metadata.gz: 72808788b8ea92efb9b5d0d2280c38460cc9c9d8b2baeb8ad38f9dd513571cc528fa537a8eb06dc73b8fd174a0ab97c37cfd23faa801bf30a1f051fdc6b7a678
7
- data.tar.gz: cac698c1e31bf19ecd0d4f7c3d4bc1ae89e84829ac0327c40f9c955a880b3dc95661cc54af02f84f0902e63a46d0031955b4f6504b00ad5025e7d5aabfa8b5fe
6
+ metadata.gz: d053a0717e70374da391cfa89b7ce633de13bb13be6cced02f5b3c7fece4dbf6b5716d9aeb2fa35571d88891e2c4c6b54ef996c6fbce76dc50a4ea19567f21c6
7
+ data.tar.gz: e5be514de3acdf19c9b0f6b5009be8917f4bca57c47b2eee743a14c60d9dd0da13b5a35ec894df428cb8caeb5420b050f9f73bc067f131af78be721bcaf61ba9
@@ -23,6 +23,8 @@ module Kerplunk
23
23
  question_answer_prompts = question_models.collect(&:question_prompt)
24
24
 
25
25
  <<~PROMPT
26
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have a single key "description" with a value that is a string containing valid HTML for the job description.
27
+
26
28
  You are an expert recruiter. You are performing the interview of a candidate to effectively evaluate them for a new role at #{organization_name}.
27
29
 
28
30
  === Nonnegotiables for the interview analysis
@@ -18,6 +18,9 @@ module Kerplunk
18
18
  transcript = "<NOTRANSCRIPT />" if transcript.nil? || transcript.empty?
19
19
 
20
20
  <<~PROMPT
21
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have a single key "description" with a value that is a string containing valid HTML for the job description.
22
+
23
+
21
24
  You are an expert recruiter. You are performing the interview of a candidate to effectively evaluate them for their #{question_type} skills. Please provide a score from 1 to 100. Please provide three high-level bullet pointed comments about how the candidate did on the question as the `commentary` key.
22
25
 
23
26
  Please ensure the following:
@@ -19,6 +19,8 @@ module Kerplunk
19
19
  raise ArgumentError, "resume_text is required" if resume_text.nil? || resume_text.empty?
20
20
 
21
21
  <<~PROMPT
22
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have a single key "description" with a value that is a string containing valid HTML for the job description.
23
+
22
24
  You are an expert recruiter. You are performing the interview of a candidate to effectively evaluate them for a new role at #{organization_name}. Please analyze the resume added after `====`. Please provide a score from 1 to 100.
23
25
 
24
26
  === The Job Title
@@ -66,6 +68,9 @@ module Kerplunk
66
68
  This is the score of the candidate's technical skills. This should be based on the candidate's technical knowledge and how well they fit the job description.
67
69
 
68
70
  An example output should be JSON and look like the below. Please be sure the output is a valid JSON format even if you cannot generate the interview questions. The JSON should not include any markdown or newline characters such as "```json" that would normally be used for rendering in markdown.
71
+
72
+ Please do NOT include any explanatory text outside the JSON. The data returned should be a valid JSON format. Please double check the output is valid json with no explanatory text.
73
+
69
74
  === JSON Output
70
75
  {
71
76
  "scores": {
@@ -12,6 +12,8 @@ module Kerplunk
12
12
  raise ArgumentError, "description is required" if description.nil? || description.empty?
13
13
 
14
14
  <<~PROMPT
15
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have a single key "description" with a value that is a string containing valid HTML for the job description.
16
+
15
17
  You are an expert recruiter. You are performing the interview of a candidate to effectively evaluate them on all fronts: personal skills, technical skills, job-specific skills, soft-skills, and the “x-factor”. The interview should start off with a few questions about the candidate, then go to exactly 5 questions regarding the job posting listed below after ###, and then finally please ask a few questions to help assess personality and cultural fit (you can be creative here). These questions should aim to be simple, effective, empathetic, non-biased, and descriptive enough to be used in further prompts when analyzing the results of the interview.
16
18
 
17
19
  Please output the questions in a JSON array. Please make sure that there are 2-3 personal questions, exactly 5 questions regarding the job posting (at least 1 technical question should be about an example scenario), and 2-3 questions to assess personality and cultural fit.
@@ -18,7 +18,7 @@ module Kerplunk
18
18
  def self.generate_prompt(
19
19
  job_title,
20
20
  industry,
21
- organization_name_requirement = true,
21
+ organization_name_requirement,
22
22
  organization_name,
23
23
  organization_size,
24
24
  job_location,
@@ -28,39 +28,41 @@ module Kerplunk
28
28
  raise ArgumentError, "job_title is required" if job_title.nil? || job_title.empty?
29
29
  raise ArgumentError, "industry is required" if industry.nil? || industry.empty?
30
30
 
31
- if organization_name_requirement
32
- organization_name_requirement_text = "Please ensure the job description includes the organization name."
31
+ organization_name_requirement_text = if organization_name_requirement
32
+ "Please ensure the job description includes the organization name."
33
33
  else
34
34
  organization_name = "an organization"
35
- organization_name_requirement_text = "Please ensure the job description does not include the organization name."
35
+ "Please ensure the job description does not include the organization name."
36
36
  end
37
+
37
38
  <<~PROMPT
38
- You are an expert recruiter. You are creating a job description for "#{job_title}" for #{organization_name}. They are a key player in the "#{industry}" industry. They currently have a staff size of "#{organization_size} employees" and are looking for top-tier talent. Always include bullet points in the following sections: Responsibilities, Qualifications. If a description is provided below, please use that to help formulate a high-quality description.
39
+ Respond with a RAW JSON object only. Do not include any explanatory text outside the JSON. The JSON object should have a single key "description" with a value that is a string containing valid HTML for the job description.
40
+
41
+ You are an expert recruiter creating a job description for "#{job_title}" for #{organization_name}. They are a key player in the "#{industry}" industry with a staff size of "#{organization_size} employees" and are seeking top-tier talent.
39
42
 
40
43
  Please ensure the description:
41
- - is grammatically correct
42
- - is not offensive
43
- - does not contain any profanity
44
- - is not superficial
45
- - maintains a consistent tone
46
- - Always include bullet points in the following sections: Responsibilities, Qualifications, Benefits, and Requirements
47
- - Please ensure the generated HTML is valid
44
+ - Is grammatically correct
45
+ - Is not offensive
46
+ - Does not contain any profanity
47
+ - Is not superficial
48
+ - Maintains a consistent tone
49
+ - Always includes bullet points in the following sections: Responsibilities, Qualifications, Benefits, and Requirements
50
+ - Is formatted with valid HTML, not Markdown or newline characters
48
51
  #{organization_name_requirement_text}
49
52
 
50
- If for any reason you are unable to generate the description, please try again. Please check your output, and rerun the prompt if you are not satisfied with the results.
53
+ If you are unable to generate the description, please try again. Check your output and rerun the prompt if you are not satisfied with the results.
51
54
 
52
- An example output should be JSON and look like this. The description should be formatted with valid HTML, not Markdown or newline characters.
55
+ Example JSON output structure:
53
56
  {
54
- description: ""
57
+ "description": "<p>Job description HTML content goes here...</p>"
55
58
  }
56
59
 
57
- === Job Location
58
- #{job_location}
60
+ Job Location: #{job_location}
59
61
 
60
- === Current Description
62
+ Current Description:
61
63
  #{job_description}
62
64
 
63
- === Full Job Listing JSON - Please consider the categories and subcategories carefully
65
+ Full Job Listing JSON - Please consider the categories and subcategories carefully:
64
66
  #{raw_string}
65
67
  PROMPT
66
68
  end
@@ -3,7 +3,7 @@
3
3
  module Kerplunk
4
4
  module AI
5
5
  module Prompts
6
- VERSION = "0.1.6"
6
+ VERSION = "0.1.8"
7
7
  end
8
8
  end
9
9
  end
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.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Schutt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-24 00:00:00.000000000 Z
11
+ date: 2024-06-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A collection of AI prompt templates for use in Kerplunk
14
14
  email: