Explorar o código

test(darwin-skill): add baseline test-prompts.json for 18 personal skills

bastien hai 1 semana
pai
achega
735ece3a0b

+ 5 - 0
skills/analyze/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Analyze src/auth/login.ts — explain how it handles failed attempts and rate limiting", "expected": "Read-only factual report: control flow, side effects, rate limit mechanism, no fix proposals"},
+  {"id": 2, "prompt": "TypeError: Cannot read property 'id' of undefined at UserService.getUser (services/user.ts:42)", "expected": "DEBUG mode: hypotheses, file inspection, root cause analysis, no code modification"},
+  {"id": 3, "prompt": "Explain how the request middleware chain processes auth tokens in this Express app", "expected": "Trace through middleware files, list order of execution, identify token validation point"}
+]

+ 5 - 0
skills/bugfix/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Users can't log in after we deployed yesterday. Auth returns 401 even with valid credentials. Investigate and fix.", "expected": "Hypothesis-driven investigation, identify root cause, write fix plan, apply minimal scoped fix, regression test"},
+  {"id": 2, "prompt": "Webhook events from Stripe fail intermittently with signature mismatch errors. Find the cause and fix it.", "expected": "Investigate signature validation, identify intermittent cause (timing/parsing/raw body), apply fix"},
+  {"id": 3, "prompt": "The shopping cart total is wrong by $0.01 sometimes when discounts apply. Find why.", "expected": "Investigate floating-point or rounding issue, identify exact branch, propose precise fix"}
+]

+ 5 - 0
skills/client-handover/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Generate the client handover doc for this site. The project is done, ready to ship.", "expected": "Run pipeline: SEO+harden audits with auto-fix loops to ≥17/20, commit/push, pause for deploy, validate live, write LIVRAISON.md with before/after scores"},
+  {"id": 2, "prompt": "Livraison client en français pour le site du plombier — c'est un local business à Paris", "expected": "Pipeline FR, append local-business NAP checklist (Google Business, Pages Jaunes, Yelp, Apple Maps), write LIVRAISON.md"},
+  {"id": 3, "prompt": "Skip the audits, just write the handover doc from existing audit files", "expected": "Recognize --skip-audits flag, jump to doc generation, read existing .claude/audits/ + memory/ registries, output deliverable"}
+]

+ 5 - 0
skills/code-clean/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Clean up the codebase — remove dead code and enforce style", "expected": "Two-phase: audit report first (read-only), wait for approval, then execute approved fixes via refactorer agent"},
+  {"id": 2, "prompt": "Cleanup just the src/utils/ folder", "expected": "Scoped audit of src/utils/ only, list dead code + style violations, get approval, fix"},
+  {"id": 3, "prompt": "Find dead code in this project but don't change anything yet", "expected": "Audit-only mode: produce report at .claude/audits/, do not execute fixes, BUGS-FOUND.md if bugs detected"}
+]

+ 5 - 0
skills/commit-change/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Commit my changes — I've been working on multiple features", "expected": "Analyze working dir (staged+unstaged+untracked), group by logical unit, propose commits in retrace order, ask before committing"},
+  {"id": 2, "prompt": "Smart commit everything I have pending", "expected": "Same as above: atomic logical commits, conventional commit messages, never bundle unrelated changes"},
+  {"id": 3, "prompt": "Analyse et commit", "expected": "FR trigger recognized, same workflow, output final list of commits created"}
+]

+ 5 - 0
skills/doc/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Are the docs up to date? Audit and sync.", "expected": "Auto-detect existing docs, cross-reference git history for drift, propose patches for added/removed features, get approval, apply"},
+  {"id": 2, "prompt": "Should I have a DEPLOY doc?", "expected": "Stack-aware decision: detect deploy complexity, propose DEPLOY.md only if non-trivial (Docker/k8s/multi-stage), skip if trivial"},
+  {"id": 3, "prompt": "Update README", "expected": "Enforce GitHub-style README layout (title, quick start, links to sub-docs), reflect current project state, ask before writing"}
+]

