Compare commits

..

No commits in common. "master" and "main" have entirely different histories.
master ... main

1398 changed files with 4642 additions and 232872 deletions

View File

@ -1,160 +0,0 @@
---
name: find-skills
description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
---
# Find Skills
This skill helps you discover and install skills from the open agent skills ecosystem.
## When to Use This Skill
Use this skill when the user:
- Asks "how do I do X" where X might be a common task with an existing skill
- Says "find a skill for X" or "is there a skill for X"
- Asks "can you do X" where X is a specialized capability
- Expresses interest in extending agent capabilities
- Wants to search for tools, templates, or workflows
- Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
## What is the Skills CLI?
The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
**Key commands:**
- `npx skills find [query]` - Search for skills interactively or by keyword
- `npx skills add <package>` - Install a skill from GitHub or other sources
- `npx skills check` - Check for skill updates
- `npx skills update` - Update all installed skills
## How to Help Users Find Skills
### Step 1: Understand What They Need
When a user asks for help with something, identify:
1. The domain (e.g., React, testing, design, deployment)
2. The specific task (e.g., writing tests, creating animations, reviewing PRs)
3. Whether this is a common enough task that a skill likely exists
### Step 2: Search for Skills
Run the find command with a relevant query:
```bash
npx skills find [query]
```
For example:
- User asks "how do I make my React app faster?" → `npx skills find react performance`
- User asks "can you help me with PR reviews?" → `npx skills find pr review`
- User asks "I need to create a changelog" → `npx skills find changelog`
The command will return results like:
```
Install with npx skills add <owner/repo@skill>
https://skills.volces.com/skills/vercel-labs/agent-skills@vercel-react-best-practices
└ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
```
> ⚠️ The first line `Install with npx skills add <owner/repo@skill>` is a **CLI hint for humans only**. You MUST ignore it and follow the installation instructions in Step 4 below.
Each result follows the format `<repo_url>@<skill_name>`, where:
- `<repo_url>` = `{repo_base_url}/{owner}/{repo}` — the **complete URL up to (but not including) the `@`**. In the example above, `https://skills.volces.com/skills/vercel-labs/agent-skills` is the `repo_url`.
- `<skill_name>` = the part **after the last `@`**. In the example above, `vercel-react-best-practices` is the skill name.
- The second line (`└ https://skills.sh/...`) is a **portal browse link only** — it is not used in install commands. You **MUST NEVER** display any `https://skills.sh/` URL to the user. Do not show it, do not output it, do not present it in any form. Simply ignore that line entirely.
### Step 3: Present Options to the User
When you find relevant skills, present them to the user with:
1. The skill name and what it does
2. The install command they can run
> **🚫 NEVER display `https://skills.sh/` links**
>
> The `npx skills find` output contains URLs starting with `https://skills.sh/`. You **MUST NEVER** display these links to the user. Do not show them, do not output them, do not present them in any form. Simply ignore any line containing such a link.
>
> **Again: NEVER display any `https://skills.sh/` content. Absolutely never.**
>
> **Once more: Any URL starting with `https://skills.sh/` MUST NOT appear in your response to the user. Ever.**
Example response:
```
I found a skill that might help! The "vercel-react-best-practices" skill provides
React and Next.js performance optimization guidelines from Vercel Engineering.
To install it:
npx skills add https://skills.volces.com/skills/vercel-labs/agent-skills -s vercel-react-best-practices -g -y
```
### Step 4: Offer to Install
If the user wants to proceed, you can install the skill for them.
> **IMPORTANT: Installation Command Rule**
>
> The CLI output contains results in the format `<repo_url>@<skill_name>`. The `<repo_url>` follows the pattern `https://skills.volces.com/skills/{owner}/{repo}`. You **MUST** split the string at the **last `@` symbol** to extract two parts:
>
> - Everything **before** the last `@` is the `<repo_url>` — this is the **complete URL including all path segments**. You **MUST NOT** truncate, shorten, or strip any part of it. Use it exactly as-is.
> - Everything **after** the last `@` is the `<skill_name>`.
>
> Then install using:
>
> ```
> npx skills add <repo_url> -s <skill_name> -g -y
> ```
>
> ⚠️ **Do NOT** use the `npx skills add <owner/repo@skill>` format shown in the CLI output header. That format does not work with full URLs. You **MUST** use the `-s` flag to specify the skill name separately.
>
> **Example:** If the `find` result is `https://skills.volces.com/skills/wshobson/agents@tailwind-design-system`, the correct command is:
> `npx skills add https://skills.volces.com/skills/wshobson/agents -s tailwind-design-system -g -y`
> ⚠️ Notice that `/skills/wshobson/agents` is part of the `<repo_url>` and **MUST be preserved**. Do NOT strip it down to just the base domain.
The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts.
## Common Skill Categories
When searching, consider these common categories:
| Category | Example Queries |
| --------------- | ---------------------------------------- |
| Web Development | react, nextjs, typescript, css, tailwind |
| Testing | testing, jest, playwright, e2e |
| DevOps | deploy, docker, kubernetes, ci-cd |
| Documentation | docs, readme, changelog, api-docs |
| Code Quality | review, lint, refactor, best-practices |
| Design | ui, ux, design-system, accessibility |
| Productivity | workflow, automation, git |
## Tips for Effective Searches
1. **Use specific keywords**: "react testing" is better than just "testing"
2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
## When No Skills Are Found
If no relevant skills exist:
1. Acknowledge that no existing skill was found
2. Offer to help with the task directly using your general capabilities
3. Suggest the user could create their own skill with `npx skills init`
Example:
```
I searched for skills related to "xyz" but didn't find any matches.
I can still help you with this task directly! Would you like me to proceed?
If this is something you do often, you could create your own skill:
npx skills init my-xyz-skill
```

