@dzhechkov/skills-academic 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/answer-assessor/SKILL.md +121 -0
- package/answer-assessor/evals/answer-assessor.yaml +75 -0
- package/answer-assessor/schemas/output.json +111 -0
- package/answer-assessor/scripts/validate-config.json +34 -0
- package/defense-evaluator/SKILL.md +136 -0
- package/defense-evaluator/evals/defense-evaluator.yaml +77 -0
- package/defense-evaluator/schemas/output.json +136 -0
- package/defense-evaluator/scripts/validate-config.json +35 -0
- package/dissertation-review/SKILL.md +211 -0
- package/dissertation-review/evals/dissertation-review.yaml +78 -0
- package/dissertation-review/schemas/output.json +93 -0
- package/dissertation-review/scripts/validate-config.json +37 -0
- package/document-checker/SKILL.md +181 -0
- package/document-checker/evals/document-checker.yaml +53 -0
- package/document-checker/schemas/output.json +114 -0
- package/document-checker/scripts/validate-config.json +45 -0
- package/package.json +32 -0
- package/question-generator/SKILL.md +196 -0
- package/question-generator/evals/question-generator.yaml +69 -0
- package/question-generator/schemas/output.json +87 -0
- package/question-generator/scripts/validate-config.json +49 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# question-generator evaluation
|
|
2
|
+
# Run: aqe eval question-generator
|
|
3
|
+
|
|
4
|
+
test_cases:
|
|
5
|
+
- name: "basic invocation"
|
|
6
|
+
input: "Сгенерируй вопросы к защите"
|
|
7
|
+
expected:
|
|
8
|
+
status: success
|
|
9
|
+
summary_contains: "question-generator"
|
|
10
|
+
|
|
11
|
+
- name: "questions from topic"
|
|
12
|
+
input: "Сгенерируй вопросы к защите ВКР на тему 'Влияние цифровой трансформации на управление знаниями'"
|
|
13
|
+
expected:
|
|
14
|
+
status: success
|
|
15
|
+
has_fields:
|
|
16
|
+
- topic
|
|
17
|
+
- questions
|
|
18
|
+
- stats
|
|
19
|
+
|
|
20
|
+
- name: "all categories present"
|
|
21
|
+
input: "Сгенерируй вопросы всех категорий по ВКР о машинном обучении в медицине"
|
|
22
|
+
expected:
|
|
23
|
+
status: success
|
|
24
|
+
questions_categories_include:
|
|
25
|
+
- basic
|
|
26
|
+
- methodological
|
|
27
|
+
- practical
|
|
28
|
+
- critical
|
|
29
|
+
- related
|
|
30
|
+
|
|
31
|
+
- name: "difficulty ranking"
|
|
32
|
+
input: "Ранжируй вопросы по сложности от базовых к экспертным"
|
|
33
|
+
expected:
|
|
34
|
+
status: success
|
|
35
|
+
has_fields:
|
|
36
|
+
- questions
|
|
37
|
+
questions_sorted_by: difficulty
|
|
38
|
+
|
|
39
|
+
- name: "expected keywords"
|
|
40
|
+
input: "Для каждого вопроса укажи ожидаемые ключевые слова в ответе"
|
|
41
|
+
expected:
|
|
42
|
+
status: success
|
|
43
|
+
all_questions_have: expected_keywords
|
|
44
|
+
|
|
45
|
+
- name: "basic questions only"
|
|
46
|
+
input: "Сгенерируй только базовые вопросы для проверки понимания темы"
|
|
47
|
+
expected:
|
|
48
|
+
status: success
|
|
49
|
+
questions_category_filter: basic
|
|
50
|
+
|
|
51
|
+
- name: "provocative questions"
|
|
52
|
+
input: "Подготовь провокационные вопросы по слабым местам работы"
|
|
53
|
+
expected:
|
|
54
|
+
status: success
|
|
55
|
+
has_fields:
|
|
56
|
+
- questions
|
|
57
|
+
questions_categories_include:
|
|
58
|
+
- critical
|
|
59
|
+
|
|
60
|
+
- name: "question count and stats"
|
|
61
|
+
input: "Сгенерируй 10-15 вопросов и покажи статистику по категориям"
|
|
62
|
+
expected:
|
|
63
|
+
status: success
|
|
64
|
+
has_fields:
|
|
65
|
+
- stats
|
|
66
|
+
stats_has:
|
|
67
|
+
- total_questions
|
|
68
|
+
- by_category
|
|
69
|
+
- by_difficulty
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "question-generator output",
|
|
4
|
+
"description": "Structured output from the question-generator skill",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["status", "topic", "questions", "stats"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"status": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"enum": ["success", "error", "skipped"]
|
|
11
|
+
},
|
|
12
|
+
"topic": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Thesis topic"
|
|
15
|
+
},
|
|
16
|
+
"key_concepts": {
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": { "type": "string" },
|
|
19
|
+
"description": "Key concepts extracted from the thesis"
|
|
20
|
+
},
|
|
21
|
+
"key_methods": {
|
|
22
|
+
"type": "array",
|
|
23
|
+
"items": { "type": "string" },
|
|
24
|
+
"description": "Key methods used in the thesis"
|
|
25
|
+
},
|
|
26
|
+
"key_results": {
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": { "type": "string" },
|
|
29
|
+
"description": "Key results of the thesis"
|
|
30
|
+
},
|
|
31
|
+
"questions": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"required": ["text", "category", "difficulty", "expected_keywords"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"text": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Question text in Russian"
|
|
40
|
+
},
|
|
41
|
+
"category": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"enum": ["basic", "methodological", "practical", "critical", "related"],
|
|
44
|
+
"description": "Question category"
|
|
45
|
+
},
|
|
46
|
+
"difficulty": {
|
|
47
|
+
"type": "integer",
|
|
48
|
+
"minimum": 1,
|
|
49
|
+
"maximum": 3,
|
|
50
|
+
"description": "Difficulty level: 1=basic, 2=advanced, 3=expert"
|
|
51
|
+
},
|
|
52
|
+
"expected_keywords": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"items": { "type": "string" },
|
|
55
|
+
"minItems": 1,
|
|
56
|
+
"description": "Expected keywords in the answer"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"minItems": 1
|
|
61
|
+
},
|
|
62
|
+
"stats": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"properties": {
|
|
65
|
+
"total_questions": { "type": "integer" },
|
|
66
|
+
"by_category": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"properties": {
|
|
69
|
+
"basic": { "type": "integer" },
|
|
70
|
+
"methodological": { "type": "integer" },
|
|
71
|
+
"practical": { "type": "integer" },
|
|
72
|
+
"critical": { "type": "integer" },
|
|
73
|
+
"related": { "type": "integer" }
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"by_difficulty": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"properties": {
|
|
79
|
+
"level_1": { "type": "integer" },
|
|
80
|
+
"level_2": { "type": "integer" },
|
|
81
|
+
"level_3": { "type": "integer" }
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "question-generator config validator",
|
|
4
|
+
"description": "Validates configuration inputs for the question-generator skill",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"thesis_path": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Path to the thesis document (PDF or text)"
|
|
10
|
+
},
|
|
11
|
+
"thesis_topic": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Thesis topic (if document not provided)"
|
|
14
|
+
},
|
|
15
|
+
"thesis_abstract": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Thesis abstract text (if document not provided)"
|
|
18
|
+
},
|
|
19
|
+
"categories": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"enum": ["basic", "methodological", "practical", "critical", "related"]
|
|
24
|
+
},
|
|
25
|
+
"default": ["basic", "methodological", "practical", "critical", "related"],
|
|
26
|
+
"description": "Which question categories to generate"
|
|
27
|
+
},
|
|
28
|
+
"max_questions": {
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"minimum": 5,
|
|
31
|
+
"maximum": 30,
|
|
32
|
+
"default": 15,
|
|
33
|
+
"description": "Maximum number of questions to generate"
|
|
34
|
+
},
|
|
35
|
+
"difficulty_range": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"min": { "type": "integer", "minimum": 1, "maximum": 3 },
|
|
39
|
+
"max": { "type": "integer", "minimum": 1, "maximum": 3 }
|
|
40
|
+
},
|
|
41
|
+
"default": { "min": 1, "max": 3 },
|
|
42
|
+
"description": "Difficulty range for generated questions"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{ "required": ["thesis_path"] },
|
|
47
|
+
{ "required": ["thesis_topic"] }
|
|
48
|
+
]
|
|
49
|
+
}
|