Przejdź do treści
Biblioteka skilli
Zarządzanie i produkt · Pisanie

proposal

/proposal

Pisze proposal.md dla zmiany, czyli propozycję zakresu (faza 1A): jeden artefakt z uzasadnieniem biznesowym i wyraźnym podziałem na zakres objęty i nieobjęty, po czym przekazuje go do bramki przeglądu.

Repozytorium
sdlaic ↗
Licencja
MIT
Ostatnia zmiana repozytorium
03.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 03.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Pisze proposal.md dla zmiany, czyli propozycję zakresu (faza 1A): jeden artefakt z uzasadnieniem biznesowym i wyraźnym podziałem na zakres objęty i nieobjęty, po czym przekazuje go do bramki przeglądu.

Oryginalny opis (EN)

Use to author proposal.md for a change — the Scope Proposal (Phase 1A). Runs after an optional scope grill and produces a single artifact defining business rationale and an explicit IN-SCOPE vs OUT-OF-SCOPE contract, then hands off to the review gate.

Jak działa

  1. Core Principle
  2. Pre-conditions
  3. Process
  4. Output Artifacts
  5. Verification
  6. Common Mistakes
  7. Handoff / Gate
Sekcje z nagłówków SKILL.md, w oryginale · 96 linii, 927 słów
Podgląd SKILL.md
---
name: proposal
description: Use to author proposal.md for a change — the Scope Proposal (Phase 1A). Runs after an optional scope grill and produces a single artifact defining business rationale and an explicit IN-SCOPE vs OUT-OF-SCOPE contract, then hands off to the review gate.
---

# Scope Proposal Phase (Proposal)

## Core Principle

The proposal is the **scope contract** — why the change is needed and, above all, an explicit boundary between what is IN scope and what is OUT of scope. It locks down "what" before any spec, design, or code exists, so nothing downstream can drift beyond the agreed boundary. This skill produces exactly one artifact: `proposal.md`. It does not design, specify behavior, or plan.

## Pre-conditions

- An active SDLAIC change exists (`context.md` may exist with ticket context — optional).
- If the workflow level is `strict`, the scope grill has run first (see Handoff / Gate).

## Process

### Step 1: Absorb the input

Read `context.md` — especially `## Prior Agreement`, `## Candidate Scopes` (the decomposed scope set with `Kind`, `Readiness`, `✅ AGREED` / `REFUTED` dispositions and any `⚠ OVERLAPS`), `### Refuted — boundaries`, and `### Selected for this change` — and the originating ticket. Identify the problem, its business rationale, and the affected area. Run a codebase-research query to ground the affected-area claims in real paths — do not assume.

### Step 2: Decide the gated IN/OUT-OF-SCOPE boundary

This is where scope is **decided and gated** — `new` only proposed candidates; the gate lives here. Start from `context.md > ### Selected for this change`: those capabilities go **IN**; every other candidate becomes **OUT** with a reason (`DEFERRED` / `OUT-OF-SCOPE` / `DUPLICATE` / `REFUTED` / `WONTFIX`). `grillme` has already pressure-tested the candidate set and the `REFUTED` dismissions — honor or overturn them here with justification.

**A `✅ AGREED` scope cannot be moved OUT on your own judgement.** It carries a recorded approval (author + date + quote). Moving one OUT requires either the user's explicit instruction in this session, or a blocker discovered in research that the approver could not have known about — and the reason column must cite which, quoting the original approval. Absent that, an `AGREED` scope is IN.

Carry the ordering from `### Selected for this change` (`ready-now` before blocked) into `## What Changes` — a `needs-sizing` capability must not gate a `ready-now` one.

Before writing prose, enumerate the boundary; every item a reader might assume is included must be explicitly placed IN or OUT. Ambiguity here is the primary cause of generative overreach.

### Step 3: Write `proposal.md`

Request the template guidance, then write to `$(sdlaic path change --change <name>)/proposal.md`:

```markdown
# Proposal: <change-name>

**Change ID**: `<change-name>`
**Ticket**: <KEY> (<summary>)

## Why
[One paragraph: the problem this change solves and its business rationale.]

## Scope

| IN SCOPE | OUT OF SCOPE (with reason) |
|----------|--------------|
| [thing this change will do — from `### Selected for this change` in context.md] | [related thing it will deliberately NOT do — DEFERRED / OUT-OF-SCOPE / DUPLICATE / REFUTED / WONTFIX: <one-line why>] |
| ... | ... |