+ 5 - 0
skills/feat/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Add a /health endpoint to the API that returns 200 OK with version info", "expected": "Light planning, direct implementation in 1-3 files, no design brainstorm, no plugin check, run build/tests after"},
+  {"id": 2, "prompt": "Add dark mode toggle to the settings page", "expected": "Detect UI signal → trigger design gate (offer ui-ux-pro-max if inactive), then implement small feature"},
+  {"id": 3, "prompt": "Petite feature : afficher un badge 'New' à côté des items créés cette semaine", "expected": "FR trigger, scope check (≤5 files), implement directly, no orchestrator overhead"}
+]

+ 5 - 0
skills/geo/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Audit my site for AI search engines — ChatGPT, Perplexity, Google AI Overviews", "expected": "Audit AI crawler directives, llms.txt, schemas (QAPage, Speakable, HowTo), entity SEO (Wikidata, sameAs), content shape, output GEO.md"},
+  {"id": 2, "prompt": "Vérifie ma visibilité IA et fais les optimisations llms.txt + entity SEO", "expected": "FR trigger, focus llms.txt + Wikidata + sameAs + @id, apply fixes, merge into SEO.md if exists"},
+  {"id": 3, "prompt": "Optimize for Google AI Overview specifically", "expected": "Focus on definition lead, TL;DR, Q→A structure, citable stats, freshness signals — output prioritized fixes"}
+]

+ 5 - 0
skills/hotfix/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Typo in homepage hero: 'Welcom to our site' should be 'Welcome to our site'", "expected": "Direct grep+edit, 1 file, no investigation, immediate fix"},
+  {"id": 2, "prompt": "Button color is blue, should match the new brand red #C8102E", "expected": "1-2 file CSS fix, locate selector, update color, verify"},
+  {"id": 3, "prompt": "Missing import for `useEffect` in src/components/Profile.tsx — build fails", "expected": "Add import line, no other changes, run build to verify"}
+]

+ 5 - 0
skills/init-project/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Init a new project: a SaaS landing page in Astro with a contact form and blog", "expected": "Plugin check → interview (skip if CLAUDE.md exists) → analyze → design → VALIDATION GATE 1 → scaffold → README → plan → VALIDATION GATE 2 → implement TDD → review → finish"},
+  {"id": 2, "prompt": "Crée un nouveau projet : API REST FastAPI avec auth JWT et PostgreSQL", "expected": "FR trigger, full pipeline, propose Astro? No (API not public website), validate Python+FastAPI stack, scaffold to working build"},
+  {"id": 3, "prompt": "Init project — portfolio site with blog, deployed on Vercel", "expected": "Recognize public website signal → propose Astro (not React SPA), validate at gate 1, scaffold static-first"}
+]

+ 5 - 0
skills/onboard/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Onboard this existing project — it's a Next.js app already deployed", "expected": "Plugin check → archetype detection (next-js-public) → monorepo gate → baseline config → interview gaps → audits pipeline → backlog at .claude/audits/ + .claude/tasks/"},
+  {"id": 2, "prompt": "Onboard with hint: WordPress theme, force-archetype:wordpress", "expected": "Skip detection, use wordpress archetype directly, run wordpress-specific audit pipeline"},
+  {"id": 3, "prompt": "Onboard the apps/web package only", "expected": "Detect monorepo, present A/B/C options, accept B with package name, set PROJECT_ROOT to apps/web, run pipeline"}
+]

+ 5 - 0
skills/plugin-check/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Check active plugins for: React + FastAPI app", "expected": "Audit current plugins, recommend enable/disable based on stack signals, produce PLUGIN ADVISOR REPORT"},
+  {"id": 2, "prompt": "Plugin check before I start a Rust CLI project, no frontend", "expected": "Recognize CLI-only context, recommend disabling ui-ux-pro-max + context7-frontend, keep core dev tools"},
+  {"id": 3, "prompt": "Audit my plugins", "expected": "No context provided → scan current dir for stack signals or ask, then produce report"}
+]

