crawlio-browser 1.5.9 → 1.6.1
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 +11 -11
- package/dist/mcp-server/{chunk-RGSCESM6.js → chunk-OIW6FN2G.js} +1 -1
- package/dist/mcp-server/index.js +4127 -438
- package/dist/mcp-server/{init-JJBRFNTL.js → init-XEN6K7W2.js} +55 -22
- package/package.json +6 -3
- package/skills/clone/SKILL.md +103 -0
- package/skills/compare/SKILL.md +104 -0
- package/skills/dossier/SKILL.md +148 -0
- package/skills/extract/SKILL.md +69 -0
- package/skills/monitor/SKILL.md +66 -0
- package/skills/test/SKILL.md +103 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: monitor
|
|
3
|
+
description: "Monitor a URL for changes — baseline capture, re-capture, diff report"
|
|
4
|
+
allowed-tools: Agent
|
|
5
|
+
argument-hint: <url>
|
|
6
|
+
context: fork
|
|
7
|
+
agent: crawlio-investigator
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Monitor Investigation
|
|
11
|
+
|
|
12
|
+
You are running a **monitor** investigation. Your goal is to capture a baseline snapshot of the target URL, re-capture it, and produce a `DiffReport` showing what changed between the two captures.
|
|
13
|
+
|
|
14
|
+
## Loop Definition
|
|
15
|
+
|
|
16
|
+
Read `loops/monitor.json` to understand the phase sequence. The monitor loop has 3 phases:
|
|
17
|
+
|
|
18
|
+
1. **baseline** — Spawn `crawlio-crawler` to capture the target URL. Record the `EVIDENCE_ID`.
|
|
19
|
+
2. **recapture** — Spawn `crawlio-crawler` again with the same URL. Record the second `EVIDENCE_ID`.
|
|
20
|
+
3. **diff** — Spawn `crawlio-differ` with both evidence IDs. It reads both `EvidenceEnvelope<PageEvidence>` files, compares them field by field across 10 dimensions, and writes an `EvidenceEnvelope<DiffReport>`.
|
|
21
|
+
|
|
22
|
+
## Execution
|
|
23
|
+
|
|
24
|
+
1. Read `loops/monitor.json` to confirm phase order.
|
|
25
|
+
2. Spawn `crawlio-crawler` for the baseline capture:
|
|
26
|
+
```
|
|
27
|
+
Crawl <url> and write PageEvidence to .crawlio/evidence/.
|
|
28
|
+
```
|
|
29
|
+
Record `EVIDENCE_ID=<baselineId>`.
|
|
30
|
+
|
|
31
|
+
3. Spawn `crawlio-crawler` for the recapture:
|
|
32
|
+
```
|
|
33
|
+
Crawl <url> and write PageEvidence to .crawlio/evidence/.
|
|
34
|
+
```
|
|
35
|
+
Record `EVIDENCE_ID=<currentId>`.
|
|
36
|
+
|
|
37
|
+
4. Spawn `crawlio-differ` with both evidence IDs:
|
|
38
|
+
```
|
|
39
|
+
Compare baseline evidence <baselineId> against current evidence <currentId> for <url>.
|
|
40
|
+
Read both from .crawlio/evidence/. Write EvidenceEnvelope<DiffReport> to .crawlio/evidence/.
|
|
41
|
+
```
|
|
42
|
+
Record `EVIDENCE_ID=<diffId>`.
|
|
43
|
+
|
|
44
|
+
5. Read the DiffReport evidence and summarize changes for the user.
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
## Monitor: <url>
|
|
50
|
+
|
|
51
|
+
### Changes Detected
|
|
52
|
+
- [List of DiffChange entries grouped by dimension]
|
|
53
|
+
|
|
54
|
+
### Summary
|
|
55
|
+
- Total changes: N
|
|
56
|
+
- Breaking changes: N
|
|
57
|
+
- Dimensions affected: [list]
|
|
58
|
+
|
|
59
|
+
### Evidence Chain
|
|
60
|
+
- Baseline: <baselineId> (quality: ...)
|
|
61
|
+
- Current: <currentId> (quality: ...)
|
|
62
|
+
- Diff: <diffId> (quality: ...)
|
|
63
|
+
|
|
64
|
+
### Confidence
|
|
65
|
+
- Overall: high/medium/low
|
|
66
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test
|
|
3
|
+
description: "Automated testing — accessibility, performance, security, SEO, and best-practices audits with testable flow discovery"
|
|
4
|
+
allowed-tools: Agent
|
|
5
|
+
argument-hint: <url>
|
|
6
|
+
context: fork
|
|
7
|
+
agent: crawlio-investigator
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Test Investigation
|
|
11
|
+
|
|
12
|
+
You are running a **test** investigation. Your goal is to audit a target URL across accessibility, performance, security, SEO, and best-practices categories, discover testable user flows, and produce a `TestSuite` evidence report.
|
|
13
|
+
|
|
14
|
+
## Loop Definition
|
|
15
|
+
|
|
16
|
+
Read `loops/test.json` to understand the phase sequence. The test loop has 5 phases:
|
|
17
|
+
|
|
18
|
+
1. **crawl** — Spawn `crawlio-crawler` to capture the target URL. Record the `EVIDENCE_ID`.
|
|
19
|
+
2. **analyze** — Spawn `crawlio-analyzer` with the crawl evidence ID. Identifies framework and rendering mode to inform test strategy.
|
|
20
|
+
3. **audit** — Spawn `crawlio-auditor` with the crawl evidence ID. Runs accessibility, performance, security, SEO, and best-practices checks.
|
|
21
|
+
4. **discover-flows** (optional) — Spawn `crawlio-auditor` with the crawl evidence ID and flow discovery focus. Discovers testable user flows from navigation/forms.
|
|
22
|
+
5. **synthesize** — Spawn `crawlio-synthesizer` with all phase evidence to produce the final `TestSuite`.
|
|
23
|
+
|
|
24
|
+
## Execution
|
|
25
|
+
|
|
26
|
+
1. Read `loops/test.json` to confirm phase order.
|
|
27
|
+
2. Parse the user's argument: `<url>`.
|
|
28
|
+
3. Spawn `crawlio-crawler` to capture the page:
|
|
29
|
+
```
|
|
30
|
+
Crawl <url> and write PageEvidence to .crawlio/evidence/.
|
|
31
|
+
```
|
|
32
|
+
Record `EVIDENCE_ID=<crawlId>`.
|
|
33
|
+
|
|
34
|
+
4. Spawn `crawlio-analyzer` with the crawl evidence:
|
|
35
|
+
```
|
|
36
|
+
Read PageEvidence from .crawlio/evidence/<crawlId>.json.
|
|
37
|
+
Analyze framework, rendering mode, and component patterns.
|
|
38
|
+
Write FrameworkEvidence to .crawlio/evidence/.
|
|
39
|
+
Target URL: <url>
|
|
40
|
+
```
|
|
41
|
+
Record `EVIDENCE_ID=<analyzeId>`.
|
|
42
|
+
|
|
43
|
+
5. Spawn `crawlio-auditor` to run audits:
|
|
44
|
+
```
|
|
45
|
+
Read PageEvidence from .crawlio/evidence/<crawlId>.json.
|
|
46
|
+
Run accessibility, performance, security, SEO, and best-practices audits.
|
|
47
|
+
Discover testable user flows from navigation and forms.
|
|
48
|
+
Write TestSuite evidence to .crawlio/evidence/.
|
|
49
|
+
Target URL: <url>
|
|
50
|
+
```
|
|
51
|
+
Record `EVIDENCE_ID=<auditId>`.
|
|
52
|
+
|
|
53
|
+
6. Spawn `crawlio-synthesizer` to produce the final TestSuite:
|
|
54
|
+
```
|
|
55
|
+
Read all evidence: <crawlId>, <analyzeId>, <auditId>.
|
|
56
|
+
Produce a TestSuite with audit results, discovered flows, and overall score.
|
|
57
|
+
Write to .crawlio/evidence/.
|
|
58
|
+
Target URL: <url>
|
|
59
|
+
```
|
|
60
|
+
Record `EVIDENCE_ID=<suiteId>`.
|
|
61
|
+
|
|
62
|
+
7. Read the TestSuite evidence and summarize results for the user.
|
|
63
|
+
|
|
64
|
+
## Output Format
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
## Test: <url>
|
|
68
|
+
|
|
69
|
+
### Summary
|
|
70
|
+
- Score: [0-100]/100
|
|
71
|
+
- Tests: [passed] passed, [failed] failed, [warnings] warnings
|
|
72
|
+
- Flows: [count] testable flows discovered
|
|
73
|
+
|
|
74
|
+
### Accessibility
|
|
75
|
+
- [audit results with pass/fail/warning status]
|
|
76
|
+
|
|
77
|
+
### Performance
|
|
78
|
+
- [audit results with scores]
|
|
79
|
+
|
|
80
|
+
### Security
|
|
81
|
+
- [audit results with pass/fail status]
|
|
82
|
+
|
|
83
|
+
### SEO
|
|
84
|
+
- [audit results]
|
|
85
|
+
|
|
86
|
+
### Best Practices
|
|
87
|
+
- [audit results]
|
|
88
|
+
|
|
89
|
+
### Discovered Flows
|
|
90
|
+
- [list of testable flows with steps]
|
|
91
|
+
|
|
92
|
+
### Evidence Chain
|
|
93
|
+
- Crawler: <crawlId> (quality: ...)
|
|
94
|
+
- Analyzer: <analyzeId> (quality: ...)
|
|
95
|
+
- Auditor: <auditId> (quality: ...)
|
|
96
|
+
- Suite: <suiteId> (quality: ...)
|
|
97
|
+
|
|
98
|
+
### Coverage Gaps
|
|
99
|
+
- [Any gaps from the investigation]
|
|
100
|
+
|
|
101
|
+
### Confidence
|
|
102
|
+
- Overall: high/medium/low
|
|
103
|
+
```
|