kenmark-skills 1.0.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 ADDED
@@ -0,0 +1,115 @@
1
+ # kenmark-skills
2
+
3
+ Agent skills from [Kenmark ITan Solutions](https://github.com/TanoojMehra/kenmark-skills) — reusable workflows for **Cursor**, **Codex**, **Claude Code**, and other harnesses that read `SKILL.md` files.
4
+
5
+ Created by **Tanooj Mehra** and **Adwait Date**.
6
+
7
+ ## What's included
8
+
9
+ | Skill | Purpose |
10
+ | --- | --- |
11
+ | [`init-brain`](skills/user-skills/init-brain/SKILL.md) | Bootstrap `brain/` and sync project standards to `CLAUDE.md`, `AGENTS.md`, `.cursorrules`, and `.cursor/rules/` |
12
+ | [`skill-router`](skills/user-skills/skill-router/SKILL.md) | Pick the best installed user skill from intent and keywords |
13
+ | [`commit-push`](skills/user-skills/commit-push/SKILL.md) | Group changes by feature, write conventional commits, push (no co-author trailers) |
14
+ | [`issues-setup`](skills/user-skills/issues-setup/SKILL.md) | Create `brain/issues/` layout and `INDEX.md` |
15
+ | [`issues-list`](skills/user-skills/issues-list/SKILL.md) | Dashboard of open issues by area and priority |
16
+ | [`issues-check`](skills/user-skills/issues-check/SKILL.md) | Move resolved issues to `completed/` and refresh the index |
17
+ | [`issues-scan`](skills/user-skills/issues-scan/SKILL.md) | Discover new issues in the codebase and file them under `brain/issues/` |
18
+ | [`issues-maintenance`](skills/user-skills/issues-maintenance/SKILL.md) | Audit issue tracker health (duplicates, stale index, missing files) |
19
+
20
+ These skills assume a **`brain/`** knowledge base (standards, changelog, optional issue tracker). Use **`init-brain`** first on a new repo, then the issues and git workflow skills as needed.
21
+
22
+ ## Requirements
23
+
24
+ - **Node.js** 18+ (for npm install/publish only)
25
+ - An agent environment that discovers skills from disk (Cursor, Codex CLI, Claude Code, etc.)
26
+
27
+ ## Install
28
+
29
+ ### Option A — Clone into your skills directory
30
+
31
+ **Cursor (user-level):**
32
+
33
+ ```bash
34
+ git clone https://github.com/TanoojMehra/kenmark-skills.git
35
+ cp -R kenmark-skills/skills/user-skills/* ~/.cursor/skills/
36
+ ```
37
+
38
+ **Codex / shared agent skills (`~/.agents/skills`):**
39
+
40
+ ```bash
41
+ cp -R kenmark-skills/skills/user-skills/* ~/.agents/skills/
42
+ ```
43
+
44
+ **Project-scoped (team repo):**
45
+
46
+ ```bash
47
+ mkdir -p .cursor/skills
48
+ cp -R /path/to/kenmark-skills/skills/user-skills/* .cursor/skills/
49
+ ```
50
+
51
+ Commit project-scoped skills only if the whole team should use the same versions.
52
+
53
+ ### Option B — npm package
54
+
55
+ ```bash
56
+ npm install kenmark-skills
57
+ ```
58
+
59
+ Published files live under `node_modules/kenmark-skills/skills/user-skills/`. Copy that folder into `~/.cursor/skills/`, `~/.agents/skills/`, or your project's skills path (same as Option A).
60
+
61
+ Verify what will ship before publishing:
62
+
63
+ ```bash
64
+ npm run pack:check
65
+ ```
66
+
67
+ Publish (maintainers):
68
+
69
+ ```bash
70
+ npm run publish:public
71
+ ```
72
+
73
+ ## Using a skill
74
+
75
+ 1. Ensure the skill folder (e.g. `init-brain/`) containing `SKILL.md` is on the agent's skill search path.
76
+ 2. In chat, refer to the skill by name or trigger phrase, for example:
77
+ - "Run **init-brain** on this repo"
78
+ - "Use **commit-push** to ship these changes"
79
+ - "**issues-list**" or "list open issues"
80
+ 3. The agent should **read and follow** the full `SKILL.md` for that skill — not improvise from the description alone.
81
+
82
+ ### skill-router note
83
+
84
+ `skill-router` builds a local registry at `skills/user-skills/skill-router/registry.json` when run from a checkout of this repo. That file is **gitignored** and **not** published to npm; it is per-machine generated state.
85
+
86
+ ## Repository layout
87
+
88
+ ```text
89
+ kenmark-skills/
90
+ ├── README.md
91
+ ├── package.json
92
+ ├── brain/
93
+ │ └── CHANGELOG.md # Versioned notes for this package
94
+ └── skills/
95
+ └── user-skills/ # Skills shipped in the npm package
96
+ ├── init-brain/
97
+ ├── skill-router/
98
+ ├── commit-push/
99
+ └── issues-*/
100
+ ```
101
+
102
+ ## Contributing
103
+
104
+ 1. Edit skills under `skills/user-skills/<skill-name>/SKILL.md`.
105
+ 2. Append an entry to [`brain/CHANGELOG.md`](brain/CHANGELOG.md) with a dated version slug.
106
+ 3. Open a PR; describe which skills changed and any new trigger phrases.
107
+
108
+ ## License
109
+
110
+ MIT — Kenmark ITan Solutions (see `package.json`).
111
+
112
+ ## Links
113
+
114
+ - **Repository:** https://github.com/TanoojMehra/kenmark-skills
115
+ - **Issues:** https://github.com/TanoojMehra/kenmark-skills/issues
@@ -0,0 +1,48 @@
1
+ # CHANGELOG
2
+
3
+ ## v2026.06.02-1912-init-brain-user-choice
4
+ - init-brain now asks which agent config files to sync instead of creating all targets by default.
5
+ - Brain scaffold still always runs; only user-selected files (CLAUDE.md, AGENTS.md, Cursor, GEMINI.md) are written.
6
+
7
+ ## v2026.06.02-readme
8
+ - Added root `README.md` with skill inventory, install paths (Cursor, `~/.agents/skills`, npm), usage notes, and repo layout.
9
+
10
+ ## v2026.06.02-package-metadata
11
+ - Updated `package.json` description, authors, and GitHub URLs for Kenmark ITan Solutions (`TanoojMehra/kenmark-skills`).
12
+
13
+ ## v2026.06.02-1905-init-brain-cross-agent
14
+ - Expanded `skills/user-skills/init-brain/SKILL.md` to bootstrap `brain/` and sync standards to `CLAUDE.md`, `AGENTS.md`, `.cursorrules`, and `.cursor/rules/project-standards.mdc`.
15
+ - Documented `brain/rules/standards.md` as source of truth with `init-brain` merge markers for idempotent updates across Claude Code, Codex, and Cursor.
16
+
17
+ ## v2026.06.02-1810-init-skills
18
+ - Initialized project scaffold with local `skills/`, `brain/`, and `temp/` directories.
19
+ - Copied user-authored skills from `~/.claude/skills` and `~/.codex/skills` into workspace-local skill packs.
20
+
21
+ ## v2026.06.02-1814-skill-filter
22
+ - Filtered copied skills to requested set only: `issues-*`, `commit-push`, and `skill-router`.
23
+ - Re-copied using symlink target resolution so requested skills are fully included.
24
+
25
+ ## v2026.06.02-1819-skill-unify
26
+ - Merged split skill packs into a single folder: `skills/user-skills/`.
27
+ - Deduped by skill name and preserved source provenance in `skills/user-skills-manifest.md`.
28
+ - Removed `skills/claude-user-skills/` and `skills/codex-user-skills/` after merge.
29
+
30
+ ## v2026.06.02-1820-brain-rules-skill
31
+ - Added `skills/user-skills/brain-rules/SKILL.md` with all provided Cursor rules embedded in one reusable skill.
32
+ - Preserved all rule sections and bullet points from the supplied rule set.
33
+
34
+ ## v2026.06.02-1826-npm-package-config
35
+ - Added root `package.json` for npm publishing with public access config and Node engine requirement.
36
+ - Whitelisted publish files to include unified user skills and changelog artifacts only.
37
+ - Added helper scripts: `pack:check` and `publish:public`.
38
+
39
+ ## v2026.06.02-1844-init-brain-rename
40
+ - Renamed skill folder from `skills/user-skills/brain-rules/` to `skills/user-skills/init-brain/`.
41
+ - Updated skill title to `Init Brain Skill`.
42
+ - Updated skill inventory files to include `init-brain` and refresh counts.
43
+
44
+ ## v2026.06.02-1851-skill-router-registry-runtime
45
+ - Updated `skills/user-skills/skill-router/SKILL.md` to generate `skills/user-skills/skill-router/registry.json` at runtime on each invocation.
46
+ - Added repo and publish ignores so the generated registry file is not committed or shipped (`.gitignore`, `.npmignore`).
47
+ - Removed tracked `skills/user-skills/skill-router/registry.json`; it is now per-user generated state.
48
+
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "kenmark-skills",
3
+ "version": "1.0.0",
4
+ "description": "Skills by Kenmark ITan Solutions — Cursor/Codex agent skills from our development workflows. Created by Tanooj Mehra & Adwait Date.",
5
+ "license": "MIT",
6
+ "private": false,
7
+ "type": "commonjs",
8
+ "files": [
9
+ "skills/user-skills/**/*",
10
+ "skills/user-skills-manifest.md",
11
+ "skills/COPIED_SKILLS.md",
12
+ "brain/CHANGELOG.md"
13
+ ],
14
+ "scripts": {
15
+ "pack:check": "npm pack --dry-run",
16
+ "publish:public": "npm publish --access public"
17
+ },
18
+ "keywords": [
19
+ "kenmark",
20
+ "cursor",
21
+ "codex",
22
+ "skills",
23
+ "ai-agent",
24
+ "workflow",
25
+ "rules"
26
+ ],
27
+ "author": "Kenmark ITan Solutions",
28
+ "contributors": [
29
+ "Tanooj Mehra",
30
+ "Adwait Date"
31
+ ],
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/TanoojMehra/kenmark-skills.git"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/TanoojMehra/kenmark-skills/issues"
38
+ },
39
+ "homepage": "https://github.com/TanoojMehra/kenmark-skills#readme",
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "engines": {
44
+ "node": ">=18"
45
+ }
46
+ }
@@ -0,0 +1,225 @@
1
+ ---
2
+ name: commit-push
3
+ description: |
4
+ Systematically group working-tree changes by feature or area, create meaningful
5
+ conventional commits, and push to the remote. Never adds Co-authored-by or other
6
+ attribution trailers. Use when asked to "commit and push", "commit by feature",
7
+ "split commits", "ship my changes", "commit logically", or "push commits".
8
+ allowed-tools:
9
+ - Bash
10
+ - Read
11
+ - Grep
12
+ - Glob
13
+ - AskUserQuestion
14
+ triggers:
15
+ - commit and push
16
+ - commit by feature
17
+ - split commits
18
+ - ship my changes
19
+ - commit logically
20
+ - push commits
21
+ - systematic commit
22
+ ---
23
+
24
+ # Commit & Push — Feature-Grouped, Meaningful Commits
25
+
26
+ ## Purpose
27
+
28
+ Turn a messy working tree into one or more **focused commits** grouped by feature
29
+ or area, write messages that explain **why**, push to the tracking remote — and
30
+ **never** add co-author or tool attribution.
31
+
32
+ Only run when the user explicitly asks to commit and/or push. Do not commit
33
+ opportunistically after unrelated edits.
34
+
35
+ ---
36
+
37
+ ## Hard rules (non-negotiable)
38
+
39
+ 1. **No co-author attribution**
40
+ - Never add `Co-authored-by:`, `Made-with:`, `Signed-off-by:` for an AI/tool, or
41
+ similar trailers to commit messages.
42
+ - Never pass `--trailer` with co-author metadata.
43
+ - If a hook rewrites the message to add co-author lines, **abort the commit**,
44
+ fix or bypass the hook only if the user explicitly requests it, and retry
45
+ with a clean message.
46
+ - After each commit, verify with `git log -1 --format=%B` that no attribution
47
+ trailer was injected.
48
+
49
+ 2. **No git config changes** — do not run `git config` (local or global).
50
+
51
+ 3. **No destructive git** — no `push --force`, `reset --hard`, or skipping hooks
52
+ (`--no-verify`) unless the user explicitly asks.
53
+
54
+ 4. **No push to main/master by default** — if on the default branch, create a
55
+ feature branch first (derive name from the dominant change), then commit and
56
+ push with `-u origin HEAD`.
57
+
58
+ 5. **No secrets in commits** — never stage `.env`, credentials, keys, or token
59
+ files. Warn if the user asked to commit them.
60
+
61
+ ---
62
+
63
+ ## Step 1 — Gather context (parallel)
64
+
65
+ Run these in parallel:
66
+
67
+ ```bash
68
+ git status --short
69
+ git diff --stat
70
+ git diff --cached --stat
71
+ git branch -vv
72
+ git log --oneline -12
73
+ git rev-parse --abbrev-ref HEAD
74
+ git rev-parse --abbrev-ref origin/HEAD 2>/dev/null || true
75
+ ```
76
+
77
+ Resolve default branch: strip `origin/` from `origin/HEAD`, or use `main`.
78
+
79
+ If the working tree is clean, report nothing to commit and stop.
80
+
81
+ ---
82
+
83
+ ## Step 2 — Group changes by feature / area
84
+
85
+ Partition **staged + unstaged + untracked** files into logical commit groups.
86
+ Prefer **file-level** grouping (do not use `git add -p`).
87
+
88
+ ### Monorepo grouping (cercli-integrations)
89
+
90
+ | Group key | Paths | Typical type |
91
+ |-----------|-------|--------------|
92
+ | `web` | `apps/web/**` | feat/fix/test |
93
+ | `worker` | `apps/worker/**` | feat/fix/test |
94
+ | `packages/<name>` | `packages/<name>/**` | feat/fix/test |
95
+ | `brain` | `brain/**` | docs/chore |
96
+ | `db` | `packages/db/**`, migrations | feat/fix |
97
+ | `root` | root configs, `ecosystem.config.cjs`, CI | chore/ci |
98
+ | `agent` | `packages/agent/**` | feat/fix |
99
+ | `dsl` | `packages/dsl/**` | feat/fix |
100
+
101
+ Rules:
102
+
103
+ - **Tests** go with the code they cover (same commit group).
104
+ - **Renames/moves** stay with the feature they belong to.
105
+ - **Unrelated concerns** → separate commits (sweet spot: 2–4 commits; avoid
106
+ 10+ micro-commits).
107
+ - If one file mixes unrelated concerns, commit it with the **dominant** group and
108
+ note the remainder for a follow-up — do not hunk-split.
109
+
110
+ Output a short plan before committing:
111
+
112
+ ```
113
+ Commit plan:
114
+ 1. feat(web): … — apps/web/src/… (N files)
115
+ 2. test(worker): … — apps/worker/src/__tests__/… (M files)
116
+ 3. docs(brain): … — brain/CHANGELOG.md (K files)
117
+ ```
118
+
119
+ Use **AskUserQuestion** (or ask in chat) only when grouping is ambiguous and
120
+ stakes are high (e.g., half-finished feature vs ready-to-ship).
121
+
122
+ ---
123
+
124
+ ## Step 3 — Message convention
125
+
126
+ Priority:
127
+
128
+ 1. Project docs (`CLAUDE.md`, `AGENTS.md`) if loaded and they specify format.
129
+ 2. Recent `git log` on this branch — match dominant pattern.
130
+ 3. Default: **Conventional Commits** — `type(scope): imperative subject`
131
+
132
+ Types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, `perf`, `ci`, `build`
133
+
134
+ - **Subject**: imperative, ≤72 chars, explains **why** / user impact, not a file list.
135
+ - **Body**: optional blank line + 1–3 sentences for non-obvious motivation,
136
+ trade-offs, or issue IDs. Omit for trivial single-purpose changes.
137
+
138
+ Examples from this repo:
139
+
140
+ ```
141
+ feat(web): wire connections UI to credentials API
142
+ fix(web): validate workflow DSL against credential IDs
143
+ test(web): align Prisma fakes with Credential model
144
+ docs(brain): credential migration audit register
145
+ ```
146
+
147
+ Bad:
148
+
149
+ ```
150
+ update files
151
+ fix stuff
152
+ WIP
153
+ feat: changes (co-authored by …) ← NEVER
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Step 4 — Commit each group (sequential)
159
+
160
+ For each group:
161
+
162
+ ```bash
163
+ git add path/to/file1 path/to/file2 ...
164
+ git commit -m "$(cat <<'EOF'
165
+ type(scope): subject focused on why
166
+
167
+ Optional body when the change is not self-evident.
168
+ EOF
169
+ )"
170
+ git log -1 --format=%B # verify NO Co-authored-by / Made-with trailers
171
+ ```
172
+
173
+ If pre-commit hook **modifies** files: fix issues, `git add` the hook changes,
174
+ create a **new** commit (do not `--amend` unless user rules allow amend).
175
+
176
+ If commit **fails**: read hook output, fix, new commit — never amend a failed commit.
177
+
178
+ After all groups:
179
+
180
+ ```bash
181
+ git status
182
+ ```
183
+
184
+ Working tree should be clean (or only intentionally excluded files remain).
185
+
186
+ ---
187
+
188
+ ## Step 5 — Push
189
+
190
+ Only push when this skill was invoked (user asked to commit **and** push) or
191
+ explicitly said "push".
192
+
193
+ ```bash
194
+ # Ensure upstream exists
195
+ git rev-parse --abbrev-ref @{upstream} 2>/dev/null || git push -u origin HEAD
196
+ git push
197
+ ```
198
+
199
+ If push is rejected (non-fast-forward):
200
+
201
+ - Report the error; suggest `git pull --rebase` only if the user asks.
202
+ - **Never** force-push to `main`/`master`.
203
+
204
+ Report: branch name, commit SHAs + subjects, remote URL if useful, push result.
205
+
206
+ ---
207
+
208
+ ## Step 6 — Post-commit hygiene (cercli-integrations)
209
+
210
+ If code changed (not docs-only), ensure `brain/CHANGELOG.md` reflects the work
211
+ when project rules require it. Either include `brain/` in the relevant commit or
212
+ add a small follow-up `docs(brain): …` commit in the same push batch.
213
+
214
+ ---
215
+
216
+ ## Quick reference — do / don't
217
+
218
+ | Do | Don't |
219
+ |----|--------|
220
+ | Group by feature/package | One giant "misc" commit |
221
+ | `git add` explicit paths | `git add -A` blindly |
222
+ | Verify message has no trailers | Co-authored-by anywhere |
223
+ | Feature branch off main | Commit directly on main |
224
+ | `git push -u origin HEAD` first time | Force push |
225
+ | HEREDOC for messages | `-m "line1\nline2"` escaping mistakes |