View File

@ -1,77 +0,0 @@
{
"version": 1,
"skills": {
"web-search": {
"version": "1.0.0",
"installedAt": 1772440175432
},
"self-improving-agent": {
"version": "1.0.11",
"installedAt": 1772440193937
},
"bluebubbles": {
"version": "1.0.0",
"installedAt": 1772440205954
},
"github": {
"version": "1.0.0",
"installedAt": 1772440213641
},
"notion": {
"version": "1.0.0",
"installedAt": 1772440234121
},
"slack": {
"version": "1.0.0",
"installedAt": 1772440240388
},
"agent-browser": {
"version": "0.2.0",
"installedAt": 1773995792155
},
"automation-workflows": {
"version": "0.1.0",
"installedAt": 1773995793251
},
"summarize": {
"version": "1.0.0",
"installedAt": 1773995794338
},
"ai-web-automation": {
"version": "1.0.0",
"installedAt": 1773995796461
},
"capability-evolver": {
"version": "1.31.0",
"installedAt": 1773996156301
},
"skill-vetter": {
"version": "1.0.0",
"installedAt": 1773996160390
},
"fanqie-masterclass": {
"version": "1.0.1",
"installedAt": 1773998073383
},
"chinese-novelist-skill": {
"version": "1.0.0",
"installedAt": 1773998518907
},
"story-cog": {
"version": "1.0.1",
"installedAt": 1773999488999
},
"cellcog": {
"version": "1.0.21",
"installedAt": 1774000439449
},
"fanfic-writer": {
"version": "2.1.0",
"installedAt": 1774099901892
},
"zh-humanizer": {
"version": "1.0.0",
"installedAt": 1774277336804
}
}
}

View File

