* refactor!: unify GitHub identities and provider-aware board workflows
* fix: resolve renamed helpers from their installed packages
* fix: validate published names and preserve transport types
* feat!: consolidate test/scan/env/prompt/performance commands behind skills
- merge /tests into /test run (scope tokens forwarded; /tests retired)
- retire /performance; /refactor perf is the sole performance front door
- rewire /scan as a thin security front door (security-audit + dependency-audit)
- add env-setup skill; /env becomes a thin router to it
- move the Lyra 4-D framework into prompt-engineering references; /prompt goes thin
- document intentional command shortcuts (/qa, /deslop, PR-flow trio) in README
- regenerate bundles + marketplace (185 skills, 30 commands, 198 plugins)
* fix(test-dispatch,env-setup): correct router contract and env discovery scan
Three CodeRabbit findings on #127, all verified against the source before
fixing.
test-dispatch understated what it routes into. Its Creates/Modifies claimed the
router mutates "nothing directly" and its Confirmation Required listed only
e2e/coverage/init as mutating — but `run` delegates to test-runner, whose
auto-fix loop edits the code under test and its tests until green. A reader
picking a route from the contract would have believed `/test run` was safe.
The fix corrects the documentation rather than adding a gate: test-runner's
unprompted edit of the file under test IS `/test run`, and `--no-fix` is the
existing, designed way to ask for a report with no edits. Bolting a blanket
confirmation onto the auto-fix loop would contradict both. The contract now
names which routes mutate, and points at `--no-fix` instead of a gate
test-runner does not have.
env-setup's discovery command had a filter that silently filtered nothing:
`grep -oh` prints only the matched text with the filename suppressed, so the
downstream `grep -v node_modules` had no path to match against and dependency
hits stayed in the inventory. Exclusion is now directory-scoped
(`--exclude-dir`), the pattern also covers bracket access
(`process.env["X"]`), and the surrounding prose states what the scan cannot
see — helper functions, destructures, dynamic keys, and non-JS services in the
same repo — so the output reads as a starting inventory, not an answer.
`/test run unit | integration | e2e` sat inside a bash fence, where copy-paste
runs a pipeline instead of picking a scope. Split into three commands in both
the skill and commands/test.md.
Verified: validate-changed-skills 0 errors/0 warnings, markdownlint 0 issues,
biome clean, catalog regenerated to 186 skills / 199 plugins. The discovery
grep was run against this repo and returns real variable names.
- new gh-board-sync skill (1.0.0): read-only reconciliation of a GitHub
Projects v2 board against real repo state across eight checks —
merged-not-Done, Done-not-merged (false green), stale In Progress,
Human Review starvation, untracked work, epic/parent drift, sprint
readiness, and Priority hygiene — ending with a board-trustworthy verdict
- bundled gh-board-sync-report.mjs: paginated GraphQL board read,
issue<->PR resolution via closedByPullRequestsReferences and closing
keywords, per-repo merge/issue/milestone activity, configurable
--window/--stale/--horizon, --json output; always read-only
- sprint readiness lists each due milestone's open issues as the coming
sprint's focus list; horizon defaults to 7 days, --horizon for longer
sprints
- --apply (skill-driven, not the script) sets Status/Priority only, one
confirmation per check category; never closes, merges, or touches
milestones
- /board becomes a full front door like /cleanup: status, init, audit,
normalize, copy, sync [--apply], schedule [days], review — shape modes
route to gh-project-board, truth modes to gh-board-sync
- add gh-board-sync to github and dev-loop bundles; regenerate bundles,
marketplace.json (198 plugins, 185 skills), and catalog counts
* feat!: rename release-cleanup to git-cleanup behind /cleanup, retire /clean and /inbox
- rename skills/release-cleanup -> skills/git-cleanup (v3.0.0): branch and
worktree pruning is git hygiene, not a release step
- new /cleanup command front door: branches, worktrees, verify, prune,
tasks, sessions, all — absorbs the old /clean command
- delete /inbox command (dead .agents/inbox.md capture flow; the gh-inbox
skill stays for GitHub-scoped triage)
- release-dispatch v2.0.0: cleanup/prune subcommands now point to /cleanup
and stop instead of routing to a release engine
- sharpen /merge copy: default merges ALL approved open PRs, prune step
delegates to git-cleanup
- update all cross-references (merge-open-prs, worktree, release, pstack)
with version bumps and mirrored plugin.json files
- regenerate bundles, marketplace.json, and catalog counts (31 commands)
* fix(git-cleanup): prove merges by patch identity, not commit subject
CodeRabbit flagged the rule-3 fallback on #125. Verified in a sandbox: a
branch whose only commit subject matched a merged PR title was classified
PRUNABLE and would have reached `git branch -D` / `git push origin --delete`,
even though its contents were entirely unmerged.
Subject matching was also near-useless for the case it was written for — a
squash merge rewrites several branch subjects into one PR title, so they
stop matching anyway. Replaced with git patch-id:
- per-commit equivalence via `git cherry`, then
- cumulative-diff patch-id against trunk commits since the merge base
(bounded at 500; unproven => reported, never deleted)
Verified against four cases: unmerged decoy with a colliding subject (not
prunable), genuine squash merge (prunable), rebased copy (prunable), and
merged work plus a new commit (not prunable).
Also from the same review:
- /release prune now redirects to /cleanup instead of falling through to the
unknown-argument path (release-dispatch already accepted both spellings)
- release-dispatch Creates/Modifies no longer advertises branch/worktree
deletion, which no /release mode can reach
- /cleanup closes issues with a PR/commit URL rather than a gitignored
.agents/sessions path that GitHub readers cannot open
- session backups write to a sibling dir, not inside the directory being
consolidated
A duplicate-detection audit flagged skills/analyze-codebase/ and
skills/codebase-advisor/ as near-identical in intent. codebase-advisor
wins on every axis: Hard Rules, a Contract block, the user-invoked
invocation split, scoped allowed-tools, effort levels, and a references/
tree. analyze-codebase was a thin five-step outline with none of it.
Fold in the one capability analyze-codebase had that the advisor lacked:
producing a written architecture and health document for a human, rather
than plan files for an executor. It lands as the `report` variant, with
the discovery pass and section structure in references/analysis-report.md
so SKILL.md only carries what every branch needs.
- Absorb its triggers into description/when_to_use (analyze codebase,
architecture review, project health check, onboarding).
- Widen Hard Rule 1 and the Contract to cover the report artifact, and
add the tools it needs (tree, .agents/memory writes).
- Bump codebase-advisor 1.0.1 -> 1.1.0 in SKILL.md and plugin.json.
- Delete skills/analyze-codebase/, drop it from the README Dev Workflow
list (43 -> 42) and the dev-workflow bundle, and regenerate.
scripts/classify-provenance.workflow.js keeps its mention: that array is
a frozen one-shot snapshot that still names skills retired in bacfbda.
Closes#97
* feat: add grok second-opinion review lane, fix catalog drift
- New grok-review skill: /review grok [target] runs one headless Grok CLI
pass on the exact diff (CLI default model/effort, no execution flags),
then verifies every finding in-session before reporting. Report-only.
- review-dispatch 1.4.0: parse the grok engine token, route gathered
diffs to grok-review; retro stays native; engine and depth flags are
mutually exclusive.
- README sync: remove ghost deslop-ui entry, list nestjs-testing-expert
(also added to the backend bundle), category counts corrected.
- skill-auditor 1.2.0: README-sync recipe now reads the categorized
backtick lists (the skills.sh link table no longer exists); orphaned
example table row restored to its table.
- Regenerated catalog facts (169 skills / 182 plugins).
* chore: regenerate marketplace bundles for grok-review lane
* feat: adopt Pocock skill craft and missing primitives
Fold grilling, domain-modeling, wait-what, wizard, prototype, and
codebase-design into the catalog, plus a user-invoked Dev Loop
router, without copying his 25-skill toolkit.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix: include docs/ in generated catalog layout
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: retire session-documenter, session-start, and session-end skills
Session history lives in GitHub Issues and repo .agents/memory/ — the
session-doc ritual is no longer part of the workflow. Removes the three
skills from skills/, the session bundle, marketplace.json,
plugin-categories.json, and every cross-reference; regenerates catalog
artifacts via bun run marketplace:generate.
* fix(deps): override brace-expansion, js-yaml, linkify-it to patched versions
bun audit flagged 4 high advisories in markdownlint-cli transitive deps;
compatible-range update cannot reach the fixed versions, so pin via
overrides (same pattern as the existing picomatch override).
Implements three independent enhancements (#39, #26, #27):
#39 codex-image-gen skill (ai-agents bundle)
- New skill that drives the Codex CLI image tool and extracts the finished
PNG from the session rollout JSONL (the headless `codex exec` path never
writes the image to disk). Ships SKILL.md, plugin.json, and a Python
extractor helper, plus an AppIcon.appiconset worked example and the
alias/sandbox, size/alpha, and fragility caveats.
#26 dispatch:plan planning gate
- New plan-dispatch.yml: a human applies `dispatch:plan` to a Backlog issue;
the Claude lane runs the writing-plans contract, posts/updates a trusted
`## Implementation Plan` comment, moves the board to Human Review, assigns
the gate-applier, and applies NO execution gate. Planning and execution stay
separated by human validation.
- setup-dev-loop.sh seeds the dispatch:plan label and installs the workflow.
- Documented in triage-labels.md, setup-agent-routing, loop.md, ai-dev-loop.md
(incl. HITL issues never receiving any gate, dispatch:plan included).
#27 local /codex-loop command
- Codex twin of /loop: claims one dispatch:codex Backlog issue, runs the
executing-plans contract through `codex exec`, opens a PR, hands off to
Human Review. Same 30-min claim lock, reads the `## Implementation Plan`
comment, one issue per invocation. loop.md no longer calls the Codex lane
push-only and cross-references /codex-loop.
Bundles + marketplace.json regenerated; README counts updated (147 skills,
21 commands). All gates green: bun run validate, bun run lint (markdownlint +
biome + shellcheck), actionlint.
Mirrors the /review and /release dispatcher pattern — one front door per domain
instead of scattered single-skill commands. No behavior removed; routers delegate
to the existing skills behind their own gates.
New dispatchers (skill + front-door command):
/skill create|capture|comply|scout → skill-* skills
/design audit|clarify|critique|layout|polish|quieter|shape|consistency
/test run|qa|tdd|e2e|coverage|init|regression
/agent audit|config|init|route
/prd new|spec|gate|write|intake|interview
/deploy app|compose|ec2|monitor|devcontainer
Extended /pr with PR-scoped actions: address (gh-address-comments),
fix-ci (gh-fix-ci), suggest (gh-review-suggestions). gh-inbox and
gh-project-board left standalone (cross-PR scope, not single-PR).
Registered in plugin-categories.json; marketplace.json + bundles regenerated.
Skill count 146 → 152 (README, AGENTS.md, package.json).
One front door for the release lifecycle, mirroring the /review → review-dispatch
pattern. Subcommands route to the existing engines (no behavior removed):
/release status: trunk, latest tag, commits since, CI state + usage
/release gates → release-pr-gates (verify CI green, cut tag/release or release PR)
/release cut|notes|patch|minor|major|vX.Y.Z → release (semver + patch notes)
/release cleanup → release-cleanup (prune merged branches + stale worktrees)
- New skills/release-dispatch (explicit-invoke only; read-only until the
delegated skill's own confirmation gate).
- commands/release.md rewritten as the front door.
- Registered in plugin-categories.json; marketplace.json + bundles regenerated.
- Skill count 146 → 147 (README, AGENTS.md, package.json).
Close gaps found by comparing the Cursor cursor-team-kit skills against our
library. Adds four skills + four commands and extends four existing skills.
New skills:
- standup: author-scoped git recap (collapses Cursor weekly-review +
what-did-i-get-done)
- test-runner: scoped/changed/full/e2e/types test execution with a
read-trace, fix, rerun-until-green loop (subsumes run-smoke-tests +
check-compiler-errors)
- pr-comments: read-only, severity-tagged, priority-ordered PR comment digest
(get-pr-comments)
- fix-merge-conflicts: correctness-first conflict resolution, lockfile regen,
rebuild-before-continue; model-invokable so it auto-triggers on conflicts
New commands: /standup, /tests, /pr (dispatcher), /deslop
Extended skills:
- de-slop: --changed diff-only scoping, two new slop patterns (defensive
try-catch, over-nesting -> early returns), explicit Modes section
- gh-pr-publish: Reviewability Pass (/pr tidy) - rewrites the PR description
for reviewers; description only, no commit reorg (squash-merge repo)
- gh-fix-ci: autonomous loop-until-green mode, gh pr checks --json as truth
source, external-check link inspection (loop-on-ci parity)
- merge-open-prs: delegates conflicted PRs to fix-merge-conflicts
Registered the new skills in plugin-categories.json and regenerated bundles
and marketplace.json. Avoids files owned by the open /review PR to stay
conflict-free. Validate + lint clean; bundles regenerate deterministically.
Add a single front door for code review instead of remembering which of
six review skills fits which scope.
- commands/review.md: /review command with target modes — working tree,
single PR, all open PRs (summary table), last N commits, and time
windows (24h/7d/2w) — plus a --deep flag for the orchestrated pass.
- skills/review-dispatch: the router behind /review. Parses the arg into
(mode, depth), resolves the target to diffs with read-only git/gh, and
delegates to code-review (quick gate) or full-code-review (deep). Holds
no rubrics of its own. Read-only throughout.
- structural-review: add Design Purity (same behavior, less structure —
code-judo) and Directness vs Magic (speculative generality, hidden
assumptions) axes to close the gaps vs Cursor's thermo-nuclear rubric;
mirror both into full-code-review's inline structural reviewer prompt.
- merge.md: point the per-PR review step at the same engine as
/review prs so the two share one mental model.
- full-code-review.js: document why reviewer rubrics are inlined (Workflow
sandbox has no filesystem access) and name the canonical source skills.
Regenerated marketplace.json + dev-workflow bundle (review-dispatch added
to plugin-categories.json). All 142 skills pass validate-skill-sync;
markdownlint clean.
* feat(dev-loop): add ready-for-agent dispatch + setup-agent-routing skill
Human-gated autonomous execution for the AI dev loop, in two phases that share
one dispatch contract: an issue runs only when a human applies `ready-for-agent`
(opt-in) and it sits in `status:todo`.
- setup-agent-routing: new skill that writes an `## Agent skills` routing block
+ docs/agents/ so the dev-loop skills (executing-plans, feature-intake,
writing-prds, qa-reviewer) know a consumer repo's tracker, label vocabulary,
and domain layout. Adapted port of setup-matt-pocock-skills.
- commands/loop.md: Phase 1 local pull loop (/loop, --status, --list) wrapping
executing-plans. One invocation = one task, never a daemon.
- .github/workflows/agent-dispatch.yml: Phase 2 push dispatch on the
`ready-for-agent` label. OAuth-token-only auth (never ANTHROPIC_API_KEY),
per-issue concurrency, least-privilege permissions, untrusted issue body.
- executing-plans: candidate query now requires ready-for-agent + status:todo;
completion strips the gate; QA reject re-arms it (status:todo + ready-for-agent).
- .github/actionlint.yaml: register the Blacksmith runner label (also clears the
pre-existing false positive on generate-bundles.yml).
- Regenerate bundles + marketplace.json (session bundle 6 -> 7 skills).
* feat(dev-loop): add Codex/GPT lane + model-as-variable + setup script
Extend the ready-for-agent loop into a two-engine design:
- New codex-dispatch.yml: ready-for-codex gate routes to openai/codex-action@v1
(sandbox: workspace-write, safety-strategy: drop-sudo). The executing-plans
contract is inlined into the prompt since codex-action has no plugin-loading
equivalent; Codex auto-reads AGENTS.md/.codex. At most one gate per issue.
- Model selection is now a repo VARIABLE, not hardcoded or secret. Claude lane:
claude_args --model vars.AGENT_MODEL (fallback sonnet-4-6). Codex lane:
vars.CODEX_MODEL / vars.CODEX_EFFORT. Only auth tokens stay secret.
- scripts/setup-dev-loop.sh: one-shot per-repo provisioning — seeds labels
(incl. ready-for-codex), installs both workflows, arms CLAUDE_CODE_OAUTH_TOKEN
+ OPENAI_API_KEY, prints the gh variable set commands. --dry-run/--skip flags.
- Docs: AI-DEV-LOOP.md two-lane rewrite + planner/executor/QA role table;
setup-agent-routing SKILL + triage-labels seed gain the ready-for-codex gate;
commands/loop.md notes /loop is the Claude lane (Codex is push-only).
Verified: validate, shellcheck, markdownlint, actionlint all green.
* feat(skills): store implementation plans as issue comments, not local docs/plans files
writing-plans (ported from obra/superpowers) was saving the plan to a local
docs/plans/YYYY-MM-DD-<feature>.md file. That file desyncs from the project the
moment work starts and never crosses to CI, so the cross-engine "Claude plans ->
Codex executes" handoff silently failed on the plan path.
Now the plan is posted as a `## Implementation Plan` comment on the work/PRD
issue, mirroring how writing-prds stores the PRD in the issue body. A comment
co-locates plan + PRD on one issue while keeping the PRD body clean (feature-intake
forbids plans in the body). The executor and both dispatch lanes already read the
issue body, linked PRD, and ALL comments, so the plan reaches CI for either engine
with no executor/workflow/label change — the handoff gap closes for free.
- writing-plans: "Saving the Plan" -> "Storing the Plan" (gh issue comment
--body-file -); killed the docs/plans default; confirm-before-post; no-tracker
fallback; >65k-char split note; label-driven Execution Handoff; version 1.0.0 -> 1.1.0
- writing-plans/README: recorded the storage divergence so future upstream syncs preserve it
- executing-plans: the `## Implementation Plan` comment is the authoritative plan
- AI-DEV-LOOP: both planning artifacts live on the issue (PRD=body, plan=comment)
- writing-prds: "plan the X PRD" flow points at the plan comment
- regenerated planning + session bundles
skills/bug + /bug command. Turns a description into a structured bug
report (summary, steps to reproduce, expected vs actual, environment),
previews it, then on confirmation files a GitHub issue typed `Bug` via
`gh issue create --type Bug` — falling back to a `bug` label when the
repo has no issue types. Confirmation-gated; never fabricates repro
steps or environment (gaps are marked).
Registered in the github bundle; marketplace regenerated (181 skills);
README command table -> 12.
develop → staging → master promotion is deprecated. The repo's default
branch is the single trunk; releases are tags cut from it; staging and
production are deployment environments, not branches.
- skills/release: new orchestrator + /release command. Detects the trunk,
derives the next semver from commits since the last tag, generates
plain-English patch notes, then on confirmation tags the trunk and
publishes a GitHub release. Modes: notes / patch|minor|major | vX.Y.Z.
- Convert 9 skills off the develop→staging→master chain to trunk-based:
merge-open-prs (PRs target the default branch), release-pr-gates
(gate + cut on the trunk), release-cleanup (verify merged-to-trunk via
the squash-aware oracle), deploy, deployment-composer, worktree (base
off the trunk), plus gh-pr-publish / turborepo / open-source-checker
reference fixes.
- Register release in the github + dev-workflow bundles; regenerate the
marketplace (180 skills); README command table → 11, trunk wording.
staging/production as deployment environments and the verb "develop"
were intentionally left intact.
* feat(skills): add merge-open-prs skill + /merge command
Orchestrator that reviews every open PR targeting develop, merges the
approved ones, then delegates branch/worktree pruning to release-cleanup.
- skills/merge-open-prs: discover open PRs into develop, classify
(draft/conflict/CI/candidate), review each candidate via code-review,
print a consolidated plan behind a confirm gate, merge oldest-first
with the repo's preferred method (squash > merge > rebase), then hand
off pruning to release-cleanup. Modes: review / merge / full.
- commands/merge: thin /merge entrypoint over the skill.
- Register in github + dev-workflow bundles; regenerate marketplace.
Safety: base is develop (stop if absent), drafts/conflicts/red-CI
auto-excluded, review is a gate, two confirmation points, no force or
admin override past branch protection, no deletion beyond merged head
branches (the rest is release-cleanup's gated job).
* refactor(merge): drop confusing `merge`/`full` mode words
`/merge merge` read as nonsense. Replace the positional mode words with a
clear surface: `review` (plan only), `--no-prune` flag (merge, skip prune),
and a bare base-branch arg — all combinable. Default `/merge` stays the full
review→merge→prune sweep.
* feat(skills): add codebase-advisor skill
Read-only senior-advisor skill that surveys any codebase and produces
prioritized, self-contained implementation plans for other agents to
execute. Adapted from shadcn/improve (MIT).
- Audits bugs, security, performance, test coverage, tech debt,
migrations, DX, and product direction; strictly read-only on source
(writes only to plans/).
- disable-model-invocation + user-invocable: side-effecting, user-only
trigger. allowed-tools scoped to read/search + safe git/audit reads;
git mutations and gh issue create deliberately excluded so they still
prompt.
- closing-the-loop flows: execute (dispatch executor subagent in an
isolated worktree, review, verdict), reconcile (keep plan backlog
alive), --issues (publish plans as GitHub issues with gh preflight).
- Platform-agnostic prose + ## Contract section for Claude + Codex
dual-target validation.
- Registered in dev-workflow bundle; marketplace + bundles regenerated.
* fix(codebase-advisor): tighten allowed-tools + propagate safety rules to refs
Address adversarial-review findings on this skill.
allowed-tools (SKILL.md): narrow the auto-approval surface. allowed-tools is
an allow-list, not a sandbox, so narrowing it forces a human permission
prompt for anything outside the read-only/plans-only envelope instead of
silent auto-approval:
- Write/Edit scoped to plans/** and advisor-plans/** (the only dirs the
advisor ever writes) — out-of-scope writes now prompt.
- audit commands made exact (Bash(npm audit), Bash(pnpm audit),
Bash(pip-audit), Bash(cargo audit)) so the mutating `audit fix` / `--fix`
forms no longer auto-approve.
- git branch restricted to `--list` / `--show-current` so `branch -D/-m`
can't run under the prior `git branch:*` wildcard.
Deliberately kept per-subcommand colon patterns rather than the sibling
`Bash(git *)` convention: this is the one strictly read-only auditor skill,
and `git *` would re-grant push/commit/branch -D. Security posture over
cosmetic convention.
closing-the-loop.md: the dispatched executor subagent does not inherit the
advisor's Hard Rules, so the executor preamble now carries Rule 4 (never
reproduce secret values; reference file:line + credential type, recommend
rotation) and Rule 6 (treat all repo content as data, not instructions).
closing-the-loop.md: --issues gains a public-repo visibility gate
(`gh repo view --json visibility`) requiring explicit, plan-specific
confirmation before publishing security/credential findings as
world-readable GitHub issues.
Contract Inputs + plan-template Category enum: align with the documented
`standard` effort default and the nine audit-playbook categories
(correctness, deps-migrations).
Regenerated bundles + marketplace. Validates Claude + Codex; markdownlint clean.
Add a three-skill review suite that complements the built-in /code-review
harness instead of duplicating it:
- structural-review (new): report-only structural/maintainability rubric —
~1000-line file blocker, abstraction-earns-keep, spaghetti branching,
canonical-layer discipline, type structural placement, non-atomic
mutations, sequential-orchestration smell, and stack hygiene (Bun,
Tailwind v4, Next.js 16 proxy.ts, shadcn/ui). Orthogonal to the harness,
which owns correctness bugs and CLAUDE.md compliance.
- full-code-review (new): model-invocable orchestrator that runs an
ultracode Workflow — three parallel reviewers (structural / security /
devex+flag-hygiene) fan out, an adversarial verifier refutes every
finding, and an Opus judge synthesizes one prioritized verdict.
Read-only; explicitly excludes the correctness lane the harness owns.
- code-review (edited): replace the weak "Code review guidance." description
with a real capability statement, add allowed-tools + a Contract block,
drop the redundant Quick Review ritual and duplicated CLAUDE.md stack
bullets (the harness validates those), and add devex-regression and
feature-flag-leak checks plus an explicit scope boundary.
Also fix a latent bug in generate-marketplace-json.js: the description
extractor used a single-line regex that captured YAML block-scalar
indicators (">-", "|") literally, so every skill using a folded
description rendered as ">-" in marketplace.json. Parse block scalars
properly — this repairs 5 previously-broken entries in addition to the
3 new/edited skills. Bundle the two new skills under dev-workflow and
ignore transient .claude/worktrees/.
* feat(skills): add release-cleanup skill
Standalone, manually-triggerable skill that verifies a release was fully
promoted through develop -> staging -> master/main, then prunes merged-into-master
local and remote branches plus stale git worktrees.
- Hard verification gate: refuses to prune if any chain hop has un-promoted
commits; flags branches not merged into develop as potential stale work
- Conservative scope: only branches whose commits are all in the production
branch; protected set (develop/staging/master/main + current) never touched
- Dry-run + confirm by default; never uses force flags automatically
- Modes: verify / dry-run (default) / prune
- Registered in github + dev-workflow bundles; regenerated marketplace (187 plugins)
* feat(skills): port spec-pipeline PRD skills
Add four skills ported from the vitae spec-pipeline, genericized to
remove client-specific coupling:
- writing-prds: tracker-issue-as-PRD model, section template, title
discipline, and quality gates
- prd-quality-gate: six-section PRD readiness gate before planning
- context-engineering: read-conventions-first protocol with trust
levels, conflict resolution, and pattern discovery
- execution-debugging: scoped root-cause debugging methodology for
failing tests/builds during stabilization
Regenerate marketplace.json and affected bundle READMEs; add the new
skills to plugin-categories.json (planning, ai-agents, dev-workflow).
* feat(skills): add worktree skill + port 5 superpowers skills
- worktree: smart-base git worktree creation (current feature branch
else develop, local tip no auto-fetch, .worktrees/ gitignored)
- verification-before-completion, systematic-debugging,
receiving-code-review (dev-workflow bundle)
- writing-plans (planning), finishing-a-development-branch (github)
- ported self-contained + platform-neutral, leak-checked
- regenerate bundles + marketplace (181 skills, 197 plugins)
- update README counts and category lists
- Updated README to reflect the current skill count of 155.
- Adjusted skill categories and counts throughout the documentation.
- Removed deprecated skills including `brand-name-generator` and `planning-assistant`.
- Revised related documentation and paths in multiple skill files for consistency.
- Updated marketplace configuration to remove references to removed skills.
- Updated README to reflect the current skill count of 158.
- Adjusted skill categories and counts throughout the documentation.
- Merged `prompt-engineer` into `prompt-engineering` and `project-scaffold` into `project-init-orchestrator`.
- Revised related documentation and paths in multiple skill files to ensure consistency.
- Removed deprecated skills and updated metadata versioning format for clarity.
- Deleted outdated skills related to Vercel React best practices and web design guidelines to streamline the project.
- Updated README.md and plugin categories to reflect the removal of these skills.
- Ensured consistency in the marketplace bundles and plugin configurations.
Total sessions today: 4
- Deleted the `agent-folder-init` skill and its associated files from the workspace.
- Updated README.md files in both session and workspace bundles to reflect the removal of the `agent-folder-init` skill.
- Adjusted plugin categories to ensure accurate skill listings in the marketplace configuration.
Total sessions today: 4
- Deleted marketplace.json and plugin.json as part of the project restructuring.
- Updated agent documentation for senior backend and frontend engineers to reflect changes in model usage.
- Adjusted plugin.json files across various bundles to standardize author information format.
Total sessions today: 4
- Changed project name to "claude-plugin-shipshitdev" and updated versioning in package.json.
- Revised project description to highlight 100+ AI agent skills for indie developers.
- Added repository and bug tracking links in package.json.
- Enhanced README.md with installation instructions for various platforms and added npm version badge for visibility.
- Updated symlink paths in the manual installation section for clarity.
Total sessions today: 4