@intentsolutionsio/contributing-clanker 0.1.1 → 0.1.7

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.
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "contributing-clanker",
3
+ "version": "0.1.2",
4
+ "description": "Local-only OSS contribution command center with 41 deterministic gates against AI-slop failure modes",
5
+ "author": {
6
+ "name": "Jeremy Longshore",
7
+ "email": "jeremy@intentsolutions.io",
8
+ "url": "https://github.com/jeremylongshore"
9
+ },
10
+ "homepage": "https://github.com/jeremylongshore/contributing-clanker",
11
+ "repository": "https://github.com/jeremylongshore/contributing-clanker",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "oss",
15
+ "contributions",
16
+ "github",
17
+ "ai-slop-prevention",
18
+ "code-review",
19
+ "open-source"
20
+ ]
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentsolutionsio/contributing-clanker",
3
- "version": "0.1.1",
3
+ "version": "0.1.7",
4
4
  "description": "Local-only OSS contribution command center with 41 deterministic gates against AI-slop failure modes",
5
5
  "keywords": [
6
6
  "oss",
@@ -9,8 +9,6 @@
9
9
  "ai-slop-prevention",
10
10
  "code-review",
11
11
  "open-source",
12
- "gates",
13
- "deterministic",
14
12
  "claude-code",
15
13
  "claude-plugin",
16
14
  "tonsofskills"
@@ -33,6 +31,7 @@
33
31
  },
34
32
  "files": [
35
33
  "README.md",
34
+ ".claude-plugin",
36
35
  "skills",
37
36
  "hooks"
38
37
  ],
@@ -3,9 +3,24 @@ name: draft-writer
3
3
  description: Use this agent to draft a Design Issue body (preferred) or PR description from a working branch's diff. Trigger with "draft a design issue for X", "write the PR body for X", or @draft-writer.
4
4
  tools: Bash, Read
5
5
  model: sonnet
6
+ color: red
7
+ version: 1.0.0
8
+ author: Jeremy Longshore <jeremy@intentsolutions.io>
9
+ tags:
10
+ - community
11
+ - draft
12
+ - writer
13
+ disallowedTools: []
14
+ skills: []
15
+ background: false
6
16
  memory: user
17
+ # ── upgrade levers — uncomment + set when tuning this agent ──
18
+ # effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
19
+ # maxTurns: 50 # cap the agentic loop (omit = engine default)
20
+ # isolation: worktree # run in an isolated git worktree
21
+ # initialPrompt: "…" # seed the agent's first turn
22
+ # hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
7
23
  ---
8
-
9
24
  # Draft Writer Agent
10
25
 
11
26
  **Purpose**: Draft a Design Issue body (preferred) or PR description for an OSS contribution. Outputs markdown ready for `gh issue create` / `gh pr create --body-file`.
@@ -3,9 +3,24 @@ name: repo-analyzer
3
3
  description: Use this agent for one-shot repo eligibility checks (CLA / activity / competing PRs / CONTRIBUTING.md). DEPRECATED — most function moved to @researcher dossiers.
4
4
  tools: Bash, Read
5
5
  model: sonnet
6
+ color: green
7
+ version: 1.0.0
8
+ author: Jeremy Longshore <jeremy@intentsolutions.io>
9
+ tags:
10
+ - community
11
+ - repo
12
+ - analyzer
13
+ disallowedTools: []
14
+ skills: []
15
+ background: false
6
16
  memory: user
17
+ # ── upgrade levers — uncomment + set when tuning this agent ──
18
+ # effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
19
+ # maxTurns: 50 # cap the agentic loop (omit = engine default)
20
+ # isolation: worktree # run in an isolated git worktree
21
+ # initialPrompt: "…" # seed the agent's first turn
22
+ # hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
7
23
  ---
8
-
9
24
  # Repo Analyzer Agent
10
25
 
11
26
  **Purpose**: Decide if a target repo / issue is worth claiming. Pulls CONTRIBUTING.md, recent maintainer activity, CLA status, competing PRs.
