Skip to content
Back to skills

Feat Exec

ASecurity

Use when the user wants to execute an existing pwdev-feat action plan — 'executar o plano user-crud', 'exec latest', 'rodar o plano', 'retomar a execução'. Dispatches the executor (subagent when the runtime has one, inline otherwise) in IMPLEMENT or REPORT mode, handles NEEDS_ADVICE with the advisor, and supports --resume. Do NOT use to create plans (feat-feature, feat-backend, feat-frontend, feat-test, feat-review) or for tasks without a plan (feat-quick).

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 28, 2026
developmentpythonreactgitfrontendbackend

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 28, 2026

npx -y skills add pwdev-solucoes/pwdev-claude-marketplace --skill feat-exec --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Feat Exec?

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

Security grade badge for Feat Exec
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pwdev-solucoes-feat-exec/badge)](https://www.skillsdirectory.com/skills/pwdev-solucoes-feat-exec)

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: feat-exec
description: >
  Use when the user wants to execute an existing pwdev-feat action plan — 'executar o plano
  user-crud', 'exec latest', 'rodar o plano', 'retomar a execução'. Dispatches the executor
  (subagent when the runtime has one, inline otherwise) in IMPLEMENT or REPORT mode, handles
  NEEDS_ADVICE with the advisor, and supports --resume. Do NOT use to create plans
  (feat-feature, feat-backend, feat-frontend, feat-test, feat-review) or for tasks without a
  plan (feat-quick).
metadata:
  version: 3.2.1
---

# Execute plan

You orchestrate; the executor implements. Dispatch mechanics per runtime and the inline
fallback: `references/runtime.md`. Prompts: `references/spawn-contracts.md`.

Arguments: `<slug>` or `latest` (default), optional `--resume`.

## Procedure

1. **Language** — resolve `lang` (`references/language.md`).
2. **Load** — `python3 "<plugin-root>/scripts/feat_state.py" precheck <slug|latest>`.
   - `PLAN_NOT_FOUND` → show how to create one (feat-feature / feat-backend / feat-frontend /
     feat-test / feat-review) and stop.
   - `already_executed` with no `resume_step` → warn and ask whether to re-run.
   - `resume_step` present → offer to resume from that step (implied by `--resume`).
3. **Lint** — `python3 "<plugin-root>/scripts/plan_lint.py" <plan>`. Errors → show them and
   stop (suggest fixing the plan with the skill that created it). Warnings → mention them.
4. **Working tree** — `dirty_planned_files` not empty → list them and ask whether to proceed
   (the executor may commit them). Note `branch`; on the default branch, ask before
   committing there.
5. **Memory (optional, read-only)** — if `.planning/memory/MEMORY.md` exists (curated by
   pwdev-code; never write there), pick ≤3 entries by keyword overlap with the plan
   (`convention` first; 1 hop via `[rel: ...]` within the cap) into a RELEVANT MEMORY block.
6. **Confirm with the human** (gate):
   ```
   📋 Executing plan: {plan}
   Type: {type} | Mode: {IMPLEMENT | REPORT (no commit)} | Runtime: {runtime} ({subagent|inline})
   Objective: {objective}
   Files: {N} | Criteria: {N} | Steps: {N}{ | resuming at step n}
   Base commit: {sha}
   Proceed? (y/n)
   ```
7. **Record** (audit on): `sh "<plugin-root>/scripts/audit-log.sh" event exec "" started <plan> "<MODE>"`.
   **Dispatch the executor** with the executor prompt (full plan, MODE, SLUG, BASE COMMIT,
   PLUGIN ROOT, LANGUAGE, context documents for the plan type, RELEVANT MEMORY, and
   `RESUME FROM STEP n` when resuming). Model per `references/model-profiles.md` (key
   `feat-executor`). Record: `sh "<plugin-root>/scripts/audit-log.sh" spawn exec ""
   pwdev-feat:executor <model|inherited|inline>`. No subagent mechanism → follow
   `references/executor-contract.md` inline yourself.
8. **React to the ≤10-line status** (never open the reports unless the status requires it):
   - Blocked-write fallback: if the reply carries `--- BEGIN FILE <path> ---` blocks, write each
     content verbatim to its path (only paths under `.planning/feat/features/{slug}/`), and make
     sure `plan.done.md` exists, rendered from `templates/plan.done.md` with its
     `<!-- feat-status: ... -->` marker; note in the Deviations that the orchestrator persisted it.
   - `COMPLETE` / `CAVEATS` → step 9.
   - `STOPPED:<condition>` → present it and wait for the human.
   - `NEEDS_ADVICE` → at most ONE consultation per plan: dispatch the advisor with the advisor
     prompt (advice request + plan §1/§2/§7; key `feat-advisor`), log
     `audit-log.sh event exec "" advice_requested` and `... advice_given`, then re-dispatch the
     executor with the ADVICE block. `NEEDS_ADVICE` again → present to the human and stop.
   - `FAILED` → re-dispatch ONCE with the retry block; fails again → stop and report both notes.
   Advice and retry counters are independent: at most 1 advice + 1 retry per plan.
9. **Record** the outcome: `sh "<plugin-root>/scripts/audit-log.sh" event exec "" <completed|failed>
   <plan> "<STATUS>"` (`completed` for COMPLETE/CAVEATS, `failed` otherwise). **Check the tree**:
   `git status --porcelain --untracked-files=all` — report any change outside `.planning/` left by
   the run instead of hiding it.
   **Present**:
   ```
   ✅ Plan {slug} executed — {COMPLETE | CAVEATS | FAILED} ({IMPLEMENT | REPORT})
   Commit: {hash | none — findings at .planning/feat/features/{slug}/{review.md | test-audit.md}}
   Report: .planning/feat/features/{slug}/plan.done.md
   👉 Next: feat-review {base_commit}..HEAD   (IMPLEMENT only)
   ```

## Prohibitions

- Never implement code yourself while a subagent mechanism is available — dispatch the executor.
- Never execute without the human's confirmation at step 6.
- Never commit in REPORT mode.
- Never paste `plan.done.md` or the findings file into your context — status lines only (the
  blocked-write fallback is written straight to disk, not summarized).

Language: resolve `lang` per `references/language.md` before any human-facing output. Safety: never read or expose `.env*` (except `.env.example`/`.template`/`.sample`), keys, certificates or credentials — `references/safety.md`. Paths `references/`, `scripts/`, `templates/`, `schemas/` are relative to the plugin root (`references/runtime.md`).

Files in this skill

  • SKILL.md5.2 KB
  • agents/openai.yaml179 B

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…