stackprep-pro 0.2.9__tar.gz → 0.2.10__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackprep-pro
3
- Version: 0.2.9
3
+ Version: 0.2.10
4
4
  Summary: stackprep-pro — interview & certification prep MCP server for any AI client
5
5
  Project-URL: Homepage, https://github.com/youngpada1/stackprep-pro
6
6
  Project-URL: Repository, https://github.com/youngpada1/stackprep-pro
@@ -161,6 +161,7 @@ Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform s
161
161
 
162
162
  | Tool | Description | Args |
163
163
  |---|---|---|
164
+ | `begin` | Call this at the very start of every conversation. Returns the opening question already formatted | |
164
165
  | `start_session` | Start a new stackprep session. Returns a session ID and the skill rules for the AI to follow. | `mode`, `cert_name`, `cv`, `jd`, `extra_topics` |
165
166
  | `submit_answer` | Record the result of an answered question. | `session_id`, `result`, `question` |
166
167
  | `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
@@ -141,6 +141,7 @@ Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform s
141
141
 
142
142
  | Tool | Description | Args |
143
143
  |---|---|---|
144
+ | `begin` | Call this at the very start of every conversation. Returns the opening question already formatted | |
144
145
  | `start_session` | Start a new stackprep session. Returns a session ID and the skill rules for the AI to follow. | `mode`, `cert_name`, `cv`, `jd`, `extra_topics` |
145
146
  | `submit_answer` | Record the result of an answered question. | `session_id`, `result`, `question` |
146
147
  | `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackprep-pro"
3
- version = "0.2.9"
3
+ version = "0.2.10"
4
4
  description = "stackprep-pro — interview & certification prep MCP server for any AI client"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -12,18 +12,26 @@ from mcp.server.fastmcp import FastMCP
12
12
  SERVER_INSTRUCTIONS = """\
13
13
  stackprep-pro — adaptive interview & certification prep.
14
14
 
15
- PRESENTATION (applies to EVERY message from the very first one, before and after a session starts):
16
- Always respond as elegant, RENDERED markdown blocks use bold headers, dividers, and clean lists or
17
- tables so each step renders as a polished UI block. NEVER output flat plain text.
15
+ At the very start of every conversation, call the `begin` tool and show its returned markdown to the
16
+ user VERBATIM (it is already formatted as an elegant block do not rephrase or reformat it).
18
17
 
19
- STARTUP FLOW (in plain human language never show tool or field names to the user):
20
- 1. Ask what they want to prep for (interview or certification), as a clean block.
21
- 2. After they choose, silently check for saved sessions of that mode. If any exist, ask whether they
22
- want to continue a saved session (list them by the name the user gave them) or start a new one.
23
- If none exist, just start a new one.
24
- 3. Collect the inputs the skill requires, then call start_session.
18
+ PRESENTATION (every message): always respond as elegant RENDERED markdown blocks bold headers,
19
+ dividers, clean tables/lists. NEVER output flat plain text.
25
20
 
26
- Follow the skill rules returned by start_session exactly. The skill is the source of truth for behavior."""
21
+ After the user picks a mode, silently check for saved sessions of that mode; if any exist offer to
22
+ continue one (by the name the user gave it) or start new. Then collect inputs and call start_session.
23
+ Follow the skill rules returned by start_session exactly — the skill is the source of truth."""
24
+
25
+ # Hardcoded so the very first block is guaranteed, not AI-guessed.
26
+ BEGIN_BLOCK = """\
27
+ **What would you like to prep for?**
28
+
29
+ | # | Mode |
30
+ |---|------|
31
+ | 1 | 🎯 Technical Interview |
32
+ | 2 | 📜 Certification Exam |
33
+
34
+ _Reply with 1 or 2._"""
27
35
 
28
36
  mcp = FastMCP("stackprep-pro", instructions=SERVER_INSTRUCTIONS)
29
37
 
@@ -85,6 +93,12 @@ def _load_skill(mode: str) -> str:
85
93
 
86
94
  # ── Tools ──────────────────────────────────────────────────────────────────────
87
95
 
96
+ @mcp.tool()
97
+ def begin() -> str:
98
+ """Call this at the very start of every conversation. Returns the opening question already formatted
99
+ as an elegant markdown block. Show the returned text to the user VERBATIM — do not rephrase or reformat it."""
100
+ return BEGIN_BLOCK
101
+
88
102
  @mcp.tool()
89
103
  def start_session(
90
104
  mode: str,
@@ -723,7 +723,7 @@ wheels = [
723
723
 
724
724
  [[package]]
725
725
  name = "stackprep-pro"
726
- version = "0.2.9"
726
+ version = "0.2.10"
727
727
  source = { editable = "." }
728
728
  dependencies = [
729
729
  { name = "mcp", extra = ["cli"] },
File without changes
File without changes
File without changes