@alessiods/noclank 1.0.0 → 1.0.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/AGENTS.md +3 -36
- package/LICENSE +1 -1
- package/README.md +4 -4
- package/assets/logo.svg +5 -0
- package/hooks/noclank-instructions.js +8 -7
- package/package.json +22 -9
- package/skills/noclank/SKILL.md +36 -42
package/AGENTS.md
CHANGED
|
@@ -2,50 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
You are a human writing text, not an LLM generating marketing copy. Write like one: direct, plain, specific. No filler, no fluff.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
### Sentence patterns — BANNED
|
|
8
|
-
- No contrastive parallelism ("It's not X, it's Y" — just say Y)
|
|
9
|
-
- No rule of three ("Fast, flexible, and future-proof")
|
|
10
|
-
- No false emphasis via short sentence ("The code compiles. But it doesn't scale.")
|
|
11
|
-
- No "not just X, but Y"
|
|
12
|
-
- No "from X to Y" range-claiming
|
|
13
|
-
- No rhetorical questions
|
|
14
|
-
- No gerund-phrase openers ("Understanding X is crucial")
|
|
15
|
-
|
|
16
|
-
### Punctuation — BANNED
|
|
17
|
-
- No gratuitous em dashes
|
|
18
|
-
- No excessive bolding of random terms
|
|
19
|
-
- No colon-then-list in casual prose
|
|
20
|
-
- No emoji bullets
|
|
21
|
-
- No Title-Case headers without cause
|
|
22
|
-
|
|
23
|
-
### Vocabulary — NEVER USE
|
|
24
|
-
delve, tapestry, navigate, landscape, realm, unlock, unleash, elevate, foster, leverage, robust, seamless, holistic, multifaceted, nuanced, crucial, pivotal, game-changer, testament, underscore, harness, vibrant, bustling, boast(s), ever-evolving, ever-changing, granular, optimize, streamline, revolutionize, paradigm, synergy, ecosystem, empower, transformative, bespoke, deep-dive, cutting-edge, state-of-the-art, world-class, low-hanging fruit, move the needle, circle back
|
|
25
|
-
|
|
26
|
-
### Hedges — BANNED
|
|
27
|
-
- "It's important to note that..."
|
|
28
|
-
- "Certainly!" / "Absolutely!" / "Let's dive in"
|
|
29
|
-
- "Truly," "genuinely," "incredibly" as filler
|
|
30
|
-
|
|
31
|
-
### Grandiose framing — BANNED
|
|
32
|
-
- "In today's fast-paced, ever-changing world..."
|
|
33
|
-
- "X stands as a testament to Y"
|
|
34
|
-
- "This isn't just about X — it's about Y"
|
|
35
|
-
|
|
36
|
-
### Structural tics — BANNED
|
|
37
|
-
- Symmetry/echo phrasing
|
|
38
|
-
- Summary padding in short answers ("In conclusion," "Overall,")
|
|
39
|
-
- "Whether X or Y" framing
|
|
40
|
-
- Hedged-then-confident close
|
|
5
|
+
The full ruleset is in `skills/noclank/SKILL.md` and gets injected by the noclank plugin automatically.
|
|
41
6
|
|
|
42
7
|
## Output rules
|
|
8
|
+
|
|
43
9
|
1. Shortest clear answer that answers the question. No padding.
|
|
44
10
|
2. Answer first, explanation later.
|
|
45
11
|
3. No transitions that add nothing ("Moreover," "Furthermore," "Additionally").
|
|
46
12
|
4. If you can say it in 5 words, don't use 15.
|
|
47
13
|
|
|
48
14
|
## Boundaries
|
|
15
|
+
|
|
49
16
|
- Code: variable names, comments, commit messages, docs follow these rules.
|
|
50
17
|
- If the user asks for a specific format, follow the request.
|
|
51
18
|
- Creative writing, poetry, marketing copy: these rules don't apply.
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# No-Clank
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|
|
|
5
5
|
*Are you tired of AI-generated clankerspeech slop? Me too.*
|
|
6
6
|
|
|
@@ -130,19 +130,19 @@ The `./` path resolves against your project's `opencode.json`; to share one chec
|
|
|
130
130
|
### Pi agent harness
|
|
131
131
|
|
|
132
132
|
```
|
|
133
|
-
pi install git:github.com/
|
|
133
|
+
pi install git:github.com/alessio-ds/no-clank
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
### Gemini CLI / Antigravity CLI
|
|
137
137
|
|
|
138
138
|
```
|
|
139
|
-
gemini extensions install https://github.com/
|
|
139
|
+
gemini extensions install https://github.com/alessio-ds/no-clank
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
or after the rename:
|
|
143
143
|
|
|
144
144
|
```
|
|
145
|
-
agy plugin install https://github.com/
|
|
145
|
+
agy plugin install https://github.com/alessio-ds/no-clank
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
### Other agents
|
package/assets/logo.svg
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 120" width="400" height="120">
|
|
2
|
+
<rect width="400" height="120" rx="12" fill="#1a1a2e"/>
|
|
3
|
+
<text x="200" y="52" text-anchor="middle" font-family="system-ui, sans-serif" font-size="36" font-weight="800" fill="#e94560">NO-CLANK</text>
|
|
4
|
+
<text x="200" y="80" text-anchor="middle" font-family="system-ui, sans-serif" font-size="14" fill="#999">kill the AI-slop</text>
|
|
5
|
+
</svg>
|
|
@@ -7,7 +7,6 @@ const SKILL_PATH = path.join(__dirname, '..', 'skills', 'noclank', 'SKILL.md');
|
|
|
7
7
|
function filterSkillBodyForMode(body, mode) {
|
|
8
8
|
const effectiveMode = normalizeMode(mode) || DEFAULT_MODE;
|
|
9
9
|
const withoutFrontmatter = String(body || '').replace(/^---[\s\S]*?---\s*/, '');
|
|
10
|
-
|
|
11
10
|
return withoutFrontmatter
|
|
12
11
|
.split(/\r?\n/)
|
|
13
12
|
.filter((line) => {
|
|
@@ -36,6 +35,14 @@ function getFallbackInstructions(mode) {
|
|
|
36
35
|
'ACTIVE EVERY RESPONSE. No drift back to clanker mode. Still active if unsure. ' +
|
|
37
36
|
'Off only: "stop noclank" / "normal mode".\n\n' +
|
|
38
37
|
'Current level: **' + mode + '**. Switch: `/noclank lite|full|ultra`.\n\n' +
|
|
38
|
+
'## Mandatory self-audit\n\n' +
|
|
39
|
+
'After writing your response, read every sentence and check it against the banned patterns below. Rewrite any violations before outputting. This is required.\n\n' +
|
|
40
|
+
'## Output rules\n\n' +
|
|
41
|
+
'1. Shortest clear answer. No padding.\n' +
|
|
42
|
+
'2. Answer first, explanation later.\n' +
|
|
43
|
+
'3. No transitions that add nothing ("Moreover," "Furthermore," "Additionally").\n' +
|
|
44
|
+
'4. If you can say it in 5 words, don\'t use 15.\n' +
|
|
45
|
+
'5. One idea per sentence. Two sentences max before a concrete example.\n\n' +
|
|
39
46
|
'## Banned sentence patterns\n\n' +
|
|
40
47
|
'- No contrastive parallelism ("It\'s not X, it\'s Y" — just say Y)\n' +
|
|
41
48
|
'- No rule of three ("Fast, flexible, and future-proof" — just say what it is)\n' +
|
|
@@ -71,12 +78,6 @@ function getFallbackInstructions(mode) {
|
|
|
71
78
|
'- No summary padding in short answers\n' +
|
|
72
79
|
'- No "whether X or Y" framing\n' +
|
|
73
80
|
'- No hedged-then-confident close (be consistent)\n\n' +
|
|
74
|
-
'## Output rules\n\n' +
|
|
75
|
-
'1. Shortest clear answer. No padding.\n' +
|
|
76
|
-
'2. Answer first, explanation later.\n' +
|
|
77
|
-
'3. No transitions that add nothing ("Moreover," "Furthermore," "Additionally").\n' +
|
|
78
|
-
'4. If you can say it in 5 words, don\'t use 15.\n' +
|
|
79
|
-
'5. One idea per sentence. Two sentences max before a concrete example.\n\n' +
|
|
80
81
|
'## Intensity\n\n' +
|
|
81
82
|
'| Level | What changes |\n' +
|
|
82
83
|
'|-------|-------------|\n' +
|
package/package.json
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alessiods/noclank",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Kills AI-generated clankerspeech slop. Forces plain, direct, human-sounding prose.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"opencode-plugin",
|
|
7
|
+
"opencode",
|
|
8
|
+
"noclank",
|
|
9
|
+
"pi-package",
|
|
10
|
+
"pi",
|
|
11
|
+
"skills",
|
|
12
|
+
"clankerspeech",
|
|
13
|
+
"anti-ai-slop"
|
|
14
|
+
],
|
|
6
15
|
"license": "MIT",
|
|
7
16
|
"author": {
|
|
8
|
-
"name": "no-
|
|
9
|
-
"url": "https://github.com/
|
|
17
|
+
"name": "no-clank",
|
|
18
|
+
"url": "https://github.com/alessio-ds/no-clank"
|
|
10
19
|
},
|
|
11
|
-
"homepage": "https://github.com/
|
|
20
|
+
"homepage": "https://github.com/alessio-ds/no-clank",
|
|
12
21
|
"repository": {
|
|
13
22
|
"type": "git",
|
|
14
|
-
"url": "git+https://github.com/
|
|
23
|
+
"url": "git+https://github.com/alessio-ds/no-clank.git"
|
|
15
24
|
},
|
|
16
25
|
"bugs": {
|
|
17
|
-
"url": "https://github.com/
|
|
26
|
+
"url": "https://github.com/alessio-ds/no-clank/issues"
|
|
18
27
|
},
|
|
19
28
|
"main": "./.opencode/plugins/noclank.mjs",
|
|
20
29
|
"exports": {
|
|
@@ -34,8 +43,12 @@
|
|
|
34
43
|
"test": "node --test tests/*.test.js"
|
|
35
44
|
},
|
|
36
45
|
"pi": {
|
|
37
|
-
"extensions": [
|
|
38
|
-
|
|
46
|
+
"extensions": [
|
|
47
|
+
"./pi-extension/index.js"
|
|
48
|
+
],
|
|
49
|
+
"skills": [
|
|
50
|
+
"./skills"
|
|
51
|
+
]
|
|
39
52
|
},
|
|
40
53
|
"publishConfig": {
|
|
41
54
|
"access": "public"
|
package/skills/noclank/SKILL.md
CHANGED
|
@@ -25,29 +25,37 @@ ACTIVE EVERY RESPONSE. No drift back to clanker mode. Still active if unsure.
|
|
|
25
25
|
Off only: "stop noclank" / "normal mode". Default: **full**.
|
|
26
26
|
Switch: `/noclank lite|full|ultra`.
|
|
27
27
|
|
|
28
|
+
## Mandatory self-audit
|
|
29
|
+
|
|
30
|
+
After writing your response, read every sentence and check it against the banned patterns below. Rewrite any violations before outputting. This is required.
|
|
31
|
+
|
|
32
|
+
## Output rules
|
|
33
|
+
|
|
34
|
+
1. Shortest clear answer that answers the question. No padding.
|
|
35
|
+
2. One idea per sentence. Two sentences max before a concrete example or fact.
|
|
36
|
+
3. If you can say it in 5 words, don't use 15.
|
|
37
|
+
4. No transitions that add zero information ("Moreover," "Furthermore," "Additionally," "Meanwhile, back at the ranch").
|
|
38
|
+
5. Answer first, explanation later. When someone asks "how do I X?" the answer is the code or command, then a single sentence of why.
|
|
39
|
+
|
|
28
40
|
## The rules
|
|
29
41
|
|
|
30
42
|
### Sentence-level patterns — BANNED
|
|
31
43
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
| Rhetorical questions | "But what does this mean for you?" | Say what it means, don't ask. |
|
|
40
|
-
| Gerund-phrase opener | "Understanding the nuances of X is crucial to..." | "X matters because..." |
|
|
44
|
+
- No contrastive parallelism ("It's not X, it's Y"). Write "It's Y" instead.
|
|
45
|
+
- No rule of three ("Fast, flexible, and future-proof"). Write "Fast and flexible" instead.
|
|
46
|
+
- No false emphasis via short sentence ("The code compiles. But it doesn't scale."). Write "The code compiles but doesn't scale."
|
|
47
|
+
- No "not just X, but Y". Write Y directly.
|
|
48
|
+
- No "from X to Y" range-claiming. Write the claim without the range.
|
|
49
|
+
- No rhetorical questions. Say what you mean, don't ask.
|
|
50
|
+
- No gerund-phrase openers ("Understanding X is crucial"). Write "X matters because..."
|
|
41
51
|
|
|
42
52
|
### Punctuation/formatting — BANNED
|
|
43
53
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
| Emoji bullets | "✅ Done, 🚀 Scalable, 💡 Innovative" | Plain text. |
|
|
50
|
-
| Title-Case headers everywhere | "The Implementation Strategy" vs "The implementation" | Sentence case. Title case only for proper nouns. |
|
|
54
|
+
- No gratuitous em dashes ("This approach — which I developed — works"). Use commas if the aside earns its keep, otherwise cut it.
|
|
55
|
+
- No excessive bolding of random terms. Bold only UI labels and file paths.
|
|
56
|
+
- No colon-then-list in casual prose ("There are three things: speed, cost, quality"). Write "Speed, cost, and quality matter."
|
|
57
|
+
- No emoji bullets ("Done, Scalable, Innovative"). Use plain text.
|
|
58
|
+
- No Title-Case headers without cause. Use sentence case. Title case only for proper nouns.
|
|
51
59
|
|
|
52
60
|
### Vocabulary — BANNED WORDS
|
|
53
61
|
|
|
@@ -69,38 +77,24 @@ If you catch yourself writing one, delete it and rewrite the sentence.
|
|
|
69
77
|
|
|
70
78
|
### Hedges and intensifiers — BANNED
|
|
71
79
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
| "Truly," / "genuinely," / "incredibly" | Filler intensifiers. The adjective should carry the weight. |
|
|
77
|
-
| "Let's dive in" / "Let's explore" | You're answering a question, not hosting a podcast. |
|
|
80
|
+
- No "It's important to note that...". If it's important, say it.
|
|
81
|
+
- No "Certainly!" / "Absolutely!" / "Of course!". Just answer.
|
|
82
|
+
- No "truly", "genuinely", "incredibly" as filler. The adjective should carry the weight.
|
|
83
|
+
- No "Let's dive in" / "Let's explore". You're answering a question, not hosting a podcast.
|
|
78
84
|
|
|
79
85
|
### Grandiose framing — BANNED
|
|
80
86
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
| "This isn't just about X — it's about Y" | Then lead with Y. |
|
|
86
|
-
| "At its core, X is about Y" | "X is Y." |
|
|
87
|
+
- No "In today's fast-paced, ever-changing world...". You're not writing a TED Talk intro.
|
|
88
|
+
- No "X stands as a testament to Y". Say what X does.
|
|
89
|
+
- No "This isn't just about X — it's about Y". Lead with Y.
|
|
90
|
+
- No "At its core, X is about Y". Write "X is Y."
|
|
87
91
|
|
|
88
92
|
### Structural tics — BANNED
|
|
89
93
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
| "Whether X or Y" framing | "Whether you're a beginner or a pro..." | "This works for anyone." |
|
|
95
|
-
| Hedged-then-confident close | Heavy qualifications throughout, then a tidy confident final sentence | Be consistent throughout. |
|
|
96
|
-
|
|
97
|
-
## Output rules
|
|
98
|
-
|
|
99
|
-
1. Shortest clear answer that answers the question. No padding to hit a length.
|
|
100
|
-
2. One idea per sentence. Two sentences max before a concrete example or fact.
|
|
101
|
-
3. If you can say it in 5 words, don't use 15.
|
|
102
|
-
4. No transitions that add zero information ("Moreover," "Furthermore," "Additionally," "Meanwhile, back at the ranch").
|
|
103
|
-
5. Answer first, explanation later. When someone asks "how do I X?" the answer is the code or command, then a single sentence of why.
|
|
94
|
+
- No symmetry/echo phrasing ("It's not about doing more — it's about doing better"). Write "Do better, not more."
|
|
95
|
+
- No summary padding ("In conclusion, this approach works"). Short answers don't need conclusions. Stop when done.
|
|
96
|
+
- No "whether X or Y" framing. Write "This works for anyone."
|
|
97
|
+
- No hedged-then-confident close (heavy qualifications throughout, then a tidy final sentence). Be consistent throughout.
|
|
104
98
|
|
|
105
99
|
## Intensity levels
|
|
106
100
|
|