@olegkoval/agent-skills 1.21.1 → 1.22.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/.claude-plugin/plugin.json +3 -2
- package/.cursor-plugin/index.json +5 -0
- package/.grok-plugin/index.json +5 -0
- package/.kiro/steering/wikipedia-uk-editor.md +105 -0
- package/.windsurf/rules/wikipedia-uk-editor.md +104 -0
- package/README.md +2 -1
- package/catalog/skills.json +26 -0
- package/collections/software-development.json +2 -1
- package/package.json +1 -1
- package/packages/software-development/wikipedia-uk-editor/SKILL.md +116 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/claude/plugin.json +5 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/claude/skills/wikipedia-uk-editor/SKILL.md +117 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/claude/skills/wikipedia-uk-editor/references/strategy.md +97 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/claude/skills/wikipedia-uk-editor/references/wikitext-uk.md +121 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/claude/skills/wikipedia-uk-editor/scripts/wiki.sh +98 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/codex/README.md +20 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/cursor/plugin.json +6 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/cursor/skills/wikipedia-uk-editor/SKILL.md +117 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/cursor/skills/wikipedia-uk-editor/references/strategy.md +97 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/cursor/skills/wikipedia-uk-editor/references/wikitext-uk.md +121 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/cursor/skills/wikipedia-uk-editor/scripts/wiki.sh +98 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/grok/plugin.json +6 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/grok/skills/wikipedia-uk-editor/SKILL.md +117 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/grok/skills/wikipedia-uk-editor/references/strategy.md +97 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/grok/skills/wikipedia-uk-editor/references/wikitext-uk.md +121 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/grok/skills/wikipedia-uk-editor/scripts/wiki.sh +98 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/hermes/README.md +3 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/kiro/steering/wikipedia-uk-editor.md +105 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/pi/README.md +3 -0
- package/packages/software-development/wikipedia-uk-editor/adapters/windsurf/rules/wikipedia-uk-editor.md +104 -0
- package/packages/software-development/wikipedia-uk-editor/references/strategy.md +97 -0
- package/packages/software-development/wikipedia-uk-editor/references/wikitext-uk.md +121 -0
- package/packages/software-development/wikipedia-uk-editor/scripts/wiki.sh +98 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "olko-agent-skills",
|
|
3
3
|
"description": "Agent-agnostic skill catalog for Codex, Claude, Cursor, Grok, Copilot, Windsurf, Kiro, and other skill-aware tools.",
|
|
4
|
-
"version": "1.21.
|
|
4
|
+
"version": "1.21.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Oleg Koval"
|
|
7
7
|
},
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"./packages/software-development/coderabbitloop",
|
|
38
38
|
"./packages/software-development/add-to-my-skills",
|
|
39
39
|
"./packages/software-development/ai-tools-setup",
|
|
40
|
-
"./packages/software-development/changelog-generator"
|
|
40
|
+
"./packages/software-development/changelog-generator",
|
|
41
|
+
"./packages/software-development/wikipedia-uk-editor"
|
|
41
42
|
]
|
|
42
43
|
}
|
|
@@ -135,6 +135,11 @@
|
|
|
135
135
|
"name": "olko:changelog-generator",
|
|
136
136
|
"source": "./packages/software-development/changelog-generator/adapters/cursor",
|
|
137
137
|
"description": "Create user-facing changelogs from git history by categorising commits and rewriting them for readers rather than developers."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "olko:wikipedia-uk-editor",
|
|
141
|
+
"source": "./packages/software-development/wikipedia-uk-editor/adapters/cursor",
|
|
142
|
+
"description": "Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary."
|
|
138
143
|
}
|
|
139
144
|
]
|
|
140
145
|
}
|
package/.grok-plugin/index.json
CHANGED
|
@@ -145,6 +145,11 @@
|
|
|
145
145
|
"name": "olko:changelog-generator",
|
|
146
146
|
"source": "./packages/software-development/changelog-generator/adapters/grok",
|
|
147
147
|
"description": "Create user-facing changelogs from git history by categorising commits and rewriting them for readers rather than developers."
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "olko:wikipedia-uk-editor",
|
|
151
|
+
"source": "./packages/software-development/wikipedia-uk-editor/adapters/grok",
|
|
152
|
+
"description": "Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary."
|
|
148
153
|
}
|
|
149
154
|
]
|
|
150
155
|
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
inclusion: manual
|
|
5
|
+
description: "Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Ukrainian Wikipedia Editor
|
|
9
|
+
|
|
10
|
+
Turn a URL or article title into a complete, policy-compliant Ukrainian Wikipedia edit that the human pastes into the wiki editor themselves.
|
|
11
|
+
|
|
12
|
+
## Hard Rules
|
|
13
|
+
|
|
14
|
+
1. **Never submit an edit.** No `action=edit`, no logged-in browser automation, no bot password. This skill only reads and drafts. The human pastes and saves. Automated saving without a ВП:БОТ approval risks a block.
|
|
15
|
+
2. **Never invent a source, a date, a number, or a citation.** Every fact added must trace to a source that was actually fetched in this session. If it cannot be sourced, it does not go in the article.
|
|
16
|
+
3. **Never copy-paste prose from a source.** Ukrainian Wikipedia deletes copyright violations (ВП:Авторські права) on sight. Paraphrase in Ukrainian and cite.
|
|
17
|
+
4. **Never translate machine-literally.** A rough MT dump is a deletion candidate. Ukrainian syntax, Ukrainian transliteration of names, Ukrainian date format (`12 березня 2024`), decimal comma.
|
|
18
|
+
5. **Use only template and policy names verified against the live wiki.** See `references/wikitext-uk.md`. If a template is not listed there, verify it exists before using it — the helper script has a `check` command.
|
|
19
|
+
6. **Disclose AI assistance** on the user page and, when substantial, in the edit summary. Undisclosed LLM output is the fastest route to scrutiny.
|
|
20
|
+
|
|
21
|
+
## Outcome
|
|
22
|
+
|
|
23
|
+
A single deliverable written to a scratch file and echoed in chat:
|
|
24
|
+
|
|
25
|
+
- the **target page** (exact ukwiki title, and whether it exists)
|
|
26
|
+
- the **wikitext** — full article, or an exact-replacement section, or a precise before/after diff for small fixes
|
|
27
|
+
- the **edit summary** in Ukrainian (≤ 200 chars)
|
|
28
|
+
- the **source list** with the URL, publisher, and date actually fetched for each
|
|
29
|
+
- **risk notes**: notability (ВП:ЗН) standing, anything a patroller will challenge, what still needs a human check
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
### 1. Classify the task
|
|
34
|
+
|
|
35
|
+
| Input | Mode |
|
|
36
|
+
|---|---|
|
|
37
|
+
| en.wikipedia.org URL, no uk equivalent | **Translate** — new uk article |
|
|
38
|
+
| uk.wikipedia.org URL, stub or thin | **Expand** |
|
|
39
|
+
| uk.wikipedia.org URL with `{{Без джерел}}` / `{{Джерело}}` | **Source** |
|
|
40
|
+
| uk.wikipedia.org URL, prose/format problems | **Cleanup** |
|
|
41
|
+
| "what should I edit next" | **Plan** — read `references/strategy.md`, propose a ranked list |
|
|
42
|
+
|
|
43
|
+
Resolve the title first — `scripts/wiki.sh` handles redirects. Never draft against the wrong title.
|
|
44
|
+
|
|
45
|
+
### 2. Read before writing
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
./scripts/wiki.sh get uk "Тайтл" # current wikitext
|
|
49
|
+
./scripts/wiki.sh get en "Title" # source-language wikitext
|
|
50
|
+
./scripts/wiki.sh langlink en "Title" uk # does a uk version already exist?
|
|
51
|
+
./scripts/wiki.sh check uk "Шаблон:Особа" # does this template/page exist?
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Stop and report if:
|
|
55
|
+
- a uk article already exists for a "new translation" (then it is an **Expand** task, not a new page)
|
|
56
|
+
- the subject fails ВП:ЗН — do not draft an article that will be deleted; say so and propose an alternative target
|
|
57
|
+
|
|
58
|
+
### 3. Gather real sources
|
|
59
|
+
|
|
60
|
+
For **Translate**: the English article's own reference list is a source *lead*, not a source. Fetch each reference actually cited for the claims you keep. Drop claims whose sources are dead or paywalled beyond verification. Prefer Ukrainian-language sources where they exist — patrollers weigh them higher.
|
|
61
|
+
|
|
62
|
+
For **Source/Expand**: search for the specific unsourced claim, not the topic in general. Reject blogs, press releases, user-generated wikis, and the subject's own site for anything contested (ВП:АД).
|
|
63
|
+
|
|
64
|
+
Record for each source: URL, title, publisher, publication date, access date. These become `{{Cite web}}` / `{{Стаття}}` / `{{Книга}}` parameters — see `references/wikitext-uk.md`.
|
|
65
|
+
|
|
66
|
+
### 4. Draft the wikitext
|
|
67
|
+
|
|
68
|
+
Follow `references/wikitext-uk.md` for structure, citation templates, infoboxes, section names, categories, and the `{{Перекладена стаття}}` attribution template that translations legally require.
|
|
69
|
+
|
|
70
|
+
Scale to the subject: a person gets ~4–8 sourced sentences minimum, not two. Under that, it is a stub — label it `{{Заготовка}}` honestly rather than pretending it is complete.
|
|
71
|
+
|
|
72
|
+
### 5. Self-check before delivering
|
|
73
|
+
|
|
74
|
+
Run every item. Report failures rather than hiding them.
|
|
75
|
+
|
|
76
|
+
- [ ] Every non-obvious factual claim has an inline `<ref>`
|
|
77
|
+
- [ ] No sentence is a translated copy of a copyrighted source
|
|
78
|
+
- [ ] Every template used exists (checked, not assumed)
|
|
79
|
+
- [ ] `{{Перекладена стаття}}` present with the source revision id, if translated
|
|
80
|
+
- [ ] Categories present and non-empty; at least one is a real existing category
|
|
81
|
+
- [ ] Interwiki handled via Wikidata note, not hardcoded links
|
|
82
|
+
- [ ] Neutral tone (ВП:НТЗ) — no promotional adjectives, no unattributed evaluation
|
|
83
|
+
- [ ] No original synthesis (ВП:ОД)
|
|
84
|
+
- [ ] Dates, numbers, and name transliterations are Ukrainian-correct
|
|
85
|
+
- [ ] Edit summary written in Ukrainian and states what changed and why
|
|
86
|
+
|
|
87
|
+
### 6. Deliver
|
|
88
|
+
|
|
89
|
+
Write the draft to a scratch file (`.md` alongside the raw `.wiki` text so paste is clean), print the edit summary, and tell the human exactly where to paste it:
|
|
90
|
+
|
|
91
|
+
- new article → `https://uk.wikipedia.org/wiki/Тайтл?action=edit`
|
|
92
|
+
- section replace → name the section and its exact current heading
|
|
93
|
+
- test first → `Вікіпедія:Пісочниця` or the user's own `Користувач:Ім'я/Чернетка`
|
|
94
|
+
|
|
95
|
+
Then stop. Do not offer to save it.
|
|
96
|
+
|
|
97
|
+
## References
|
|
98
|
+
|
|
99
|
+
- `references/strategy.md` — the contribution strategy: what to farm, in what order, and how to build standing without getting flagged
|
|
100
|
+
- `references/wikitext-uk.md` — verified uk templates, citation formats, article skeletons, policy shortcuts
|
|
101
|
+
- `scripts/wiki.sh` — read-only MediaWiki API helper
|
|
102
|
+
|
|
103
|
+
## Verification
|
|
104
|
+
|
|
105
|
+
The skill has done its job when the human can paste the output unchanged, and the resulting edit survives patrolling with no maintenance template added.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
description: "Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ukrainian Wikipedia Editor
|
|
8
|
+
|
|
9
|
+
Turn a URL or article title into a complete, policy-compliant Ukrainian Wikipedia edit that the human pastes into the wiki editor themselves.
|
|
10
|
+
|
|
11
|
+
## Hard Rules
|
|
12
|
+
|
|
13
|
+
1. **Never submit an edit.** No `action=edit`, no logged-in browser automation, no bot password. This skill only reads and drafts. The human pastes and saves. Automated saving without a ВП:БОТ approval risks a block.
|
|
14
|
+
2. **Never invent a source, a date, a number, or a citation.** Every fact added must trace to a source that was actually fetched in this session. If it cannot be sourced, it does not go in the article.
|
|
15
|
+
3. **Never copy-paste prose from a source.** Ukrainian Wikipedia deletes copyright violations (ВП:Авторські права) on sight. Paraphrase in Ukrainian and cite.
|
|
16
|
+
4. **Never translate machine-literally.** A rough MT dump is a deletion candidate. Ukrainian syntax, Ukrainian transliteration of names, Ukrainian date format (`12 березня 2024`), decimal comma.
|
|
17
|
+
5. **Use only template and policy names verified against the live wiki.** See `references/wikitext-uk.md`. If a template is not listed there, verify it exists before using it — the helper script has a `check` command.
|
|
18
|
+
6. **Disclose AI assistance** on the user page and, when substantial, in the edit summary. Undisclosed LLM output is the fastest route to scrutiny.
|
|
19
|
+
|
|
20
|
+
## Outcome
|
|
21
|
+
|
|
22
|
+
A single deliverable written to a scratch file and echoed in chat:
|
|
23
|
+
|
|
24
|
+
- the **target page** (exact ukwiki title, and whether it exists)
|
|
25
|
+
- the **wikitext** — full article, or an exact-replacement section, or a precise before/after diff for small fixes
|
|
26
|
+
- the **edit summary** in Ukrainian (≤ 200 chars)
|
|
27
|
+
- the **source list** with the URL, publisher, and date actually fetched for each
|
|
28
|
+
- **risk notes**: notability (ВП:ЗН) standing, anything a patroller will challenge, what still needs a human check
|
|
29
|
+
|
|
30
|
+
## Workflow
|
|
31
|
+
|
|
32
|
+
### 1. Classify the task
|
|
33
|
+
|
|
34
|
+
| Input | Mode |
|
|
35
|
+
|---|---|
|
|
36
|
+
| en.wikipedia.org URL, no uk equivalent | **Translate** — new uk article |
|
|
37
|
+
| uk.wikipedia.org URL, stub or thin | **Expand** |
|
|
38
|
+
| uk.wikipedia.org URL with `{{Без джерел}}` / `{{Джерело}}` | **Source** |
|
|
39
|
+
| uk.wikipedia.org URL, prose/format problems | **Cleanup** |
|
|
40
|
+
| "what should I edit next" | **Plan** — read `references/strategy.md`, propose a ranked list |
|
|
41
|
+
|
|
42
|
+
Resolve the title first — `scripts/wiki.sh` handles redirects. Never draft against the wrong title.
|
|
43
|
+
|
|
44
|
+
### 2. Read before writing
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
./scripts/wiki.sh get uk "Тайтл" # current wikitext
|
|
48
|
+
./scripts/wiki.sh get en "Title" # source-language wikitext
|
|
49
|
+
./scripts/wiki.sh langlink en "Title" uk # does a uk version already exist?
|
|
50
|
+
./scripts/wiki.sh check uk "Шаблон:Особа" # does this template/page exist?
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Stop and report if:
|
|
54
|
+
- a uk article already exists for a "new translation" (then it is an **Expand** task, not a new page)
|
|
55
|
+
- the subject fails ВП:ЗН — do not draft an article that will be deleted; say so and propose an alternative target
|
|
56
|
+
|
|
57
|
+
### 3. Gather real sources
|
|
58
|
+
|
|
59
|
+
For **Translate**: the English article's own reference list is a source *lead*, not a source. Fetch each reference actually cited for the claims you keep. Drop claims whose sources are dead or paywalled beyond verification. Prefer Ukrainian-language sources where they exist — patrollers weigh them higher.
|
|
60
|
+
|
|
61
|
+
For **Source/Expand**: search for the specific unsourced claim, not the topic in general. Reject blogs, press releases, user-generated wikis, and the subject's own site for anything contested (ВП:АД).
|
|
62
|
+
|
|
63
|
+
Record for each source: URL, title, publisher, publication date, access date. These become `{{Cite web}}` / `{{Стаття}}` / `{{Книга}}` parameters — see `references/wikitext-uk.md`.
|
|
64
|
+
|
|
65
|
+
### 4. Draft the wikitext
|
|
66
|
+
|
|
67
|
+
Follow `references/wikitext-uk.md` for structure, citation templates, infoboxes, section names, categories, and the `{{Перекладена стаття}}` attribution template that translations legally require.
|
|
68
|
+
|
|
69
|
+
Scale to the subject: a person gets ~4–8 sourced sentences minimum, not two. Under that, it is a stub — label it `{{Заготовка}}` honestly rather than pretending it is complete.
|
|
70
|
+
|
|
71
|
+
### 5. Self-check before delivering
|
|
72
|
+
|
|
73
|
+
Run every item. Report failures rather than hiding them.
|
|
74
|
+
|
|
75
|
+
- [ ] Every non-obvious factual claim has an inline `<ref>`
|
|
76
|
+
- [ ] No sentence is a translated copy of a copyrighted source
|
|
77
|
+
- [ ] Every template used exists (checked, not assumed)
|
|
78
|
+
- [ ] `{{Перекладена стаття}}` present with the source revision id, if translated
|
|
79
|
+
- [ ] Categories present and non-empty; at least one is a real existing category
|
|
80
|
+
- [ ] Interwiki handled via Wikidata note, not hardcoded links
|
|
81
|
+
- [ ] Neutral tone (ВП:НТЗ) — no promotional adjectives, no unattributed evaluation
|
|
82
|
+
- [ ] No original synthesis (ВП:ОД)
|
|
83
|
+
- [ ] Dates, numbers, and name transliterations are Ukrainian-correct
|
|
84
|
+
- [ ] Edit summary written in Ukrainian and states what changed and why
|
|
85
|
+
|
|
86
|
+
### 6. Deliver
|
|
87
|
+
|
|
88
|
+
Write the draft to a scratch file (`.md` alongside the raw `.wiki` text so paste is clean), print the edit summary, and tell the human exactly where to paste it:
|
|
89
|
+
|
|
90
|
+
- new article → `https://uk.wikipedia.org/wiki/Тайтл?action=edit`
|
|
91
|
+
- section replace → name the section and its exact current heading
|
|
92
|
+
- test first → `Вікіпедія:Пісочниця` or the user's own `Користувач:Ім'я/Чернетка`
|
|
93
|
+
|
|
94
|
+
Then stop. Do not offer to save it.
|
|
95
|
+
|
|
96
|
+
## References
|
|
97
|
+
|
|
98
|
+
- `references/strategy.md` — the contribution strategy: what to farm, in what order, and how to build standing without getting flagged
|
|
99
|
+
- `references/wikitext-uk.md` — verified uk templates, citation formats, article skeletons, policy shortcuts
|
|
100
|
+
- `scripts/wiki.sh` — read-only MediaWiki API helper
|
|
101
|
+
|
|
102
|
+
## Verification
|
|
103
|
+
|
|
104
|
+
The skill has done its job when the human can paste the output unchanged, and the resulting edit survives patrolling with no maintenance template added.
|
package/README.md
CHANGED
|
@@ -140,7 +140,7 @@ packages/{category}/{skill}/SKILL.md
|
|
|
140
140
|
|
|
141
141
|
Each entry links to its `SKILL.md`. Reference any skill by its `olko:*` lookup name in a new agent session.
|
|
142
142
|
|
|
143
|
-
### Software development (
|
|
143
|
+
### Software development (25)
|
|
144
144
|
|
|
145
145
|
| Skill | What it does | Use when |
|
|
146
146
|
|-------|-------------|----------|
|
|
@@ -168,6 +168,7 @@ Each entry links to its `SKILL.md`. Reference any skill by its `olko:*` lookup n
|
|
|
168
168
|
| [semantic-release-beta](packages/software-development/semantic-release-beta/SKILL.md) | Sets up `semantic-release` with stable `main` releases and beta prereleases on a `beta` branch | A Node package needs stable npm publishing plus beta prereleases |
|
|
169
169
|
| [skill-budget-audit](packages/software-development/skill-budget-audit/SKILL.md) | Diagnoses and fixes Claude Code's skill context budget overflow — identifies heavy plugin bundles that exceed the 2% budget | Skills failing to load or Claude hitting context limits from plugin bundles |
|
|
170
170
|
| [starter-rules](packages/software-development/starter-rules/SKILL.md) | Loads and enforces hard rules for every oleg-koval/* starter | Ensuring 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, and KISS/DRY/SOLID |
|
|
171
|
+
| [wikipedia-uk-editor](packages/software-development/wikipedia-uk-editor/SKILL.md) | Drafts policy-compliant Ukrainian Wikipedia edits — en→uk translation, stub expansion, sourcing, backlog cleanup — returning ready-to-paste wikitext, an edit summary, and a verified source list | Editing, translating, or sourcing a uk.wikipedia.org article, or planning what to contribute next |
|
|
171
172
|
|
|
172
173
|
### Marketing (2)
|
|
173
174
|
|
package/catalog/skills.json
CHANGED
|
@@ -672,6 +672,32 @@
|
|
|
672
672
|
"kiro",
|
|
673
673
|
"grok"
|
|
674
674
|
]
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"name": "wikipedia-uk-editor",
|
|
678
|
+
"lookupName": "olko:wikipedia-uk-editor",
|
|
679
|
+
"category": "software-development",
|
|
680
|
+
"path": "packages/software-development/wikipedia-uk-editor",
|
|
681
|
+
"description": "Draft policy-compliant Ukrainian Wikipedia edits \u2014 translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item \u2014 and return ready-to-paste wikitext plus an edit summary.",
|
|
682
|
+
"tags": [
|
|
683
|
+
"wikipedia",
|
|
684
|
+
"ukrainian",
|
|
685
|
+
"wikitext",
|
|
686
|
+
"translation",
|
|
687
|
+
"sourcing",
|
|
688
|
+
"editing"
|
|
689
|
+
],
|
|
690
|
+
"adapters": [
|
|
691
|
+
"codex",
|
|
692
|
+
"claude",
|
|
693
|
+
"cursor",
|
|
694
|
+
"copilot",
|
|
695
|
+
"grok",
|
|
696
|
+
"windsurf",
|
|
697
|
+
"kiro",
|
|
698
|
+
"hermes",
|
|
699
|
+
"pi"
|
|
700
|
+
]
|
|
675
701
|
}
|
|
676
702
|
]
|
|
677
703
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wikipedia-uk-editor
|
|
3
|
+
description: Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary. Use when given a uk.wikipedia.org or en.wikipedia.org URL or article title to edit, translate, source, or improve, or when planning what to contribute to ukwiki next.
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash, Read, Write, Edit, WebFetch, WebSearch
|
|
6
|
+
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, Hermes, and other Agent Skills compatible tools. Requires curl and python3 for the read-only MediaWiki API helper.
|
|
7
|
+
metadata:
|
|
8
|
+
targets: [_source-only]
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- wikipedia
|
|
12
|
+
- ukrainian
|
|
13
|
+
- wikitext
|
|
14
|
+
- translation
|
|
15
|
+
- sourcing
|
|
16
|
+
- editing
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Ukrainian Wikipedia Editor
|
|
20
|
+
|
|
21
|
+
Turn a URL or article title into a complete, policy-compliant Ukrainian Wikipedia edit that the human pastes into the wiki editor themselves.
|
|
22
|
+
|
|
23
|
+
## Hard Rules
|
|
24
|
+
|
|
25
|
+
1. **Never submit an edit.** No `action=edit`, no logged-in browser automation, no bot password. This skill only reads and drafts. The human pastes and saves. Automated saving without a ВП:БОТ approval risks a block.
|
|
26
|
+
2. **Never invent a source, a date, a number, or a citation.** Every fact added must trace to a source that was actually fetched in this session. If it cannot be sourced, it does not go in the article.
|
|
27
|
+
3. **Never copy-paste prose from a source.** Ukrainian Wikipedia deletes copyright violations (ВП:Авторські права) on sight. Paraphrase in Ukrainian and cite.
|
|
28
|
+
4. **Never translate machine-literally.** A rough MT dump is a deletion candidate. Ukrainian syntax, Ukrainian transliteration of names, Ukrainian date format (`12 березня 2024`), decimal comma.
|
|
29
|
+
5. **Use only template and policy names verified against the live wiki.** See `references/wikitext-uk.md`. If a template is not listed there, verify it exists before using it — the helper script has a `check` command.
|
|
30
|
+
6. **Disclose AI assistance** on the user page and, when substantial, in the edit summary. Undisclosed LLM output is the fastest route to scrutiny.
|
|
31
|
+
|
|
32
|
+
## Outcome
|
|
33
|
+
|
|
34
|
+
A single deliverable written to a scratch file and echoed in chat:
|
|
35
|
+
|
|
36
|
+
- the **target page** (exact ukwiki title, and whether it exists)
|
|
37
|
+
- the **wikitext** — full article, or an exact-replacement section, or a precise before/after diff for small fixes
|
|
38
|
+
- the **edit summary** in Ukrainian (≤ 200 chars)
|
|
39
|
+
- the **source list** with the URL, publisher, and date actually fetched for each
|
|
40
|
+
- **risk notes**: notability (ВП:ЗН) standing, anything a patroller will challenge, what still needs a human check
|
|
41
|
+
|
|
42
|
+
## Workflow
|
|
43
|
+
|
|
44
|
+
### 1. Classify the task
|
|
45
|
+
|
|
46
|
+
| Input | Mode |
|
|
47
|
+
|---|---|
|
|
48
|
+
| en.wikipedia.org URL, no uk equivalent | **Translate** — new uk article |
|
|
49
|
+
| uk.wikipedia.org URL, stub or thin | **Expand** |
|
|
50
|
+
| uk.wikipedia.org URL with `{{Без джерел}}` / `{{Джерело}}` | **Source** |
|
|
51
|
+
| uk.wikipedia.org URL, prose/format problems | **Cleanup** |
|
|
52
|
+
| "what should I edit next" | **Plan** — read `references/strategy.md`, propose a ranked list |
|
|
53
|
+
|
|
54
|
+
Resolve the title first — `scripts/wiki.sh` handles redirects. Never draft against the wrong title.
|
|
55
|
+
|
|
56
|
+
### 2. Read before writing
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
./scripts/wiki.sh get uk "Тайтл" # current wikitext
|
|
60
|
+
./scripts/wiki.sh get en "Title" # source-language wikitext
|
|
61
|
+
./scripts/wiki.sh langlink en "Title" uk # does a uk version already exist?
|
|
62
|
+
./scripts/wiki.sh check uk "Шаблон:Особа" # does this template/page exist?
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Stop and report if:
|
|
66
|
+
- a uk article already exists for a "new translation" (then it is an **Expand** task, not a new page)
|
|
67
|
+
- the subject fails ВП:ЗН — do not draft an article that will be deleted; say so and propose an alternative target
|
|
68
|
+
|
|
69
|
+
### 3. Gather real sources
|
|
70
|
+
|
|
71
|
+
For **Translate**: the English article's own reference list is a source *lead*, not a source. Fetch each reference actually cited for the claims you keep. Drop claims whose sources are dead or paywalled beyond verification. Prefer Ukrainian-language sources where they exist — patrollers weigh them higher.
|
|
72
|
+
|
|
73
|
+
For **Source/Expand**: search for the specific unsourced claim, not the topic in general. Reject blogs, press releases, user-generated wikis, and the subject's own site for anything contested (ВП:АД).
|
|
74
|
+
|
|
75
|
+
Record for each source: URL, title, publisher, publication date, access date. These become `{{Cite web}}` / `{{Стаття}}` / `{{Книга}}` parameters — see `references/wikitext-uk.md`.
|
|
76
|
+
|
|
77
|
+
### 4. Draft the wikitext
|
|
78
|
+
|
|
79
|
+
Follow `references/wikitext-uk.md` for structure, citation templates, infoboxes, section names, categories, and the `{{Перекладена стаття}}` attribution template that translations legally require.
|
|
80
|
+
|
|
81
|
+
Scale to the subject: a person gets ~4–8 sourced sentences minimum, not two. Under that, it is a stub — label it `{{Заготовка}}` honestly rather than pretending it is complete.
|
|
82
|
+
|
|
83
|
+
### 5. Self-check before delivering
|
|
84
|
+
|
|
85
|
+
Run every item. Report failures rather than hiding them.
|
|
86
|
+
|
|
87
|
+
- [ ] Every non-obvious factual claim has an inline `<ref>`
|
|
88
|
+
- [ ] No sentence is a translated copy of a copyrighted source
|
|
89
|
+
- [ ] Every template used exists (checked, not assumed)
|
|
90
|
+
- [ ] `{{Перекладена стаття}}` present with the source revision id, if translated
|
|
91
|
+
- [ ] Categories present and non-empty; at least one is a real existing category
|
|
92
|
+
- [ ] Interwiki handled via Wikidata note, not hardcoded links
|
|
93
|
+
- [ ] Neutral tone (ВП:НТЗ) — no promotional adjectives, no unattributed evaluation
|
|
94
|
+
- [ ] No original synthesis (ВП:ОД)
|
|
95
|
+
- [ ] Dates, numbers, and name transliterations are Ukrainian-correct
|
|
96
|
+
- [ ] Edit summary written in Ukrainian and states what changed and why
|
|
97
|
+
|
|
98
|
+
### 6. Deliver
|
|
99
|
+
|
|
100
|
+
Write the draft to a scratch file (`.md` alongside the raw `.wiki` text so paste is clean), print the edit summary, and tell the human exactly where to paste it:
|
|
101
|
+
|
|
102
|
+
- new article → `https://uk.wikipedia.org/wiki/Тайтл?action=edit`
|
|
103
|
+
- section replace → name the section and its exact current heading
|
|
104
|
+
- test first → `Вікіпедія:Пісочниця` or the user's own `Користувач:Ім'я/Чернетка`
|
|
105
|
+
|
|
106
|
+
Then stop. Do not offer to save it.
|
|
107
|
+
|
|
108
|
+
## References
|
|
109
|
+
|
|
110
|
+
- `references/strategy.md` — the contribution strategy: what to farm, in what order, and how to build standing without getting flagged
|
|
111
|
+
- `references/wikitext-uk.md` — verified uk templates, citation formats, article skeletons, policy shortcuts
|
|
112
|
+
- `scripts/wiki.sh` — read-only MediaWiki API helper
|
|
113
|
+
|
|
114
|
+
## Verification
|
|
115
|
+
|
|
116
|
+
The skill has done its job when the human can paste the output unchanged, and the resulting edit survives patrolling with no maintenance template added.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "olko-wikipedia-uk-editor",
|
|
3
|
+
"description": "Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary.",
|
|
4
|
+
"skills": "./skills"
|
|
5
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wikipedia-uk-editor
|
|
3
|
+
description: Draft policy-compliant Ukrainian Wikipedia edits — translate an English article into uk, expand or source an existing uk article, or fix a maintenance backlog item — and return ready-to-paste wikitext plus an edit summary. Use when given a uk.wikipedia.org or en.wikipedia.org URL or article title to edit, translate, source, or improve, or when planning what to contribute to ukwiki next.
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash, Read, Write, Edit, WebFetch, WebSearch
|
|
6
|
+
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, Hermes, and other Agent Skills compatible tools. Requires curl and python3 for the read-only MediaWiki API helper.
|
|
7
|
+
metadata:
|
|
8
|
+
targets: [_source-only]
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- wikipedia
|
|
12
|
+
- ukrainian
|
|
13
|
+
- wikitext
|
|
14
|
+
- translation
|
|
15
|
+
- sourcing
|
|
16
|
+
- editing
|
|
17
|
+
---
|
|
18
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
19
|
+
|
|
20
|
+
# Ukrainian Wikipedia Editor
|
|
21
|
+
|
|
22
|
+
Turn a URL or article title into a complete, policy-compliant Ukrainian Wikipedia edit that the human pastes into the wiki editor themselves.
|
|
23
|
+
|
|
24
|
+
## Hard Rules
|
|
25
|
+
|
|
26
|
+
1. **Never submit an edit.** No `action=edit`, no logged-in browser automation, no bot password. This skill only reads and drafts. The human pastes and saves. Automated saving without a ВП:БОТ approval risks a block.
|
|
27
|
+
2. **Never invent a source, a date, a number, or a citation.** Every fact added must trace to a source that was actually fetched in this session. If it cannot be sourced, it does not go in the article.
|
|
28
|
+
3. **Never copy-paste prose from a source.** Ukrainian Wikipedia deletes copyright violations (ВП:Авторські права) on sight. Paraphrase in Ukrainian and cite.
|
|
29
|
+
4. **Never translate machine-literally.** A rough MT dump is a deletion candidate. Ukrainian syntax, Ukrainian transliteration of names, Ukrainian date format (`12 березня 2024`), decimal comma.
|
|
30
|
+
5. **Use only template and policy names verified against the live wiki.** See `references/wikitext-uk.md`. If a template is not listed there, verify it exists before using it — the helper script has a `check` command.
|
|
31
|
+
6. **Disclose AI assistance** on the user page and, when substantial, in the edit summary. Undisclosed LLM output is the fastest route to scrutiny.
|
|
32
|
+
|
|
33
|
+
## Outcome
|
|
34
|
+
|
|
35
|
+
A single deliverable written to a scratch file and echoed in chat:
|
|
36
|
+
|
|
37
|
+
- the **target page** (exact ukwiki title, and whether it exists)
|
|
38
|
+
- the **wikitext** — full article, or an exact-replacement section, or a precise before/after diff for small fixes
|
|
39
|
+
- the **edit summary** in Ukrainian (≤ 200 chars)
|
|
40
|
+
- the **source list** with the URL, publisher, and date actually fetched for each
|
|
41
|
+
- **risk notes**: notability (ВП:ЗН) standing, anything a patroller will challenge, what still needs a human check
|
|
42
|
+
|
|
43
|
+
## Workflow
|
|
44
|
+
|
|
45
|
+
### 1. Classify the task
|
|
46
|
+
|
|
47
|
+
| Input | Mode |
|
|
48
|
+
|---|---|
|
|
49
|
+
| en.wikipedia.org URL, no uk equivalent | **Translate** — new uk article |
|
|
50
|
+
| uk.wikipedia.org URL, stub or thin | **Expand** |
|
|
51
|
+
| uk.wikipedia.org URL with `{{Без джерел}}` / `{{Джерело}}` | **Source** |
|
|
52
|
+
| uk.wikipedia.org URL, prose/format problems | **Cleanup** |
|
|
53
|
+
| "what should I edit next" | **Plan** — read `references/strategy.md`, propose a ranked list |
|
|
54
|
+
|
|
55
|
+
Resolve the title first — `scripts/wiki.sh` handles redirects. Never draft against the wrong title.
|
|
56
|
+
|
|
57
|
+
### 2. Read before writing
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
./scripts/wiki.sh get uk "Тайтл" # current wikitext
|
|
61
|
+
./scripts/wiki.sh get en "Title" # source-language wikitext
|
|
62
|
+
./scripts/wiki.sh langlink en "Title" uk # does a uk version already exist?
|
|
63
|
+
./scripts/wiki.sh check uk "Шаблон:Особа" # does this template/page exist?
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Stop and report if:
|
|
67
|
+
- a uk article already exists for a "new translation" (then it is an **Expand** task, not a new page)
|
|
68
|
+
- the subject fails ВП:ЗН — do not draft an article that will be deleted; say so and propose an alternative target
|
|
69
|
+
|
|
70
|
+
### 3. Gather real sources
|
|
71
|
+
|
|
72
|
+
For **Translate**: the English article's own reference list is a source *lead*, not a source. Fetch each reference actually cited for the claims you keep. Drop claims whose sources are dead or paywalled beyond verification. Prefer Ukrainian-language sources where they exist — patrollers weigh them higher.
|
|
73
|
+
|
|
74
|
+
For **Source/Expand**: search for the specific unsourced claim, not the topic in general. Reject blogs, press releases, user-generated wikis, and the subject's own site for anything contested (ВП:АД).
|
|
75
|
+
|
|
76
|
+
Record for each source: URL, title, publisher, publication date, access date. These become `{{Cite web}}` / `{{Стаття}}` / `{{Книга}}` parameters — see `references/wikitext-uk.md`.
|
|
77
|
+
|
|
78
|
+
### 4. Draft the wikitext
|
|
79
|
+
|
|
80
|
+
Follow `references/wikitext-uk.md` for structure, citation templates, infoboxes, section names, categories, and the `{{Перекладена стаття}}` attribution template that translations legally require.
|
|
81
|
+
|
|
82
|
+
Scale to the subject: a person gets ~4–8 sourced sentences minimum, not two. Under that, it is a stub — label it `{{Заготовка}}` honestly rather than pretending it is complete.
|
|
83
|
+
|
|
84
|
+
### 5. Self-check before delivering
|
|
85
|
+
|
|
86
|
+
Run every item. Report failures rather than hiding them.
|
|
87
|
+
|
|
88
|
+
- [ ] Every non-obvious factual claim has an inline `<ref>`
|
|
89
|
+
- [ ] No sentence is a translated copy of a copyrighted source
|
|
90
|
+
- [ ] Every template used exists (checked, not assumed)
|
|
91
|
+
- [ ] `{{Перекладена стаття}}` present with the source revision id, if translated
|
|
92
|
+
- [ ] Categories present and non-empty; at least one is a real existing category
|
|
93
|
+
- [ ] Interwiki handled via Wikidata note, not hardcoded links
|
|
94
|
+
- [ ] Neutral tone (ВП:НТЗ) — no promotional adjectives, no unattributed evaluation
|
|
95
|
+
- [ ] No original synthesis (ВП:ОД)
|
|
96
|
+
- [ ] Dates, numbers, and name transliterations are Ukrainian-correct
|
|
97
|
+
- [ ] Edit summary written in Ukrainian and states what changed and why
|
|
98
|
+
|
|
99
|
+
### 6. Deliver
|
|
100
|
+
|
|
101
|
+
Write the draft to a scratch file (`.md` alongside the raw `.wiki` text so paste is clean), print the edit summary, and tell the human exactly where to paste it:
|
|
102
|
+
|
|
103
|
+
- new article → `https://uk.wikipedia.org/wiki/Тайтл?action=edit`
|
|
104
|
+
- section replace → name the section and its exact current heading
|
|
105
|
+
- test first → `Вікіпедія:Пісочниця` or the user's own `Користувач:Ім'я/Чернетка`
|
|
106
|
+
|
|
107
|
+
Then stop. Do not offer to save it.
|
|
108
|
+
|
|
109
|
+
## References
|
|
110
|
+
|
|
111
|
+
- `references/strategy.md` — the contribution strategy: what to farm, in what order, and how to build standing without getting flagged
|
|
112
|
+
- `references/wikitext-uk.md` — verified uk templates, citation formats, article skeletons, policy shortcuts
|
|
113
|
+
- `scripts/wiki.sh` — read-only MediaWiki API helper
|
|
114
|
+
|
|
115
|
+
## Verification
|
|
116
|
+
|
|
117
|
+
The skill has done its job when the human can paste the output unchanged, and the resulting edit survives patrolling with no maintenance template added.
|