impulse-project-management

Plans and tracks AI-driven projects with specs, decisions, and checkpoints instead of sprints.

Installation
Run `npx skills add "https://github.com/lowcoware/impulse" --skill "impulse-project-management"` to install this skill, then follow its SKILL.md instructions for my next request.

Paste this into Claude Code, Cursor, or any agent that can run commands.

SKILL.mdShow the author's original SKILL.md
---
name: impulse-project-management
description: "PM for AI-agent-driven dev: spec-driven workflow (not sprints), ADR lifecycle, mechanical playbooks (task/changelog/checkpoint/retro/triage), whole-service review scaling. Triggers: \"/impulse-pm\", \"новая задача\", \"напиши спеку\", \"write the spec\", \"заведи ADR\", \"запиши решение как ADR\", \"спланируй\", \"ретро\", \"чекпойнт\", \"обнови ченджлог\", \"ревью сервиса целиком\", \"что в бэклоге\", \"новый спринт\". Choosing between approaches when the decision is NOT yet made = impulse-brainstorm."
---

# impulse-project-management

PM for a world where implementation is cheap and review is the bottleneck.
Built by generalizing a real project's PM skill — the mechanisms below are
proven, not theoretical: layer-sharded review, severity-gated debt
aggregation, triage-as-front-door routing all shipped and worked before
being generalized here. The rule that governs every artifact this skill
writes: state only facts you can cite (file:line, an existing ADR number,
a real service name) and ask when you can't — never invent one.

## Repo scope — auto-detect

| Signal | Mode |
|---|---|
| One `.git` at cwd, no workspace file | Single-repo |
| A workspace/monorepo file (`pnpm-workspace.yaml`, `go.work`, `nx.json`) | Monorepo — one PM surface, many packages |
| A parent folder holding several sibling `.git` repos, no single workspace file | Polyrepo — shared `services-catalog`, cross-repo ADRs/tasks |

