* 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
* fix: enforce skill repair and monitoring contracts
* fix!: clarify repair authority and persistent QA intake
* fix: align QA intake states and metaphor exceptions
* fix: preserve repair authority at the test command entry
* fix: align test input contract with Bun support
* fix: specify durable QA intake recovery ordering
* feat: port Lauren Tan pstack skills and recut tdd/de-slop
Add pstack as a model-agnostic playbook orchestrator plus the high-value
workflow skills that this catalog did not already cover. Rewrite tdd and
de-slop in place with pstack rigor. Keep existing skill ids. Attribute
MIT to Lauren Tan / cursor/plugins.
Co-authored-by: Vincent <vincent@shipshit.dev>
* fix: regenerate marketplace snapshots after pstack port
CI regenerates bundles and marketplace.json, then fails if they drift.
The port updated catalog sources but left those generated snapshots stale.
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
- validate-skill-sync.sh: hard-error when plugin.json version != SKILL.md
metadata.version, or plugin.json description is a YAML block marker
- new scripts/check-skill-version-bumps.sh (bun run version:check): CI fails
when a skill's content changes without a metadata.version bump vs base
- CI: fetch-depth 0 + version:check step after validate
- sync 12 drifted plugin.json versions to SKILL.md; fix turborepo/html-style
junk descriptions
- bundle plugin.json + marketplace.json versions now come from
package.json / skill plugin.json instead of hardcoded 1.0.0
- fixtures + regression tests for both validator gates
* docs(resources): add first-hand skill-authoring reference + repo gap analysis
Extract official Agent Skills authoring guidance from 13 primary vendor
sources (Anthropic Claude Code/API docs, Anthropic Engineering, agentskills.io,
OpenAI Codex docs) into resources/skill-authoring/. Every rule links to its
source URL; gathered 2026-06-12.
- anthropic.md / codex.md: per-platform rule sets across frontmatter, naming,
descriptions, structure, progressive disclosure, invocation, tool
permissions, references/scripts, testing, anti-patterns
- frontmatter-field-spec.md: field-by-field table incl. disallowed-tools and
the live paths/context:fork bugs
- checklist.md: pass/fail authoring checklist + time-sensitive known issues
- sources.md: annotated bibliography
- repo-gap-analysis.md: audit of .agents/SYSTEM standards + validator vs the
official guidance — flags paths-broken, missing disallowed-tools in the
validator, allowed-tools allowlist-not-sandbox, and the unsafe Bash(git *)
example, with a prioritized fix list
* docs(standards): align skill standards + validator with upstream guidance
Close the currency gaps found in resources/skill-authoring/repo-gap-analysis.md
between this repo's standards and first-hand Anthropic + Codex docs.
SKILL-STANDARDS.md:
- name: add reserved-word rule (no 'anthropic'/'claude') (G6)
- description: require third person (G7)
- allowed-tools: document as auto-approve allowlist, NOT a sandbox; unlisted
tools stay callable. Use disallowed-tools/deny rules/hooks to actually block.
Note MCP fully-qualified ServerName:tool_name (G3, G8)
- add disallowed-tools to the Claude extensions table (the real blocking field)
- context: fork — flag empty-output-on-guidelines-only + issue #17283 (G5)
- paths — flag as broken upstream (issue #49835); use nested .claude/skills/ (G1)
- replace unsafe `Bash(git *)` example with scoped read-only patterns (G4)
- references: state one-level-deep rule, no A->B->C chains (G9)
validate-skill-sync.sh:
- add disallowed-tools to allowed_fields so it stops flagging as unsupported (G2)
- warn when paths: is present, pointing at the #49835 workaround (G1)
Docs/validator only — no shipped skill changes to be correct today.
* 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 deployment-composer and release-pr-gates
- Route init skills through v0 for new Shipshit.dev products
- Normalize skill descriptions and fix sync counter increments
- Updated README to reflect the current skill count of 160.
- Adjusted skill categories and counts throughout the documentation.
- Added a guideline for rewriting imported skills before shipping to ensure consistency with repo standards.
- Revised metadata versioning format in multiple skill files for clarity.
- Removed deprecated skills from the marketplace configuration.
- Introduced a new skill for initializing a complete .agent/ folder structure tailored for AI-first development.
- Added agent configurations for senior backend and frontend engineers, detailing their roles and responsibilities.
- Implemented various commands for task management, bug capture, code review, and session documentation.
- Established coding standards and session workflow rules to enhance project consistency and quality.
- Included templates for documentation, tasks, and session management to streamline project setup.
Total sessions today: 4