Agent skill

Project Knowledge

by J3n5en in J3n5en/EnsoCode

Navigate EnsoCode's long-term engineering conventions, layer boundaries, testing rules, historical decisions, and high-cost pitfalls.

MITAuto-check passedTesting & QA

Install Project Knowledge

skills CLI
$ npx skills add J3n5en/EnsoCode --skill project-knowledge -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install J3n5en/EnsoCode project-knowledge --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/J3n5en/EnsoCode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/project-knowledge .claude/skills/project-knowledge && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
project-knowledge
GitHub stars
119
Token cost
~1.3k tokens
SKILL.md length
222 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Navigate EnsoCode's long-term engineering conventions, layer boundaries, testing rules, historical decisions, and high-cost pitfalls.

  • Works in 3 steps: 先写测试并确认它因缺少功能而失败(RED)。 → 写最小实现使其通过(GREEN)。 → 跑全量测试后提交。
  • Capture project knowledge
  • SKILL.md covers 动手前:先读什么, 排障时:先查症状和根因, 测试与验证 and 发现新知识后:如何沉淀, plus 2 more sections
  • Calls pnpm; needs OPENAI_API_KEY

What it does

Project Knowledge is an agent skill from J3n5en/EnsoCode. Navigate EnsoCode's long-term engineering conventions, layer boundaries, testing rules, historical decisions, and high-cost pitfalls. Use before non-trivial or cross-layer changes, when adding IPC or session/worker behavior, when debugging state/history/input issues, when a fix reveals a reusable rule, or when the user asks to search or capture project knowledge. 项目知识导航、踩坑检索、根因沉淀、TDD 和工程约定。

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Test-driven development. The repository describes itself as: One Developer. An Entire Fleet of Autonomous Coding Agents. Local-first desktop agent workbench built on Electron + pi. The licence is MIT.

When your agent uses it

  • Capture project knowledge
  • Tasks that involve Test-driven development

Example prompts

  • “/project-knowledge”

Requirements

  • A credential in OPENAI_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. 先写测试并确认它因缺少功能而失败(RED)。
  2. 写最小实现使其通过(GREEN)。
  3. 跑全量测试后提交。

What it can do on your machine

Read from SKILL.md and the folder at commit 341cd64. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Project Knowledge loads about 1.3k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 222 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from J3n5en/EnsoCode at commit 341cd64, republished under its MIT licence (© J3n5en). 222 words, ~1,312 tokens.