Ambiguous → ask once instead of guessing (`conventions.md`'s interactive protocol).

## The unit of work is a spec, not a sprint

Traditional sprints time-box *implementation effort* — the wrong axis once
an agent implements a feature in minutes and review takes hours. The unit
here is a **spec**: written before code, an agent implements directly from
it, a review gate decides done. Full pipeline, spec template, and the
WIP-limited flow that replaces sprint cadence: `references/spec-driven.md`.

## Review is the bottleneck — treat it as the scarce resource

Real 2025-2026 data: AI-assisted teams ship far more PRs but review time
per PR rose ~91%, and AI-generated code carries materially more defects
(~45% of samples introduced an OWASP Top-10 issue in one security
benchmark). This skill's whole review-scaling apparatus exists because of
that data, not as ceremony:

- Diff-size gates
- Ship-Show-Ask tiering
- Intent reconstruction over line-by-line diffing
- Layer-sharded whole-service review

Detail: `references/review.md`. Diff-level correctness/security review
itself stays `/code-review`'s job; this skill decides *when* and *how much*
review a change needs, and owns the whole-service spec/architecture review
mode impulse-review explicitly excludes from its own one-shot-per-diff
scope. A repo-wide over-engineering cut-list (delete/stdlib/native, no spec
questions) is impulse-shrink's job, not a review cadence decision.

## ADRs — decision authority stays human, research can be agent's

An ADR gets written when a decision has real blast radius (cross-service
contract, data ownership, dependency swap) — before implementation when
foreseeable, drafted by agent research, but **accepted only by explicit
human sign-off**, even when the agent wrote the whole first draft. Full
lifecycle, numbering, supersede chain, and the "propagate the decision"
checklist: `references/adr.md`.

## Mechanical playbooks

Task creation, changelog updates, weekly checkpoints, retrospectives,
incoming-request triage, post-launch roadmap — each a fixed, small
"when X happens, do Y" procedure. Full playbooks: `references/playbooks.md`.
Template schemas (headers only, fill from real data): `references/templates.md`.

## Cross-cutting conventions — apply everywhere in this skill

Config resolution (env > config file > default), stdout-by-default with
`--apply`-gated writes, ask-vs-don't-ask tables, BLOCK/WARN/INFO severity
triage, and the citation discipline (cite file:line or ask, rather than
inventing an ID/ADR number/service name) all live in `references/conventions.md` and
apply to every playbook and command below, not repeated per-file.

## References — load on demand

| File | Covers | Load when |
|---|---|---|
| references/spec-driven.md | spec pipeline, spec template, decompose-as-spec-type, WIP-limited flow | starting new work, planning |
| references/review.md | diff-size gates, Ship-Show-Ask tiers, intent reconstruction, whole-service layer-sharded review | any review decision |
| references/adr.md | ADR lifecycle, numbering, supersede, propagate-the-decision checklist | architecture decision with real blast radius |
| references/playbooks.md | create-task, update-changelog, weekly-checkpoint, retrospective, triage-incoming-request, post-launch-roadmap | one of these events happens |
| references/templates.md | schema for every artifact this skill writes | filling any artifact |
| references/conventions.md | config resolution, stdout/--apply, ask-vs-don't-ask, severity triage, citation discipline, subagent orchestration patterns | every invocation, cross-cutting |
| references/self-reference.md | self-generated reference artifact — a real ADR (ADR-001), built by this skill's own adr.md template, documenting the reference-artifact directive itself | checking whether current ADR output still matches this skill's own baseline |
| ../../shared/velocity.md | why spec-driven work pays for itself — rework/acceptance-rate data, spec-quality-vs-iterations evidence | justifying spec-first over ad-hoc prompting |
| ../../shared/gitlab-mcp.md | `@zereight/mcp-gitlab` setup, when to use it vs `glab`/raw API | reviewing/triaging MRs and issues on a GitLab-hosted project |
| ../../shared/subagents.md | subagent contract, orchestration patterns, handoff discipline — canonical owner | any PM playbook fanning out subagents |

## Handoff to execution

This skill PLANS. To autonomously DRIVE a plan to done — decompose into
verifiable phases, run them under one self-continuing `/goal` with per-phase
verify, 3-strike recovery, and a final audit against this plan — hand off to
`impulse-goal`. A spec/ROADMAP written here is exactly what impulse-goal consumes
as its Stage 1 input; it reuses the decomposition instead of re-asking.
Planning is here; the execution engine is there.

## Boundaries

- Correctness/security/perf/AI-typical-bug review on a diff → `/impulse-review`. This skill decides review *cadence and scale* (Ship-Show-Ask tier, whole-service audit), not line-level findings.
- Autonomously executing a plan to completion (phase loop, retry, audit) → `impulse-goal`. This skill writes the plan; impulse-goal drives it.
- Doc formatting (Obsidian syntax, properties, callouts) → `impulse-md-generator`; this skill decides *what* gets written, that skill decides *how* it's formatted.
- A status report / retro / incident write-up / plan meant to ship as a standalone shareable HTML file rather than an Obsidian note → `impulse-artifact`. Same split: this skill decides what it says, impulse-artifact decides how it renders.
- Maintaining the Obsidian vault this skill's specs/ADRs/playbooks live in — folder taxonomy, MOCs, vault health, Canvas/Bases → `impulse-wiki`. This skill decides what gets written; impulse-wiki decides where it lives and keeps the vault navigable.
- Prose voice on any generated doc → `impulse-humanizer`'s automatic doc-generation trigger — reports/ADRs/retros read like a person wrote them.
- Architecture-decay patterns *inside a diff* (hot partition keys, sync chains, nanoservices) → `impulse-review`'s `arch:` tag; this skill's ADR practice governs the *decision record*, not the pattern-catching.
- States only facts it can cite (file:line, ADR number, service name) and asks when it can't — this skill's one hard rule. `--apply` is required before any file write; stdout is the default.

## Before you finish

- Did every fact you wrote down — ID, ADR number, service name, file:line — come from something you actually read, or did you ask instead of guessing?
- If you wrote to a file, did the user pass `--apply` (stdout-only otherwise)?
- If a decision has real blast radius (cross-service contract, data ownership, dependency swap), does it have an ADR awaiting human sign-off rather than an assumed acceptance?
- Did you route diff-level correctness/security findings to `/impulse-review` instead of judging them yourself here?

Ships with 7 supporting files:

  • references/adr.md
  • references/conventions.md
  • references/playbooks.md
  • references/review.md
  • references/self-reference.md
  • references/spec-driven.md
  • references/templates.md

Mirrored from the author's public source. Install counts from the open skills registry.

The systems behind these skills get built for partners every week.

Partner with us