skilldrop-cli 1.11.1 → 1.13.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.
- package/README.md +1 -1
- package/bin/skilldrop.js +46 -3
- package/catalogue.json +2 -1
- package/model-routing.json +4 -0
- package/package.json +1 -1
- package/packs/ai-engineering/skills/agent-config-review/evals/files/1/dot.gitignore +5 -0
- package/packs/ai-engineering/skills/agent-config-review/examples/inputs/tidewater-ingest/dot.gitignore +3 -0
- package/packs/ai-engineering/skills/agent-config-review/examples/python-repo-tighten.md +3 -3
- package/packs/dev-team/skills/dependency-upgrade-review/evals/files/7/dot.npmrc +3 -0
- package/packs/experience-design/skills/locale-check/SKILL.md +1 -1
- package/packs/experience-design/skills/locale-check/manifest.json +2 -2
- package/packs/frontend/skills/bundle-size-review/evals/files/9/dot.gitignore +5 -0
- package/packs/research/skills/manuscript-check/SKILL.md +121 -0
- package/packs/research/skills/manuscript-check/evals/eval_queries.json +30 -0
- package/packs/research/skills/manuscript-check/evals/evals.json +73 -0
- package/packs/research/skills/manuscript-check/evals/files/1/paper.md +56 -0
- package/packs/research/skills/manuscript-check/evals/files/2/paper.md +118 -0
- package/packs/research/skills/manuscript-check/evals/files/3/report.md +115 -0
- package/packs/research/skills/manuscript-check/evals/files/4/paper.md +79 -0
- package/packs/research/skills/manuscript-check/evals/files/5/chapter3.md +65 -0
- package/packs/research/skills/manuscript-check/examples/inputs/paper.md +56 -0
- package/packs/research/skills/manuscript-check/examples/retention-paper.md +48 -0
- package/packs/research/skills/manuscript-check/manifest.json +36 -0
- package/packs/research/skills/manuscript-check/scripts/manuscript_check.py +355 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/1/{.claude → dot.claude}/agents/db-migrator.md +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/1/{.claude → dot.claude}/agents/reviewer.md +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/1/{.claude → dot.claude}/settings.json +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/1/{.claude → dot.claude}/settings.local.json +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/1/{.mcp.json → dot.mcp.json} +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/2/{.cursor → dot.cursor}/mcp.json +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/{.claude → dot.claude}/agents/release-notes.md +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/{.claude → dot.claude}/settings.json +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/{.mcp.json → dot.mcp.json} +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/evals/files/5/{.github → dot.github}/workflows/codex-triage.yml.fixture +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/examples/inputs/tidewater-ingest/{.claude → dot.claude}/settings.json +0 -0
- /package/packs/ai-engineering/skills/agent-config-review/examples/inputs/tidewater-ingest/{.mcp.json → dot.mcp.json} +0 -0
- /package/packs/ai-engineering/skills/agent-incident-response/evals/files/6/{.mcp.json → dot.mcp.json} +0 -0
- /package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/ai-engineering/skills/mcp-pairing/evals/files/4/{.mcp.json → dot.mcp.json} +0 -0
- /package/packs/api-builder/skills/eval-harness-generator/evals/files/1/{SKILL.md → SKILL.md.fixture} +0 -0
- /package/packs/api-builder/skills/eval-harness-generator/evals/files/2/{SKILL.md → SKILL.md.fixture} +0 -0
- /package/packs/core/skills/context-graph/evals/files/9/{.env.example → dot.env.example} +0 -0
- /package/packs/dev-team/skills/agents-md-generator/evals/files/1/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/agents-md-generator/evals/files/5/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/1/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/2/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/3/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/4/{.env.example → dot.env.example} +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/4/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/5/{.env.example → dot.env.example} +0 -0
- /package/packs/dev-team/skills/codebase-tour/evals/files/5/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/1/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/2/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/2/{.github → dot.github}/workflows/release.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/4/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/5/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/5/{.github → dot.github}/workflows/release.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/5/{.nvmrc → dot.nvmrc} +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/6/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/6/{.github → dot.github}/workflows/integration.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/7/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/7/{.lintwright.json → dot.lintwright.json} +0 -0
- /package/packs/dev-team/skills/dependency-upgrade-review/evals/files/7/{.nvmrc → dot.nvmrc} +0 -0
- /package/packs/dev-team/skills/sonar-onboard/evals/files/2/{.github → dot.github}/workflows/ci.yml.fixture +0 -0
- /package/packs/dev-team/skills/sonar-onboard/evals/files/2/{.gitlab-ci.yml → dot.gitlab-ci.yml} +0 -0
- /package/packs/frontend/skills/bundle-size-review/evals/files/5/{.browserslistrc → dot.browserslistrc} +0 -0
- /package/packs/frontend/skills/bundle-size-review/evals/files/6/{.browserslistrc → dot.browserslistrc} +0 -0
- /package/packs/frontend/skills/bundle-size-review/evals/files/8/{.browserslistrc → dot.browserslistrc} +0 -0
- /package/packs/frontend/skills/bundle-size-review/evals/files/9/{.github → dot.github}/workflows/size.yml.fixture +0 -0
- /package/packs/skill-engineering/skills/skill-review/evals/files/1/skills/changelog-writer/{SKILL.md → SKILL.md.fixture} +0 -0
- /package/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/{SKILL.md → SKILL.md.fixture} +0 -0
- /package/packs/skill-engineering/skills/skill-review/evals/files/2/invoice-chaser/{SKILL.md → SKILL.md.fixture} +0 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Pilot Evaluation of a Low-Cost Soil Moisture Sensor Network at Fernhollow Community Farm
|
|
2
|
+
|
|
3
|
+
Report to the Fernhollow Farm Trust board, October 2026
|
|
4
|
+
Author: Tomasz Arkwright-Bello, Fernhollow Community Farm (fernhollow.example)
|
|
5
|
+
|
|
6
|
+
## Abstract
|
|
7
|
+
|
|
8
|
+
Fernhollow Community Farm installed 24 low-cost capacitive soil moisture sensors
|
|
9
|
+
across its market garden in spring 2026 to see whether sensor readings could replace
|
|
10
|
+
the hand-held probe rounds that volunteers carry out twice a week. Over 20 weeks the
|
|
11
|
+
network delivered 91% of expected readings. After site calibration, sensor readings
|
|
12
|
+
agreed with the reference probe to within 3.1 percentage points of volumetric water
|
|
13
|
+
content. Irrigation water use fell by 18% compared with the same period in 2025. We
|
|
14
|
+
recommend extending the network to the orchard in 2027, subject to the battery and
|
|
15
|
+
enclosure changes set out below.
|
|
16
|
+
|
|
17
|
+
## 1. Introduction
|
|
18
|
+
|
|
19
|
+
Small farms rarely have the budget for research-grade soil sensors, which can cost
|
|
20
|
+
several hundred pounds per probe [1]. Low-cost capacitive sensors have become widely
|
|
21
|
+
available, but their readings drift with temperature and soil type [2], and few
|
|
22
|
+
studies have tested them on mixed vegetable plots run by volunteers.
|
|
23
|
+
|
|
24
|
+
Calibrating each sensor against a reference instrument in the soil where it will be
|
|
25
|
+
used improves accuracy considerably [4]. Wireless networks also bring practical
|
|
26
|
+
problems: radio range across polytunnels, battery life and damage from tools and
|
|
27
|
+
animals [3]. Community growers have reported that data dashboards are only used if
|
|
28
|
+
they answer a simple question, such as which beds need water today [5].
|
|
29
|
+
|
|
30
|
+
This report describes a 20-week pilot at Fernhollow and asks three questions. Did the
|
|
31
|
+
network deliver data reliably? After calibration, how close were sensor readings to
|
|
32
|
+
the reference probe? Did watering change as a result?
|
|
33
|
+
|
|
34
|
+
## 2. Methods
|
|
35
|
+
|
|
36
|
+
### 2.1 Site and sensor layout
|
|
37
|
+
|
|
38
|
+
The market garden covers 0.6 ha and is divided into 12 beds and two polytunnels. Two
|
|
39
|
+
sensors were installed in each bed at 10 cm and 25 cm depth, giving 24 sensors in total
|
|
40
|
+
(Figure 1). Each sensor was connected to a solar-powered radio node based on an open
|
|
41
|
+
hardware design [6].
|
|
42
|
+
|
|
43
|
+
### 2.2 Calibration and reference measurements
|
|
44
|
+
|
|
45
|
+
Each sensor was calibrated in the field against a hand-held reference probe over five
|
|
46
|
+
visits in April, following the two-point method of Delahaye and Strand [7]. Volunteers
|
|
47
|
+
then took reference readings beside every sensor twice a week for the rest of the
|
|
48
|
+
season. Readings were sent every 15 minutes to a gateway in the farm office and logged
|
|
49
|
+
to a shared spreadsheet [8].
|
|
50
|
+
|
|
51
|
+
## 3. Results
|
|
52
|
+
|
|
53
|
+
### 3.1 Data delivery
|
|
54
|
+
|
|
55
|
+
Of 322,560 expected readings, 293,530 (91%) were received. Most losses came from two
|
|
56
|
+
nodes in the far polytunnel, where the radio link failed during wet weather; these are
|
|
57
|
+
discussed in Section 4.3.
|
|
58
|
+
|
|
59
|
+
### 3.2 Agreement with the reference probe
|
|
60
|
+
|
|
61
|
+
Before calibration, the mean absolute difference between sensors and the reference
|
|
62
|
+
probe was 7.8 percentage points. After calibration it fell to 3.1 points, comparable
|
|
63
|
+
with results reported for similar sensors in loam soils [10]. Agreement was poorer at
|
|
64
|
+
25 cm than at 10 cm in the clay-rich beds (Table 1).
|
|
65
|
+
|
|
66
|
+
Table 1. Mean absolute difference from the reference probe (percentage points of
|
|
67
|
+
volumetric water content), after calibration.
|
|
68
|
+
|
|
69
|
+
| Bed soil | 10 cm | 25 cm |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| Sandy loam (beds 1-6) | 2.4 | 2.9 |
|
|
72
|
+
| Clay loam (beds 7-12) | 3.0 | 4.6 |
|
|
73
|
+
| Polytunnels | 2.7 | 3.3 |
|
|
74
|
+
|
|
75
|
+
Figure 1. Plan of the market garden showing the 24 sensor positions and the gateway.
|
|
76
|
+
|
|
77
|
+
Figure 2. Daily mean soil moisture at 10 cm in bed 4, May to September 2026, with
|
|
78
|
+
irrigation events marked.
|
|
79
|
+
|
|
80
|
+
## 4. Discussion
|
|
81
|
+
|
|
82
|
+
### 4.1 Reliability and accuracy
|
|
83
|
+
|
|
84
|
+
The network was reliable enough to support day-to-day watering decisions, and the
|
|
85
|
+
accuracy after calibration was in line with other low-cost deployments [10]. The
|
|
86
|
+
importance of calibrating in the actual soil, rather than using factory settings, is
|
|
87
|
+
consistent with earlier community trials [11].
|
|
88
|
+
|
|
89
|
+
### 4.2 Effect on watering
|
|
90
|
+
|
|
91
|
+
Irrigation water use fell by 18% compared with the same weeks in 2025. Volunteers said
|
|
92
|
+
the dashboard made it easier to skip beds that were still moist, which supports the
|
|
93
|
+
point that simple displays drive use [5]. Water savings of a similar size have been
|
|
94
|
+
reported on allotment sites [12].
|
|
95
|
+
|
|
96
|
+
## 5. Conclusion
|
|
97
|
+
|
|
98
|
+
A low-cost sensor network can give a small community farm usable soil moisture data,
|
|
99
|
+
provided each sensor is calibrated in place. We recommend extending it to the orchard
|
|
100
|
+
in 2027 with sealed enclosures and larger batteries.
|
|
101
|
+
|
|
102
|
+
## References
|
|
103
|
+
|
|
104
|
+
1. Abernathy-Coles R, Prasad V. The cost of soil sensing on small farms. J Field Instrum Stud. 2019;14(2):101-9.
|
|
105
|
+
2. Mirembe K, Laskaris T. Temperature drift in capacitive soil moisture sensors. J Field Instrum Stud. 2020;15(1):22-31.
|
|
106
|
+
3. Ferreira-Lund A, Odhiambo S, Kask P. Radio range and battery life in farm sensor networks. Small Farm Technol. 2021;6(3):140-52.
|
|
107
|
+
4. Yarborough D. Site-specific calibration of low-cost soil probes. Soil Meas Lett. 2018;9(4):77-84.
|
|
108
|
+
5. Castellanos M, Whitcombe J. What community growers want from farm data dashboards. Community Hortic Rev. 2022;3(1):5-18.
|
|
109
|
+
6. Brannigan L. An open hardware node for agricultural sensing. Open Agric Hardw. 2021;2(2):33-41.
|
|
110
|
+
7. Delahaye, P., & Strand, O. (2017). A two-point field calibration for capacitive soil sensors. Soil Measurement Letters, 8(2), 50-58.
|
|
111
|
+
8. Nakashima R, Pell G. Logging farm sensor data to shared spreadsheets. Small Farm Technol. 2020;5(1):12-19.
|
|
112
|
+
9. Okafor-Brandt E. Soil moisture monitoring in urban orchards. Community Hortic Rev. 2023;4(2):61-70.
|
|
113
|
+
10. Iversen H, Achebe-Lowe C. Accuracy of low-cost moisture sensors in loam soils. Soil Meas Lett. 2022;13(1):1-12.
|
|
114
|
+
11. Castellanos M, Whitcombe J. What community growers want from farm data dashboards. Community Hortic Rev. 2022;3(1):5-18.
|
|
115
|
+
12. Rutherford-Diaz S. Water savings from sensor-guided irrigation on allotments. Small Farm Technol. 2023;8(2):88-97.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Mulch type and summer soil moisture in Brackenford community gardens
|
|
2
|
+
|
|
3
|
+
Rosalind Achebe-Mortlake and Tobias Wren
|
|
4
|
+
Department of Urban Ecology, Brackenford Polytechnic (brackenford-poly.example)
|
|
5
|
+
|
|
6
|
+
## Abstract
|
|
7
|
+
|
|
8
|
+
Community gardeners in temperate cities increasingly face dry summers, and mulching is the most common water-saving advice they receive. We compared four surface treatments (bare soil, straw, wood chip and green-waste compost) in 48 raised beds across six community gardens in Brackenford over the summer of 2025. Volumetric soil moisture was logged hourly at 10 cm depth from June to August. Wood-chip mulch raised mean soil moisture by 23% relative to bare soil, and all three mulches reduced the number of days on which moisture fell below the wilting threshold. We recommend wood chip as the default mulch for allotment-style beds where it is locally available.
|
|
9
|
+
|
|
10
|
+
## 1. Introduction
|
|
11
|
+
|
|
12
|
+
Urban food growing has expanded rapidly over the last decade (Abernathy & Solberg, 2015; Calloway, 2018), and community gardens now supply a meaningful share of fresh vegetables for some low-income households (Dunmore et al., 2020). These gardens are often on compacted, low-organic-matter soils that dry quickly (Halvorsen, 2017).
|
|
13
|
+
|
|
14
|
+
Mulches reduce evaporation from the soil surface and moderate soil temperature (Quaresma, 2014). Straw and wood chip are widely recommended in gardening guidance, but field comparisons in small urban beds are scarce. Pemberton (2017) found that compost mulch improved moisture retention in rural market gardens, while Marchetti and Oyelaran (2021) reported that coarse wood chip outperformed finer materials in park plantings.
|
|
15
|
+
|
|
16
|
+
The aim of this study was to compare the effect of common, low-cost mulches on summer soil moisture in working community gardens.
|
|
17
|
+
|
|
18
|
+
## 2. Methods
|
|
19
|
+
|
|
20
|
+
### 2.1 Sites and design
|
|
21
|
+
|
|
22
|
+
Six community gardens across Brackenford were recruited through the city's allotment federation. In each garden, eight raised beds of similar size (1.2 m x 2.4 m) and soil were assigned at random to one of four treatments, giving two beds per treatment per garden and 48 beds in total (Figure 1).
|
|
23
|
+
|
|
24
|
+
### 2.2 Treatments
|
|
25
|
+
|
|
26
|
+
Mulches were applied in late May 2025 at a depth of 5 cm. Straw was locally sourced barley straw; wood chip was municipal arboricultural chip; compost was the city's certified green-waste compost. Bare beds were hand-weeded weekly.
|
|
27
|
+
|
|
28
|
+
### 2.3 Measurements
|
|
29
|
+
|
|
30
|
+
A capacitance soil-moisture sensor was installed at 10 cm depth in the centre of each bed and logged hourly from 1 June to 31 August 2025. Days below the wilting threshold were counted using the threshold for sandy loam given by Weatherby and Zhou (2022).
|
|
31
|
+
|
|
32
|
+
### 2.4 Analysis
|
|
33
|
+
|
|
34
|
+
Daily mean moisture per bed was analysed with a linear mixed-effects model with treatment as a fixed effect and garden as a random effect.
|
|
35
|
+
|
|
36
|
+
## 3. Results
|
|
37
|
+
|
|
38
|
+
Mean volumetric soil moisture differed between treatments (Table 1). All three mulches kept beds wetter than bare soil, with wood chip the wettest throughout the season (Figure 2).
|
|
39
|
+
|
|
40
|
+
Table 1. Mean volumetric soil moisture and days below wilting threshold, June to August 2025 (n = 12 beds per treatment).
|
|
41
|
+
|
|
42
|
+
| Treatment | Mean soil moisture (%) | Days below wilting threshold |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| Bare soil | 11.6 | 31 |
|
|
45
|
+
| Straw | 14.2 | 17 |
|
|
46
|
+
| Wood chip | 15.1 | 12 |
|
|
47
|
+
| Compost | 13.0 | 22 |
|
|
48
|
+
|
|
49
|
+
The difference between wood chip and bare soil was largest during the July heatwave, when bare beds fell below the wilting threshold on 19 consecutive days (Figure 3). Compost beds dried faster than the other mulched beds after rain.
|
|
50
|
+
|
|
51
|
+
Figure 1. Layout of the 48 raised beds across the six gardens.
|
|
52
|
+
|
|
53
|
+
Figure 2. Daily mean soil moisture by treatment, 1 June to 31 August 2025.
|
|
54
|
+
|
|
55
|
+
## 4. Discussion
|
|
56
|
+
|
|
57
|
+
Our results agree with the field trials of Marchetti and Oyelaran (2021): coarse wood chip retained the most moisture. The weaker performance of compost may reflect its fine texture and the way it is incorporated into the soil surface by worms within weeks of application (Varga, 2021). Straw performed well but blew off two beds during a July storm, which gardeners reported as a practical drawback.
|
|
58
|
+
|
|
59
|
+
Wood chip is available free from the city's tree contractors, which makes it the most practical choice for most Brackenford gardens. Further work should test whether these effects persist over several seasons as mulches decompose.
|
|
60
|
+
|
|
61
|
+
## References
|
|
62
|
+
|
|
63
|
+
Abernathy, K., & Solberg, P. (2015). Growing food in the post-industrial city. *Journal of Urban Horticulture Example*, 12(3), 201-215.
|
|
64
|
+
|
|
65
|
+
Calloway, R. (2018). *Plots and people: A history of the allotment movement*. Fenwick Academic Press.
|
|
66
|
+
|
|
67
|
+
Dunmore, S., Ferreira, L., & Ishii, T. (2020). Community gardens and household vegetable supply in three northern cities. *Urban Food Systems Example*, 7(1), 44-59.
|
|
68
|
+
|
|
69
|
+
Halvorsen, M. (2019). Soil compaction and organic matter in urban growing spaces. *Soil Use and Cities Example*, 35(2), 118-130.
|
|
70
|
+
|
|
71
|
+
Lindqvist, E. (2016). Irrigation habits of hobby gardeners. *Garden Science Example*, 4(4), 300-312.
|
|
72
|
+
|
|
73
|
+
Marchetti, G., & Oyelaran, B. (2021). Particle size of organic mulches and soil water in park plantings. *Arboricultural Practice Example*, 47(1), 23-37.
|
|
74
|
+
|
|
75
|
+
Pembleton, A. (2017). Compost mulch and moisture retention in market gardens. *Small Farm Research Example*, 9(2), 77-90.
|
|
76
|
+
|
|
77
|
+
Quaresma, D. (2014). Surface mulches, evaporation and soil temperature: A review. *Agronomy Reviews Example*, 21, 1-26.
|
|
78
|
+
|
|
79
|
+
Weatherby, J., & Zhou, H. (2022). Wilting thresholds for common garden soils. *Soil Use and Cities Example*, 38(4), 410-422.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Chapter 3: Capacity fade in a shared electric cargo-bike fleet
|
|
2
|
+
|
|
3
|
+
## Abstract
|
|
4
|
+
|
|
5
|
+
Shared electric cargo bikes are spreading through European city centres, but operators have little evidence on how quickly their batteries wear out in daily commercial use. This chapter follows the 42 bikes of the Wrenhaven municipal cargo-bike scheme for 18 months, measuring usable battery capacity every month. Fleet-wide mean capacity fade over the study period was 7.9%. Bikes charged on the depot's fast chargers lost capacity faster than those on standard chargers. Capacity fade was driven mainly by cumulative charge cycles rather than calendar age. These results give operators a basis for planning battery replacement.
|
|
6
|
+
|
|
7
|
+
## 3.1 Introduction
|
|
8
|
+
|
|
9
|
+
Cargo bikes are replacing vans for many last-mile deliveries in dense urban areas [1]. Electric assistance has made them practical for heavier loads and longer routes [2], and several cities now run shared fleets for small businesses and residents [5]. Battery replacement is the largest single maintenance cost for these fleets [3], yet most published data on lithium-ion degradation comes from laboratory cycling or from private electric cars [4].
|
|
10
|
+
|
|
11
|
+
Laboratory studies show that high charging currents and high temperatures accelerate capacity fade [6]. Whether this matters in a cargo-bike fleet, where batteries are small and charging is often supervised, is not known. Fleet operators also report wide variation between nominally identical batteries [7], which makes replacement planning difficult.
|
|
12
|
+
|
|
13
|
+
This chapter asks two questions: how fast do batteries in a working shared fleet lose capacity, and does the charging regime make a difference? The fleet data and the operator interviews that motivated the study are introduced in Chapter 2; the depot charging schedule is described in Section 3.2.4.
|
|
14
|
+
|
|
15
|
+
## 3.2 Methods
|
|
16
|
+
|
|
17
|
+
### 3.2.1 Fleet and data collection
|
|
18
|
+
|
|
19
|
+
The Wrenhaven scheme operates 42 identical cargo bikes (48 V, 750 Wh lithium-ion packs) from a single depot. All bikes entered service in March 2024 with new batteries. Between April 2024 and September 2025, each battery was removed once a month and its usable capacity measured with a constant-current discharge test at 20 degrees C, following the protocol of Sandoval and Kettunen [8].
|
|
20
|
+
|
|
21
|
+
### 3.2.2 Charging regimes
|
|
22
|
+
|
|
23
|
+
For operational reasons the depot assigns bikes to one of two charging bays. Twenty-seven bikes were charged on standard 2 A chargers and fifteen on 5 A fast chargers. Assignment was fixed for the whole study period and followed the bays' original wiring rather than any property of the bikes.
|
|
24
|
+
|
|
25
|
+
### 3.2.3 Statistical analysis
|
|
26
|
+
|
|
27
|
+
Capacity fade was expressed as the percentage loss from each battery's first measured capacity. A linear mixed-effects model was fitted with capacity fade as the outcome, cumulative charge cycles, months in service and charging regime as fixed effects, and bike as a random effect [9]. Models were fitted in R.
|
|
28
|
+
|
|
29
|
+
## 3.3 Results
|
|
30
|
+
|
|
31
|
+
All 42 batteries completed the 18 months of testing. Mean capacity fade at the final test is shown by charging regime in Table 1.
|
|
32
|
+
|
|
33
|
+
Table 1. Capacity fade after 18 months by charging regime.
|
|
34
|
+
|
|
35
|
+
| Charging regime | Bikes (n) | Mean capacity fade (%) | Mean charge cycles |
|
|
36
|
+
|---|---|---|---|
|
|
37
|
+
| Standard (2 A) | 27 | 6.4 | 410 |
|
|
38
|
+
| Fast (5 A) | 15 | 8.1 | 455 |
|
|
39
|
+
| All bikes | 42 | 7.0 | 426 |
|
|
40
|
+
|
|
41
|
+
In the mixed-effects model, cumulative charge cycles were strongly associated with capacity fade, while months in service added little once cycles were accounted for (Figure 1). Fast-charged bikes lost on average 1.7 percentage points more capacity than standard-charged bikes, a difference consistent with laboratory findings [6, 11].
|
|
42
|
+
|
|
43
|
+
A Kaplan-Meier analysis of time to 80% of initial capacity found that no battery reached the threshold during the study; on current trends, median time to 80% is projected at roughly 4.5 years for standard-charged bikes.
|
|
44
|
+
|
|
45
|
+
Figure 1. Capacity fade against cumulative charge cycles for all 42 bikes, coloured by charging regime.
|
|
46
|
+
|
|
47
|
+
Figure 2. Monthly mean depot temperature, April 2024 to September 2025.
|
|
48
|
+
|
|
49
|
+
## 3.4 Discussion
|
|
50
|
+
|
|
51
|
+
The fleet's batteries are wearing more slowly than operators feared. Cycle count, not age, is the main driver, which suggests operators should rotate bikes between heavy and light routes to even out wear across the fleet [7]. The fast-charging penalty is modest but real, and the depot could reserve fast chargers for bikes needed back on the road quickly.
|
|
52
|
+
|
|
53
|
+
The main limitation is that charging regime was not randomly assigned. The bays differ in position within the depot, and bikes on the fast-charging bay may also have been used on longer routes. Future work should randomise bikes between bays.
|
|
54
|
+
|
|
55
|
+
## References
|
|
56
|
+
|
|
57
|
+
1. Ashworth P, Delacroix M. Cargo bikes and the last mile: a review. Urban Logistics Example. 2021;9(2):55-71.
|
|
58
|
+
2. Bramley T, Okafor N, Liu S. Electric assistance and load capacity in utility cycling. Journal of Active Transport Example. 2022;14(1):12-25.
|
|
59
|
+
3. Castellanos R. Maintenance costs of shared micromobility fleets. Transport Operations Example. 2023;6(3):201-214.
|
|
60
|
+
4. Dahlgren E, Mbeki T. Real-world battery degradation in private electric vehicles. Energy and Mobility Example. 2020;11(4):340-356.
|
|
61
|
+
5. Elsworth J. Shared cargo-bike schemes in European cities: an inventory. Cities in Motion Example. 2023;3(1):1-18.
|
|
62
|
+
6. Fontaine L, Grigoriev A. Charging current, temperature and capacity fade in lithium-ion cells. Battery Science Example. 2019;27(5):600-615.
|
|
63
|
+
7. Hargreaves D, Nakamura Y. Battery variability in light electric vehicle fleets. Journal of Fleet Management Example. 2024;2(2):88-97.
|
|
64
|
+
8. Sandoval C, Kettunen O. A field protocol for capacity testing of e-bike batteries. Cycling Engineering Example. 2022;5(1):30-41.
|
|
65
|
+
9. Hargreaves D, Nakamura Y. Battery variability in light electric vehicle fleets. J Fleet Manag Example. 2024;2(2):88-97.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Peer mentoring and first-year retention: a mixed-methods study
|
|
2
|
+
|
|
3
|
+
## Abstract
|
|
4
|
+
|
|
5
|
+
We studied whether pairing first-year students with trained second-year mentors improves retention into the second year. Across three cohorts (n = 1,240), mentored students were retained at 91% against 84% for a matched comparison group. Interviews suggest the effect works through belonging rather than academic help.
|
|
6
|
+
|
|
7
|
+
## 1. Introduction
|
|
8
|
+
|
|
9
|
+
Retention in the first year predicts degree completion (Tinto, 1993; Kuh et al., 2008). Peer mentoring is widely used but rarely evaluated with a comparison group (Crisp & Cruz, 2009). Walton and Cohen (2011) showed that a brief belonging intervention raised grades, and Yeager (2016) extended the finding to larger samples.
|
|
10
|
+
|
|
11
|
+
Section 4 sets out the analysis, and Section 6 discusses limits.
|
|
12
|
+
|
|
13
|
+
## 2. Method
|
|
14
|
+
|
|
15
|
+
Students were matched on entry tariff and background (Rosenbaum & Rubin, 1983). Figure 1 shows the matching, and Table 1 summarises the cohorts.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
**Figure 1.** Propensity-score matching of mentored and comparison students.
|
|
19
|
+
|
|
20
|
+
**Table 1.** Cohort sizes and retention by group.
|
|
21
|
+
|
|
22
|
+
| Cohort | Mentored | Comparison |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| 2022 | 410 | 398 |
|
|
25
|
+
|
|
26
|
+
## 3. Results
|
|
27
|
+
|
|
28
|
+
Mentored students were more likely to be retained (Table 2). Figure 3 shows the effect by cohort. The effect was strongest for first-generation students (Stephens et al., 2012).
|
|
29
|
+
|
|
30
|
+
**Figure 2.** Retention by cohort and group.
|
|
31
|
+
|
|
32
|
+
## 4. Discussion
|
|
33
|
+
|
|
34
|
+
The pattern supports a belonging account (Walton & Cohen, 2011; Strayhorn, 2019) over an academic-support account (Kuh et al., 2009).
|
|
35
|
+
|
|
36
|
+
## References
|
|
37
|
+
|
|
38
|
+
Crisp, G., & Cruz, I. (2009). Mentoring college students: A critical review of the literature between 1990 and 2007. *Research in Higher Education*, 50(6), 525–545. https://doi.org/10.1007/s11162-009-9130-2
|
|
39
|
+
|
|
40
|
+
Kuh, G. D., Cruce, T. M., Shoup, R., Kinzie, J., & Gonyea, R. M. (2008). Unmasking the effects of student engagement on first-year college grades and persistence. *The Journal of Higher Education*, 79(5), 540–563.
|
|
41
|
+
|
|
42
|
+
Rosenbaum, P. R., & Rubin, D. B. (1983). The central role of the propensity score in observational studies for causal effects. *Biometrika*, 70(1), 41–55. https://doi.org/10.1093/biomet/70.1.41
|
|
43
|
+
|
|
44
|
+
Stephens, N. M., Fryberg, S. A., Markus, H. R., Johnson, C. S., & Covarrubias, R. (2012). Unseen disadvantage: How American universities' focus on independence undermines the academic performance of first-generation college students. *Journal of Personality and Social Psychology*, 102(6), 1178–1197.
|
|
45
|
+
|
|
46
|
+
Strayhorn, T. L. (2019). *College students' sense of belonging* (2nd ed.). Routledge.
|
|
47
|
+
|
|
48
|
+
Tinto, V. (1993). *Leaving college: Rethinking the causes and cures of student attrition* (2nd ed.). University of Chicago Press.
|
|
49
|
+
|
|
50
|
+
Walton, G. M., & Cohen, G. L. (2011). A brief social-belonging intervention improves academic and health outcomes of minority students. *Science*, 331(6023), 1447–1451.
|
|
51
|
+
|
|
52
|
+
Yeagar, D. S. (2016). Teaching a lay theory before college narrows achievement gaps at scale. *PNAS*, 113(24), E3341–E3348.
|
|
53
|
+
|
|
54
|
+
Pascarella, E. T., & Terenzini, P. T. (2005). *How college affects students* (Vol. 2). Jossey-Bass.
|
|
55
|
+
|
|
56
|
+
Rosenbaum, P. R., & Rubin, D. B. (1983). The central role of the propensity score in observational studies for causal effects. *Biometrika*, 70(1), 41–55. doi:10.1093/biomet/70.1.41
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Worked example: a paper before journal submission
|
|
2
|
+
|
|
3
|
+
## Input
|
|
4
|
+
|
|
5
|
+
> *"I'm submitting this to the journal next week ([inputs/paper.md](inputs/paper.md)). Can you
|
|
6
|
+
> check my citations and cross-references? It's APA 7th, and the abstract limit is 50 words."*
|
|
7
|
+
|
|
8
|
+
## What the manuscript shows
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
# Manuscript check
|
|
12
|
+
|
|
13
|
+
Citation style: author-year; 10 references, 9 cited; 2 figures; 1 tables; abstract 46 words.
|
|
14
|
+
|
|
15
|
+
FAIL line 9: cites “Yeager (2016)”, but the reference list spells it Yeagar (2016)
|
|
16
|
+
FAIL line 34: cites “Kuh et al., 2009”, but the reference list has Kuh 2008
|
|
17
|
+
FAIL references on lines 42 and 56 are the same work (DOI 10.1093/biomet/70.1.41)
|
|
18
|
+
FAIL line 11: refers to Section 6, but there is no section 6
|
|
19
|
+
FAIL line 28: refers to Table 2, but there is no Table 2
|
|
20
|
+
FAIL line 28: refers to Figure 3, but there is no Figure 3
|
|
21
|
+
WARN reference on line 54 (Pascarella 2005) is never cited
|
|
22
|
+
WARN Figure 2 (line 30) is never referred to in the text
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Reply
|
|
26
|
+
|
|
27
|
+
**Six things a reviewer would catch:**
|
|
28
|
+
|
|
29
|
+
1. **Line 34: "Kuh et al., 2009"** — your list has Kuh et al. (2008), and the introduction cites
|
|
30
|
+
2008. Change the citation to 2008.
|
|
31
|
+
2. **Line 9: "Yeager (2016)"** — the reference list spells it **Yeagar**. The author is Yeager;
|
|
32
|
+
correct the list entry.
|
|
33
|
+
3. **Rosenbaum and Rubin (1983) is listed twice** (lines 42 and 56, the same DOI). Delete the
|
|
34
|
+
second entry.
|
|
35
|
+
4. **Line 11 refers to Section 6**, but the paper ends at Section 4. Did you mean Section 4?
|
|
36
|
+
5. **Line 28 refers to Table 2 and Figure 3**, but the paper has one table and two figures. Table
|
|
37
|
+
2 looks cut in revision; Figure 3 is probably Figure 2 (retention by cohort).
|
|
38
|
+
6. **Figure 2 is never referred to.** Fixing item 5 to "Figure 2" solves both.
|
|
39
|
+
|
|
40
|
+
**Never cited:** Pascarella and Terenzini (2005). Cite it where the introduction discusses
|
|
41
|
+
retention research, or remove it.
|
|
42
|
+
|
|
43
|
+
**Reference style (APA 7th)**
|
|
44
|
+
- Kuh et al. (2008), Stephens et al. (2012) and Walton and Cohen (2011) have no DOI; APA 7 includes one whenever the work has one, so look each up.
|
|
45
|
+
- Yeager (2016) has one author in your list; the paper has many. APA 7 lists up to 20 authors.
|
|
46
|
+
- "PNAS" should be the full journal name, *Proceedings of the National Academy of Sciences*.
|
|
47
|
+
|
|
48
|
+
**Abstract:** 46 words, under the 50-word limit.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "manuscript-check",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Check a paper, thesis chapter or report before it goes to a journal, a supervisor, examiners or a publisher — a script reads the manuscript and finds every citation with no reference (including near misses: the right author with another year, a misspelt name), references never cited, the same work listed twice, numbered references out of citation order, and Figure, Table and Section references to things that don't exist or are never mentioned, plus footnotes and the abstract's length — then reads the reference list for consistency of style. Use when someone asks to \"check my references\", \"check my citations match the bibliography\", \"proofread my paper before submission\", \"check my figure and table numbering\", \"is my thesis chapter ready to send\", or \"check the cross-references in this report\".",
|
|
5
|
+
"entrypoint": "SKILL.md",
|
|
6
|
+
"deps": {
|
|
7
|
+
"npm": [],
|
|
8
|
+
"pip": []
|
|
9
|
+
},
|
|
10
|
+
"env": {
|
|
11
|
+
"required": [],
|
|
12
|
+
"optional": []
|
|
13
|
+
},
|
|
14
|
+
"related": [
|
|
15
|
+
"research-plan",
|
|
16
|
+
"source-synthesis"
|
|
17
|
+
],
|
|
18
|
+
"tags": [
|
|
19
|
+
"citations",
|
|
20
|
+
"references",
|
|
21
|
+
"manuscript",
|
|
22
|
+
"thesis",
|
|
23
|
+
"academic-writing",
|
|
24
|
+
"cross-references"
|
|
25
|
+
],
|
|
26
|
+
"permissions": {
|
|
27
|
+
"network": [],
|
|
28
|
+
"commands": [],
|
|
29
|
+
"files": "named-paths",
|
|
30
|
+
"notes": "Reads the manuscript it is given and writes nothing."
|
|
31
|
+
},
|
|
32
|
+
"model": {
|
|
33
|
+
"tier": "standard",
|
|
34
|
+
"rationale": "Citation and cross-reference matching come from the script; reading the reference list for style consistency is bounded."
|
|
35
|
+
}
|
|
36
|
+
}
|