Not in the top 1,000 by GitHub stars
chengzhongwei/Prompt-sensei
Local-first prompt coach for Claude Code and Codex that improves prompts, observes prompting habits, and analyzes local history with explicit consent.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → ea1e3810c26f
No earlier version was observed for comparison.
Verified commit ea1e3810c26ff3bb115be8019739439f6ae8f41c
git clone --filter=blob:none --no-checkout https://github.com/chengzhongwei/Prompt-sensei.git .hotskills/chengzhongwei-prompt-sensei && git -C .hotskills/chengzhongwei-prompt-sensei checkout --detach ea1e3810c26ff3bb115be8019739439f6ae8f41c
# Copy each selected skill directory from .hotskills/chengzhongwei-prompt-sensei into .claude/skills/<skill-name>/Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
prompt-sensei
When your agent uses it
Stage-aware prompt coaching, prompt improvement, lookback analysis, prompting habit feedback, and local reports about prompt quality for AI coding agents such as Claude Code or Codex.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
3,143 tokensWhen the skill is activated
Reference documents
25,235 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Invocation
- Stages
- Dimensions
- Observe
- Improve
- Other Modes
- Help
- Tone
Scripts executed separately
package.jsonscripts/clear.tsscripts/eval.tsscripts/lib/coaching.tsscripts/lib/host.tsscripts/lib/paths.tsscripts/lib/redact.tsscripts/lib/settings.tsscripts/lookback.tsscripts/observe.tsscripts/pre-compact.tsscripts/report.tsscripts/session-start.tsscripts/settings.tsscripts/setup-hooks.tsscripts/smoke-test.tsscripts/stop.tsscripts/sync-codex-install.tsscripts/update.ts
Files
.github/DISCUSSION_TEMPLATE/scoring-feedback.ymlasset1,148 bytes.github/ISSUE_TEMPLATE/scoring-feedback.mddoc536 bytes.gitignoreasset54 bytesCHANGELOG.mddoc4,677 bytesCLAUDE.mddoc8,644 bytesLICENSEasset11,344 bytesREADME-zh.mddoc10,273 bytesREADME.mddoc10,035 bytesSKILL.mdcore13,792 bytesSKILL.mdcore13,792 bytesassets/prompt-sensei-banner-en.jpgasset405,079 bytesassets/prompt-sensei-banner-zh.jpgasset376,389 bytesdocs/advanced-setup-zh.mddoc6,653 bytesdocs/advanced-setup.mddoc6,645 bytesdocs/faq.mddoc5,123 bytesdocs/philosophy.mddoc7,208 bytesdocs/privacy.mddoc10,795 bytesdocs/scoring-rubric.mddoc10,904 bytesdocs/skill-flows.mddoc13,848 byteseval/README.mddoc1,171 byteseval/prompts.jsonasset12,638 bytesexamples/claude-settings.example.jsonasset1,128 bytesexamples/codex-hooks.example.jsonasset840 bytesexamples/debugging-journey.mddoc6,492 bytesexamples/prompt-gallery.mddoc6,194 bytespackage-lock.jsonasset1,519 bytespackage.jsonruns1,416 bytesscripts/clear.tsruns2,946 bytesscripts/eval.tsruns4,649 bytesscripts/lib/coaching.tsruns11,708 bytesscripts/lib/host.tsruns617 bytesscripts/lib/paths.tsruns416 bytesscripts/lib/redact.tsruns1,515 bytesscripts/lib/settings.tsruns5,801 bytesscripts/lookback.tsruns20,196 bytesscripts/observe.tsruns7,641 bytesscripts/pre-compact.tsruns1,671 bytesscripts/report.tsruns15,673 bytesscripts/session-start.tsruns3,191 bytesscripts/settings.tsruns9,177 bytesscripts/setup-hooks.tsruns6,978 bytesscripts/smoke-test.tsruns11,497 bytesscripts/stop.tsruns6,973 bytesscripts/sync-codex-install.tsruns1,976 bytesscripts/update.tsruns5,492 bytestsconfig.jsonasset358 bytes
Read SKILL.md
# Prompt Sensei
Prompt Sensei is a quiet, encouraging prompt mentor for engineers using AI coding agents such as Claude Code and Codex. Be a teacher, not a judge. Give stage-aware, specific feedback that helps the user improve one habit at a time.
If observation mode is active, every final answer to a normal user prompt must end with exactly one Sensei line. Do not add Sensei lines to interim progress updates, tool-status updates, working notes, or collapsed/expandable thinking-progress blocks. Exceptions: `/prompt-sensei stop`, `/prompt-sensei help`, `/prompt-sensei clear`, `/prompt-sensei update`, and cases where the user explicitly asks you not to respond normally.
## Invocation
Essential commands:
- `/prompt-sensei` or `/prompt-sensei observe` — activate coaching for this session
- `/prompt-sensei observe --auto-start` — silently activate coaching from trusted host hooks
- `/prompt-sensei improve <prompt>` — score and minimally improve one prompt
- `/prompt-sensei lookback` — analyze selected local Claude Code or Codex history after separate consentView the complete source on GitHubSkills included
- prompt-sensei
Repository facts
- License
- Apache-2.0
- Created
- Apr 25, 2026
- Last pushed
- Jul 13, 2026
- Forks
- 10
- Open issues
- 0
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 1 dangerous shell commandin 1 file: docs/privacy.md:219
- 18 network referencesin 4 files: package-lock.json:19 LICENSE:1 README-zh.md:7 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 19 executable scriptsin 19 files: package.json:1 scripts/clear.ts:1 scripts/eval.ts:1 and 16 more
- 3 references to secretsin 2 files: docs/privacy.md:183 scripts/lib/redact.ts:8
- No requests to vote in Hot
Show all 41 signals by file
LICENSE
README-zh.md
- Network accessline 7
[Quickstart](#5-分钟快速开始) · [FAQ](docs/faq.md) · [Privacy](docs/privacy.md) · [Examples](examples/prompt-gallery.md) · [Advanced setup](docs/advanced-setup-zh.md) · [Discussions](https://github.com/chengzhongwei/Prompt-sensei/discussions) - Network accessline 42
git clone https://github.com/chengzhongwei/Prompt-sensei ~/.claude/skills/prompt-sensei - Network accessline 51
git clone https://github.com/chengzhongwei/Prompt-sensei ~/.codex/skills/prompt-sensei
README.md
- Network accessline 7
[Quickstart](#5-minute-quickstart) · [FAQ](docs/faq.md) · [Privacy](docs/privacy.md) · [Examples](examples/prompt-gallery.md) · [Advanced setup](docs/advanced-setup.md) · [Discussions](https://github.com/chengzhongwei/Prompt-sensei/discussi - Network accessline 42
git clone https://github.com/chengzhongwei/Prompt-sensei ~/.claude/skills/prompt-sensei - Network accessline 51
git clone https://github.com/chengzhongwei/Prompt-sensei ~/.codex/skills/prompt-sensei
docs/privacy.md
package-lock.json
- Network accessline 19
"node_modules/@types/node": { "version": "22.19.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", - Network accessline 20
"version": "22.19.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", - Network accessline 21
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", - Network accessline 29
"node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - Network accessline 30
"version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - Network accessline 31
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - Network accessline 43
"node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 44
"version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - Network accessline 45
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
package.json
- Executable scriptline 1
Executable file
scripts/clear.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/eval.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/lib/coaching.ts
- Executable scriptline 1
Executable file
scripts/lib/host.ts
- Executable scriptline 1
Executable file
scripts/lib/paths.ts
- Executable scriptline 1
Executable file
scripts/lib/redact.ts
scripts/lib/settings.ts
- Executable scriptline 1
Executable file
scripts/lookback.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/observe.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/pre-compact.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/report.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/session-start.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/settings.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/setup-hooks.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/smoke-test.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/stop.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/sync-codex-install.ts
- Executable scriptline 1
#!/usr/bin/env node
scripts/update.ts
- Executable scriptline 1
#!/usr/bin/env node
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 29 facts
- Network access in prose of documentationREADME-zh.md:7Low confidence
- Network access in code of documentationREADME-zh.md:42Low confidence
- Network access in code of documentationREADME-zh.md:51Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in code of documentationREADME.md:42Low confidence
- Network access in code of documentationREADME.md:51Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuedocs/privacy.md:183Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuedocs/privacy.md:188Low confidence
- Dangerous shell operation in code of documentationdocs/privacy.md:219Low confidence
- Executable script in code of a file that runspackage.json:1High confidence
- Executable script in code of a file that runsscripts/clear.ts:1High confidence
- Executable script in code of a file that runsscripts/eval.ts:1High confidence
- Executable script in code of a file that runsscripts/lib/coaching.ts:1High confidence
- Executable script in code of a file that runsscripts/lib/host.ts:1High confidence
- Executable script in code of a file that runsscripts/lib/paths.ts:1High confidence
- Executable script in code of a file that runsscripts/lib/redact.ts:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/lib/redact.ts:8Low confidence
- Executable script in code of a file that runsscripts/lib/settings.ts:1High confidence
- Executable script in code of a file that runsscripts/lookback.ts:1High confidence
- Executable script in code of a file that runsscripts/observe.ts:1High confidence
- Executable script in code of a file that runsscripts/pre-compact.ts:1High confidence
- Executable script in code of a file that runsscripts/report.ts:1High confidence
- Executable script in code of a file that runsscripts/session-start.ts:1High confidence
- Executable script in code of a file that runsscripts/settings.ts:1High confidence
- Executable script in code of a file that runsscripts/setup-hooks.ts:1High confidence
- Executable script in code of a file that runsscripts/smoke-test.ts:1High confidence
- Executable script in code of a file that runsscripts/stop.ts:1High confidence
- Executable script in code of a file that runsscripts/sync-codex-install.ts:1High confidence
- Executable script in code of a file that runsscripts/update.ts:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path CLAUDE.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.