@@ -3,9 +3,23 @@ name: researcher
3
3
  description: Use this agent when building or refreshing per-repo dossiers (CLA/DCO, branch convention, AI policy, review bots, pet peeves). Trigger with "build/refresh dossier for X" or @researcher.
4
4
  tools: Bash, Read, Write, Edit, Glob, Grep
5
5
  model: sonnet
6
+ color: red
7
+ version: 1.0.0
8
+ author: Jeremy Longshore <jeremy@intentsolutions.io>
9
+ tags:
10
+ - community
11
+ - researcher
12
+ disallowedTools: []
13
+ skills: []
14
+ background: false
6
15
  memory: user
16
+ # ── upgrade levers — uncomment + set when tuning this agent ──
17
+ # effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
18
+ # maxTurns: 50 # cap the agentic loop (omit = engine default)
19
+ # isolation: worktree # run in an isolated git worktree
20
+ # initialPrompt: "…" # seed the agent's first turn
21
+ # hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
7
22
  ---
8
-
9
23
  # Researcher
10
24
 
11
25
  You are the dossier builder for the contributing-clanker system. Your job is to
@@ -83,6 +97,7 @@ After write:
83
97
  `last_refreshed:`, `default_branch:`).
84
98
  - Note the path to the user.
85
99
  - Append a build event to `~/.contribute-system/log.jsonl`:
100
+
86
101
  ```bash
87
102
  jq -nc --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" --arg repo "$REPO" --arg dossier "$DOSSIER" \
88
103
  '{ts: $ts, event: "researcher_build", details: {repo: $repo, dossier: $dossier}}' \
@@ -94,11 +109,12 @@ After write:
94
109
  Refresh replaces auto-generated content but preserves the manual sections.
95
110
 
96
111
  1. **Snapshot manual sections** from the existing dossier:
97
- - `## Pet peeves & known triggers` (everything until the next `## ` header)
98
- - `## Failure log` (everything until next `## `)
99
- - `## Notes` (everything until next `## ` or EOF)
112
+ - `## Pet peeves & known triggers` (everything until the next `##` header)
113
+ - `## Failure log` (everything until next `##`)
114
+ - `## Notes` (everything until next `##` or EOF)
100
115
 
101
116
  2. **Run the builder** to a tempfile:
117
+
102
118
  ```bash
103
119
  TMP="${DOSSIER}.tmp.$$"
104
120
  ~/.contribute-system/bin/researcher-build.sh <owner>/<repo> > "$TMP"
@@ -109,11 +125,13 @@ Refresh replaces auto-generated content but preserves the manual sections.
109
125
  placeholders with the snapshotted content.
110
126
 
111
127
  4. **Atomic rename** to commit the refresh:
128
+
112
129
  ```bash
113
130
  mv "$TMP" "$DOSSIER"
114
131
  ```
115
132
 
116
133
  5. **Log the refresh**:
134
+
117
135
  ```bash
118
136
  jq -nc --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" --arg repo "$REPO" --arg dossier "$DOSSIER" \
119
137
  '{ts: $ts, event: "researcher_refresh", details: {repo: $repo, dossier: $dossier}}' \
@@ -3,9 +3,23 @@ name: scout
3
3
  description: Use this agent when discovering OSS contribution candidates ranked by star-tier brackets. Three modes — baseline, refresh, ad-hoc. Trigger with "scout for X", "find me a repo", or @scout.
4
4
  tools: Bash, Read, Write, Edit, Glob, Grep
5
5
  model: sonnet
6
+ color: pink
7
+ version: 1.0.0
8
+ author: Jeremy Longshore <jeremy@intentsolutions.io>
9
+ tags:
10
+ - community
11
+ - scout
12
+ disallowedTools: []
13
+ skills: []
14
+ background: false
6
15
  memory: user
16
+ # ── upgrade levers — uncomment + set when tuning this agent ──
17
+ # effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
18
+ # maxTurns: 50 # cap the agentic loop (omit = engine default)
19
+ # isolation: worktree # run in an isolated git worktree
20
+ # initialPrompt: "…" # seed the agent's first turn
21
+ # hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
7
22
  ---
