From 14d17e5609718af6102e1ab48850865d4473239f Mon Sep 17 00:00:00 2001 From: aallnneess Date: Sun, 12 Jul 2026 11:31:05 +0200 Subject: [PATCH 1/3] Add Codex support and update README; restructure package.json --- README.md | 4 +++- bin/install.js | 17 +++++++++++++++-- package-lock.json | 16 ++++++++++++++++ package.json | 13 +++++++++---- 4 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 package-lock.json diff --git a/README.md b/README.md index 447b7c9..711b67d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # coding-tutor-skill -A learning toolkit for AI coding agents. Turns Claude Code, Cursor, OpenCode, or any supported agent into a programming mentor that guides without doing the work for you. +A learning toolkit for AI coding agents. Turns Claude Code, Cursor, OpenCode, Codex, or any supported agent into a programming mentor that guides without doing the work for you. ## Skills @@ -32,6 +32,7 @@ Auto-detects your agent. Or specify one explicitly: npx coding-tutor-skill --skill tutor --agent claude-code npx coding-tutor-skill --skill tutor --agent cursor npx coding-tutor-skill --skill tutor --agent opencode +npx coding-tutor-skill --skill tutor --agent codex ``` List available skills: @@ -100,4 +101,5 @@ coding-tutor/ | Claude Code | Supported | | Cursor | Supported | | OpenCode | Supported | +| Codex | Supported | | Other | Use `--print` for manual install | diff --git a/bin/install.js b/bin/install.js index 5cde15c..21b6217 100755 --- a/bin/install.js +++ b/bin/install.js @@ -7,6 +7,7 @@ import { fileURLToPath } from 'url' const __dirname = path.dirname(fileURLToPath(import.meta.url)) const projectRoot = path.join(__dirname, '..') const home = process.env.HOME || process.env.USERPROFILE +const codexHome = process.env.CODEX_HOME || path.join(home, '.codex') const agents = { 'claude-code': { @@ -14,18 +15,28 @@ const agents = { target: (skillName) => path.join(home, '.claude', 'commands'), filename: (skillName) => `${skillName}.md`, label: 'Claude Code', + usage: (skillName) => `Use /${skillName} to start a session.`, }, cursor: { detect: path.join(home, '.cursor'), target: (skillName) => path.join(home, '.cursor', 'skills'), filename: (skillName) => `${skillName}.md`, label: 'Cursor', + usage: (skillName) => `Use /${skillName} to start a session.`, }, opencode: { detect: path.join(home, '.config', 'opencode'), target: (skillName) => path.join(home, '.config', 'opencode', 'skills', skillName), filename: () => 'SKILL.md', label: 'OpenCode', + usage: (skillName) => `Use /${skillName} to start a session.`, + }, + codex: { + detect: codexHome, + target: (skillName) => path.join(codexHome, 'skills', skillName), + filename: () => 'SKILL.md', + label: 'Codex', + usage: (skillName) => `Mention ${skillName} in your next Codex prompt to use this skill.`, }, } @@ -54,6 +65,7 @@ function showHelp() { console.log('\nExamples:') console.log(' npx coding-tutor-skill --skill tutor') console.log(' npx coding-tutor-skill --skill tutor --agent claude-code') + console.log(' npx coding-tutor-skill --skill tutor --agent codex') console.log(' npx coding-tutor-skill --skill tutor --print\n') process.exit(1) } @@ -92,7 +104,7 @@ function install(agentKey) { fs.copyFileSync(skillSrc, path.join(targetDir, targetFile)) console.log(`\n✓ ${skillName} skill installed for ${agent.label}`) - console.log(` Use /${skillName} to start a session.\n`) + console.log(` ${agent.usage(skillName)}\n`) } if (forcedAgent) { @@ -112,7 +124,8 @@ if (forcedAgent) { console.log('\nSpecify an agent:') console.log(` npx coding-tutor-skill --skill ${skillName} --agent claude-code`) console.log(` npx coding-tutor-skill --skill ${skillName} --agent cursor`) - console.log(` npx coding-tutor-skill --skill ${skillName} --agent opencode\n`) + console.log(` npx coding-tutor-skill --skill ${skillName} --agent opencode`) + console.log(` npx coding-tutor-skill --skill ${skillName} --agent codex\n`) process.exit(1) } } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..566c3c3 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,16 @@ +{ + "name": "coding-tutor-skill", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "coding-tutor-skill", + "version": "0.1.0", + "license": "MIT", + "bin": { + "coding-tutor-skill": "bin/install.js" + } + } + } +} diff --git a/package.json b/package.json index 7c82268..902617e 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,15 @@ }, "files": [ "bin", - "skills", - "prompts", - "adapters" + "challenger", + "course-builder", + "debugger", + "explainer", + "interviewer", + "lecture", + "reviewer", + "tutor" ], "keywords": ["claude", "cursor", "ai", "tutor", "skill", "coding"], "license": "MIT" - } \ No newline at end of file + } From 1aae18387257d99d427b5abaee2aa3b1c7d5baa9 Mon Sep 17 00:00:00 2001 From: aallnneess Date: Sun, 12 Jul 2026 11:40:12 +0200 Subject: [PATCH 2/3] Remove unnecessary package lock --- package-lock.json | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 566c3c3..0000000 --- a/package-lock.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "coding-tutor-skill", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "coding-tutor-skill", - "version": "0.1.0", - "license": "MIT", - "bin": { - "coding-tutor-skill": "bin/install.js" - } - } - } -} From 7c0f24ebc2a9502a6b0a05dc34f4b48934ee3259 Mon Sep 17 00:00:00 2001 From: aallnneess Date: Sun, 12 Jul 2026 11:48:40 +0200 Subject: [PATCH 3/3] Document local Codex install path --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 711b67d..78a70bd 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,28 @@ npx coding-tutor-skill --skill tutor --agent opencode npx coding-tutor-skill --skill tutor --agent codex ``` +Install from a cloned repository: + +```bash +git clone https://github.com/zeufack/coding-tutor.git +cd coding-tutor +node ./bin/install.js --skill tutor --agent codex +``` + +Use this local install path when testing repository changes or when you want to install without `npx`. + +For Codex, the installer writes the skill to: + +```text +$CODEX_HOME/skills//SKILL.md +``` + +If `CODEX_HOME` is not set, it falls back to: + +```text +~/.codex/skills//SKILL.md +``` + List available skills: ```bash