feat(skills): add test-specflow skill for manual UX validation#10
Merged
feat(skills): add test-specflow skill for manual UX validation#10
Conversation
A toolbox for spinning up controlled test environments under test/<name>/ (gitignored) and running Specflow against them using the current source tree (deno run on src/main.ts) — not the installed binary. Same pattern that caught the brownfield .gitignore bug (#6) and validated the fix end-to-end. Scripts: - bootstrap-vite.sh <name> Vite React-TS scaffold (skips npm install — deps not needed for the UX test path). - bootstrap-empty.sh <name> git-init'd dir with stub package.json — greenfield case. - run-init.sh <name> <harness> deno run src/main.ts init --here --no-git --ai <harness>. - inspect.sh <name> list specflow output paths (.claude, .agent, .specflow, tasks/, AGENTS.md, CLAUDE.md, .gitignore) with file counts / byte sizes. - compare-harnesses.sh <name> bootstrap once + run all 8 harnesses on copies + print summary per harness. - clean.sh [<name>] remove test/<name>/ or wipe test/ entirely. All scripts are idempotent (re-run wipes any prior test/<name>/ first). Verified end-to-end against a fresh Vite scaffold — init produces 39 files, .gitignore correctly merges Vite + Specflow. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A pre-baked toolbox for spinning up controlled test environments and running Specflow against them — same pattern that caught the brownfield .gitignore bug (#6) and validated the fix end-to-end.
Each script targets
test/<name>/(gitignored at the repo root, so nothing leaks to commits) and runs Specflow via `deno run --allow-all src/main.ts` against the working tree, not the installed binary.Scripts
```
.claude/skills/test-specflow/scripts/
├── bootstrap-vite.sh # Vite React-TS scaffold
├── bootstrap-empty.sh # empty greenfield (git init + stub package.json)
├── run-init.sh # specflow init --here --ai
├── inspect.sh # summarize specflow output paths in test//
├── compare-harnesses.sh # bootstrap once + all 8 harnesses on copies
└── clean.sh [] # remove one project or the whole test/ tree
```
All idempotent (re-running wipes pre-existing `test//` first).
Typical use
```bash
bash .claude/skills/test-specflow/scripts/bootstrap-vite.sh demo
bash .claude/skills/test-specflow/scripts/run-init.sh demo claude
bash .claude/skills/test-specflow/scripts/inspect.sh demo
cat test/demo/.gitignore # eyeball the merge
```
Test plan
🤖 Generated with Claude Code