Configuration Infrastructure Plan-Marshall
Gère la configuration d'infrastructure au niveau du projet dans marshal.json, incluant les domaines de compétences, les paramètres système et les valeurs par défaut des plans.
name: plan-marshall-config description: Project-level infrastructure configuration for marshal.json allowed-tools: Read, Write, Edit, Bash
Plan-Marshall Config Skill
Manages project-level infrastructure configuration in .plan/marshal.json.
What This Skill Provides
- Skill Domains: Implementation skill defaults and optionals per domain
- System Settings: Retention and cleanup configuration
- Plan Defaults: Default values for new plans
When to Activate This Skill
Activate this skill when:
- Initializing project configuration (
/marshall-stewardwizard) - Querying implementation skills for a domain
- Managing retention settings
- Configuring plan defaults
Workflow: Initialize Configuration
Pattern: Script Automation
Initialize marshal.json with defaults.
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config init
Workflow: Query Skill Domains
Pattern: Read-Process-Write
Get implementation skills for a specific domain.
Get Domain Defaults
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
skill-domains get-defaults --domain java-core
Output:
status: success
domain: java-core
defaults[1]:
- pm-dev-java:java-core
Get Domain Optionals
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
skill-domains get-optionals --domain java-implementation
Validate Skill in Domain
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
skill-domains validate --domain java-core --skill pm-dev-java:java-lombok
Workflow: System Settings
Pattern: Read-Process-Write
Manage system-level infrastructure settings.
Get Retention Settings
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
system retention get
Set Retention Field
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
system retention set --field logs_days --value 7
Workflow: Plan Defaults
Pattern: Read-Process-Write
Manage default values for new plans.
List Plan Defaults
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
plan defaults list
Get Specific Default
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
plan defaults get --field commit_strategy
Set Default Value
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
plan defaults set --field create_pr --value true
API Reference
Noun: skill-domains
| Verb | Parameters | Purpose |
|------|------------|---------|
| list | (none) | List all domains |
| get | --domain | Get full domain config (returns nested structure for technical domains) |
| get-defaults | --domain | Get default skills (returns core.defaults for nested domains) |
| get-optionals | --domain | Get optional skills (returns core.optionals for nested domains) |
| set | --domain [--profile] [--defaults] [--optionals] | Set domain config (use --profile for nested domains) |
| add | --domain --defaults [--optionals] | Add new domain |
| validate | --domain --skill | Check if skill valid (searches all profiles for nested domains) |
| detect | (none) | Auto-detect domains from project files |
| get-extensions | --domain | Get workflow skill extensions for domain |
| set-extensions | --domain --type --skill | Set workflow skill extension (types: outline, triage) |
| get-available | (none) | Get available domains based on detected build systems |
| configure | --domains | Configure selected domains with templates |
resolve-domain-skills
| Parameters | Purpose |
|------------|---------|
| --domain --profile | Resolve skills for domain and profile (aggregates {domain}.core + {domain}.{profile}) |
Standard profiles: implementation, testing, quality.
resolve-workflow-skill
| Parameters | Purpose |
|------------|---------|
| --phase | Resolve system workflow skill for phase (init, outline, plan, execute, finalize) |
Always returns from the system domain's workflow_skills.
resolve-workflow-skill-extension
| Parameters | Purpose |
|------------|---------|
| --domain --type | Resolve domain-specific workflow extension (types: outline, triage) |
Returns null (not error) if extension doesn't exist for the domain.
get-workflow-skills
| Parameters | Purpose | |------------|---------| | (none) | Get all workflow skills from system domain (5-phase model: init, outline, plan, execute, finalize) |
Noun: system
| Verb | Parameters | Purpose |
|------|------------|---------|
| retention get | (none) | Get all retention settings |
| retention set | --field --value | Set retention field |
Noun: plan
| Verb | Parameters | Purpose |
|------|------------|---------|
| defaults list | (none) | List all plan defaults |
| defaults get | --field | Get default value |
| defaults set | --field --value | Set default value |
Noun: ci
| Verb | Parameters | Purpose |
|------|------------|---------|
| get | (none) | Get full CI config |
| get-provider | (none) | Get CI provider and repo URL |
| get-tools | (none) | Get authenticated tools list |
| set-provider | --provider --repo-url | Set CI provider |
| set-tools | --tools | Set authenticated tools (comma-separated) |
init
python3 .plan/execute-script.py plan-marshall:plan-marshall-config:plan-marshall-config \
init [--force]
Data Model
marshal.json Location
.plan/marshal.json
Structure
The defaults template contains only system domain. Technical domains (java, javascript, etc.) are added during project initialization based on detection or manual configuration.
Example (Java project after init):
{
"skill_domains": {
"system": {
"defaults": ["plan-marshall:general-development-rules"],
"optionals": ["plan-marshall:diagnostic-patterns"],
"workflow_skills": {
"1-init": "pm-workflow:phase-1-init",
"2-outline": "pm-workflow:phase-2-outline",
"3-plan": "pm-workflow:phase-3-plan",
"4-execute": "pm-workflow:phase-4-execute",
"5-finalize": "pm-workflow:phase-5-finalize"
}
},
"java": {
"workflow_skill_extensions": {
"outline": "pm-dev-java:java-outline-ext",
"triage": "pm-dev-java:ext-triage-java"
},
"core": {
"defaults": ["pm-dev-java:java-core"],
"optionals": ["pm-dev-java:java-null-safety", "pm-dev-java:java-lombok"]
},
"implementation": {
"defaults": [],
"optionals": ["pm-dev-java:java-cdi", "pm-dev-java:java-maintenance"]
},
"testing": {
"defaults": ["pm-dev-java:junit-core"],
"optionals": ["pm-dev-java:junit-integration"]
},
"quality": {
"defaults": ["pm-dev-java:javadoc"],
"optionals": []
}
}
},
"system": {
"retention": {
"logs_days": 1,
"archived_plans_days": 5,
"memory_days": 5,
"temp_on_maintenance": true
}
},
"plan": {
"defaults": {
"compatibility": "deprecations",
"commit_strategy": "phase-specific",
"create_pr": false,
"verification_required": true,
"branch_strategy": "direct"
}
}
}
Standard Domains
System Domain
The system domain contains workflow skills (5-phase model) and base skills applied to all tasks.
| Field | Purpose |
|-------|---------|
| defaults | Base skills loaded for all tasks (plan-marshall:general-development-rules) |
| optionals | Optional base skills available for selection |
| workflow_skills | Maps 5 phases to workflow skill references |
Workflow Phases: init, outline, plan, execute, finalize
Technical Domains (Profile Structure)
Technical domains use nested structure with workflow_skill_extensions and profiles.
| Profile | Phase | Purpose |
|---------|-------|---------|
| core | all | Skills loaded for all profiles |
| implementation | execute | Production code tasks |
| testing | execute | Test code tasks |
| quality | finalize | Documentation, verification |
Available Domains:
| Domain | Core Defaults | Extensions |
|--------|---------------|------------|
| java | pm-dev-java:java-core | outline, triage |
| javascript | pm-dev-frontend:cui-javascript | outline, triage |
| plan-marshall-plugin-dev | pm-plugin-development:plugin-architecture | triage |
Use resolve-domain-skills --domain {domain} --profile {profile} to get aggregated skills.
Scripts
| Script | Notation |
|--------|----------|
| plan-marshall-config | plan-marshall:plan-marshall-config |
Script characteristics:
- Uses Python stdlib only (json, argparse, pathlib, xml.etree)
- Outputs TOON to stdout
- Exit code 0 for success, 1 for errors
- Supports
--helpflag
Integration Points
With plan-marshall Skill
- Called during wizard initialization
- Called from configuration menus
With Implementation Agents
skill-domains get-defaultsprovides skills to loadskill-domains get-optionalsprovides available optionals
With Cleanup
system retention getprovides retention settings
Error Handling
All operations validate prerequisites before proceeding:
status: error
error: marshal.json not found. Run command /marshall-steward first
Standard error conditions:
marshal.json not found- Run/marshall-stewardfirstskill_domains not configured- Run/marshall-stewardfirstUnknown domain: {name}- Domain doesn't exist
Skills similaires
Architecte Docker Compose
Concoit des configurations Docker Compose optimisees.
Rapport de Post-Mortem
Rédige des rapports post-mortem d'incidents structurés et blameless.
Créateur de Runbooks
Crée des runbooks opérationnels clairs pour les procédures DevOps courantes.