Skip to content
Back to skills

Propose

ASecurity

Craft phase 10 - pre-PR gate, push, and PR creation per repo policy. Blocked until validation triage is complete.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
ai-agentsnodedocumentation

Works with

  • cli

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add scolladon/craft --skill propose --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Propose?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Propose
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/scolladon-propose/badge)](https://www.skillsdirectory.com/skills/scolladon-propose)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: propose
description: Craft phase 10 - pre-PR gate, push, and PR creation per repo policy. Blocked until validation triage is complete.
---

# craft:propose

## Preamble (always runs — non-overridable)

1. Manifest read (lint if standalone). **Probe: remote?** none → propose AND integrate
   no-op with a note (work stays on the local branch); the run ends after documentation.
2. **Cross-phase invariant check:** the validation phase's run has landed or recorded a no-op, survivors are
   triaged, `gates.phase` is green. Not yet → wait; never create the PR early.

## Procedure (default body — a manifest `override:` replaces everything below)

1. **Pre-PR gate** (`pr.pre-pr-gate` if declared): contract = check + documented
   remediation + documented exceptions (both live in the manifest body or a phase
   context file — never memory). Run it; apply the remediation in its own
   conventional commit; re-gate.
2. **Consult `push` action** (see `docs/contributing/specs/policy.md` for surface semantics).
   Obey the returned surface, then push `-u origin <branch>`.
3. **Consult `propose` action** (see `docs/contributing/specs/policy.md`). Obey the returned surface:
   - `ask` (default, ADR-127) — hand the drafted body to the user and stop (`pr.creator: user`
     behaviour); on approval proceed with the PR creation, on decline record
     `POLICY(ask:propose→declined)` and block.
   - `never` — refuse; record `POLICY(never:propose)`; phase no-ops.
   - `always` — create the PR without stopping; record `POLICY(always:propose)`;
     supersedes the `pr.creator: user` stop (ADR-128 — Supersede).

   **Prose-lint the drafted body (advisory).** Before invoking the port, write the
   drafted body to a temp file and scan it under the same posture the ci.sh cadence
   uses: resolve the gate via `node "${CRAFT_ROOT:-${CLAUDE_PLUGIN_ROOT}}/engine/bin/hygiene-gate.js" <manifest-path>`
   (default `advisory`), then run
   `node "${CRAFT_ROOT:-${CLAUDE_PLUGIN_ROOT}}/engine/bin/prose-lint.js" --gate <gate> --waiver-source <body-file> -- <body-file>`.
   Fold any `SLOP-FOUND(<file>): …` lines into the run record and a hygiene note in the
   PR body; the `hygiene.gate` knob and the `SLOP-WAIVE(<file>)` waiver are honored (the
   body is its own waiver source, so a deliberate ban-list word can be waived in-body).
   PR body only — never the ci.sh touched-docs cadence.

   Invoke the VCS port `propose(title, body)` (see `docs/contributing/specs/vcs.md`); the adapter
   owns the host CLI. Body: drafted in the documentation phase per `templates/pr-body.md`
   — a Background · Intuition · Code narrative, then a Provenance & verification trailer
   (decisions + ADRs, design path, divergences, pinned behaviours, test plan, run record).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…