agentic-sdlc-wizard 1.33.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +26 -0
- package/CLAUDE_CODE_SDLC_WIZARD.md +21 -2
- package/README.md +11 -1
- package/hooks/instructions-loaded-check.sh +23 -0
- package/package.json +1 -1
- package/skills/sdlc/SKILL.md +34 -0
- package/skills/setup/SKILL.md +5 -2
- package/skills/update/SKILL.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to the SDLC Wizard.
|
|
|
4
4
|
|
|
5
5
|
> **Note:** This changelog is for humans to read. Don't manually apply these changes - just run the wizard ("Check for SDLC wizard updates") and it handles everything automatically.
|
|
6
6
|
|
|
7
|
+
## [1.34.0] - 2026-04-17
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- Memory Audit Protocol for promoting private-memory lessons to shared docs (#189)
|
|
11
|
+
- New `/sdlc` subsection under "After Session (Capture Learnings)" defines a three-bucket classifier (`promote` / `keep` / `manual-review`) with a rule-based privacy denylist (`type: user`/`reference` → keep, `project`/`feedback` → manual-review)
|
|
12
|
+
- YAML frontmatter parser in `tests/test-memory-audit-protocol.sh` normalizes inline comments, quoted values, and whitespace so variants like `type: "user" # external` still route to keep
|
|
13
|
+
- `SDLC.md` now has a `## Lessons Learned` section seeded with 7 verified technical gotchas (GH CLI stdout, `workflows` YAML scope, GITHUB_TOKEN workflow triggers, GHA `${{ }}` backtick substitution, macOS bash 3.x, stderr/stdout separation for JSON parsing, `continue-on-error` + `||` masking); each entry cites its originating PR or incident date and was re-verified with a runnable repro before promotion
|
|
14
|
+
- 10-fixture corpus at `tests/fixtures/memory-audit-corpus/` (6 promote / 2 keep / 2 manual-review) with `test_expected` frontmatter seeds the future LLM-gated quality runner
|
|
15
|
+
- 12-test protocol suite covers structure, rule-based denylist, YAML-variant hardening, corpus consistency (promote fixtures route to manual-review under rule-based), and corpus shape
|
|
16
|
+
- Codex xhigh 3-round code review: 4/10 → 8/10 → 10/10 CERTIFIED. Caught two false lessons in private memory (`${3:-{}}` brace-default claim and `--argjson result` jq-conflict claim) that were retracted with dated strikethroughs — the protocol's first real use prevented its own false claims from shipping
|
|
17
|
+
- CLI distributes skill updates + new SDLC.md section; CI wire-up in `.github/workflows/ci.yml` (validate job)
|
|
18
|
+
- API feature detection shepherd for Claude API release notes (#100, PRs #184, #186, #187)
|
|
19
|
+
- LLM-free weekly detector at `.github/workflows/weekly-api-update.yml` polls `platform.claude.com/docs/en/release-notes/api.md`
|
|
20
|
+
- `scripts/parse-api-changelog.py` parses ATX date headers with ordinal-date normalizer and bullet-summary capture (non-date sub-headers like `#### SDKs` no longer terminate bullet extraction); 200-char truncation with ellipsis; tab scrub
|
|
21
|
+
- `scripts/persist-api-state.sh` writes last-seen date with branch-protection-safe non-blocking push; opens/updates a single `api-review-needed` tracking issue with enriched bullet summaries (not just dates)
|
|
22
|
+
- `instructions-loaded-check.sh` nudges at session start when open issues exist; gated on local workflow presence so consumer forks see only their own detector's issues
|
|
23
|
+
- 33 tests including 8 fixture-based parser tests (bullet capture, subheader boundary, tab scrub, truncation, ordinal dates) and 2 integration tests
|
|
24
|
+
- Codex xhigh 5 rounds across 2 PRs: 9/10 CERTIFIED. Found-in-prod P0 hotfix in #187 — `gh api` writes JSON error bodies to stdout (not stderr), so the label-create `already_exists` check was broken after the first successful dispatch; pattern now captures both streams
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- `gh api` error handling in `weekly-api-update.yml` now captures stdout+stderr together for `already_exists` detection on label creation (#187). Added as portable lesson in `SDLC.md` Lessons Learned
|
|
28
|
+
|
|
29
|
+
### Docs
|
|
30
|
+
- `/less-permission-prompts` Claude Code native skill surfaced in wizard and setup documentation (#183)
|
|
31
|
+
- README community section restyled with visual Discord badge for Automation Station
|
|
32
|
+
|
|
7
33
|
## [1.33.0] - 2026-04-17
|
|
8
34
|
|
|
9
35
|
### Added
|
|
@@ -2662,7 +2662,7 @@ If deployment fails or post-deploy verification catches issues:
|
|
|
2662
2662
|
|
|
2663
2663
|
**SDLC.md:**
|
|
2664
2664
|
```markdown
|
|
2665
|
-
<!-- SDLC Wizard Version: 1.
|
|
2665
|
+
<!-- SDLC Wizard Version: 1.34.0 -->
|
|
2666
2666
|
<!-- Setup Date: [DATE] -->
|
|
2667
2667
|
<!-- Completed Steps: step-0.1, step-0.2, step-0.4, step-1, step-2, step-3, step-4, step-5, step-6, step-7, step-8, step-9 -->
|
|
2668
2668
|
<!-- Git Workflow: [PRs or Solo] -->
|
|
@@ -3135,6 +3135,8 @@ Want me to file these? (yes/no/not now)
|
|
|
3135
3135
|
|
|
3136
3136
|
**`/revise-claude-md` scope:** Only updates CLAUDE.md. It does NOT touch feature docs, TESTING.md, hooks, or skills. Use it for general project context that applies across the codebase.
|
|
3137
3137
|
|
|
3138
|
+
**Memory Audit Protocol:** Per-user memory at `~/.claude/projects/<proj>/memory/` accumulates private learnings. Some are portable technical lessons that belong in shared docs. The `/sdlc` skill's **Memory Audit Protocol** section (under "After Session (Capture Learnings)") defines a three-bucket classifier (`promote` / `keep` / `manual-review`) with a type-based denylist that keeps `user`/`reference` entries private and routes `project`/`feedback` entries to human review. Run at end-of-release or after debugging-heavy sessions. Human approves every promotion chunk-by-chunk before apply.
|
|
3139
|
+
|
|
3138
3140
|
**When to do mini-retro:** After features, tricky bugs, or discovering gotchas. Skip for one-line fixes or questions.
|
|
3139
3141
|
|
|
3140
3142
|
**The SDLC evolves:** Weekly research, monthly deep-dives, and CI friction signals feed improvements. Human approves, the system gets better.
|
|
@@ -3721,7 +3723,7 @@ Walk through updates? (y/n)
|
|
|
3721
3723
|
Store wizard state in `SDLC.md` as metadata comments (invisible to readers, parseable by Claude):
|
|
3722
3724
|
|
|
3723
3725
|
```markdown
|
|
3724
|
-
<!-- SDLC Wizard Version: 1.
|
|
3726
|
+
<!-- SDLC Wizard Version: 1.34.0 -->
|
|
3725
3727
|
<!-- Setup Date: 2026-01-24 -->
|
|
3726
3728
|
<!-- Completed Steps: step-0.1, step-0.2, step-1, step-2, step-3, step-4, step-5, step-6, step-7, step-8, step-9 -->
|
|
3727
3729
|
<!-- Git Workflow: PRs -->
|
|
@@ -4060,6 +4062,23 @@ When Anthropic provides official plugins that overlap with this SDLC:
|
|
|
4060
4062
|
|
|
4061
4063
|
**Re-run `claude-code-setup` periodically** (quarterly, or when your project expands in scope) to catch new automations — MCP servers, hooks, subagents — that weren't relevant at initial setup but are now.
|
|
4062
4064
|
|
|
4065
|
+
**API feature shepherd (self-maintenance, roadmap #100):**
|
|
4066
|
+
|
|
4067
|
+
The wizard watches the **Anthropic API changelog** — not just Claude Code CLI releases — for new betas, tools, and agent features. The detector runs in `.github/workflows/weekly-api-update.yml`, is intentionally LLM-free, and only opens a tracking issue labeled `api-review-needed` when new entries appear at `platform.claude.com/docs/en/release-notes/api`.
|
|
4068
|
+
|
|
4069
|
+
When that issue is open, the session-start hook nudges you. The session (not the workflow) does the deep research + adoption via the full SDLC loop. This mirrors the "local shepherd" pattern used for CI fixes: cheap Action-layer detection + session-time analysis beats expensive Action-layer LLM calls.
|
|
4070
|
+
|
|
4071
|
+
The gap this closes: the advisor tool (API beta, `advisor-tool-2026-03-01`) shipped and was missed for several days before manual discovery. Detector would have flagged it on the next weekly tick.
|
|
4072
|
+
|
|
4073
|
+
**Complementary native skills worth knowing:**
|
|
4074
|
+
|
|
4075
|
+
| Native Skill | What It Does | When to Run |
|
|
4076
|
+
|--------------|--------------|-------------|
|
|
4077
|
+
| `/less-permission-prompts` | Scans transcripts for common read-only Bash/MCP calls and proposes a prioritized allowlist | After a few sessions — reduces permission friction without auto mode |
|
|
4078
|
+
| `/permissions` | Pre-allow specific commands and check them into `.claude/settings.json` | Anytime you want an auditable team allowlist |
|
|
4079
|
+
|
|
4080
|
+
These are shipped by Claude Code itself. The wizard doesn't reimplement them — it points you at them so you benefit from the native version's ongoing maintenance.
|
|
4081
|
+
|
|
4063
4082
|
### When Claude Code Improves
|
|
4064
4083
|
|
|
4065
4084
|
Claude Code is actively improving. When they add built-in features:
|
package/README.md
CHANGED
|
@@ -237,7 +237,17 @@ This isn't the only Claude Code SDLC tool. Here's an honest comparison:
|
|
|
237
237
|
|
|
238
238
|
## Community
|
|
239
239
|
|
|
240
|
-
|
|
240
|
+
<div align="center">
|
|
241
|
+
|
|
242
|
+
[](https://discord.com/invite/fGPEF7GHrF)
|
|
243
|
+
|
|
244
|
+
**[Automation Station](https://discord.com/invite/fGPEF7GHrF)** — a community Discord packed with software engineers bringing 40+ years of combined experience across every area of the stack.
|
|
245
|
+
|
|
246
|
+
_Frontend · Backend · Infra · Embedded · Data · QA · DevOps_
|
|
247
|
+
|
|
248
|
+
Share patterns, ask questions, compare notes on AI agents, automation, and SDLC tooling.
|
|
249
|
+
|
|
250
|
+
</div>
|
|
241
251
|
|
|
242
252
|
## Contributing
|
|
243
253
|
|
|
@@ -98,6 +98,29 @@ if [ -d "$PROJECT_DIR/.claude/skills/update" ]; then
|
|
|
98
98
|
done
|
|
99
99
|
fi
|
|
100
100
|
|
|
101
|
+
# API feature review nudge (#100) — surface open 'api-review-needed' issues
|
|
102
|
+
# opened by .github/workflows/weekly-api-update.yml so the session picks up
|
|
103
|
+
# new API features without waiting for manual discovery.
|
|
104
|
+
#
|
|
105
|
+
# Gated on LOCAL presence of the detector workflow: the CLI distributes this
|
|
106
|
+
# hook to consumer projects, and we don't want to pester those users with
|
|
107
|
+
# upstream-wizard issues. The nudge only fires when the current repo owns
|
|
108
|
+
# the detector (= the wizard repo or a fork of it).
|
|
109
|
+
if [ -f "$PROJECT_DIR/.github/workflows/weekly-api-update.yml" ] && \
|
|
110
|
+
command -v gh > /dev/null 2>&1; then
|
|
111
|
+
# Query the current repo (not hardcoded upstream) — in a fork, users see
|
|
112
|
+
# their own detector's issues, not ours.
|
|
113
|
+
API_REVIEW_COUNT=$(gh issue list \
|
|
114
|
+
--state open \
|
|
115
|
+
--label "api-review-needed" \
|
|
116
|
+
--limit 1 \
|
|
117
|
+
--json number \
|
|
118
|
+
--jq 'length' 2>/dev/null) || API_REVIEW_COUNT=""
|
|
119
|
+
if [[ "$API_REVIEW_COUNT" =~ ^[0-9]+$ ]] && [ "$API_REVIEW_COUNT" -gt 0 ]; then
|
|
120
|
+
echo "Anthropic API features pending review: ${API_REVIEW_COUNT} open issue(s) with label 'api-review-needed' (see .github/workflows/weekly-api-update.yml)"
|
|
121
|
+
fi
|
|
122
|
+
fi
|
|
123
|
+
|
|
101
124
|
# Claude Code version check (non-blocking, best-effort)
|
|
102
125
|
if command -v claude > /dev/null 2>&1 && command -v npm > /dev/null 2>&1; then
|
|
103
126
|
CC_LOCAL=$(claude --version 2>/dev/null | grep -o '[0-9][0-9.]*' | head -1) || true
|
package/package.json
CHANGED
package/skills/sdlc/SKILL.md
CHANGED
|
@@ -717,6 +717,40 @@ If this session revealed insights, update the right place:
|
|
|
717
717
|
- **General project context** → `CLAUDE.md` (or `/revise-claude-md`)
|
|
718
718
|
- **Plan files** → If this session's work came from a plan file, delete it or mark it complete. Stale plans mislead future sessions into thinking work is still pending
|
|
719
719
|
|
|
720
|
+
### Memory Audit Protocol
|
|
721
|
+
|
|
722
|
+
Per-user memory at `~/.claude/projects/<proj>/memory/` accumulates private learnings. Some belong there (user preferences, external references). Others are portable technical lessons (tool quirks, platform gotchas, bash/GHA/macOS footguns) that would save the next contributor hours. Run this audit to promote the portable ones.
|
|
723
|
+
|
|
724
|
+
**When to run:**
|
|
725
|
+
- End-of-release (before cutting a tag)
|
|
726
|
+
- After a debugging-heavy session with multiple memory additions
|
|
727
|
+
- On explicit "audit my memory" request
|
|
728
|
+
|
|
729
|
+
**Classify each memory file in `~/.claude/projects/<proj>/memory/`:**
|
|
730
|
+
|
|
731
|
+
1. **Rule-based denylist (deterministic, no LLM):**
|
|
732
|
+
- `type: user` → `keep` (user identity, preferences — never promote)
|
|
733
|
+
- `type: reference` → `keep` (external pointers to Discord/URL/etc — private by default)
|
|
734
|
+
- `type: project` → `manual-review` (often mixed state + portable lesson — human decides)
|
|
735
|
+
- `type: feedback` → `manual-review` (often mixed personal preference + portable rule — human decides)
|
|
736
|
+
- Parser must normalize YAML variants (`type: "user"`, `type: user # comment`, surrounding whitespace) — see `tests/test-memory-audit-protocol.sh::apply_denylist_rule` for the reference implementation
|
|
737
|
+
2. **Remaining entries** (no type, or type outside the 4 above) fall through to human-gated review. An LLM-assisted classification runner is Prove-It-Gated: build it only after running this protocol 4+ times with manual classification. Until then, human review at promotion time IS the quality gate
|
|
738
|
+
|
|
739
|
+
**Destinations for `promote` entries (no new files — use existing wizard destinations):**
|
|
740
|
+
|
|
741
|
+
| Content | Target |
|
|
742
|
+
|---------|--------|
|
|
743
|
+
| Language/tool/platform gotchas (bash, gh CLI, GHA, macOS) | `SDLC.md` → `## Lessons Learned` section |
|
|
744
|
+
| Testing gotchas (flaky patterns, mock-vs-integration lessons) | `TESTING.md` |
|
|
745
|
+
| Tool-specific quirks tied to a skill | That skill's `SKILL.md` |
|
|
746
|
+
| Process rules that should govern the project | `CLAUDE.md` |
|
|
747
|
+
|
|
748
|
+
**Tracking:** When you promote an entry, add `promoted_to: <path>` to that memory file's YAML frontmatter. Subsequent audits skip already-promoted entries.
|
|
749
|
+
|
|
750
|
+
**Human gate is MANDATORY.** Protocol produces diffs; user approves chunk-by-chunk before apply. Never auto-apply — private memory touching public docs needs human judgement.
|
|
751
|
+
|
|
752
|
+
**Prove It Gate:** If you find yourself running this protocol 4+ times and manually doing the same classification work, that's evidence to build a `/memory-audit` slash command AND wire the LLM-gated quality tests (8/10 classification, 6/6 destination). Until then, protocol + human review is enough — and no stub tests that skip (they mislead reviewers into thinking a gate exists when it doesn't).
|
|
753
|
+
|
|
720
754
|
## Post-Mortem: When Process Fails, Feed It Back
|
|
721
755
|
|
|
722
756
|
**Every process failure becomes an enforcement rule.** When you skip a step and it causes a problem, don't just fix the symptom — add a gate so it can't happen again.
|
package/skills/setup/SKILL.md
CHANGED
|
@@ -224,10 +224,13 @@ Tell the user:
|
|
|
224
224
|
> **Exit Claude Code and restart it** for the new configuration to take effect.
|
|
225
225
|
> On restart, the SDLC hook will fire and you'll see the checklist in every response.
|
|
226
226
|
>
|
|
227
|
-
> **Optional next
|
|
227
|
+
> **Optional next steps:**
|
|
228
228
|
> - Run `/claude-automation-recommender` for stack-specific tooling suggestions (MCP servers, formatting hooks, type-checking hooks, plugins)
|
|
229
|
+
> - After a few sessions, run `/less-permission-prompts` — a native Claude Code skill
|
|
230
|
+
> that scans your transcripts for common read-only Bash/MCP calls and proposes a
|
|
231
|
+
> prioritized allowlist. Reduces permission friction without enabling auto mode.
|
|
229
232
|
>
|
|
230
|
-
>
|
|
233
|
+
> Both are complementary to the SDLC wizard — they add tooling and quality-of-life, not process enforcement.
|
|
231
234
|
|
|
232
235
|
## Rules
|
|
233
236
|
|
package/skills/update/SKILL.md
CHANGED
|
@@ -46,9 +46,10 @@ Parse all CHANGELOG entries between the user's installed version and the latest.
|
|
|
46
46
|
|
|
47
47
|
```
|
|
48
48
|
Installed: 1.24.0
|
|
49
|
-
Latest: 1.
|
|
49
|
+
Latest: 1.34.0
|
|
50
50
|
|
|
51
51
|
What changed:
|
|
52
|
+
- [1.34.0] API feature detection shepherd for Claude releases, Memory Audit Protocol with 7 verified lessons (+2 caught-and-retracted), /less-permission-prompts surfaced, ...
|
|
52
53
|
- [1.33.0] opus[1m] as SDLC default, dual-channel install drift guardrails, model/effort session-start nudge, ...
|
|
53
54
|
- [1.32.0] Opus 4.7 + xhigh support, model/effort upgrade detection, benchmark ceiling audit, ...
|
|
54
55
|
- [1.31.0] Hook false-positive fix for non-SDLC dirs, ephemeral marketplace path warning, ...
|