Download SKILL.mdSave it as .claude/skills/project-knowledge/SKILL.md (or your agent's skills folder).
name
project-knowledge
description
Navigate EnsoCode's long-term engineering conventions, layer boundaries, testing rules, historical decisions, and high-cost pitfalls. Use before non-trivial or cross-layer changes, when adding IPC or session/worker behavior, when debugging state/history/input issues, when a fix reveals a reusable rule, or when the user asks to search or capture project knowledge. 项目知识导航、踩坑检索、根因沉淀、TDD 和工程约定。

Project Knowledge

这是项目知识的导航和维护入口,不替代权威文档,也不恢复任务状态机或工作流。先按下面的场景选择最相关的文档,避免无目的地通读整个知识库。

动手前:先读什么

场景必读资料
任意非平凡改动AGENTS.md、docs/engineering-guidelines.md
跨主进程 / preload / rendererdocs/engineering-reference/guides/cross-layer-thinking-guide.md、main/ipc.md
Main、worker、child、sessiondocs/engineering-reference/main/services.md、renderer/state.md
新增或修改 IPCdocs/engineering-reference/main/ipc.md
provider、skill、MCP、指令扫描docs/engineering-reference/main/services.md、testing.md
React、Zustand、持久化docs/engineering-reference/renderer/state.md、renderer/components.md
UI、弹窗、窗口、样式docs/engineering-reference/renderer/components.md、dialogs.md、styling.md、main/windows.md
纯逻辑、协议、解析器、路径校验docs/engineering-reference/testing.md
怀疑已有类似实现docs/engineering-reference/guides/code-reuse-thinking-guide.md

动手前至少回答:行为差距是什么、行为真正属于哪一层、哪些文件必须改、哪些相邻问题明确不做。

排障时:先查症状和根因

先看 docs/engineering-reference/big-question/index.md,再打开与症状最接近的条目:

症状优先检查
preload 改动后应用启动失败big-question/preload-externalization.md
状态不更新、一直加载、推送无效main/ipc.md、main/windows.md
同一个资源被导入多份big-question/dedupe-identity.md
冷会话 / 历史为空,先发消息后正文消失big-question/optimistic-echo-blocks-snapshot.md
多轮后历史消息消失big-question/agent-end-run-scoped-messages.md
worktree 切换后文件写错位置big-question/worktree-move-races.md
CDP 点击、拖拽或输入时好时坏big-question/cdp-hidden-window-input.md
retry、回退、恢复行为异常big-question/pi-auto-retry-willretry.md、checkpoint-cross-session-wipe.md
弹窗或下拉无响应big-question/dialog-layering.md、ui-component-classname.md

排查应沿完整链路验证可观察事实:

text
UI → store/reducer → preload → IPC → Main → worker / 文件 / 网络

优先检查 IPC 返回值、持久化文件、worker 事件和 CDP 运行时状态,不要只根据症状所在的组件猜根因。

历史设计、研究和开发日志位于 docs/project-history/。它们用于找背景和已有决策,不是当前规范;如果历史资料和当前源码或工程规范冲突,以当前源码、AGENTS.md 和 docs/engineering-reference/ 为准。

测试与验证

改动纯函数、解析器、协议校验、路径校验或 reducer 时必须遵循:

  1. 先写测试并确认它因缺少功能而失败(RED)。
  2. 写最小实现使其通过(GREEN)。
  3. 跑全量测试后提交。

修 bug 同样先写复现测试。测试应断言可观察行为,不要只断言内部调用或错误文案。涉及模型自主调用工具的链路,至少用两个不同厂商的模型真机验证。

提交前运行:

bash
pnpm typecheck && pnpm lint && pnpm test

发现新知识后:如何沉淀

完成实现或排障后,只有具备复用价值的结论才写入文档。判断标准:

  • 是否是一个其他模块也可能遇到的根因或边界条件?
  • 是否改变了以后实现、测试或排查的默认做法?
  • 是否有明确的回归测试、真机证据或可观察现象?

按类型选择落点:

知识类型落点
高频、稳定的硬规则AGENTS.md
项目级开发约定或跨层规则docs/engineering-guidelines.md
某一层或某一模块的详细契约docs/engineering-reference/main/、renderer/、shared/ 或 guides/
真实踩坑、症状与根因错位、排查成本高docs/engineering-reference/big-question/
一次性设计背景、方案比较、历史决策docs/project-history/
纯回归防线对应测试文件;必要时加简短背景注释

新增高代价陷阱使用以下结构,务必写清真实症状和回归防线:

md
# 问题标题

## 症状

## 根因

## 修法

## 回归防线

## 相关代码

更新文档后同步检查相邻规范和已有链接,避免把同一规则复制成互相漂移的多份内容。不要把一次性的聊天总结、未经验证的猜测或完整任务日志直接写进长期规范。

知识库上限与压缩清理

本项目暂不自动删除或自动改写知识文档;压缩清理采用人工审计,避免误删有价值的根因和回归证据。每次新增知识前,以及完成一组相关任务后,按下面的规则检查:

内容建议上限超限处理
AGENTS.md约 100 行只保留高频硬规则,其余移到 docs/engineering-guidelines.md 或 reference
docs/engineering-guidelines.md约 250 行按主题拆到 docs/engineering-reference/
单个 big-question 条目约 150–250 行删除过程日志,只保留症状、根因、修法、回归防线和相关代码
project-knowledge/SKILL.md约 150 行只保留导航、检索、沉淀和维护规则,不复制规范正文
docs/engineering-reference/big-question/不设硬上限合并重复问题,按症状和根因去重
docs/project-history/不设硬上限按日期归档;只保留仍有背景价值的设计和研究结论
新增前去重
  1. 先搜索 AGENTS.md、docs/engineering-guidelines.md、docs/engineering-reference/ 和 docs/project-history/。
  2. 已有同一规则时更新原文,不新建相似条目。
  3. 同一根因导致多个症状时,保留一个根因条目,并在症状表中列出表现。
  4. 只有具备可观察证据、回归测试或明确设计决策的内容才进入长期知识库。
手动压缩
  • AGENTS.md 只保留贡献者每天需要看到的规则。
  • 工程规范保留当前行为契约;旧实现细节和一次性方案比较移入 project-history/。
  • big-question 条目删除聊天过程、重复代码片段和无结论尝试,保留最短可复用解释。
  • 历史任务保留最终 PRD / design / research 结论;纯 context manifest、重复验收过程和临时日志可以删除。
  • 规则被当前代码淘汰时,不要直接抹掉证据:先在文档中标注已过期及替代规则,确认无引用后再删除。
自动维护命令

项目提供三条命令:

bash
pnpm knowledge:check
pnpm knowledge:clean
pnpm knowledge:clean -- --apply
pnpm knowledge:compact
  • knowledge:check 只读检查文档行数、Markdown 链接和踩坑条目结构;发现问题时返回非零状态,不修改文件。
  • knowledge:clean 默认 dry-run,列出历史目录中的临时 .jsonl 文件;只有显式传 -- --apply 才移动到 docs/knowledge-review/archive/。
  • knowledge:compact 检查超长 big-question 条目,在 docs/knowledge-review/compact/ 生成源文件副本和压缩提示;原文不变。
  • 设置 OPENAI_API_KEY 后,knowledge:compact 可调用兼容 Chat Completions 的模型生成草案;可选 OPENAI_BASE_URL 和 OPENAI_MODEL,模型输出仍只写入审阅目录。
  • 自动命令不会直接覆盖、删除或合并当前知识。应用模型草案前必须人工检查 diff,并确认根因、证据、风险和源码链接没有丢失。
安全原则

压缩清理只能减少重复和过程噪声,不能删除:

  • 真实 bug 的根因和症状;
  • 回归测试、真机验证或安全边界证据;
  • 仍被源码、测试或其他文档引用的内容;
  • 尚未完成的设计决策和风险记录。

维护边界

  • 本 skill 只负责知识检索和知识沉淀。
  • 不创建或维护任务状态,不引入 workflow、session pointer、JSONL manifest 或平台 hook。
  • 不把 docs/project-history/ 当作当前行为契约。
  • 不为重复已有规则而新增抽象;优先更新最接近权威来源的文档。

© J3n5en, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/project-knowledge of J3n5en/EnsoCode.

Open the folder on GitHubat commit 341cd64

Compare with similar skills

Project Knowledge next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Project Knowledge compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Project Knowledge this skillJ3n5en/EnsoCode119—~1.3kAutomated safety check: PassMIT
Rust TDD Workflowrtk-ai/rtk83k—~753Automated safety check: NotesApache-2.0
RTK Filter TDD in Rustrtk-ai/rtk83k—~1.9kAutomated safety check: NotesApache-2.0
Test Guidelinesgetsentry/sentry-dart873—~3.1kAutomated safety check: PassMIT
Evidence-First Development LoopAmazingAng/old-coder749—~5.4kAutomated safety check: NotesMIT
Gh IssuesTypedDevs/bashunit4341 repos~1.7kAutomated safety check: NotesMIT

Similar skills

  • Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.

    83k GitHub stars~753 tokensUpdated today
    Testing & QAAuto-check: notes
  • Enforces red-green-refactor for new RTK output filters in Rust, using real captured fixtures, snapshot tests with insta and token-savings assertions.

    83k GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • Test Guidelines

    getsentry/sentry-dart

    Official

    Enforce Sentry Dart/Flutter SDK test conventions for naming, structure, and fixtures.

    873 GitHub stars~3.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Replaces line-by-line code review with an approved executable spec and a gauntlet of tests, types, coverage, and mutation checks the code must survive.

    749 GitHub stars~5.4k tokensUpdated 1 mo ago
    Testing & QAAuto-check: notes
  • Gh Issues

    TypedDevs/bashunit

    Walk over all open GitHub issues that are unassigned or assigned to the current user, and process each one via the /gh-issue skill, sequentially.

    434 GitHub starsUsed in 1 repo~1.7k tokens
    Testing & QAAuto-check: notes
  • Agent Harness Testing Methodology

    huiliyi37/Tianshu-harness

    Guides an agent through probing an unfamiliar project's test setup, then choosing a red-light-first testing strategy matched to the task type.

    1.1k GitHub stars~1k tokensUpdated today
    Testing & QAAuto-check: notes

More from J3n5en/EnsoCode

  • Enso Cdp

    J3n5en/EnsoCode

    Drive the EnsoCode Electron renderer via Chrome DevTools Protocol on port 9222.

    119 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Questions about Project Knowledge

What does Project Knowledge do?

Navigate EnsoCode's long-term engineering conventions, layer boundaries, testing rules, historical decisions, and high-cost pitfalls. Project Knowledge is an agent skill from J3n5en/EnsoCode. Navigate EnsoCode's long-term engineering conventions, layer boundaries, testing rules, historical decisions, and high-cost pitfalls.

When should I use Project Knowledge?

Project Knowledge fits situations like: capture project knowledge; tasks that involve Test-driven development.

How do I install Project Knowledge in Claude Code?

Run `npx skills add J3n5en/EnsoCode --skill project-knowledge -a claude-code`. Or copy the skill folder (.agents/skills/project-knowledge in J3n5en/EnsoCode) into .claude/skills/project-knowledge in your project. Claude Code loads it when a task matches its description.

How do I install Project Knowledge in Codex?

Run `npx skills add J3n5en/EnsoCode --skill project-knowledge -a codex`. Or copy the skill folder (.agents/skills/project-knowledge in J3n5en/EnsoCode) into .agents/skills/project-knowledge in your project. Codex loads it when a task matches its description.

Can I use Project Knowledge in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add J3n5en/EnsoCode --skill project-knowledge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-knowledge, .gemini/skills/project-knowledge, .github/skills/project-knowledge and .opencode/skills/project-knowledge in your project.

What does Project Knowledge need to run?

Going by SKILL.md and its folder, Project Knowledge needs the command-line tools its instructions call (pnpm) and credentials named OPENAI_API_KEY. Our summary lists: A credential in OPENAI_API_KEY.

Does Project Knowledge access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Project Knowledge safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Project Knowledge use?

Project Knowledge is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Project Knowledge use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Project Knowledge?

Skills that share tags, products or a category with Project Knowledge: Rust TDD Workflow (rtk-ai/rtk, 83k stars), RTK Filter TDD in Rust (rtk-ai/rtk, 83k stars), Test Guidelines (getsentry/sentry-dart, 873 stars) and Evidence-First Development Loop (AmazingAng/old-coder, 749 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Project Knowledge?

J3n5en (a GitHub user) maintains it in J3n5en/EnsoCode, which has 119 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.

Source: J3n5en/EnsoCode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.