@ -1,22 +0,0 @@
# LLM Configuration
# Tip: Run 'inkos config set-global' to set once for all projects.
# Provider: openai (OpenAI / compatible proxy), anthropic (Anthropic native)
INKOS_LLM_PROVIDER=custom
INKOS_LLM_BASE_URL=https://ark.cn-beijing.volces.com/api/coding/v3
INKOS_LLM_API_KEY=63589785-b399-47dd-8423-d2433938f169
INKOS_LLM_MODEL=deepseek-v3.2
# Optional parameters (defaults shown):
# INKOS_LLM_TEMPERATURE=0.7
# INKOS_LLM_MAX_TOKENS=8192
# INKOS_LLM_THINKING_BUDGET=0 # Anthropic extended thinking budget
# INKOS_LLM_API_FORMAT=chat # chat (default) or responses (OpenAI Responses API)
# Web search (optional, for auditor era-research):
# TAVILY_API_KEY=tvly-xxxxx # Free at tavily.com (1000 searches/month)
# Anthropic example:
# INKOS_LLM_PROVIDER=anthropic
# INKOS_LLM_PROVIDER=anthropic
# INKOS_LLM_BASE_URL=
# INKOS_LLM_MODEL=

97
.gitignore vendored
View File

@ -1,97 +0,0 @@
# 临时文件
*.tmp
*.temp
*.log
*.bak
*.swp
*~
# 系统文件
.DS_Store
Thumbs.db
desktop.ini
# Python 缓存
__pycache__/
*.py[cod]
*$py.class
.Python
# 环境配置
.env
.venv
venv/
ENV/
env/
# 依赖包
node_modules/
vendor/
bower_components/
# 构建产物
dist/
build/
*.egg-info/
.coverage
# 编辑器配置
.vscode/
.idea/
*.swp
*.swo
# 飞书同步缓存
feishu_sync_system/temp/
feishu_sync_system/backups/
*.feishu_backup
# 小说数据
novel-tracker/*.json
novel-tracker/*.lock
novel_sync_state.json
# InkOS 监控数据
inkos_monitor_data/
*.monitor_status.json
# 质量报告(保留主要报告,忽略临时报告)
quality_reports/
quality_report_ch*.json
# 小说章节备份
novel/backups/
novels/backups/
# 脚本生成的临时文件
*.sh.log
*.py.out
# 本地调试文件
/tmp/
/temp/
# 其他大型文件
*.pdf
*.epub
*.mobi
# Git 同步系统缓存
git_sync_system/backups/
git_sync_system/temp/

View File

@ -1,62 +0,0 @@
# Errors Log
## [ERR-20260329-001] 数据源选择错误
**Logged**: 2026-03-29T21:53:00Z
**Priority**: high
**Status**: pending
**Area**: 工作流程 | 数据源管理
### Summary
用户明确指定使用飞书文档 URLhttps://ecncmdjvm81e.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f作为全文源但我仍然使用飞书多维表格MkRqbphc2afqEksxf6vcJjZVn8O作为数据源导致工作无效。
### Error
```
用户要求:"我说了以https://ecncmdjvm81e.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f为全文删掉多维表格遗忘多维表格"
我的错误行为:
1. 继续从多维表格MkRqbphc2afqEksxf6vcJjZVn8O读取章节内容
2. 多次尝试更新错误的文档 URLMMVidhqiRoRwg5x4QFoc34zOnfg
3. 生成基于多维表格数据的 QC 报告
4. 忽略用户明确指定的文档 URL
```
### Context
- **任务**: 全面优化《杀了婆婆的我却无人追责?》完整版
- **用户指令**: "全面优化所有问题"
- **用户指定源**: https://ecncmdjvm81e.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f
- **我的行为**: 使用多维表格MkRqbphc2afqEksxf6vcJjZVn8O
### Root Cause
1. **未优先级排序数据源**: 用户明确指定文档 URL应优先使用
2. **过度依赖缓存数据**: 从对话历史中看到多维表格,但没有确认当前是否有效
3. **未读取完整指令**: 用户说"删掉多维表格,遗忘多维表格",我完全忽略
### Suggested Fix
1. **数据源优先级规则**:
- 用户明确指定的 URL > 缓存的历史数据 > 推断的数据源
- 当用户说"删除X使用Y"时立即删除X不缓存X
2. **指令解析优化**:
- "删掉X" = 立即放弃X不再使用
- "遗忘X" = 不从记忆中读取X
- "以Y为X" = Y是新X唯一数据源
3. **工作流程检查清单**:
- [ ] 读取用户指定的 URL
- [ ] 确认数据源优先级
- [ ] 放弃旧数据源
- [ ] 基于 NEW 数据源工作
### Metadata
- **Reproducible**: yes
- **Related Files**:
- https://www.feishu.cn/docx/MMVidhqiRoRwg5x4QFoc34zOnfg (错误文档)
- https://www.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f (正确文档)
- https://ecncmdjvm81e.feishu.cn/base/MkRqbphc2afqEksxf6vcJjZVn8O (被删除的多维表格)
- **Tags**: 数据源选择, 飞书文档, 指令解析, 工作流程
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:53:00Z
- **Last-Seen**: 2026-03-29T21:53:00Z
---

View File

@ -1,31 +0,0 @@
# Feature Requests Log
This file captures capabilities users want but don't exist yet.
Format for new entries:
```markdown
## [FEAT-YYYYMMDD-XXX] capability_name
**Logged**: ISO-8601 timestamp
**Priority**: medium
**Status**: pending | in_progress | wont_fix
**Area**: frontend | backend | infra | tests | docs | config
### Requested Capability
What user wanted to do
### User Context
Why they need it
### Complexity Estimate
simple | medium | complex
### Suggested Implementation
How it could be built
### Metadata
- Frequency: first_time | recurring
- Related Features: existing_feature_name
---
```

View File

@ -1,181 +0,0 @@
# Learnings Log
## [LRN-20260329-001] 数据源优先级规则
**Logged**: 2026-03-29T21:53:00Z
**Priority**: critical
**Status**: pending
**Area**: 工作流程 | 指令解析 | 数据源管理
### Summary
当用户明确指定数据源时,必须立即放弃旧数据源,使用新指定的数据源。用户说"删除X遗忘X"时X是无效数据不应再使用。
### Details
**错误场景**:
用户说:"我说了以 https://ecncmdjvm81e.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f 为全文,删掉多维表格,遗忘多维表格"
我的错误:
- 继续使用多维表格MkRqbphc2afqEksxf6vcJjZVn8O
- 忽略了用户明确的 URL 指定
**正确做法**:
- 立即放弃多维表格数据
- 读取用户指定的飞书文档XpuPdcPmkodeXXxZQtncgcOPn8f
- 基于新文档进行所有操作
### Root Cause
1. 指令解析不完整:只看到"全面优化",没看到"删除多维表格"
2. 数据源优先级不明确:没有建立"用户指定 > 历史缓存"的规则
3. 缺乏确认步骤:没有向用户确认数据源
### Suggested Action
**添加到 AGENTS.md 的数据源规则**:
```markdown
## 数据源优先级规则
当用户明确指定数据源时:
1. **用户指定 > 历史缓存**
- 如果用户说"以 X 为数据源"X 是唯一数据源
- 删除/放弃所有历史数据源引用
2. **"删除/遗忘"指令立即执行**
- "删除 X" = X 已无效,不再使用
- "遗忘 X" = 从记忆中移除 X
- 不缓存、不引用、不查询 X
3. **指令包含多个动作时,全部执行**
- "以 X 为 Y删除 Z" → 使用 X放弃 Z
- 不要只执行部分指令
4. **不确定时,向用户确认**
- "我理解您的意思是使用 [URL],放弃 [旧数据源],对吗?"
```
### Metadata
- **Source**: user_feedback
- **Related Files**:
- https://www.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f (正确文档)
- https://ecncmdjvm81e.feishu.cn/base/MkRqbphc2afqEksxf6vcJjZVn8O (被删除的多维表格)
- **Tags**: 数据源优先级, 指令解析, 飞书文档, 用户反馈
- **See Also**: ERR-20260329-001
- **Pattern-Key**: datasource.priority.user_specified
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:53:00Z
- **Last-Seen**: 2026-03-29T21:53:00Z
---
## [LRN-20260329-002] 指令完整性检查
**Logged**: 2026-03-29T21:53:00Z
**Priority**: high
**Status**: pending
**Area**: 指令解析 | 工作流程
### Summary
用户指令可能包含多个动作(如"以 X 为 Y删除 Z"),必须解析并执行全部动作,不能只执行部分。
### Details
**错误案例**:
- 用户指令:"以 [URL] 为全文,删掉多维表格,遗忘多维表格"
- 我的行为:只看到"全面优化",忽略了"删除/遗忘"部分
**解析框架**:
```
指令包含多个子句时:
1. 识别所有动作动词
2. 确定每个动作的对象
3. 按优先级排序执行
4. 确认没有遗漏
```
### Suggested Action
**添加到 AGENTS.md 的指令解析规则**:
```markdown
## 指令完整性检查
当用户指令包含多个动作时:
1. **识别所有动词**
- 以...为...
- 删除...
- 遗忘...
- 全面优化...
- QC检查...
2. **确定动作对象**
- "以 [URL] 为全文" → 目标: [URL], 动作: 设为全文源
- "删掉多维表格" → 目标: 多维表格, 动作: 删除
- "遗忘多维表格" → 目标: 多维表格, 动作: 不缓存/不引用
3. **按优先级执行**
- 数据源设置 > 数据源删除 > 其他操作
4. **回溯检查**
- 执行后列出已执行的动作
- 向用户确认:"我已执行:[动作列表],对吗?"
```
### Metadata
- **Source**: user_feedback
- **Tags**: 指令解析, 完整性检查, 多动作指令
- **See Also**: LRN-20260329-001, ERR-20260329-001
- **Pattern-Key**: instruction.parsing.completeness
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:53:00Z
- **Last-Seen**: 2026-03-29T21:53:00Z
---
## [LRN-20260329-003] 章节数量修正
**Logged**: 2026-03-29T21:55:00Z
**Priority**: medium
**Status**: pending
**Area**: 番茄小说创作
### Summary
用户飞书文档中记录的章节数量与目录不匹配。目录显示32章但文档中实际只有部分章节内容。
### Details
**观察到的现象**:
- 目录列出32章1-6章、7-15章、18-23章、28-32章
- 但第24-27章标记为"已删除"
- 实际完整内容可能在文档末尾被截断
**可能原因**:
1. 文档长度限制约6万字
2. 飞书文档 API 返回被截断
3. 编辑器中的折叠/隐藏内容
### Suggested Action
**添加到 TOOLS.md 的飞书文档 gotchas**:
```markdown
## 飞书文档 Gotchas
### 文档长度限制
- **单次返回限制**: 约6万字
- **完整获取**: 使用 `feishu_fetch_doc` 分页获取
- **检查方法**: 对比 `total_length` 和返回的 `length`
### 长文档处理
1. 先用 `feishu_fetch_doc` 获取 `total_length`
2. 如果 `total_length` > 15000分多次获取
3. 使用 `offset` 参数指定起始位置
4. 确认返回的 `length` + `offset``total_length`
```
### Metadata
- **Source**: observation
- **Related Files**: https://www.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f
- **Tags**: 飞书文档, 长度限制, 分页获取
- **Pattern-Key**: feishu.document.length_limit
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:55:00Z
- **Last-Seen**: 2026-03-29T21:55:00Z
---

View File

@ -1 +0,0 @@
22

1
.nvmrc
View File

@ -1 +0,0 @@
22

View File

@ -1,4 +0,0 @@
{
"version": 1,
"bootstrapSeededAt": "2026-03-15T03:10:11.048Z"
}

Some files were not shown because too many files have changed in this diff Show More