triples-agentic 2.4.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.
Files changed (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +326 -0
  3. package/docs/workflow.md +163 -0
  4. package/install.sh +98 -0
  5. package/package.json +54 -0
  6. package/src/agents/README.md +85 -0
  7. package/src/agents/jiwoo-prd.md +84 -0
  8. package/src/agents/kaede-backend.md +95 -0
  9. package/src/agents/kotone-flutter.md +100 -0
  10. package/src/agents/lynn-testcase.md +92 -0
  11. package/src/agents/nakyoung-tasks.md +89 -0
  12. package/src/agents/seoyeon.md +76 -0
  13. package/src/agents/shion-qa.md +89 -0
  14. package/src/agents/sohyun-ios.md +97 -0
  15. package/src/agents/yeonji-android.md +98 -0
  16. package/src/agents/yooyeon-rfc.md +82 -0
  17. package/src/agents/yubin-frontend.md +88 -0
  18. package/src/bin/setup.js +640 -0
  19. package/src/hooks/README.md +102 -0
  20. package/src/hooks/dangerous-commands.json +33 -0
  21. package/src/hooks/dangerous-commands.md +18 -0
  22. package/src/knowledge/README.md +129 -0
  23. package/src/knowledge/general/boy-scout-rule.md +13 -0
  24. package/src/knowledge/general/composition-over-inheritance.md +14 -0
  25. package/src/knowledge/general/dry.md +14 -0
  26. package/src/knowledge/general/fail-fast.md +13 -0
  27. package/src/knowledge/general/kiss.md +15 -0
  28. package/src/knowledge/general/least-surprise.md +13 -0
  29. package/src/knowledge/general/slap.md +29 -0
  30. package/src/knowledge/general/solid.md +44 -0
  31. package/src/knowledge/general/tdd.md +76 -0
  32. package/src/knowledge/general/yagni.md +12 -0
  33. package/src/knowledge/mobile/android/android-architecture.md +83 -0
  34. package/src/knowledge/mobile/android/android-platform.md +60 -0
  35. package/src/knowledge/mobile/android/kotlin-concurrency.md +75 -0
  36. package/src/knowledge/mobile/android/kotlin-core.md +88 -0
  37. package/src/knowledge/mobile/flutter/dart-async.md +93 -0
  38. package/src/knowledge/mobile/flutter/dart-core.md +97 -0
  39. package/src/knowledge/mobile/flutter/flutter-architecture.md +88 -0
  40. package/src/knowledge/mobile/flutter/flutter-platform.md +79 -0
  41. package/src/knowledge/mobile/ios/ios-architecture.md +88 -0
  42. package/src/knowledge/mobile/ios/ios-platform.md +66 -0
  43. package/src/knowledge/mobile/ios/swift-concurrency.md +99 -0
  44. package/src/knowledge/mobile/ios/swift-core.md +79 -0
  45. package/src/knowledge/planning/architecture-database.md +47 -0
  46. package/src/knowledge/planning/architecture-patterns.md +64 -0
  47. package/src/knowledge/planning/architecture-security.md +61 -0
  48. package/src/knowledge/planning/estimation.md +82 -0
  49. package/src/knowledge/planning/orchestration.md +70 -0
  50. package/src/knowledge/planning/prd-quality-gates.md +38 -0
  51. package/src/knowledge/planning/prd-writing.md +59 -0
  52. package/src/knowledge/planning/product-principles.md +48 -0
  53. package/src/knowledge/planning/product-prioritization.md +45 -0
  54. package/src/knowledge/planning/rfc-quality-gates.md +38 -0
  55. package/src/knowledge/planning/rfc-writing.md +81 -0
  56. package/src/knowledge/planning/task-decomposition.md +61 -0
  57. package/src/knowledge/planning/task-readiness.md +64 -0
  58. package/src/knowledge/quality/qa-execution.md +55 -0
  59. package/src/knowledge/quality/qa-reporting.md +71 -0
  60. package/src/knowledge/quality/test-case-quality.md +61 -0
  61. package/src/knowledge/quality/test-case-writing.md +76 -0
  62. package/src/knowledge/quality/testing-strategy.md +70 -0
  63. package/src/knowledge/quality/testing-types.md +84 -0
  64. package/src/knowledge/web/backend/api-design.md +74 -0
  65. package/src/knowledge/web/backend/api-security.md +54 -0
  66. package/src/knowledge/web/backend/backend-security.md +84 -0
  67. package/src/knowledge/web/backend/backend-structure.md +78 -0
  68. package/src/knowledge/web/frontend/frontend-components.md +49 -0
  69. package/src/knowledge/web/frontend/frontend-performance.md +41 -0
  70. package/src/knowledge/web/frontend/frontend-state.md +59 -0
  71. package/src/knowledge/web/frontend/web-accessibility.md +51 -0
  72. package/src/knowledge/web/frontend/web-performance.md +51 -0
  73. package/src/knowledge/web/frontend/web-security.md +59 -0
  74. package/src/templates/prd.md +109 -0
  75. package/src/templates/rfc.md +156 -0
  76. package/src/templates/task-breakdown.md +172 -0
  77. package/src/templates/test-case.md +157 -0
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: product-principles
3
+ description: Core product management principles, user research methods, MVP definition, and definition of done
4
+ ---
5
+
6
+ # Product Management Principles
7
+
8
+ ## Core PM Principles
9
+
10
+ 1. **Fall in love with the problem, not the solution.** The solution will change; the problem should remain stable throughout a product cycle.
11
+ 2. **Outcomes over outputs.** Shipping features is not success. User behavior change is success.
12
+ 3. **Say no by default.** Every feature added is maintenance burden forever. The default answer to a feature request is "not yet."
13
+ 4. **Talk to users.** Assumptions about user behavior are almost always wrong. One user interview beats ten internal debates.
14
+
15
+ ## User Research Methods
16
+
17
+ ### Discovery Research (before PRD)
18
+ - **User interviews** — open-ended, 30–45 min, listen 80% of the time
19
+ - **Job stories** — "When [situation], I want to [motivation], so I can [outcome]"
20
+ - **Competitive analysis** — how do alternatives solve the same problem?
21
+ - **Analytics review** — where do users drop off in the current product?
22
+
23
+ ### Validation Research (during development)
24
+ - **Usability testing** — can users complete core tasks without help?
25
+ - **A/B testing** — which variant achieves better outcomes at scale?
26
+ - **Beta feedback** — structured feedback from early adopters
27
+
28
+ ## MVP Definition
29
+
30
+ An MVP is the smallest thing that proves (or disproves) your core hypothesis.
31
+
32
+ An MVP is NOT:
33
+ - A scaled-down version of the full product
34
+ - Something with "all the basics"
35
+ - A prototype with no real users
36
+
37
+ An MVP IS:
38
+ - One user journey, done end-to-end
39
+ - Enough to get real feedback from real users
40
+ - Deployable and measurable
41
+
42
+ ## Definition of Done (Product Perspective)
43
+
44
+ A feature is done when:
45
+ - It meets all acceptance criteria in the PRD
46
+ - It has been tested by a real user (or QA standing in)
47
+ - Success metrics are instrumented and tracking
48
+ - Documentation is updated if applicable
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: product-prioritization
3
+ description: Prioritization frameworks (RICE, MoSCoW), stakeholder communication, and feature request handling
4
+ ---
5
+
6
+ # Product Prioritization & Stakeholder Communication
7
+
8
+ ## Prioritization Frameworks
9
+
10
+ ### RICE Score
11
+ - **Reach** — how many users affected per time period?
12
+ - **Impact** — how much does it move the metric? (1=minimal, 3=massive)
13
+ - **Confidence** — how sure are we? (expressed as %)
14
+ - **Effort** — person-weeks to build
15
+ - Score = (Reach × Impact × Confidence) / Effort
16
+
17
+ ### MoSCoW
18
+ - **Must have** — without this, the product fails
19
+ - **Should have** — important but workarounds exist
20
+ - **Could have** — nice to have, cut if time is tight
21
+ - **Won't have** — explicitly out of scope for this release
22
+
23
+ ### Opportunity Scoring
24
+ Rate each opportunity on two axes:
25
+ - How important is this to users? (1–10)
26
+ - How satisfied are users with current solutions? (1–10)
27
+
28
+ High importance + low satisfaction = highest priority opportunity.
29
+
30
+ ## Stakeholder Communication
31
+
32
+ - **Weekly status**: what shipped, what's next, what's blocked — 5 bullets max
33
+ - **Scope changes**: always quantify impact on timeline before escalating
34
+ - **Feature requests from stakeholders**: "What outcome are you trying to drive?" before writing a line of spec
35
+ - **Engineering pushback**: legitimate technical concerns modify scope; never override without understanding the constraint
36
+ - **Conflict resolution**: trace every requirement back to a user need; if it can't be traced, cut it
37
+
38
+ ## Handling Feature Requests
39
+
40
+ 1. "What problem does this solve for the user?"
41
+ 2. "What happens if we don't build this?"
42
+ 3. "How many users face this problem, and how often?"
43
+ 4. "What's the simplest version that proves value?"
44
+
45
+ Never say "yes, we'll build it." Say "yes, we'll consider it in the next planning cycle against other priorities."
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: rfc-quality-gates
3
+ description: RFC quality gate checklist, anti-patterns, and evaluation criteria for implementation readiness
4
+ ---
5
+
6
+ # RFC Quality Gates & Anti-Patterns
7
+
8
+ ## Quality Gates
9
+
10
+ ALL of the following must pass before an RFC is marked implementation-ready:
11
+
12
+ - [ ] **Architecture decision** — the chosen approach is stated clearly with a rationale
13
+ - [ ] **Alternatives documented** — at least 2 alternatives considered and rejected with reasoning
14
+ - [ ] **Data model** — entities and relationships defined (even if approximate)
15
+ - [ ] **API contracts** — public interfaces defined with request/response shapes
16
+ - [ ] **Risk assessment** — at least one risk identified with a mitigation
17
+ - [ ] **Rollback plan** — how to undo this change if it goes wrong
18
+ - [ ] **No scope creep** — RFC stays within the bounds of the approved PRD
19
+ - [ ] **Open questions closed** — no unresolved technical blockers before handoff
20
+
21
+ ## Evaluation Output
22
+
23
+ Run all gates and output exactly one of:
24
+
25
+ - `✅ READY — RFC meets all quality gates.`
26
+ - `❌ GAPS FOUND: [numbered list of failing gates with specific technical questions to resolve]`
27
+
28
+ ## Anti-Patterns to Avoid
29
+
30
+ | Anti-Pattern | Problem | Fix |
31
+ |---|---|---|
32
+ | "We'll figure out the DB schema later" | Blocks task estimation | Design the schema now, mark as draft |
33
+ | RFC written after code is done | Not a design doc, a post-mortem | Write RFC before implementation |
34
+ | No alternatives section | Appears like the first idea was the only idea | Always document what was rejected |
35
+ | "Industry standard approach" without citation | Vague justification | Name the standard and link to it |
36
+ | Mixing security concerns into every section | Hard to review | Dedicated security section |
37
+ | Rollout plan missing | No way to safely deploy | Always include feature flag + rollback |
38
+ | Vague risk ("could be slow") | Not actionable | Quantify: "p95 > 500ms under 1000 RPS" |
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: rfc-writing
3
+ description: How to write a Request for Comments — structure, trade-off analysis, alternatives, and rollout planning
4
+ ---
5
+
6
+ # RFC Writing — Structure & Standards
7
+
8
+ ## What an RFC Is
9
+
10
+ A Request for Comments is a technical design document that proposes HOW to build something. It is written after the PRD (what/why) is approved. The RFC:
11
+ - Documents the chosen technical approach and its trade-offs
12
+ - Surfaces risks before code is written
13
+ - Creates a record of technical decisions and why they were made
14
+ - Collects feedback from the team before implementation begins
15
+
16
+ ## RFC Structure
17
+
18
+ ```
19
+ # RFC: [Feature / System Name]
20
+ **Status:** Draft | Under Review | Approved | Superseded
21
+ **Author:** [Name]
22
+ **Date:** YYYY-MM-DD
23
+ **Related PRD:** workspace/PRD.md
24
+
25
+ ## Summary
26
+ One paragraph: what is being built, using what approach, and the key trade-off accepted.
27
+
28
+ ## Motivation
29
+ Why are we building this now? Reference the PRD problem statement.
30
+
31
+ ## Technical Proposal
32
+ ### Architecture Overview
33
+ High-level diagram or description of how components interact.
34
+
35
+ ### Data Model
36
+ Key entities, relationships, and storage approach.
37
+
38
+ ### API Contracts
39
+ Endpoint definitions, request/response shapes, authentication.
40
+
41
+ ### Key Algorithms / Business Logic
42
+ Non-trivial logic that needs design attention.
43
+
44
+ ### Infrastructure & Deployment
45
+ Where does this run? How does it scale? What observability is needed?
46
+
47
+ ## Alternatives Considered
48
+ For each alternative: what is it, why was it rejected?
49
+
50
+ ## Trade-offs & Risks
51
+ What are we giving up? What could go wrong? Include mitigation for each risk.
52
+
53
+ ## Migration Plan
54
+ If this changes existing behavior: how do we migrate data and users safely?
55
+
56
+ ## Rollout Plan
57
+ Feature flag strategy, phased rollout, rollback procedure.
58
+
59
+ ## Open Questions
60
+ Technical questions that need resolution before or during implementation.
61
+ ```
62
+
63
+ ## Writing Principles
64
+
65
+ 1. **One decision per RFC.** An RFC that tries to design three systems is too big. Split it.
66
+ 2. **State the trade-off explicitly.** "We chose X. This means we accept Y."
67
+ 3. **Diagrams beat prose.** ASCII diagrams, sequence diagrams, and ER diagrams communicate faster.
68
+ 4. **Separate what from how.** Architecture section = what components exist. Implementation section = how each works.
69
+ 5. **Date every decision.** Technology landscapes change. A decision that made sense in 2022 may not in 2025.
70
+
71
+ ## Architecture Decision Records (ADR)
72
+
73
+ For decisions that affect the whole system, write a formal ADR:
74
+
75
+ ```
76
+ # ADR-XXX: [Decision Title]
77
+ **Status:** Proposed | Accepted | Deprecated | Superseded
78
+ **Context:** Why does this decision need to be made?
79
+ **Decision:** What was decided?
80
+ **Consequences:** What does this mean going forward?
81
+ ```
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: task-decomposition
3
+ description: Task hierarchy (epic/story/task), decomposition rules, story mapping, and sprint planning conventions
4
+ ---
5
+
6
+ # Task Decomposition
7
+
8
+ ## Hierarchy
9
+
10
+ ```
11
+ Initiative (months)
12
+ └── Epic (weeks)
13
+ └── User Story (days)
14
+ └── Task (hours)
15
+ ```
16
+
17
+ - **Initiative**: a strategic goal ("launch mobile app")
18
+ - **Epic**: a large body of work that delivers meaningful value ("user authentication")
19
+ - **User Story**: a single user-facing unit of value ("user can log in with email/password")
20
+ - **Task**: a technical work item ("implement JWT middleware")
21
+
22
+ ## Decomposition Rules
23
+
24
+ 1. **One task = one concern.** If a task has an "and" in the title, split it.
25
+ 2. **Tasks must be independently completable.** A task blocked by another should list the dependency explicitly.
26
+ 3. **No task should be longer than 2 days (16h).** If it is, decompose it further.
27
+ 4. **Every task must have testable acceptance criteria.** "Done" is not a criterion.
28
+ 5. **Estimate at the task level, not story level.** Roll up estimates bottom-up.
29
+
30
+ ## Story Mapping
31
+
32
+ Story mapping organises user stories by user journey (x-axis) and priority/release (y-axis):
33
+
34
+ ```
35
+ User Journey → Login → Browse → Purchase → Receipt
36
+ ------- ------- ---------- -------
37
+ MVP (Row 1) Email List Cart Email
38
+ login view checkout receipt
39
+
40
+ v1.1 (Row 2) Social Search Saved cards PDF
41
+ login filter (1-click) download
42
+ ```
43
+
44
+ Walk the journey before breaking into tasks. This prevents building features in the wrong order.
45
+
46
+ ## Sprint Planning Conventions
47
+
48
+ - Sprint capacity = (team size × days per sprint × hours per day) × 0.7 (sustainable pace)
49
+ - Use yesterday's weather for velocity: if the team completes 30 points per sprint, plan 30 points
50
+ - Leave 20% capacity for bug fixes, tech debt, and unplanned work
51
+ - Never plan more than 80% of individual capacity
52
+
53
+ ## Infrastructure Tasks
54
+
55
+ Technical tasks required by the RFC that don't map to user stories must also be included:
56
+ - Database migrations and schema setup
57
+ - CI/CD pipeline configuration
58
+ - Third-party service integration setup
59
+ - Environment and secrets configuration
60
+
61
+ These should be estimated and sequenced like any other task.
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: task-readiness
3
+ description: Task format template, definition of done, and readiness checklist for tasks before development starts
4
+ ---
5
+
6
+ # Task Readiness & Format
7
+
8
+ ## Task Format
9
+
10
+ ```markdown
11
+ ## Task: [Short imperative title]
12
+
13
+ **Story Points:** [1 / 2 / 3 / 5 / 8 / 13]
14
+ **Estimated Hours:** [X–Y hours]
15
+ **Assignee:** [Agent name or role]
16
+ **Dependencies:** [Task IDs this depends on]
17
+ **Platform:** [Web / Android / iOS / Flutter / Backend / All]
18
+
19
+ ### Description
20
+ One paragraph of what needs to be done and why.
21
+
22
+ ### Acceptance Criteria
23
+ - [ ] Criterion 1 (testable, binary pass/fail)
24
+ - [ ] Criterion 2
25
+ - [ ] Criterion 3
26
+
27
+ ### Technical Notes
28
+ Any non-obvious implementation notes, constraints, or gotchas.
29
+
30
+ ### Definition of Done
31
+ - [ ] Code written and reviewed
32
+ - [ ] Unit tests passing
33
+ - [ ] Integrated and verified in dev environment
34
+ - [ ] QA signed off (for user-facing changes)
35
+ ```
36
+
37
+ ## Readiness Checklist (Is a Task Ready to Start?)
38
+
39
+ - [ ] Acceptance criteria are written and agreed upon
40
+ - [ ] Dependencies are identified and unblocked (or sequenced)
41
+ - [ ] Story points are estimated by the person who will do the work
42
+ - [ ] Design assets/mockups are available (for UI tasks)
43
+ - [ ] API contracts are defined (for integration tasks)
44
+ - [ ] The task fits within one sprint (≤ 2 days / 16 hours)
45
+
46
+ ## Dependency Mapping
47
+
48
+ Express dependencies explicitly between tasks:
49
+
50
+ ```
51
+ TASK-I01 (DB setup)
52
+ └── TASK-001 (API endpoint)
53
+ └── TASK-002 (Frontend integration)
54
+ └── TASK-003 (UI polish)
55
+ ```
56
+
57
+ Never start a task with unresolved upstream dependencies. If the dependency can't be resolved, flag it to the orchestrator (SeoYeon) immediately.
58
+
59
+ ## Evaluation Output
60
+
61
+ Run all gates and output exactly one of:
62
+
63
+ - `✅ READY — All tasks meet the readiness checklist.`
64
+ - `❌ GAPS FOUND: [numbered list of specific unclear or missing items]`
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: qa-execution
3
+ description: QA execution process — pre-test checklist, smoke testing, exploratory testing, and platform-specific considerations
4
+ ---
5
+
6
+ # QA Execution
7
+
8
+ ## QA Role
9
+
10
+ The QA Engineer's job is to find real problems before users do — not to rubber-stamp development output. A QA engineer who never finds bugs is not doing their job; a QA engineer who blocks release without evidence is equally unhelpful.
11
+
12
+ ## Execution Process
13
+
14
+ ### 1. Pre-Testing Checklist
15
+ - [ ] Build/deployment confirmed stable
16
+ - [ ] Test environment matches target environment (data, config)
17
+ - [ ] Test data and fixtures are in place
18
+ - [ ] Test cases reviewed and understood
19
+ - [ ] Feature scope confirmed with developer
20
+
21
+ ### 2. Smoke Testing First
22
+ Run P0 test cases only. If smoke tests fail, **stop and report immediately** — do not continue with full test suite on an unstable build.
23
+
24
+ ### 3. Systematic Execution
25
+ Execute in priority order: P0 → P1 → P2 → P3.
26
+ Document actual result for every test case: Pass / Fail / Blocked / Skipped (with reason).
27
+
28
+ ### 4. Exploratory Testing
29
+ After structured cases:
30
+ - Try unexpected inputs and sequences
31
+ - Check edge cases not covered in test cases
32
+ - Test integrations between new and existing features
33
+ - Verify consistency with the rest of the product
34
+
35
+ ## Platform-Specific Considerations
36
+
37
+ ### Web
38
+ - Browsers: Chrome (latest), Firefox (latest), Safari (latest), Edge (latest)
39
+ - Viewports: 375px (mobile), 768px (tablet), 1440px (desktop)
40
+ - Check: keyboard navigation, screen reader (VoiceOver/NVDA), print styles
41
+
42
+ ### Android
43
+ - OS versions: latest + one 2-year-old version
44
+ - Devices: low-end (budget RAM) + flagship
45
+ - Check: back button, rotation, dark mode, large font size, split-screen
46
+
47
+ ### iOS
48
+ - OS versions: latest + one version back
49
+ - Devices: iPhone SE (small) + iPhone Pro Max (large)
50
+ - Check: safe area insets, Dynamic Type, VoiceOver, landscape mode
51
+
52
+ ### Flutter (Cross-Platform)
53
+ - Run on both Android and iOS
54
+ - Verify platform-adaptive widgets render correctly on each
55
+ - Check system font integration and text scale
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: qa-reporting
3
+ description: Bug report format, go/no-go release criteria, automation strategy, and QA metrics
4
+ ---
5
+
6
+ # QA Reporting & Release Criteria
7
+
8
+ ## Bug Report Format
9
+
10
+ ```markdown
11
+ ## BUG-[ID]: [Short descriptive title]
12
+
13
+ **Severity:** Critical | High | Medium | Low
14
+ **Priority:** P0 | P1 | P2 | P3
15
+ **Status:** Open | In Progress | Fixed | Verified | Won't Fix
16
+ **Platform:** Web Chrome 120 / Android 14 / iOS 17.2 / Flutter
17
+ **Build/Version:** [build number or commit SHA]
18
+
19
+ ### Steps to Reproduce
20
+ 1. [Exact step]
21
+ 2. [Exact step]
22
+
23
+ ### Expected Result
24
+ [What should have happened]
25
+
26
+ ### Actual Result
27
+ [What actually happened — error messages verbatim]
28
+
29
+ ### Evidence
30
+ [Screenshot, screen recording, log output]
31
+
32
+ ### Notes
33
+ [Frequency: always/intermittent; related issues]
34
+ ```
35
+
36
+ ## Go/No-Go Criteria
37
+
38
+ ### Ship (Go)
39
+ - All P0 test cases: PASS
40
+ - All P1 test cases: PASS or accepted risk documented
41
+ - No Critical or High severity bugs open without explicit sign-off
42
+ - Regression tests: PASS
43
+
44
+ ### Do Not Ship (No-Go)
45
+ - Any P0 test case FAIL without a valid workaround
46
+ - Any Critical severity bug open
47
+ - High severity bug count above team's defined threshold
48
+ - Core user flow (login, purchase, core CRUD) broken
49
+
50
+ Document every No-Go with: failing test cases, severity, estimated fix time, and what would change the recommendation.
51
+
52
+ ## Automation Strategy
53
+
54
+ **Automate when**:
55
+ - Test case is P0 or P1
56
+ - Test runs more than once per sprint
57
+ - Test is time-consuming but fully deterministic
58
+
59
+ **Keep manual when**:
60
+ - Exploratory or visual testing
61
+ - Test requires subjective judgment
62
+ - Feature is likely to change soon (automate after stabilization)
63
+
64
+ ## QA Metrics
65
+
66
+ | Metric | Target | Notes |
67
+ |---|---|---|
68
+ | Defect detection rate | > 90% before production | % found by QA vs users |
69
+ | Test case pass rate | > 95% before release | Track per sprint for trends |
70
+ | Bug re-open rate | < 10% | Indicates fix quality issues |
71
+ | Mean time to verify fix | < 1 day | Blockers should not sit |
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: test-case-quality
3
+ description: Test case quality gates, priority levels, suite organisation, and traceability matrix
4
+ ---
5
+
6
+ # Test Case Quality Gates & Organisation
7
+
8
+ ## Priority Levels
9
+
10
+ | Priority | Definition | Examples |
11
+ |---|---|---|
12
+ | **P0 Critical** | App crashes, data loss, security breach, core flow broken | Login broken, payment fails |
13
+ | **P1 High** | Major feature doesn't work; workaround is difficult | Cart can't be updated |
14
+ | **P2 Medium** | Feature works but degrades experience | Wrong error message |
15
+ | **P3 Low** | Minor cosmetic issue | Typo, incorrect tooltip |
16
+
17
+ ## Quality Gates
18
+
19
+ ALL of the following must pass before a test case set is marked implementation-ready:
20
+
21
+ - [ ] Every PRD acceptance criterion has at least one test case
22
+ - [ ] Happy path covered for all user stories
23
+ - [ ] At least 2 negative/error path cases per major feature
24
+ - [ ] Edge cases documented for all input fields
25
+ - [ ] P0 test cases identified for smoke test suite
26
+ - [ ] All test cases have specific, binary expected results (no "works correctly")
27
+ - [ ] Preconditions are unambiguous for all test cases
28
+ - [ ] Test data requirements documented
29
+ - [ ] Platform coverage specified for all test cases
30
+
31
+ ## Evaluation Output
32
+
33
+ - `✅ READY — Test case suite meets all quality gates.`
34
+ - `❌ GAPS FOUND: [numbered list of specific missing scenarios or vague criteria]`
35
+
36
+ ## Test Suite Structure
37
+
38
+ ```
39
+ Test Suite: [Feature Name]
40
+ ├── Smoke Tests (P0 only — run on every deploy, < 5 min)
41
+ ├── Regression Tests (P0 + P1 — run before release)
42
+ ├── Full Test Suite (all priorities — run nightly)
43
+ └── Exploratory Testing Notes (manual, unscripted sessions)
44
+ ```
45
+
46
+ ## Traceability Matrix
47
+
48
+ | Test Case | User Story | Acceptance Criterion |
49
+ |---|---|---|
50
+ | TC-001 | US-01 | AC-01.1 |
51
+ | TC-002 | US-01 | AC-01.2 (error state) |
52
+ | TC-003 | US-02 | AC-02.1 |
53
+
54
+ ## Automation Candidates
55
+
56
+ Flag test cases that should be automated (P0 and P1 that run frequently):
57
+
58
+ | TC ID | Framework |
59
+ |---|---|
60
+ | TC-001 | Playwright / XCUITest / Espresso |
61
+ | TC-002 | Playwright |
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: test-case-writing
3
+ description: Test case format, types (positive/negative/edge/boundary), and writing principles for reproducible test cases
4
+ ---
5
+
6
+ # Test Case Writing
7
+
8
+ ## What Is a Test Case
9
+
10
+ A test case is a documented procedure that verifies whether a specific feature or behavior works as expected. It is the contract between QA and development.
11
+
12
+ A well-written test case is:
13
+ - **Specific**: one scenario per test case
14
+ - **Reproducible**: anyone can run it and get the same result
15
+ - **Independent**: does not depend on the result of another test case
16
+ - **Traceable**: linked back to a requirement or user story
17
+
18
+ ## Test Case Format
19
+
20
+ ```markdown
21
+ ## TC-[ID]: [Short descriptive title]
22
+
23
+ **Related Requirement:** [PRD section / User Story ID]
24
+ **Priority:** P0 (Critical) | P1 (High) | P2 (Medium) | P3 (Low)
25
+ **Type:** Functional | UI | Performance | Security | Accessibility
26
+ **Platform:** Web | Android | iOS | Flutter | All
27
+
28
+ ### Preconditions
29
+ State the system must be in before the test begins.
30
+ - User is logged in with a standard account
31
+
32
+ ### Test Steps
33
+ 1. Navigate to [screen/URL]
34
+ 2. Perform [action] on [element]
35
+ 3. Enter [specific data — not "valid input", use real values like test@example.com]
36
+
37
+ ### Expected Result
38
+ What the system SHOULD do after the steps above.
39
+ - Screen displays "Order confirmed" message
40
+ - Email sent within 30 seconds
41
+ - Order appears in history with status "Pending"
42
+
43
+ ### Status
44
+ [ ] Pass | [ ] Fail | [ ] Blocked | [ ] Skipped
45
+ ```
46
+
47
+ ## Test Types
48
+
49
+ ### Positive (Happy Path)
50
+ Tests the intended workflow with valid inputs.
51
+ - User logs in with valid credentials → lands on dashboard
52
+
53
+ ### Negative (Error Paths)
54
+ Tests what happens with invalid inputs or unexpected actions.
55
+ - User logs in with wrong password → error message shown
56
+
57
+ ### Edge Cases
58
+ Tests boundaries and unusual but valid scenarios.
59
+ - User enters maximum allowed characters (255) in a field
60
+ - User has 0 items in cart and attempts checkout
61
+
62
+ ### Boundary Testing
63
+ Tests exact boundary values:
64
+ - Min: field minimum = 1 char → enter 1 (pass), enter 0 (fail)
65
+ - Max: field max = 255 chars → enter 255 (pass), enter 256 (fail)
66
+
67
+ ### Regression Tests
68
+ Tests that previously working functionality has not broken after a change.
69
+
70
+ ## Writing Principles
71
+
72
+ 1. **Write for someone who has never seen the feature.** No assumed context.
73
+ 2. **One expected result per test case.** If you have "and then", split the test.
74
+ 3. **Be specific about data.** "Enter a valid email" is worse than "Enter `test@example.com`".
75
+ 4. **Distinguish UI state from system state.** "Button becomes disabled" (UI) vs "Record is saved to DB" (system).
76
+ 5. **Link every test case to a requirement.** Orphaned test cases are usually outdated.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: testing-strategy
3
+ description: Testing pyramid, shift-left testing, test naming conventions, and common testing anti-patterns
4
+ ---
5
+
6
+ # Testing Strategy
7
+
8
+ ## Testing Pyramid
9
+
10
+ ```
11
+ /\
12
+ / \ E2E Tests (few, slow, expensive)
13
+ /----\ — Critical user flows only
14
+ / \
15
+ /--------\ Integration Tests (some, medium speed)
16
+ / \ — Service boundaries, API contracts
17
+ /------------\ Unit Tests (many, fast, cheap)
18
+ / \— Pure functions, business logic, utilities
19
+ ```
20
+
21
+ **Rule of thumb**: 70% unit, 20% integration, 10% E2E.
22
+
23
+ ## Test Naming Convention
24
+
25
+ ```
26
+ [unit_of_work]_[state_under_test]_[expected_behavior]
27
+ ```
28
+
29
+ Examples:
30
+ - `login_withValidCredentials_returnsAuthToken()`
31
+ - `cart_whenItemAdded_totalUpdatesCorrectly()`
32
+ - `formatCurrency_withNegativeValue_showsMinusSign()`
33
+
34
+ ## Shift-Left Testing
35
+
36
+ Testing starts at requirements, not after development:
37
+ 1. Review acceptance criteria during PRD phase
38
+ 2. Write test cases before (or alongside) implementation
39
+ 3. Run unit tests in pre-commit hooks
40
+ 4. Run integration tests in CI on every PR
41
+ 5. E2E tests run nightly or before every release
42
+
43
+ ## Testing Anti-Patterns
44
+
45
+ | Anti-Pattern | Problem |
46
+ |---|---|
47
+ | Testing implementation, not behavior | Tests break on refactoring, not on bugs |
48
+ | Mocking everything | Tests pass but production still fails |
49
+ | Shared mutable state between tests | Flaky tests, order-dependent failures |
50
+ | Sleep/wait in tests | Slow and flaky — use await/callbacks instead |
51
+ | Huge test setup | Indicates code is not testable — refactor |
52
+ | No assertion in test | Test always passes — caught by linting |
53
+
54
+ ## Test Doubles
55
+
56
+ | Type | Description | Use when |
57
+ |---|---|---|
58
+ | **Stub** | Returns fixed value | Predictable output needed |
59
+ | **Mock** | Verifies interactions | Testing that a method was called |
60
+ | **Fake** | Working implementation | Need realistic behavior (in-memory DB) |
61
+ | **Spy** | Wraps real object | Verify calls while keeping real behavior |
62
+
63
+ Prefer **fakes** over **mocks** — they reveal interface misuse; mocks can pass when the contract is wrong.
64
+
65
+ ## Coverage
66
+
67
+ - Target: 80%+ line coverage for business logic
68
+ - Track **branch** coverage, not just line coverage
69
+ - 100% coverage does NOT mean no bugs
70
+ - Never write tests just to hit a number — test behavior, not lines