スキル一覧に戻る
cuioss

plan-marshall-plugin

by cuioss

An orchestration layer for AI coding assistants (currently Claude Code) that enforces consistency, reliability, and more predictable outputs.

0🍴 0📅 2026年1月17日
GitHubで見るManusで実行

SKILL.md


name: plan-marshall-plugin description: Python domain extension with pyprojectx build operations and workflow integration allowed-tools: [Read, Bash]

Plan Marshall Plugin - Python Domain

Domain extension providing Python development capabilities to plan-marshall workflows, including pyprojectx build execution with output parsing.

Purpose

  • Domain identity and workflow extensions
  • Build execution via pyprojectx (./pw wrapper)
  • Module detection for Python projects
  • Profile-based skill organization

Extension API

Configuration in extension.py implements the Extension API contract:

FunctionPurpose
get_skill_domains()Domain metadata with profiles
provides_triage()Returns None (future: ext-triage-python)
discover_modules(project_root)Discover Python modules via pyproject.toml

Scripts Overview

ScriptTypePurpose
extension.pyExtensionExtensionBase implementation
python_build.pyCLI + Librarypyprojectx operations, execute_direct()

Mutual Exclusivity

This extension is mutually exclusive with pm-plugin-development:plan-marshall-plugin for module discovery:

Project TypeHandled By
plan-marshall marketplacepm-plugin-development
Other Python projectspm-dev-python (this extension)

Detection uses marketplace/.claude-plugin/marketplace.json:

  • If name field equals "plan-marshall" → skip (pm-plugin-development handles it)
  • Otherwise → this extension provides module discovery

This avoids duplicate modules when both extensions are active.


Runtime Discovery

The extension discovers available commands by parsing pyproject.toml:

1. Skip if this is the plan-marshall marketplace (detected via marketplace.json)
2. Check pyproject.toml exists
3. Parse [tool.pyprojectx.aliases] section (using tomllib)
4. Map aliases to canonical commands
5. Check ./pw wrapper exists
6. Return module with discovered commands

Detected aliases mapped to canonical commands:

  • compile → mypy on production sources
  • test-compile → mypy on test sources
  • module-tests → pytest
  • quality-gate → ruff check
  • verify → Full verification
  • coverage → pytest with coverage
  • clean → Remove artifacts

Wrapper Detection

Commands are executed via the pyprojectx wrapper:

./pw > pwx (system pyprojectx)

The detect_wrapper(project_dir) function checks for the pw script in the project root before falling back to system pyprojectx.


Timeout Learning

Command durations are recorded for adaptive timeouts:

# Before execution
timeout = timeout_get("python:verify", default=300, project_dir=".")
# Returns: learned * 1.25 or default

# After execution
timeout_set("python:verify", duration=45, project_dir=".")
# Updates .plan/run-configuration.json

Build Operations

python_build run (Primary API)

Unified command that executes build and returns parsed output on failure.

python3 .plan/execute-script.py pm-dev-python:plan-marshall-plugin:python_build run \
    --commandArgs "<canonical-command>" \
    [--format <toon|json>] \
    [--mode <mode>] \
    [--timeout <seconds>]

Parameters:

  • --commandArgs - Canonical command to execute (required)
  • --format - Output format: toon (default) or json
  • --mode - Output mode: actionable (default), structured, errors
  • --timeout - Timeout in seconds (default from run-config)

Output Format (TOON):

Success:

status	success
exit_code	0
duration_seconds	12
log_file	.plan/temp/build-output/default/python-2026-01-14-143022.log
command	./pw verify

Build Failed:

status	error
exit_code	1
duration_seconds	8
log_file	.plan/temp/build-output/default/python-2026-01-14-143022.log
command	./pw module-tests
error	build_failed

errors[2]{file,line,message,category}:
test/test_foo.py	42	AssertionError: expected True	test_failure
src/bar.py	15	error: Incompatible types	type_error

tests:
  passed: 40
  failed: 2
  skipped: 0

Output Modes

  • actionable (default) - Errors + warnings NOT in acceptable_warnings
  • structured - All errors + all warnings with [accepted] markers
  • errors - Only errors, compact format

Error Categories

CategoryDescription
type_errormypy type errors
lint_errorruff violations
test_failurepytest test failures
import_errorModule import errors

Error Codes

CodeMeaningRecovery
build_failedNon-zero exit codeErrors included in response
timeoutExceeded timeoutIncrease timeout, check log_file
execution_failedProcess couldn't startCheck ./pw exists
log_file_creation_failedCan't create logCheck permissions

Integration

This extension is discovered by:

  • extension-api - Build system detection and command generation
  • skill-domains - Domain configuration
  • marshall-steward - Project setup wizard

References

  • plan-marshall:extension-api - Extension API contract
  • plan-marshall:extension-api/standards/build-execution-flow.md - Complete execution lifecycle

スコア

総合スコア

70/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です