用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/flonat/claude-research --skill skill-preflight命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use when you need to audit a research project against the init-project-research template.
Use when you need to validate a paper's bibliography — cross-references \cite{} keys against .bib files or embedded \bibitem entries, finds missing/unused/typo'd keys, and checks every key against the Paperpile library via the local resolver. Deep verification mode spawns parallel agents for DOI/metadata validation at scale. Fix mode rekeys drifted keys to canonical and stages missing entries for Paperpile.
Use when you need to bootstrap a full research project with directory scaffold and Overleaf symlink.
基于 SOC 职业分类
正在显示 SKILL.md
| name | skill-preflight |
| description | Use when you need a pre-flight duplicate check before creating new skills or agents. |
| allowed-tools | ["Read","Glob","Grep","AskUserQuestion"] |
Prevent duplicate functionality by analysing existing skills and agents before creating new ones. Intercepts creation intent, searches for overlap, and recommends one of 5 actions.
Invoke before creating ANY new:
skills/*/SKILL.md).claude/agents/*.md)Trigger phrases:
Extract from the request:
Run these searches in parallel:
skills/shared/skill-index.md — scan the categorised table for potential duplicates by name and purposeGrep for each keyword across:
- skills/*/SKILL.md (frontmatter + body)
- .claude/agents/*.md (frontmatter + body)
Glob: .claude/agents/*.md
Read first 20 lines of each match
For each potentially related artifact, assess:
| Criterion | Question |
|---|---|
| Functional overlap | Does it do the same thing? (0-100%) |
| Naming confusion | Could names be confused? |
| Extension potential | Could the proposal extend this instead? |
| Composition | Could existing artifacts compose to achieve this? |
Based on analysis, recommend ONE of:
| Recommendation | Criteria | Action |
|---|---|---|
| PROCEED | <20% overlap, genuinely new capability | Create new artifact |
| EXTEND | 50%+ overlap with single existing artifact | Modify existing instead |
| COMPOSE | Multiple artifacts cover 80%+ combined | Create thin wrapper or document workflow |
| ITERATE | 20-50% overlap, proposal needs refinement | Refine proposal to differentiate |
| BLOCK | Would create problematic duplication | Do not create |
Display the analysis and wait for explicit user approval before proceeding.
════════════════════════════════════════════════════════════════
CREATION GUARD ANALYSIS
════════════════════════════════════════════════════════════════
PROPOSAL:
Type: [skill|agent]
Name: [proposed-name]
Purpose: [one sentence]
EXISTING ARTIFACTS ANALYSED: [count]
RELATED ARTIFACTS FOUND:
1. [artifact-name] ([type])
Purpose: [what it does]
Overlap: [X]% - [explanation]
2. [artifact-name] ([type])
Purpose: [what it does]
Overlap: [X]% - [explanation]
RECOMMENDATION: [PROCEED|EXTEND|COMPOSE|ITERATE|BLOCK]
RATIONALE:
[2-3 sentences explaining the recommendation]
SUGGESTED ACTION:
[Specific next step based on recommendation]
════════════════════════════════════════════════════════════════
Present extension proposal:
Instead of creating [new-name], extend [existing-name]:
Current capabilities:
- [existing feature 1]
- [existing feature 2]
Proposed additions:
- [new feature 1]
- [new feature 2]
Present composition approach:
The proposed functionality can be achieved by combining:
1. [artifact-1] — handles [aspect]
2. [artifact-2] — handles [aspect]
Options:
A) Document this workflow (no new code)
B) Create thin orchestration skill
C) Add to existing skill's integration section
Present refinement questions:
Overlap detected with [existing-artifact].
Differentiation needed:
1. [question about scope]
2. [question about use case]
3. [question about implementation]
Please clarify to proceed.
Explain why creation should not proceed:
BLOCKED: Would create problematic duplication.
Existing artifact: [name]
- Already does: [capabilities]
- Your request: [same capabilities]
Alternatives:
1. Use existing: /[skill-name]
2. If missing features, extend the existing artifact
3. If different use case, explain how this differs
When overlap IS found, use this table to decide the specific action:
| Situation | Action |
|---|---|
| Nothing related found | Create new artifact |
| Same trigger + same fix as existing | Update existing (bump version, improve docs) |
| Same trigger, different root cause | Create new + add cross-links in both |
| Partial overlap (same domain, different trigger) | Add variant subsection to existing |
| Same domain, different problem | Create new + add "See also" references |
| Existing is stale or wrong | Mark deprecated + create replacement |
This complements the PROCEED/EXTEND/COMPOSE/ITERATE/BLOCK recommendation above. The recommendation decides whether to create; this table decides how to handle the relationship with existing artifacts.
Before creating ANY new artifact, ask:
When creating a new skill, always name the definition file SKILL.md (uppercase). Never skill.md, Skill.md, or any other casing.
SKILL.md explicitly/system-audit use find -name 'SKILL.md'Check before writing: If the target directory already contains a skill.md (lowercase), rename it to SKILL.md first.
| Anti-Pattern | Problem | Instead |
|---|---|---|
| Skip the check | "It's obviously new" — famous last words | Always run the analysis |
| Name-only matching | Names differ but functions overlap | Search by purpose and keywords |
| Create then merge | Merge debt accumulates fast | Check first, create once |
| Over-splitting | Two skills that always run together | Consider a single skill with phases |
Lowercase skill.md | Invisible to MCP server, audit tools, and case-sensitive systems | Always use SKILL.md (uppercase) |
This skill is invoked by /skill-extract in Phase 2 to replace the old subset/partial/no-overlap check. When called from /skill-extract, return the recommendation label (PROCEED/EXTEND/COMPOSE/ITERATE/BLOCK) so /skill-extract can branch accordingly.