cokit-cli 1.2.4 → 1.2.7
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/README.md +5 -16
- package/agents/brainstormer.agent.md +9 -2
- package/agents/code-reviewer.agent.md +59 -84
- package/agents/code-simplifier.agent.md +9 -6
- package/agents/debugger.agent.md +17 -8
- package/agents/docs-manager.agent.md +104 -8
- package/agents/fullstack-developer.agent.md +57 -13
- package/agents/git-manager.agent.md +2 -382
- package/agents/planner.agent.md +36 -8
- package/agents/researcher.agent.md +18 -3
- package/agents/tester.agent.md +13 -14
- package/agents/ui-ux-designer.agent.md +209 -33
- package/docs/README.md +4 -3
- package/docs/claudekit-porting-rules.md +182 -0
- package/docs/codebase-summary.md +11 -10
- package/docs/cokit-comprehensive-mapping-guide.md +5 -9
- package/docs/cokit-slides.md +3 -5
- package/docs/cokit-sync-and-maintenance-guide.md +2 -2
- package/docs/cokit-team-presentation.md +5 -7
- package/docs/guide-next-steps-speckit-cokit-implementation.md +1 -1
- package/docs/migration-guide.md +1 -1
- package/docs/project-overview-pdr.md +2 -2
- package/docs/project-roadmap.md +7 -8
- package/docs/system-architecture.md +1 -3
- package/package.json +1 -1
- package/prompts/ck-ask.prompt.md +1 -1
- package/prompts/ck-bootstrap.prompt.md +1 -1
- package/prompts/ck-cook.prompt.md +12 -12
- package/prompts/ck-plan-hard.prompt.md +1 -1
- package/prompts/ck-plan-red-team.prompt.md +227 -0
- package/prompts/ck-simplify.prompt.md +1 -1
- package/skills/code-review/SKILL.md +78 -28
- package/skills/cook/SKILL.md +45 -11
- package/skills/debug/SKILL.md +112 -17
- package/skills/fix/SKILL.md +20 -8
- package/skills/frontend-design/SKILL.md +6 -3
- package/skills/planning/SKILL.md +47 -15
- package/skills/research/SKILL.md +1 -1
- package/skills/scout/SKILL.md +24 -11
- package/skills/web-testing/SKILL.md +60 -6
- package/skills/web-testing/references/report-format.md +57 -0
- package/skills/web-testing/references/test-execution-workflow.md +118 -0
- package/skills/web-testing/references/ui-testing-workflow.md +97 -0
- package/src/commands/add.js +0 -1
- package/src/commands/doctor.js +2 -2
- package/src/commands/init.js +19 -28
- package/src/commands/update.js +1 -1
- package/templates/repo/.github/agents/brainstormer.agent.md +9 -2
- package/templates/repo/.github/agents/code-reviewer.agent.md +59 -84
- package/templates/repo/.github/agents/code-simplifier.agent.md +9 -6
- package/templates/repo/.github/agents/debugger.agent.md +17 -8
- package/templates/repo/.github/agents/docs-manager.agent.md +104 -8
- package/templates/repo/.github/agents/fullstack-developer.agent.md +57 -13
- package/templates/repo/.github/agents/git-manager.agent.md +2 -382
- package/templates/repo/.github/agents/planner.agent.md +36 -8
- package/templates/repo/.github/agents/researcher.agent.md +18 -3
- package/templates/repo/.github/agents/tester.agent.md +13 -14
- package/templates/repo/.github/agents/ui-ux-designer.agent.md +209 -33
- package/templates/repo/.github/prompts/ck-ask.prompt.md +1 -1
- package/templates/repo/.github/prompts/ck-bootstrap.prompt.md +1 -1
- package/templates/repo/.github/prompts/ck-cook.prompt.md +12 -12
- package/templates/repo/.github/prompts/ck-plan-fast.prompt.md +1 -0
- package/templates/repo/.github/prompts/ck-plan-hard.prompt.md +2 -1
- package/templates/repo/.github/prompts/ck-plan-red-team.prompt.md +227 -0
- package/templates/repo/.github/prompts/ck-plan.prompt.md +1 -0
- package/templates/repo/.github/prompts/ck-simplify.prompt.md +1 -1
- package/templates/repo/.github/prompts/ck-spec-specify.prompt.md +1 -0
- package/templates/repo/.github/skills/code-review/SKILL.md +78 -28
- package/templates/repo/.github/skills/cook/SKILL.md +45 -11
- package/templates/repo/.github/skills/debug/SKILL.md +112 -17
- package/templates/repo/.github/skills/fix/SKILL.md +20 -8
- package/templates/repo/.github/skills/frontend-design/SKILL.md +6 -3
- package/templates/repo/.github/skills/planning/SKILL.md +47 -15
- package/templates/repo/.github/skills/research/SKILL.md +1 -1
- package/templates/repo/.github/skills/scout/SKILL.md +24 -11
- package/templates/repo/.github/skills/web-testing/SKILL.md +60 -6
- package/templates/repo/.github/skills/web-testing/references/report-format.md +57 -0
- package/templates/repo/.github/skills/web-testing/references/test-execution-workflow.md +118 -0
- package/templates/repo/.github/skills/web-testing/references/ui-testing-workflow.md +97 -0
- package/prompts/ck-journal.prompt.md +0 -19
- package/prompts/ck-preview.prompt.md +0 -77
- package/templates/repo/.github/prompts/ck-journal.prompt.md +0 -19
- package/templates/repo/.github/prompts/ck-preview.prompt.md +0 -77
|
@@ -29,7 +29,7 @@ Fast, token-efficient codebase scouting using parallel agents to find files need
|
|
|
29
29
|
## Configuration
|
|
30
30
|
|
|
31
31
|
Read from `$HOME/.copilot/.ck.json`:
|
|
32
|
-
- `gemini.model` - Gemini model (default: `gemini-3
|
|
32
|
+
- `gemini.model` - Gemini model (default: `gemini-3-flash-preview`)
|
|
33
33
|
|
|
34
34
|
## Workflow
|
|
35
35
|
|
|
@@ -43,21 +43,33 @@ Read from `$HOME/.copilot/.ck.json`:
|
|
|
43
43
|
- Assign each agent specific directories or patterns
|
|
44
44
|
- Ensure no overlap, maximize coverage
|
|
45
45
|
|
|
46
|
-
### 3.
|
|
46
|
+
### 3. Register Scout Tasks
|
|
47
|
+
|
|
48
|
+
**Skip this step if agent count <= 2.**
|
|
49
|
+
|
|
50
|
+
- Check for existing scout tasks in the current session to avoid duplicates.
|
|
51
|
+
- Create a markdown checklist — one entry per agent — including scope metadata (directories, patterns assigned).
|
|
52
|
+
- Example checklist entry: `- [ ] Agent 1: src/api/*, src/models/* — searching for auth-related files`
|
|
53
|
+
- Reference: `references/task-management-scouting.md` for checklist format and metadata fields.
|
|
54
|
+
|
|
55
|
+
### 4. Spawn Parallel Agents
|
|
56
|
+
|
|
47
57
|
Load appropriate reference based on decision tree:
|
|
48
58
|
- **Internal (Default):** `references/internal-scouting.md` (search agents)
|
|
49
59
|
- **External:** `references/external-scouting.md` (Gemini/OpenCode)
|
|
50
60
|
|
|
51
61
|
**Notes:**
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
62
|
+
- Update each task to in_progress before spawning its agent.
|
|
63
|
+
- Prompt detailed instructions for each agent with exact directories or files it should read.
|
|
64
|
+
- Remember that each agent has less than 200K tokens of context window.
|
|
65
|
+
- Amount of agents to-be-spawned depends on the current system resources available and amount of files to be scanned.
|
|
66
|
+
- Each agent must return a detailed summary report to a main agent.
|
|
67
|
+
|
|
68
|
+
### 5. Collect Results
|
|
69
|
+
- Timeout: 3 minutes per agent (skip non-responders).
|
|
70
|
+
- Update completed tasks to done; log timed-out agents in the report under "Unresolved Questions".
|
|
71
|
+
- Aggregate findings into single report.
|
|
72
|
+
- List unresolved questions at end.
|
|
61
73
|
|
|
62
74
|
## Report Format
|
|
63
75
|
|
|
@@ -76,3 +88,4 @@ Load appropriate reference based on decision tree:
|
|
|
76
88
|
|
|
77
89
|
- `references/internal-scouting.md` - Using search agents
|
|
78
90
|
- `references/external-scouting.md` - Using Gemini/OpenCode CLI
|
|
91
|
+
- `references/task-management-scouting.md` - Checklist format and scope metadata for scout tasks
|
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-testing
|
|
3
|
-
description: Web testing with Playwright, Vitest, k6. E2E/unit/integration/load/security/visual/a11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.
|
|
3
|
+
description: Web testing with Playwright, Vitest, k6. E2E/unit/integration/load/security/visual/a11y testing. Multi-language support (JS/TS, Python, Go, Rust, Flutter). Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Web Testing Skill
|
|
7
7
|
|
|
8
|
-
Comprehensive
|
|
8
|
+
Comprehensive testing: unit, integration, E2E, load, security, visual regression, accessibility. Multi-language workflow orchestration with structured QA reporting.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**NEVER IGNORE FAILING TESTS.** Fix root causes, not symptoms. No mocks/cheats/tricks to pass builds.
|
|
9
13
|
|
|
10
14
|
## Quick Start
|
|
11
15
|
|
|
12
16
|
```bash
|
|
17
|
+
# JavaScript/TypeScript
|
|
13
18
|
npx vitest run # Unit tests
|
|
14
19
|
npx playwright test # E2E tests
|
|
15
|
-
|
|
20
|
+
npm run test:coverage # Coverage
|
|
21
|
+
|
|
22
|
+
# Python
|
|
23
|
+
pytest --cov=src # Unit + coverage
|
|
24
|
+
|
|
25
|
+
# Go / Rust / Flutter
|
|
26
|
+
go test ./... -cover # Go
|
|
27
|
+
cargo test # Rust
|
|
28
|
+
flutter test --coverage # Flutter
|
|
29
|
+
|
|
30
|
+
# Web Quality
|
|
16
31
|
k6 run load-test.js # Load tests
|
|
17
|
-
npx @axe-core/cli https
|
|
18
|
-
npx lighthouse https
|
|
32
|
+
npx @axe-core/cli https://... # Accessibility
|
|
33
|
+
npx lighthouse https://... # Performance
|
|
19
34
|
```
|
|
20
35
|
|
|
36
|
+
## Workflows
|
|
37
|
+
|
|
38
|
+
Three orchestrated workflows — load the relevant reference when needed:
|
|
39
|
+
|
|
40
|
+
| Workflow | Reference | Use When |
|
|
41
|
+
|----------|-----------|----------|
|
|
42
|
+
| Code Testing | `./references/test-execution-workflow.md` | Running unit/integration/e2e, checking coverage, validating builds |
|
|
43
|
+
| UI Testing | `./references/ui-testing-workflow.md` | Visual regression, responsive checks, accessibility audits, form automation |
|
|
44
|
+
| Report Format | `./references/report-format.md` | Generating structured QA summary reports |
|
|
45
|
+
|
|
46
|
+
**Code Testing Process:** Identify scope → Pre-flight checks → Execute tests → Analyze results → Coverage analysis → Build verification → Report
|
|
47
|
+
|
|
48
|
+
**UI Testing Process:** Discovery → Visual capture → Console errors → Network validation → Responsive testing → Form testing → Performance metrics → Report
|
|
49
|
+
|
|
21
50
|
## Testing Strategy (Choose Your Model)
|
|
22
51
|
|
|
23
52
|
| Model | Structure | Best For |
|
|
@@ -26,10 +55,15 @@ npx lighthouse https://example.com # Performance
|
|
|
26
55
|
| Trophy | Integration-heavy | Modern SPAs |
|
|
27
56
|
| Honeycomb | Contract-centric | Microservices |
|
|
28
57
|
|
|
29
|
-
|
|
58
|
+
> `./references/testing-pyramid-strategy.md`
|
|
30
59
|
|
|
31
60
|
## Reference Documentation
|
|
32
61
|
|
|
62
|
+
### Workflows & Reports
|
|
63
|
+
- `./references/test-execution-workflow.md` - Orchestrated code testing (multi-language)
|
|
64
|
+
- `./references/ui-testing-workflow.md` - Browser-based visual testing via `agent-browser`
|
|
65
|
+
- `./references/report-format.md` - Structured QA report template
|
|
66
|
+
|
|
33
67
|
### Core Testing
|
|
34
68
|
- `./references/unit-integration-testing.md` - Vitest, browser mode, AAA
|
|
35
69
|
- `./references/e2e-testing-playwright.md` - Fixtures, sharding, selectors
|
|
@@ -64,6 +98,17 @@ npx lighthouse https://example.com # Performance
|
|
|
64
98
|
- `./references/pre-release-checklist.md` - Complete release checklist
|
|
65
99
|
- `./references/functional-testing-checklist.md` - Feature testing
|
|
66
100
|
|
|
101
|
+
## Tools Integration
|
|
102
|
+
|
|
103
|
+
- **Test runners**: Vitest, Jest, Mocha, pytest, go test, cargo test, flutter test
|
|
104
|
+
- **Coverage**: Istanbul/c8/nyc, pytest-cov, go cover
|
|
105
|
+
- **E2E**: Playwright (multi-browser, sharding)
|
|
106
|
+
- **Load**: k6
|
|
107
|
+
- **Browser**: `agent-browser` skill for UI testing
|
|
108
|
+
- **Analysis**: `ai-multimodal` skill (if available) for screenshot analysis
|
|
109
|
+
- **Debugging**: `debug` skill when tests reveal bugs
|
|
110
|
+
- **Thinking**: `sequential-thinking` skill for complex test failure analysis
|
|
111
|
+
|
|
67
112
|
## Scripts
|
|
68
113
|
|
|
69
114
|
### Initialize Playwright Project
|
|
@@ -92,3 +137,12 @@ jobs:
|
|
|
92
137
|
- run: npm run test:a11y # Accessibility
|
|
93
138
|
- run: npx lhci autorun # Performance
|
|
94
139
|
```
|
|
140
|
+
|
|
141
|
+
## Quality Standards
|
|
142
|
+
|
|
143
|
+
- All critical paths must have test coverage
|
|
144
|
+
- Validate happy path AND error scenarios
|
|
145
|
+
- Ensure test isolation — no interdependencies
|
|
146
|
+
- Tests must be deterministic and reproducible
|
|
147
|
+
- Clean up test data after execution
|
|
148
|
+
- Coverage: 80%+ lines, 70%+ branches minimum
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Test Report Format
|
|
2
|
+
|
|
3
|
+
Structured QA report template. Sacrifice grammar for concision.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Test Report — {date} — {scope}
|
|
9
|
+
|
|
10
|
+
## Test Results Overview
|
|
11
|
+
- **Total**: X tests
|
|
12
|
+
- **Passed**: X | **Failed**: X | **Skipped**: X
|
|
13
|
+
- **Duration**: Xs
|
|
14
|
+
|
|
15
|
+
## Coverage Metrics
|
|
16
|
+
| Metric | Value | Threshold | Status |
|
|
17
|
+
|----------|-------|-----------|--------|
|
|
18
|
+
| Lines | X% | 80% | PASS/FAIL |
|
|
19
|
+
| Branches | X% | 70% | PASS/FAIL |
|
|
20
|
+
| Functions| X% | 80% | PASS/FAIL |
|
|
21
|
+
|
|
22
|
+
## Failed Tests
|
|
23
|
+
### `test/path/file.test.ts` — TestName
|
|
24
|
+
- **Error**: Error message
|
|
25
|
+
- **Stack**: Relevant stack trace (truncated)
|
|
26
|
+
- **Cause**: Brief root cause analysis
|
|
27
|
+
- **Fix**: Suggested resolution
|
|
28
|
+
|
|
29
|
+
## UI Test Results (if applicable)
|
|
30
|
+
- **Pages tested**: X
|
|
31
|
+
- **Screenshots**: ./screenshots/
|
|
32
|
+
- **Console errors**: none | [list]
|
|
33
|
+
- **Responsive**: checked at [viewports] | skipped
|
|
34
|
+
- **Performance**: LCP Xs, FID Xms, CLS X
|
|
35
|
+
|
|
36
|
+
## Build Status
|
|
37
|
+
- **Build**: PASS/FAIL
|
|
38
|
+
- **Warnings**: none | [list]
|
|
39
|
+
- **Dependencies**: all resolved | [issues]
|
|
40
|
+
|
|
41
|
+
## Critical Issues
|
|
42
|
+
1. [Blocking issue description + impact]
|
|
43
|
+
|
|
44
|
+
## Recommendations
|
|
45
|
+
1. [Actionable improvement with priority]
|
|
46
|
+
|
|
47
|
+
## Unresolved Questions
|
|
48
|
+
- [Any open questions, if any]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Guidelines
|
|
52
|
+
|
|
53
|
+
- Include ALL failed tests with error messages — don't summarize away details
|
|
54
|
+
- Coverage: highlight specific uncovered files/functions, not just percentages
|
|
55
|
+
- Screenshots: embed paths directly in report for easy access
|
|
56
|
+
- Recommendations: prioritize by impact (critical > high > medium > low)
|
|
57
|
+
- Keep report under 200 lines — split into sections if larger scope needed
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Test Execution Workflow
|
|
2
|
+
|
|
3
|
+
Orchestrated workflow for running code-level tests across any language/framework.
|
|
4
|
+
|
|
5
|
+
## Step 1: Identify Scope
|
|
6
|
+
|
|
7
|
+
Determine what to test based on recent changes:
|
|
8
|
+
|
|
9
|
+
| Change Type | Test Strategy |
|
|
10
|
+
|-------------|---------------|
|
|
11
|
+
| New feature | Full test suite + new test cases |
|
|
12
|
+
| Bug fix | Regression tests + targeted fix validation |
|
|
13
|
+
| Refactor | Existing test suite (no new tests unless gaps found) |
|
|
14
|
+
| Coverage check | Full suite with coverage flags |
|
|
15
|
+
|
|
16
|
+
## Step 2: Pre-flight Checks
|
|
17
|
+
|
|
18
|
+
Run syntax/type checks before tests to catch compile errors early:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# JavaScript/TypeScript
|
|
22
|
+
npx tsc --noEmit
|
|
23
|
+
npx eslint .
|
|
24
|
+
|
|
25
|
+
# Python
|
|
26
|
+
python -m py_compile file.py
|
|
27
|
+
flake8 .
|
|
28
|
+
|
|
29
|
+
# Flutter
|
|
30
|
+
flutter analyze
|
|
31
|
+
|
|
32
|
+
# Go
|
|
33
|
+
go vet ./...
|
|
34
|
+
|
|
35
|
+
# Rust
|
|
36
|
+
cargo check
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Step 3: Execute Tests
|
|
40
|
+
|
|
41
|
+
### JavaScript/TypeScript
|
|
42
|
+
```bash
|
|
43
|
+
npm test # project default
|
|
44
|
+
npx vitest run # Vitest
|
|
45
|
+
npx jest --coverage # Jest with coverage
|
|
46
|
+
bun test # Bun
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Python
|
|
50
|
+
```bash
|
|
51
|
+
pytest # basic
|
|
52
|
+
pytest --cov=src --cov-report=term-missing # with coverage
|
|
53
|
+
python -m unittest discover # unittest
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Go
|
|
57
|
+
```bash
|
|
58
|
+
go test ./... -cover # with coverage
|
|
59
|
+
go test ./... -race # race condition detection
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Rust
|
|
63
|
+
```bash
|
|
64
|
+
cargo test
|
|
65
|
+
cargo test -- --nocapture # show stdout
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Flutter
|
|
69
|
+
```bash
|
|
70
|
+
flutter test --coverage
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Step 4: Analyze Results
|
|
74
|
+
|
|
75
|
+
Focus on:
|
|
76
|
+
1. **Failing tests** — read error messages and stack traces carefully
|
|
77
|
+
2. **Flaky tests** — pass/fail intermittently → race conditions or state leaks
|
|
78
|
+
3. **Slow tests** — >5s per test is suspicious, identify bottlenecks
|
|
79
|
+
4. **Skipped tests** — ensure skips are intentional, not hiding failures
|
|
80
|
+
|
|
81
|
+
## Step 5: Coverage Analysis
|
|
82
|
+
|
|
83
|
+
Thresholds:
|
|
84
|
+
- **80%+** line coverage — standard minimum
|
|
85
|
+
- **70%+** branch coverage — acceptable for most projects
|
|
86
|
+
- Focus on critical paths: auth, payment, data mutations
|
|
87
|
+
|
|
88
|
+
Identify gaps:
|
|
89
|
+
- Uncovered error handlers
|
|
90
|
+
- Missing edge case branches
|
|
91
|
+
- Untested utility functions
|
|
92
|
+
|
|
93
|
+
## Step 6: Build Verification
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npm run build # JS/TS production build
|
|
97
|
+
python setup.py build # Python
|
|
98
|
+
go build ./... # Go
|
|
99
|
+
cargo build --release # Rust
|
|
100
|
+
flutter build # Flutter
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Check for:
|
|
104
|
+
- Build warnings or deprecation notices
|
|
105
|
+
- Unresolved dependencies
|
|
106
|
+
- Production config correctness
|
|
107
|
+
|
|
108
|
+
## Quality Checklist
|
|
109
|
+
|
|
110
|
+
- [ ] All tests pass (zero failures)
|
|
111
|
+
- [ ] Coverage meets project threshold
|
|
112
|
+
- [ ] No flaky tests detected
|
|
113
|
+
- [ ] Build completes without errors
|
|
114
|
+
- [ ] Error scenarios tested
|
|
115
|
+
- [ ] Test isolation verified (no shared state)
|
|
116
|
+
- [ ] Test data cleaned up after execution
|
|
117
|
+
- [ ] Mocks/stubs properly configured
|
|
118
|
+
- [ ] Environment variables correctly set
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# UI Testing Workflow
|
|
2
|
+
|
|
3
|
+
Browser-based visual testing using `agent-browser` skill. Covers screenshots, responsive checks, accessibility, form automation, console errors.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Ensure `agent-browser` skill is available. For screenshot analysis, use `ai-multimodal` skill (if available).
|
|
8
|
+
|
|
9
|
+
## Step 1: Discovery
|
|
10
|
+
|
|
11
|
+
Browse target URL, discover pages, components, endpoints:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Navigate and capture initial state
|
|
15
|
+
# Use agent-browser skill to browse http://localhost:3000
|
|
16
|
+
# Capture ARIA snapshot for accessibility baseline
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Step 2: Visual Capture
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Full page screenshot
|
|
23
|
+
# Screenshot http://localhost:3000 → ./screenshots/home.png (full-page)
|
|
24
|
+
|
|
25
|
+
# Specific component
|
|
26
|
+
# Screenshot selector ".main-content" → ./screenshots/main.png
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Step 3: Console Error Check
|
|
30
|
+
|
|
31
|
+
Capture JavaScript errors for 5 seconds on each page.
|
|
32
|
+
|
|
33
|
+
- Zero errors = pass
|
|
34
|
+
- Any errors = investigate before proceeding
|
|
35
|
+
- Check for: uncaught exceptions, failed promises, deprecation warnings
|
|
36
|
+
|
|
37
|
+
## Step 4: Network Validation
|
|
38
|
+
|
|
39
|
+
Check for failed API calls:
|
|
40
|
+
- Filter responses with status >= 400
|
|
41
|
+
- Identify CORS issues, missing endpoints, auth failures
|
|
42
|
+
- Validate API response times
|
|
43
|
+
|
|
44
|
+
## Step 5: Responsive Testing
|
|
45
|
+
|
|
46
|
+
Capture at key breakpoints:
|
|
47
|
+
|
|
48
|
+
| Viewport | Size | Device |
|
|
49
|
+
|----------|------|--------|
|
|
50
|
+
| Desktop | 1920x1080 | Standard monitor |
|
|
51
|
+
| Tablet | 768x1024 | iPad |
|
|
52
|
+
| Mobile | 375x812 | iPhone |
|
|
53
|
+
|
|
54
|
+
For each viewport:
|
|
55
|
+
1. Resize browser window
|
|
56
|
+
2. Capture full-page screenshot
|
|
57
|
+
3. Check for layout breakage, overflow, hidden elements
|
|
58
|
+
|
|
59
|
+
## Step 6: Form & Interaction Testing
|
|
60
|
+
|
|
61
|
+
Test interactive elements:
|
|
62
|
+
1. Fill form fields with valid data
|
|
63
|
+
2. Submit and verify success state
|
|
64
|
+
3. Fill with invalid data and verify error messages
|
|
65
|
+
4. Test keyboard navigation (Tab, Enter, Escape)
|
|
66
|
+
5. Capture screenshots of each state
|
|
67
|
+
|
|
68
|
+
## Step 7: Performance Metrics
|
|
69
|
+
|
|
70
|
+
Collect Core Web Vitals:
|
|
71
|
+
- **LCP** (Largest Contentful Paint): < 2.5s
|
|
72
|
+
- **FID/INP** (First Input Delay / Interaction to Next Paint): < 200ms
|
|
73
|
+
- **CLS** (Cumulative Layout Shift): < 0.1
|
|
74
|
+
|
|
75
|
+
## Authentication for Protected Routes
|
|
76
|
+
|
|
77
|
+
For pages behind auth:
|
|
78
|
+
|
|
79
|
+
| Method | Use Case |
|
|
80
|
+
|--------|----------|
|
|
81
|
+
| Cookie injection | Session-based auth |
|
|
82
|
+
| Bearer token | API/JWT auth |
|
|
83
|
+
| localStorage | SPA token storage |
|
|
84
|
+
|
|
85
|
+
After injection, browser session persists for subsequent tests.
|
|
86
|
+
|
|
87
|
+
## Screenshot Analysis
|
|
88
|
+
|
|
89
|
+
Use `ai-multimodal` skill (if available) to analyze captured screenshots for:
|
|
90
|
+
- Layout correctness
|
|
91
|
+
- Visual regressions vs baseline
|
|
92
|
+
- Missing elements or broken styling
|
|
93
|
+
- Accessibility issues (contrast, text size)
|
|
94
|
+
|
|
95
|
+
## Cleanup
|
|
96
|
+
|
|
97
|
+
Close browser sessions when testing completes to free resources.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agent: 'agent'
|
|
3
|
-
description: 'Write journal entries from recent changes and memories'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Use the `journal-writer` agent to explore the memories and recent code changes, and write some journal entries.
|
|
7
|
-
Journal entries should be concise and focused on the most important events, key changes, impacts, and decisions.
|
|
8
|
-
Keep journal entries in the `./docs/journals/` directory.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Suggested Next Steps
|
|
13
|
-
|
|
14
|
-
| Command | Description |
|
|
15
|
-
|---------|-------------|
|
|
16
|
-
| `/ck-brainstorm` | Explore ideas |
|
|
17
|
-
| `/ck-plan` | Create plan |
|
|
18
|
-
| `/ck-fix` | Analyze and fix issues |
|
|
19
|
-
| `/ck-spec-specify` | Write detailed feature spec |
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agent: 'agent'
|
|
3
|
-
description: 'Preview markdown files, plan directories, or plans collection'
|
|
4
|
-
argument-hint: 'Path to markdown file or directory'
|
|
5
|
-
tools: ['execute/runInTerminal', 'execute/getTerminalOutput']
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
Universal viewer - pass ANY path and see it rendered nicely.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
- `/ck-preview <file.md>` - View markdown file in novel-reader UI
|
|
13
|
-
- `/ck-preview <directory/>` - Browse directory contents
|
|
14
|
-
- `/ck-preview --stop` - Stop running server
|
|
15
|
-
|
|
16
|
-
## Examples
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
/ck-preview plans/my-plan/ck-plan.md # View markdown file
|
|
20
|
-
/ck-preview plans/ # Browse plans directory
|
|
21
|
-
/ck-preview docs/ # Browse docs directory
|
|
22
|
-
/ck-preview any/path/to/file.md # View any markdown file
|
|
23
|
-
/ck-preview any/path/ # Browse any directory
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Execution
|
|
27
|
-
|
|
28
|
-
Run the server using `#tool:execute/runInTerminal`. The skill is located at `$HOME/.copilot/skills/markdown-novel-viewer/`.
|
|
29
|
-
|
|
30
|
-
### Stop Server
|
|
31
|
-
|
|
32
|
-
If `--stop` flag is provided:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
node $HOME/.copilot/skills/markdown-novel-viewer/scripts/server.cjs --stop
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Start Server
|
|
39
|
-
|
|
40
|
-
Otherwise, run the `markdown-novel-viewer` server with `--foreground` flag:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Determine if path is file or directory
|
|
44
|
-
INPUT_PATH="${input}"
|
|
45
|
-
if [[ -d "$INPUT_PATH" ]]; then
|
|
46
|
-
# Directory mode - browse
|
|
47
|
-
node $HOME/.copilot/skills/markdown-novel-viewer/scripts/server.cjs \
|
|
48
|
-
--dir "$INPUT_PATH" \
|
|
49
|
-
--host 0.0.0.0 \
|
|
50
|
-
--open \
|
|
51
|
-
--foreground
|
|
52
|
-
else
|
|
53
|
-
# File mode - view markdown
|
|
54
|
-
node $HOME/.copilot/skills/markdown-novel-viewer/scripts/server.cjs \
|
|
55
|
-
--file "$INPUT_PATH" \
|
|
56
|
-
--host 0.0.0.0 \
|
|
57
|
-
--open \
|
|
58
|
-
--foreground
|
|
59
|
-
fi
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
After starting, parse the JSON output (e.g., `{"success":true,"url":"http://localhost:3456/view?file=...","networkUrl":"http://192.168.1.x:3456/view?file=..."}`) and report:
|
|
63
|
-
- Local URL for browser access
|
|
64
|
-
- Network URL for remote device access (if available)
|
|
65
|
-
- Inform user that server is now running in the terminal; stop it by running the stop command
|
|
66
|
-
|
|
67
|
-
**CRITICAL:** MUST display the FULL URL including path and query string (e.g., `http://localhost:3456/view?file=/path/to/file.md`). NEVER truncate to just `host:port` (e.g., `http://localhost:3456`). The full URL is required for direct file access.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Suggested Next Steps
|
|
72
|
-
|
|
73
|
-
| Command | Description |
|
|
74
|
-
|---------|-------------|
|
|
75
|
-
| `/ck-brainstorm` | Explore ideas |
|
|
76
|
-
| `/ck-plan` | Create plan |
|
|
77
|
-
| `/ck-spec-specify` | Write detailed feature spec |
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agent: 'agent'
|
|
3
|
-
description: 'Write journal entries from recent changes and memories'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Use the `journal-writer` agent to explore the memories and recent code changes, and write some journal entries.
|
|
7
|
-
Journal entries should be concise and focused on the most important events, key changes, impacts, and decisions.
|
|
8
|
-
Keep journal entries in the `./docs/journals/` directory.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Suggested Next Steps
|
|
13
|
-
|
|
14
|
-
| Command | Description |
|
|
15
|
-
|---------|-------------|
|
|
16
|
-
| `/ck-brainstorm` | Explore ideas |
|
|
17
|
-
| `/ck-plan` | Create plan |
|
|
18
|
-
| `/ck-fix` | Analyze and fix issues |
|
|
19
|
-
| `/ck-spec-specify` | Write detailed feature spec |
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agent: 'agent'
|
|
3
|
-
description: 'Preview markdown files, plan directories, or plans collection'
|
|
4
|
-
argument-hint: 'Path to markdown file or directory'
|
|
5
|
-
tools: ['execute/runInTerminal', 'execute/getTerminalOutput']
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
Universal viewer - pass ANY path and see it rendered nicely.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
- `/ck-preview <file.md>` - View markdown file in novel-reader UI
|
|
13
|
-
- `/ck-preview <directory/>` - Browse directory contents
|
|
14
|
-
- `/ck-preview --stop` - Stop running server
|
|
15
|
-
|
|
16
|
-
## Examples
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
/ck-preview plans/my-plan/ck-plan.md # View markdown file
|
|
20
|
-
/ck-preview plans/ # Browse plans directory
|
|
21
|
-
/ck-preview docs/ # Browse docs directory
|
|
22
|
-
/ck-preview any/path/to/file.md # View any markdown file
|
|
23
|
-
/ck-preview any/path/ # Browse any directory
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Execution
|
|
27
|
-
|
|
28
|
-
Run the server using `#tool:execute/runInTerminal`. The skill is located at `$HOME/.copilot/skills/markdown-novel-viewer/`.
|
|
29
|
-
|
|
30
|
-
### Stop Server
|
|
31
|
-
|
|
32
|
-
If `--stop` flag is provided:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
node $HOME/.copilot/skills/markdown-novel-viewer/scripts/server.cjs --stop
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Start Server
|
|
39
|
-
|
|
40
|
-
Otherwise, run the `markdown-novel-viewer` server with `--foreground` flag:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Determine if path is file or directory
|
|
44
|
-
INPUT_PATH="${input}"
|
|
45
|
-
if [[ -d "$INPUT_PATH" ]]; then
|
|
46
|
-
# Directory mode - browse
|
|
47
|
-
node $HOME/.copilot/skills/markdown-novel-viewer/scripts/server.cjs \
|
|
48
|
-
--dir "$INPUT_PATH" \
|
|
49
|
-
--host 0.0.0.0 \
|
|
50
|
-
--open \
|
|
51
|
-
--foreground
|
|
52
|
-
else
|
|
53
|
-
# File mode - view markdown
|
|
54
|
-
node $HOME/.copilot/skills/markdown-novel-viewer/scripts/server.cjs \
|
|
55
|
-
--file "$INPUT_PATH" \
|
|
56
|
-
--host 0.0.0.0 \
|
|
57
|
-
--open \
|
|
58
|
-
--foreground
|
|
59
|
-
fi
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
After starting, parse the JSON output (e.g., `{"success":true,"url":"http://localhost:3456/view?file=...","networkUrl":"http://192.168.1.x:3456/view?file=..."}`) and report:
|
|
63
|
-
- Local URL for browser access
|
|
64
|
-
- Network URL for remote device access (if available)
|
|
65
|
-
- Inform user that server is now running in the terminal; stop it by running the stop command
|
|
66
|
-
|
|
67
|
-
**CRITICAL:** MUST display the FULL URL including path and query string (e.g., `http://localhost:3456/view?file=/path/to/file.md`). NEVER truncate to just `host:port` (e.g., `http://localhost:3456`). The full URL is required for direct file access.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Suggested Next Steps
|
|
72
|
-
|
|
73
|
-
| Command | Description |
|
|
74
|
-
|---------|-------------|
|
|
75
|
-
| `/ck-brainstorm` | Explore ideas |
|
|
76
|
-
| `/ck-plan` | Create plan |
|
|
77
|
-
| `/ck-spec-specify` | Write detailed feature spec |
|