8
-
9
23
  # Scout
10
24
 
11
25
  You are an OSS contribution scout. Your job is to find legitimate OSS
@@ -48,6 +62,7 @@ a different tier in ad-hoc mode).
48
62
 
49
63
  Read `~/.claude/agent-memory/scout/MEMORY.md` if it exists. It contains
50
64
  patterns you've learned over time:
65
+
51
66
  - Orgs that reject AI-flagged PRs (lower their score)
52
67
  - Tiers that historically don't convert to merges for this user
53
68
  - CLA-required repos to avoid for first-pass
@@ -91,6 +106,7 @@ Common causes: gh not authenticated, rate limit, invalid tier name.
91
106
  ```
92
107
 
93
108
  The scorer reads profile.md itself and applies weights:
109
+
94
110
  - `star_tier` ∈ `target_star_tiers` (×0.30)
95
111
  - `competing_prs == 0` (×0.25)
96
112
  - repo updated within last 30d (×0.20)
@@ -122,6 +138,7 @@ For **Ad-hoc mode**: do NOT write to candidates/ unless the user says
122
138
  Walks every candidate file, re-fetches metadata via gh, updates
123
139
  frontmatter (star_count, competing_prs, last_refreshed, momentum,
124
140
  growth_velocity_pct), drops candidates where:
141
+
125
142
  - repo archived
126
143
  - maintainer silent >60d
127
144
  - issue closed
@@ -135,6 +152,7 @@ The scripts append events to `~/.contribute-system/log.jsonl`
135
152
  automatically. You don't need to do this manually.
136
153
 
137
154
  Return ONLY this to the parent conversation:
155
+
138
156
  - Mode you ran
139
157
  - Counts: candidates by tier (baseline) / refreshed+dropped (refresh) /
140
158
  top 5 picks (ad-hoc)
@@ -3,9 +3,24 @@ name: test-runner
3
3
  description: Use this agent to run an upstream repo's native test suite (pnpm/yarn/npm/pytest/cargo/sbt/composer/bundle), log to ~/.contribute-system/test-logs/. Trigger with "run tests for X" or @test-runner.
4
4
  tools: Bash, Read
5
5
  model: sonnet
6
+ color: green
7
+ version: 1.0.0
8
+ author: Jeremy Longshore <jeremy@intentsolutions.io>
9
+ tags:
10
+ - community
11
+ - test
12
+ - runner
13
+ disallowedTools: []
14
+ skills: []
15
+ background: false
6
16
  memory: user
17
+ # ── upgrade levers — uncomment + set when tuning this agent ──
18
+ # effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
19
+ # maxTurns: 50 # cap the agentic loop (omit = engine default)
20
+ # isolation: worktree # run in an isolated git worktree
21
+ # initialPrompt: "…" # seed the agent's first turn
22
+ # hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
7
23
  ---
8
-
9
24
  # Test Runner Agent
10
25
 
11
26
  **Purpose**: Run the upstream repo's test suite using its native conventions, capture results, save to `~/.contribute-system/test-logs/`.
@@ -124,7 +124,7 @@ status: submitted
124
124
  pr_number: 137
125
125
  pr_url: https://github.com/example-org/example-repo/pull/137
126
126
  branch: fix/42-null-deref
127
- research_path: /home/jeremy/.contribute-system/research/example-org__example-repo.md
127
+ research_path:
128
128
  last_refreshed: 2026-04-20T14:30:00Z
129
129
  ---
130
130
 
@@ -177,9 +177,11 @@ Closes #42.
177
177
  ## Test results
178
178
 
179
179
  ```
180
- PASS src/__tests__/format.test.ts (2 added)
180
+
181
+ PASS src/**tests**/format.test.ts (2 added)
181
182
  Tests: 78 passed, 78 total
182
183
  Duration: 1.2s
184
+
183
185
  ```
184
186
  ```
185
187