Skip to content

Commit 99c1790

Browse files
fix(skill-maker): require intake pause before routing
Add the explicit wait instruction back to the skill-maker intake so the router pauses for user input instead of auto-routing immediately. Add a focused regression test to keep the intake pause behavior covered. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 7f6b019 commit 99c1790

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

skills/skill-maker/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ What do you need to do?
1515
2. **Create a new skill** — Interview, draft, and review from scratch
1616
3. **Consolidate skills** — Merge multiple skills into fewer
1717

18+
**Wait for response before proceeding.**
1819
</intake>
1920

2021
<routing>

tests/conftest.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
# Path to the overlay skill directory (markdown-only)
2020
OVERLAY_SKILL_DIR = PROJECT_ROOT / "skills" / "overlay"
2121

22+
# Path to the skill-maker skill directory (markdown-only)
23+
SKILL_MAKER_DIR = PROJECT_ROOT / "skills" / "skill-maker"
24+
2225
# Add orchestrator skill directory to path for testing
2326
if str(RHDH_SKILL_DIR) not in sys.path:
2427
sys.path.insert(0, str(RHDH_SKILL_DIR))
@@ -65,6 +68,12 @@ def overlay_skill_dir():
6568
return OVERLAY_SKILL_DIR
6669

6770

71+
@pytest.fixture
72+
def skill_maker_dir():
73+
"""Return the skill-maker directory path (skills/skill-maker)."""
74+
return SKILL_MAKER_DIR
75+
76+
6877
@pytest.fixture
6978
def isolated_env(tmp_path, monkeypatch):
7079
"""Create an isolated environment with temp directories.

tests/unit/test_skill_structure.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,22 @@ def test_no_markdown_headings_in_xml_body(self, skill_md):
165165
pytest.fail(f"Found markdown heading in <{section_name}>: {line.strip()}")
166166

167167

168+
class TestSkillMakerSkillMd:
169+
"""Test that skill-maker SKILL.md keeps router intake pause instructions."""
170+
171+
@pytest.fixture
172+
def skill_md(self, skill_maker_dir):
173+
"""Load skill-maker SKILL.md content."""
174+
skill_path = skill_maker_dir / "SKILL.md"
175+
return skill_path.read_text(encoding="utf-8")
176+
177+
def test_intake_waits_for_user_response(self, skill_md):
178+
"""The intake section must tell the agent to wait before routing."""
179+
match = re.search(r"<intake>(.*?)</intake>", skill_md, re.DOTALL)
180+
assert match, "SKILL.md missing <intake> section"
181+
assert "**Wait for response before proceeding.**" in match.group(1)
182+
183+
168184
class TestWorkflowStructure:
169185
"""Test that workflow files have required structure."""
170186

0 commit comments

Comments
 (0)