This commit is contained in:
John Lancaster
2026-06-21 22:55:58 -05:00
parent 35d7fa1718
commit ab53c239bf
17 changed files with 31 additions and 25 deletions
@@ -1,16 +1,18 @@
---
name: Pytest Scaffolding Guidance
description: Route tests edits to the Personal MCP pytest-scaffolding resource.
description: Route tests edits to the Personal MCP pytesting resource.
applyTo: 'tests/**'
---
When editing files under `tests/`, use `resource://skills/pytest-scaffolding/document` as the primary guidance source for test scaffolding and pytest authoring decisions.
When editing files under `tests/`, use `resource://skills/pytesting/document` as the primary guidance source for test scaffolding and pytest authoring decisions.
Execution pattern:
1. Load `resource://skills/pytest-scaffolding/document` first.
1. Load `resource://skills/pytesting/document` first.
2. Apply only the portions relevant to the file being edited.
3. Keep tests focused, deterministic, and aligned with repository conventions.
4. Include source-document links for any feature-level recommendation.
If task intent is ambiguous, ask one clarifying question before editing.
Be sure to also refer to the [testing page](../../docs/testing.md) page for design detail
@@ -7,3 +7,7 @@ applyTo: '**/*.md'
When editing Markdown files in this repository, use the Zensical docs resource `resource://skills/zensical-docs/document` for relevant documentation authoring guidance.
Prefer Zensical-native documentation conventions when they cover the need cleanly, while preserving expected MkDocs compatibility unless the Zensical guidance intentionally diverges.
Always check to make sure the entries in `/home/john/Documents/prompts/zensical.toml` are up to date with any changes.
Also ensure that top-level pages specify icons in their front matter
+1 -1
View File
@@ -61,7 +61,7 @@ Example valid ids:
- `fastapi-uv-docker`
- `zensical-docs`
- `pytest-scaffolding`
- `pytesting`
Example invalid ids:
+1 -1
View File
@@ -252,7 +252,7 @@ Allowed exception:
Existing markdown reference sets are valid examples of authored source material for this architecture:
1. docs/skills/pytest-scaffolding/references/pytest-docs.md
1. docs/skills/pytesting/references/pytest-docs.md
2. docs/skills/python-logging-dictconfig/references/python-logging-docs.md
3. docs/skills/fastapi-uv-docker/references/fastapi-best-practices.md
+1 -1
View File
@@ -60,7 +60,7 @@ Valid examples:
1. `fastapi-uv-docker`
2. `zensical-docs`
3. `pytest-scaffolding`
3. `pytesting`
Invalid examples:
+1 -1
View File
@@ -193,7 +193,7 @@ This keeps docs publication explicit and predictable.
Existing reference docs remain valid content inputs in this pattern:
1. docs/skills/pytest-scaffolding/references/pytest-docs.md
1. docs/skills/pytesting/references/pytest-docs.md
2. docs/skills/python-logging-dictconfig/references/python-logging-docs.md
3. docs/skills/fastapi-uv-docker/references/fastapi-best-practices.md
+5 -5
View File
@@ -47,11 +47,11 @@ Use this prompt after test scaffolding exists and method names/docstrings are al
Load these in order and use only what matches the task:
1. Core defaults: [pytest scaffolding skill](../../skills/pytest-scaffolding/SKILL.md)
2. Naming/hierarchy preservation: [naming and organization](../../skills/pytest-scaffolding/references/naming-and-organization.md)
3. Baseline pytest fixtures/markers: [pytest docs notes](../../skills/pytest-scaffolding/references/pytest-docs.md)
4. FastAPI-specific behavior (only when needed): [fastapi testing](../../skills/pytest-scaffolding/references/fastapi-testing.md)
5. SQLAlchemy-specific behavior (only when needed): [sqlalchemy testing](../../skills/pytest-scaffolding/references/sqlalchemy-testing.md)
1. Core defaults: [pytest scaffolding skill](../../skills/pytesting/SKILL.md)
2. Naming/hierarchy preservation: [naming and organization](../../skills/pytesting/references/naming-and-organization.md)
3. Baseline pytest fixtures/markers: [pytest docs notes](../../skills/pytesting/references/pytest-docs.md)
4. FastAPI-specific behavior (only when needed): [fastapi testing](../../skills/pytesting/references/fastapi-testing.md)
5. SQLAlchemy-specific behavior (only when needed): [sqlalchemy testing](../../skills/pytesting/references/sqlalchemy-testing.md)
## Workflow
@@ -1,8 +1,8 @@
---
name: pytest-scaffolding
name: pytesting
description: "Reference hub for pytest suite structure, naming, markers, and stack-specific testing patterns. Optimized for progressive discovery so naming and hierarchy guidance are loaded first when shaping or reorganizing tests."
x-personal-mcp:
id: pytest-scaffolding
id: pytesting
version: 1.0.0
tags:
- pytest
@@ -13,7 +13,7 @@ x-personal-mcp:
- anyio
- deterministic
capabilities:
- resource://skills/pytest-scaffolding/document
- resource://skills/pytesting/document
---
# Pytest Scaffolding
+2 -2
View File
@@ -7,8 +7,8 @@ icon: lucide/flask-conical
This page describes the current test layout and execution model for this repository.
Primary guidance sources:
- [Pytest scaffolding skill](./skills/pytest-scaffolding/SKILL.md)
- [Pytest docs reference](./skills/pytest-scaffolding/references/pytest-docs.md)
- [Pytest scaffolding skill](./skills/pytesting/SKILL.md)
- [Pytest docs reference](./skills/pytesting/references/pytest-docs.md)
- [FastAPI + uv + Docker skill](./skills/fastapi-uv-docker/SKILL.md)
## Goals
@@ -21,7 +21,7 @@ REQUIRED_LIBRARY_TAGS_BY_SKILL = {
"new-skill": {"mcp", "fastmcp"},
"nicegui": {"nicegui", "fastapi"},
"nicegui-ui-customization": {"nicegui", "fastapi"},
"pytest-scaffolding": {"pytest", "testing", "fastapi", "asyncio", "anyio"},
"pytesting": {"pytest", "testing", "fastapi", "asyncio", "anyio"},
"python-logging-dictconfig": {"python", "logging"},
"python-typing": {"python", "typing"},
"ruff-linting-formating": {"ruff", "python"},
+4 -4
View File
@@ -33,22 +33,22 @@ TOOL_NAME_PARAMETERS = tuple(
SEARCH_QUERY_PARAMETERS = (
pytest.param(
"pytest",
{"pytest-scaffolding"},
{"pytesting"},
id="query-pytest",
),
pytest.param(
"asyncio",
{"pytest-scaffolding", "fastapi-async-sqlalchemy-modernization"},
{"pytesting", "fastapi-async-sqlalchemy-modernization"},
id="query-asyncio",
),
pytest.param(
"fastapi testing",
{"pytest-scaffolding"},
{"pytesting"},
id="query-fastapi-testing",
),
pytest.param(
"asyncio fastapi testing deterministic pytest",
{"pytest-scaffolding"},
{"pytesting"},
id="query-composite-async-fastapi-testing-deterministic-pytest",
),
)
+3 -3
View File
@@ -108,9 +108,9 @@ nav = [
{ "Quality" = "skills/nicegui-ui-customization/references/troubleshooting-and-quality-gates.md" },
] },
{ "Pytest" = [
{ "Overview" = "skills/pytest-scaffolding/SKILL.md" },
{ "Docs" = "skills/pytest-scaffolding/references/pytest-docs.md" },
{ "AsyncIO" = "skills/pytest-scaffolding/references/asyncio-testing.md" },
{ "Overview" = "skills/pytesting/SKILL.md" },
{ "Docs" = "skills/pytesting/references/pytest-docs.md" },
{ "AsyncIO" = "skills/pytesting/references/asyncio-testing.md" },
] },
{ "MCP Details" = [
{ "Overview" = "skills/mcp-details/SKILL.md" },