一键导入
skill-gen
Use when adding, modifying, generating, checking, or debugging repo-local skill fragments embedded in source code with //<skill-gen> markers.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when adding, modifying, generating, checking, or debugging repo-local skill fragments embedded in source code with //<skill-gen> markers.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when changing, extending, testing, or reviewing the Bun-backed Paw CLI package and its generated agent skills.
Use when writing or reviewing Pawrrtal Effect TypeScript code in backend-ts: API contracts, HttpApi handlers, services, repos, layers, tagged errors, Effect tests, streams, SQL, auth middleware, or vendor-source API checks.
Use when running the Bun-backed Paw CLI: local health, active context, shell completions, output modes, profiles, and verification of the supported command surface.
Turn a bad or long Pawrrtal work session into durable project learning. Use when the user says $retro, asks to learn from a session, says too much went wrong, or asks to create/update skills or rules from recent failures.
Use when touching Pawrrtal channels, providers, tools, plugins, subagents, context providers, turn orchestration, or code that decides where an integration should live. Enforces the split between generic kernel code, manifest plugins, trusted runtime adapters, provider adapters, channel adapters, and agent runtime primitives.
Operate Pawrrtal as a live service: prove the running commit, local origins, Cloudflared public URL, database schema, Telegram channel, and shutdown state. Use when checking whether Pawrrtal is live, deployed, reachable, healthy, broken in Telegram, safe to restart, or safe to take down.
| name | skill-gen |
| description | Use when adding, modifying, generating, checking, or debugging repo-local skill fragments embedded in source code with //<skill-gen> markers. |
Scans source files for //<skill-gen> markers, extracts skill fragments (markdown with YAML frontmatter), merges them by skill name, and writes SKILL.md files to the configured output folder. Pawrrtal's canonical output is .agent/skills/ (agentic-stack brain); .agents/skills/ and .cursor/plugins/pawrrtal/skills/ mirror it.
Full specification: packages/ci/skill-gen/SPEC.md
Embed skill fragments in any source file using comment markers:
//<skill-gen>
// ---
// name: my-skill
// description: "What this skill teaches agents."
// ---
//
// ## Section Heading
//
// Markdown body content here.
//</skill-gen>
name (required): identifies which skill this fragment belongs to. Fragments sharing the same name are merged.description (required): used in the generated SKILL.md frontmatter.paths: is preserved in generated output.// or #) are stripped automatically.| Variable | Expands to |
|---|---|
$$file | Relative path from repo root to the source file |
$$directory | Relative path from repo root to the source file's directory |
Use \$$ to produce a literal $$file / $$directory in the output.
# Generate skill files from source fragments
bun run skill-gen:generate
# Check if generated skills are up-to-date (CI mode)
bun run skill-gen:check
# Run e2e tests against fixtures
bun run skill-gen:e2e-test
| Field | Strategy |
|---|---|
name | Must match (merge key) |
description | Last writer wins (warns if different) |
| extra frontmatter | Later non-empty declarations win (warns if different) |
| body | Concatenated in source-file order (sorted by relative path) |
name/description frontmatter are silently skipped.AUTO-GENERATED header) are never overwritten.references/ subdirectory is not managed by skill-gen -- those remain hand-written.<!-- AUTO-GENERATED by skill-gen -- DO NOT EDIT --> header with source file paths.packages/ci/skill-gen/
SPEC.md full specification
src/
index.ts Effect v4 CLI entrypoint
scan.ts file tree walker + fragment extractor
parse.ts comment stripping + frontmatter parsing
merge.ts merge logic (concatenate bodies)
output.ts write / diff output files
e2e.ts e2e fixture comparison (collect/compare SKILL.md files)
e2e-test/ test input fixtures
e2e-test-expected/ expected output for e2e comparison