+ 5 - 0
skills/refactor/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Refactor src/services/payment.ts — it's gotten messy", "expected": "Read file, apply project norms (≤25 logic lines/function, ≤80 chars/line, ≤5 params), preserve external behavior, run tests after"},
+  {"id": 2, "prompt": "Refactor the calculateOrderTotal function — too long, too many vars", "expected": "Extract sub-functions, name explicit, no behavior change, verify tests still pass"},
+  {"id": 3, "prompt": "Clean up the auth module without changing behavior", "expected": "Module-level refactor, dead code removal, consistency, all original public API preserved"}
+]

+ 5 - 0
skills/seo/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Audit SEO complet pour mon site — c'est un plombier à Paris 91/94/77", "expected": "Ask LOCAL/FULL, collect business context, run seo-analyzer + geo-analyzer in parallel, merge into SEO.md, NAP local checklist"},
+  {"id": 2, "prompt": "Optimize for search — JSON-LD, sitemap, robots.txt, llms.txt", "expected": "Run both agents, focus structured data + indexability, apply fixes if aggressive mode"},
+  {"id": 3, "prompt": "Quick SEO check, code-only, no live calls", "expected": "Default LOCAL depth, skip CWV/external, run both analyzers on code, output SEO.md"}
+]

+ 5 - 0
skills/ship-feature/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Ship feature: add OAuth login with Google and GitHub providers", "expected": "Plugin check, context check, design via brainstorming, plan via writing-plans, validation gate, implement TDD, review, finish branch"},
+  {"id": 2, "prompt": "Ship: notification system with email + in-app + push channels", "expected": "Heavy orchestrator path, design covers 3 channels, plan with subagent-driven-development, full pipeline"},
+  {"id": 3, "prompt": "Ajoute la fonctionnalite de partage social sur les articles du blog", "expected": "FR trigger, plugin check, design, validate gate, implement, review, finish"}
+]

+ 5 - 0
skills/skills-perso/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "List my personal skills", "expected": "Run detection bash command, exclude symlinks, exclude framework skills, output table: Skill | Agent | Description, total count"},
+  {"id": 2, "prompt": "Mes skills perso", "expected": "FR trigger, same output: filtered to user-created skills only (those referencing ~/.claude/agents/)"},
+  {"id": 3, "prompt": "Quels skills j'ai ecrit moi-meme", "expected": "Detect personal skills via agent-reference heuristic, list with one-line description, exclude gstack/external"}
+]

+ 5 - 0
skills/status/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "What's the status of this project?", "expected": "Run status-reporter, output snapshot: plugins active, token cost, git branch+state, recent commits, GSD milestone, build/test status"},
+  {"id": 2, "prompt": "Status check, I just got back to work", "expected": "Same snapshot, useful for orient-quickly use case after break, no modifications"},
+  {"id": 3, "prompt": "Show me where we are", "expected": "Read-only consolidated report, no other actions"}
+]

+ 5 - 0
skills/validate/test-prompts.json

@@ -0,0 +1,5 @@
+[
+  {"id": 1, "prompt": "Validate https://example.com - full W3C + WCAG audit", "expected": "Full mode: validator.nu HTML, jigsaw CSS, axe/pa11y/WAVE WCAG, output VALIDATE.md with concrete diffs and user actions"},
+  {"id": 2, "prompt": "Audit a11y de mon site, conformite WCAG 2.1 AA", "expected": "FR trigger, focus WCAG 2.1 AA, run axe + pa11y, drop out-of-scope items (meta/SEO), output a11y findings only"},
+  {"id": 3, "prompt": "Quick HTML+CSS validity check, local only, no external calls", "expected": "Local mode: html-validate, stylelint, axe-core CLI on built HTML, no API calls"}
+]