osovv/grace-marketplace-grace-spec
Interview the user and create an approved GRACE 4 GraceChangeSpec plus optional design-context.xml inside .grace/changes/active/C-*/.
This is a copy. The original lives at osovv/grace-spec.
npx skills add https://github.com/osovv/grace-marketplace --skill grace-spec
<skill>
<change_bundle_contract>
.grace/changes/active/C-CHANGE-ID/
spec.xml — normative GraceChangeSpecdesign-context.xml — optional, explanatory onlyplan.xml — created later by grace-plan</change_bundle_contract>
<status_rules>
Create spec.xml as status="draft". Set status="approved" only after explicit user approval. Rejected or cancelled specs move to archive with terminal status. Do not create or edit plan.xml in this skill.
</status_rules>
<strict_contract>
The direct C-* wrapper must contain exactly one meaningful Summary, Goals, Constraints, NonGoals, AcceptanceCriteria, AffectedAreas, and VerificationIntent section. Empty containers are not approval-ready. Semantic anchors are canonical attribute-free XML tags, never attributes or attribute values.
</strict_contract>
<workflow>
C-* change id.spec.xml from references/change-spec-template.xml with exactly one direct C-* wrapper and no empty required section.design-context.xml from its template.spec.xml as status="draft" and report the approval step needed.</workflow>
<hard_rules>
spec.xml is the source of truth for grace-plan; design context never adds requirements.grace lint --path <project-root> --assertions current as a pre-implementation active-baseline check after writing the bundle; never present it as target or final evidence.</hard_rules>
</skill>
Take osovv/grace-marketplace-grace-spec from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.