Skip to content

Commit b00d35b

Browse files
committed
plugin: address python-skills review comments
1 parent 9c1c4d1 commit b00d35b

8 files changed

Lines changed: 10 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ Current Socket catalog shape:
7878
- `cardhop-app`: mixed skill plus bundled MCP server for Cardhop.app contact workflows
7979
- `dotnet-skills`: .NET, F#, and C# project-shape, bootstrap, implementation, test, package, diagnostics, ASP.NET Core, interop, CI, upgrade, and tooling guidance
8080
- `productivity-skills`: general-purpose maintainer and documentation workflow baseline
81-
- `python-skills`: Python, `uv`, project implementation, diagnostics, packaging, tooling, CI, upgrades, FastAPI, FastMCP, and pytest workflow plugin
81+
- `python-skills`: Python runtime and tooling workflows for Python-based projects; see the [Python skills expansion plan](./docs/maintainers/python-skills-plugin-plan.md) for maintainer details
8282
- `speak-swiftly`: Git-backed Speak Swiftly plugin from the standalone SpeakSwiftlyServer repository
8383
- `swiftasb-skills`: SwiftASB companion guidance
8484
- `things-app`: mixed skill plus bundled MCP server for Things.app workflows

docs/architecture/architecture.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@
498498
"targets": []
499499
}
500500
],
501-
"projectRoot": "/Users/galew/Workspace/gaelic-ghost/socket-wt-python-skills-gap-analysis",
501+
"projectRoot": ".",
502502
"relationships": [
503503
{
504504
"evidence": [

plugins/productivity-skills/skills/maintain-project-architecture/references/architecture-json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
{
99
"schemaVersion": 1,
1010
"generatedBy": "maintain-project-architecture",
11-
"projectRoot": "/path/to/repo",
11+
"projectRoot": ".",
1212
"detectedAt": "2026-05-03T00:00:00Z",
1313
"products": [],
1414
"targets": [],

plugins/productivity-skills/skills/maintain-project-architecture/scripts/maintain_project_architecture.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ def detect_model(project_root: Path) -> dict[str, Any]:
433433
return {
434434
"schemaVersion": 1,
435435
"generatedBy": "maintain-project-architecture",
436-
"projectRoot": str(project_root),
436+
"projectRoot": ".",
437437
"detectedAt": datetime.now(timezone.utc).isoformat(),
438438
"detectionSource": source,
439439
"products": [item for item in products if item.get("name")],

plugins/productivity-skills/skills/maintain-project-architecture/tests/test_maintain_project_architecture.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import argparse
44
import importlib.util
5+
import json
56
import sys
67
from pathlib import Path
78

@@ -98,6 +99,8 @@ def test_apply_creates_architecture_files_and_detects_products(tmp_path: Path) -
9899
assert (architecture_dir / "ARCHITECTURE.md").is_file()
99100
assert (architecture_dir / "SLICES.md").is_file()
100101
assert (architecture_dir / "architecture.json").is_file()
102+
model = json.loads((architecture_dir / "architecture.json").read_text(encoding="utf-8"))
103+
assert model["projectRoot"] == "."
101104
architecture = (architecture_dir / "ARCHITECTURE.md").read_text(encoding="utf-8")
102105
assert "## Product Map" in architecture
103106
assert "`DemoCore`" in architecture

plugins/python-skills/skills/choose-python-project-shape/agents/openai.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
interface:
22
display_name: "Choose Python Project Shape"
3-
short_description: "Choose Python package, service, MCP, workspace, test, tooling, package, CI, or upgrade shape."
3+
short_description: "Choose Python package, service, MCP, workspace, test, tooling, CI, or upgrade shape."
44
brand_color: "#2563EB"
55
default_prompt: "Use $choose-python-project-shape to inspect this repository, choose the smallest correct Python project shape, recommend the next Python skill, and return exact uv validation commands before implementation starts."
66

plugins/python-skills/skills/python-upgrade-workflow/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Use official documentation first:
4444

4545
1. Inventory current state:
4646
```bash
47-
rg -n "requires-python|dependencies|optional-dependencies|dependency-groups|tool.uv|tool.pytest|tool.ruff|tool.mypy|fastapi|fastmcp|pydantic|pytest|ruff|mypy" pyproject.toml uv.lock .github docs README.md
47+
rg -n "requires-python|dependencies|optional-dependencies|dependency-groups|tool.uv|tool.pytest|tool.ruff|tool.mypy|fastapi|fastmcp|pydantic|pytest|ruff|mypy"
4848
rg --files -g 'pyproject.toml' -g 'uv.lock' -g '.python-version' -g '.github/workflows/*.yml' -g '.github/workflows/*.yaml'
4949
```
5050
2. Decide upgrade boundary:

plugins/python-skills/skills/python-upgrade-workflow/agents/openai.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ interface:
22
display_name: "Python Upgrade Workflow"
33
short_description: "Plan and validate Python, dependency, framework, lockfile, and tooling upgrades."
44
brand_color: "#7C3AED"
5-
default_prompt: "Use $python-upgrade-workflow to inventory Python requirements, dependencies, uv lockfile state, frameworks, tooling versions, compatibility impact, and staged validation before applying an upgrade."
5+
default_prompt: "Use $python-upgrade-workflow to inventory Python requirements, dependencies, uv lockfile state, frameworks, tooling versions, compatibility impact, and staged validation before applying an upgrade; do not publish or create releases unless explicitly requested."
66

77
policy:
88
allow_implicit_invocation: true

0 commit comments

Comments
 (0)