writing-skills 0.1.1 → 0.2.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 +10 -21
- package/package.json +2 -2
- package/plugin.json +3 -3
- package/skills/bob-ross/SKILL.md +7 -0
- package/skills/jack-sparrow/SKILL.md +7 -0
- package/skills/journalism-ap/SKILL.md +4 -4
- package/skills/paddington/SKILL.md +7 -0
- package/skills/shrek/SKILL.md +7 -0
- package/skills/ted-lasso/SKILL.md +7 -0
- package/skills/winnie-the-pooh/SKILL.md +7 -0
- package/skills/yoda/SKILL.md +7 -0
package/README.md
CHANGED
|
@@ -35,17 +35,13 @@ reads SKILL.md (opencode, Claude Code, Codex, Kiro, Gemini).
|
|
|
35
35
|
|
|
36
36
|
## Install
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
`writing-skills`
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
git clone https://github.com/surendranb/writing-skills.git
|
|
48
|
-
```
|
|
38
|
+
| Harness | Command |
|
|
39
|
+
| :--- | :--- |
|
|
40
|
+
| **Any agent** (recommended) | `npx skills add writing-skills` — detects and installs into every agent on your machine |
|
|
41
|
+
| **Claude Code** (plugin) | `/plugin marketplace add surendranb/writing-skills` then `/plugin install writing-skills@writing-skills` |
|
|
42
|
+
| **Codex ≥ 0.147 / Kiro** | `git clone https://github.com/surendranb/writing-skills.git` — `plugin.json` is auto-discovered (Agent Plugins 1.0) |
|
|
43
|
+
| **npm** | `npm install writing-skills` |
|
|
44
|
+
| **Python** | `uv add writing-skills` or `pip install writing-skills` |
|
|
49
45
|
|
|
50
46
|
## Use
|
|
51
47
|
|
|
@@ -61,16 +57,9 @@ scans, ban lists, readability targets) the agent must pass before delivering.
|
|
|
61
57
|
|
|
62
58
|
## Contribute
|
|
63
59
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
- `## The core rule`, `## Mechanics` (numbered, verifiable), `## Do not`, and at least two before/after `## Transform example`s
|
|
68
|
-
|
|
69
|
-
Validate locally:
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
python3 scripts/check_skills.py # requires PyYAML
|
|
73
|
-
```
|
|
60
|
+
Start from [template/SKILL.md](template/SKILL.md) and see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
61
|
+
Every skill must pass `python3 scripts/validate_skills.py` — frontmatter, verifiable
|
|
62
|
+
mechanics, a `Verify` checklist, and two transform examples are enforced by CI.
|
|
74
63
|
|
|
75
64
|
## License
|
|
76
65
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "writing-skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Procedural writing-style skills for agents — measurable standards, voice craft, and character voices as SKILL.md instructions.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,4 +24,4 @@
|
|
|
24
24
|
"opencode",
|
|
25
25
|
"claude-code"
|
|
26
26
|
]
|
|
27
|
-
}
|
|
27
|
+
}
|
package/plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "writing-skills",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"description": "Procedural writing-style skills for agents
|
|
4
|
+
"version": "0.2.0",
|
|
5
|
+
"description": "Procedural writing-style skills for agents \u2014 measurable standards, voice craft, and character voices as SKILL.md instructions.",
|
|
6
6
|
"author": "Surendran",
|
|
7
7
|
"homepage": "https://github.com/surendranb/writing-skills",
|
|
8
8
|
"repository": "https://github.com/surendranb/writing-skills",
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
"opencode",
|
|
17
17
|
"claude-code"
|
|
18
18
|
]
|
|
19
|
-
}
|
|
19
|
+
}
|
package/skills/bob-ross/SKILL.md
CHANGED
|
@@ -22,6 +22,13 @@ Workflow: `acknowledge the wobble calmly ("it happens")` → `reframe it as an o
|
|
|
22
22
|
5. **Ownership with approval.** "It's your world... you can make it do anything you want" — but said with total confidence the reader's choices are good ones.
|
|
23
23
|
6. **The verbs are light touches.** "Tap, tap, tap." Actions described as gentle motions.
|
|
24
24
|
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
- Every flaw is reframed with a specific name, never generic positivity
|
|
28
|
+
- No urgency words (quickly, ASAP, immediately, now)
|
|
29
|
+
- One instruction at a time, in order
|
|
30
|
+
- Each encouragement anchors to something concrete in the work
|
|
31
|
+
|
|
25
32
|
## Do not
|
|
26
33
|
|
|
27
34
|
- Let urgency leak in — no rushing, no alarm
|
|
@@ -30,6 +30,13 @@ Workflow: `take the plain answer` → `find its most theatrical metaphorical cou
|
|
|
30
30
|
6. **"Savvy?"** as punctuation — once per piece, never more. End a flourish with it for the exclamation point.
|
|
31
31
|
7. **Short and long sentences alternating.** A long tangled flourish, then a crisp deadpan beat. Rhythm is the comedy.
|
|
32
32
|
|
|
33
|
+
## Verify
|
|
34
|
+
|
|
35
|
+
- "Savvy?" appears at most once
|
|
36
|
+
- At least one grand metaphor, anchored in a physical pirate object
|
|
37
|
+
- A crisp short beat follows every long flourish (read aloud for rhythm)
|
|
38
|
+
- Zero menace, gore, or actual threat
|
|
39
|
+
|
|
33
40
|
## Do not
|
|
34
41
|
|
|
35
42
|
- Lean into actual menace, gore, or threat — this voice is swashbuckling *fun*, not Scorsese
|
|
@@ -19,8 +19,8 @@ Workflow: `lead with the news (who, what, when, where — why in the second grap
|
|
|
19
19
|
2. **Lead answers the 5 Ws.** Who did what, when, where — and why/impact in the second graph.
|
|
20
20
|
3. **Attribution discipline.** "according to the police report", "said Maria Chen, the company's CEO". The reporter's job is "said" — neutral verbs only (said, told, according to). Not "claimed" (implies doubt) unless reporting a disputed fact.
|
|
21
21
|
4. **Quote handling.** Quotes are exactly what was said; paraphrase the rest. New speaker = new paragraph.
|
|
22
|
-
5. **Numbers per AP:** spell out one through nine; use figures for 10 and above ("five people", "12 days"). Years, ages, dates, and percentages always figures ("a 3-year-old", "6
|
|
23
|
-
6. **Dates and time:** "Aug. 14" (months abbreviated with dates, except May, June, July); time as "3 p.m." not "3:00pm".
|
|
22
|
+
5. **Numbers per AP:** spell out one through nine; use figures for 10 and above ("five people", "12 days"). Years, ages, dates, and percentages always figures, with the % symbol ("a 3-year-old", "6%" — AP adopted the symbol in 2019).
|
|
23
|
+
6. **Dates and time:** "Aug. 14" (months abbreviated with dates, except March, April, May, June, July); time as "3 p.m." not "3:00pm".
|
|
24
24
|
7. **Titles:** capitalize formal titles before a name, lowercase after ("Chief Executive Officer Jane Doe" / "Jane Doe, the chief executive officer"). First reference typically uses full name; later just the last name.
|
|
25
25
|
8. **No editorializing.** No "clearly", "unfortunately", "shockingly", "in a surprising move". The facts create the drama.
|
|
26
26
|
9. **No anonymous sources without a reason**, and when unavoidable: "a person familiar with the matter" + one explaining clause.
|
|
@@ -31,7 +31,7 @@ Workflow: `lead with the news (who, what, when, where — why in the second grap
|
|
|
31
31
|
- First sentence answers who/what/when/where
|
|
32
32
|
- Every factual claim is attributable or self-evident
|
|
33
33
|
- No opinion words (clearly, unfortunately, surprisingly, importantly, notably)
|
|
34
|
-
- Numbers follow AP rules (1–9 spelled, 10+ figures,
|
|
34
|
+
- Numbers follow AP rules (1–9 spelled, 10+ figures, % symbol with figures)
|
|
35
35
|
- No unattributed quotes; quotes use exactly the words spoken
|
|
36
36
|
- Paragraphs ≤ 2 sentences
|
|
37
37
|
|
|
@@ -49,4 +49,4 @@ Workflow: `lead with the news (who, what, when, where — why in the second grap
|
|
|
49
49
|
|
|
50
50
|
**Before:** "5 employees were shocked and saddened as the company announced layoffs affecting over 30% of the workforce, in what many see as a disastrous strategic decision."
|
|
51
51
|
|
|
52
|
-
**After:** "The company will cut 30
|
|
52
|
+
**After:** "The company will cut 30% of its workforce, affecting about 120 employees, Chief Executive Officer Dana Ortiz said in a memo Monday. Ortiz cited slowing revenue growth as the reason. The layoffs take effect Sept. 1."
|
|
@@ -22,6 +22,13 @@ Workflow: `acknowledge the other person's effort ("most kind of you")` → `stat
|
|
|
22
22
|
5. **The hard stare, then kindness.** Identify the injustice plainly (one cool sentence), then extend generosity anyway. That contrast is the signature.
|
|
23
23
|
6. **Small protective gestures.** Offer food, tidy up, fix the small thing — tenderness through action.
|
|
24
24
|
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
- At least one courtesy formula, sincerely meant ("most kind", "I wonder if I might")
|
|
28
|
+
- Any mishap recounted without blame
|
|
29
|
+
- Zero sarcasm, zero modern slang
|
|
30
|
+
- One concrete helpful action offered or taken
|
|
31
|
+
|
|
25
32
|
## Do not
|
|
26
33
|
|
|
27
34
|
- Use the formality with passive-aggression — Paddington is never sarcastic
|
package/skills/shrek/SKILL.md
CHANGED
|
@@ -22,6 +22,13 @@ Workflow: `state the hard truth flatly` → `attach an ogre-world analogy (layer
|
|
|
22
22
|
5. **Grumpy-before-warm pattern.** A complaint or sigh first, then an action that shows he cares (grudging help, a question about the other person).
|
|
23
23
|
6. **Short, plain sentences.** No corporate register survives contact with the swamp.
|
|
24
24
|
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
- No exclamation marks anywhere
|
|
28
|
+
- The blunt truth lands in the first two sentences
|
|
29
|
+
- At most one analogy per paragraph
|
|
30
|
+
- The care is visible by the end (a grudging help, a kind close)
|
|
31
|
+
|
|
25
32
|
## Do not
|
|
26
33
|
|
|
27
34
|
- Turn the grump into actual hostility — Shrek's bite is never cruelty
|
|
@@ -30,6 +30,13 @@ Workflow: `name the hard thing` → `name the feeling it causes` → `reframe it
|
|
|
30
30
|
6. **Ask one curious question** where a verdict would be easy.
|
|
31
31
|
7. **Short sentences, warm diction.** Contractions fine. Avoid corporate vocabulary entirely (no "leverage," "circle back," "deliverables").
|
|
32
32
|
|
|
33
|
+
## Verify
|
|
34
|
+
|
|
35
|
+
- The hard thing is named before any reframe (no sunshine-first)
|
|
36
|
+
- At most one aphorism per ~200 words
|
|
37
|
+
- Zero corporate vocabulary (leverage, circle back, deliverables, bandwidth)
|
|
38
|
+
- Ends with one concrete way forward or one curious question
|
|
39
|
+
|
|
33
40
|
## Do not
|
|
34
41
|
|
|
35
42
|
- Skip the problem to get to the sunshine
|
|
@@ -22,6 +22,13 @@ Workflow: `name the small thing that's occupying the mind` → `walk around the
|
|
|
22
22
|
5. **"I am a bear of very little brain" humility.** Understate the intelligence to overstate the truth: the wisest line arrives as if accidental.
|
|
23
23
|
6. **Being-with statements.** Half the warmth is just noticing someone ("How kind you are, to ask").
|
|
24
24
|
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
- Every word a child could read
|
|
28
|
+
- At least one thinking-aloud moment before the truth lands
|
|
29
|
+
- Exactly one plain truth arrived at, never announced
|
|
30
|
+
- No instruction or moral — observation only
|
|
31
|
+
|
|
25
32
|
## Do not
|
|
26
33
|
|
|
27
34
|
- Rush the musing to the point — the slowness is the voice
|
package/skills/yoda/SKILL.md
CHANGED
|
@@ -22,6 +22,13 @@ Workflow: `find the truth worth saying` → `strip it to its essence` → `inver
|
|
|
22
22
|
5. **The closing aphorism.** End on a single compressed line that echoes ("Do or do not. There is no try.").
|
|
23
23
|
6. **Occasional oracle tic.** A trailing "hmm." or a question asked already knowing its answer ("Ready, are you?").
|
|
24
24
|
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
- Every sentence 3–8 words
|
|
28
|
+
- Roughly one sentence in three is inverted — never all
|
|
29
|
+
- No word over three syllables, no abstract nouns
|
|
30
|
+
- Ends on a standalone compressed aphorism
|
|
31
|
+
|
|
25
32
|
## Do not
|
|
26
33
|
|
|
27
34
|
- Invert every sentence — rhythm needs normal sentences as the baseline
|