## What Changes
- **[Bug fix / Enhancement / New feature]: [description]**
  - [Specific change]

## Success Criteria
- [ ] [Testable criterion tied to the ticket]

## Impact
- **Affected area (indicative)**: [key modules/paths]
- **Breaking changes**: [None intended / list]
```

The **Scope table** is mandatory. Grill resolutions are applied directly into the content (Scope rows, Why, What Changes) by the draft skill — there is no separate log section.

### Step 4: Hand off to the review gate

Do not advance to the spec phase yourself. Emit a summary and hand off (see Handoff).

## Output Artifacts

- `$(sdlaic path change --change <name>)/proposal.md` — scope contract with a mandatory IN/OUT-OF-SCOPE table.

## Verification

- [ ] `proposal.md` exists and is populated (no template placeholders).
- [ ] The Scope table has ≥1 IN-SCOPE and ≥1 OUT-OF-SCOPE row.
- [ ] Success Criteria has ≥1 testable criterion tied to the ticket.
- [ ] No technical design or task breakdown leaked into the proposal (that is design/plan).
- [ ] Grill resolutions are reflected in the content (Scope table / Why / What Changes), not in a separate log.

## Common Mistakes

| Mistake | Fix |
|---------|-----|
| Mixing "how" into the proposal | Proposal is scope (why/what). Keep architecture in `design.md`. |
| Vague or absent OUT-OF-SCOPE column | Every plausible-but-excluded item must be named OUT (with a reason). This is the anti-overreach control. |
| Re-decomposing the ticket instead of using `context.md > ## Candidate Scopes` | `new` already decomposed the ticket into candidates with Kind + Readiness + dispositions, and recorded the user's multi-select in `### Selected for this change`. Start there: selected → IN, the rest → OUT with reasons. Don't re-derive the candidate set. |
| Moving a `✅ AGREED` scope OUT because it looks low-value or expensive | Not yours to decide — it carries a recorded approval. Only an explicit user instruction, or a blocker the approver could not have known about, justifies it; cite which, and quote the original approval. |
| Writing spec scenarios here | Behavioral GIVEN/WHEN/THEN belong in `skills/spec`. |
| Advancing to spec without the gate | The proposal gate must be `approved`/`skipped` first. |

## Handoff / Gate

1. **Grill first (strict):** the scope grill (bundled with `skills/grillme`) runs before drafting; its resolutions are applied into the Scope table and content sections.
2. **Review after:** hand the drafted `proposal.md` to `skills/review` for the `proposal` audit (checklist bundled with the review skill).
3. The reviewer records the verdict via `sdlaic gate set --phase proposal --status <approved|failed> [--verdict ...]` — never inside the repo.
4. On `approved`, the enforcer advances to Phase 1B (`skills/spec`). On `failed`, re-draft here and increment the attempt.

Wersje

RepozytoriumWynikLicencja
Ta strona · bienwithcode/sdlaic100MIT
octavehq/lfgtm100MIT
adeerkhan/vitruvius100MIT

Migawka bazy z 28.10.2026 · wersja paczki 25109ebe42c0 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100design
    Pisze design.md dla zmiany w fazie architektury technicznej, po zatwierdzonej specyfikacji i opcjonalnym design grillu, a następnie przekazuje do bramki przeglądu.
  • 100spec-research
    Pisze artefakt proposal.md w OpenSpec z uzasadnieniem, zakresem i wpływem funkcji, bez projektu technicznego.
  • 90proposal-review
    Krytycznie ocenia propozycję: podważa uzasadnienie, zakres i sposób realizacji oraz proponuje konkretne alternatywy przed napisaniem specyfikacji.
  • 100proposal-writer
    Pisze propozycję, wycenę, zakres prac lub list zlecenia dla firmy usługowej: zrozumienie projektu, zakres, harmonogram, prezentacja cen i warunki.
  • 100spec
    Pisze specyfikację zachowania zmiany w pliku specs/capability/spec.md w formie scenariuszy GIVEN, WHEN, THEN po zatwierdzonej propozycji.
  • 98discuss-proposal
    Omawia propozycję usprawnienia z użytkownikiem: mocne i słabe strony, wykonalność i koszt, a wynik zapisuje jako komentarz do propozycji.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.