From eou-foundry
Creates a formal EOU Change Proposal from a diagnosed failure or refactor option, capturing simulation, regression case, audit, and approval requirements.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eou-foundry:ecp-propose DIAGNOSIS_OR_REFACTOR_PATHDIAGNOSIS_OR_REFACTOR_PATHtargetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a formal EOU Change Proposal (ECP) from `$target`.
Create a formal EOU Change Proposal (ECP) from $target.
$target (required) — path to a diagnosis report (foundry/audits/incidents/{id}.diagnosis.yml) or a refactor option file (foundry/self-evolution/refactor-options/{id}-refactor-*.yml).schemas/ecp.schema.yml — field types and constraintsfoundry/constitution.yml — invariants the ECP must not violateHalt and report before drafting the ECP if:
$target does not identify a concrete failure or refactor option — a goal that names no concrete failure class, incident id, or refactor-option id is not accepted.target_eou cannot be determined from $target.foundry/constitution.yml — use the constitutional change process instead.$target to extract the diagnosed failure or refactor option.foundry/failure-taxonomy.yml) driving the change.approval.status is proposed — never set it higher.foundry/self-evolution/ecp/proposed/{target_eou}-ecp-{YYYYMMDD}.yml.foundry/runs/{eou_id}/{run_id}.yml.| Artifact | Path | Format |
|---|---|---|
| ECP proposal | foundry/self-evolution/ecp/proposed/{target_eou}-ecp-{YYYYMMDD}.yml | YAML, conforming to schemas/ecp.schema.yml. approval.status MUST be proposed. |
| Run trace | foundry/runs/{eou_id}/{run_id}.yml | YAML per schemas/run-trace.schema.yml. Records inputs read, failure class identified, and the ECP path written. |
This skill produces these two artifacts and nothing else. It does not mutate the target EOU, the registry, the constitution, or any approved/implemented ECP.
Field names match schemas/ecp.schema.yml. Do not use the old names (eou_id, observed_problem, simulation_status, required_tests).
id: # ecp-{target_eou}-{YYYYMMDD}
target_eou: # ID of the EOU being changed
target_version_from: # current version of the EOU (e.g. "0.2.0")
target_version_to: # intended version after this change (e.g. "0.3.0")
failure_class: # F1-F12 taxonomy code(s) — supplementary, not schema-required
problem: # Concrete failure symptom, not a vague label
proposed_change: # One specific structural change (scope, steps, inputs, authority, blast_radius, validators, stop_conditions, approval_requirements, or responsibility boundaries)
expected_benefit: # Observable outcome if the change is applied
risks: # What can go wrong; who is affected
tests_required: # List of regression case IDs or new test fixtures to add
simulation: # not_run | run_pass | run_fail
approval:
status: # must be "proposed" — never "approved" from this EOU
approver: # left blank until human owner approves
rollback_considerations: # How to revert if the change degrades outcomes (supplementary)
approval.status to anything other than proposed.foundry/constitution.yml via ordinary ECP — constitutional changes require a separate process with explicit human review.risk_level: high or critical) must include a non-empty rollback_considerations field.Upstream: receives diagnoses from $eou-diagnose (when decision: change) or refactor options from $eou-refactor.
Downstream: produces an ECP that enters the governed change pipeline: simulate → regression-test → audit (eou-audit on the ECP package) → human approval → implement.
Related: $eou-diagnose (sibling — produces the input), $eou-refactor (sibling — alternate input source), $eou-audit (downstream consumer when ECP is audited).
Pipeline: eou-diagnose | eou-refactor → ecp-propose → simulate → audit → human approval → implement
npx claudepluginhub xiaolai/eou-foundry --plugin eou-foundryCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.