refactor(skills): remove acquiring-skills bundled skill
The acquiring-skills skill was a personal developer workflow with hardcoded paths that did not apply to general sf users. Rationale for removal rather than generalization: - SF bundled skills are already generic and installed for all users. - External skills are consumed via the Anthropic marketplace. - Per-project custom skills are covered by the creating-skills skill. Resolves self-feedback sf-mookqlyr-snco79.
This commit is contained in:
parent
66c7d6a47e
commit
b8a5a01de4
1 changed files with 0 additions and 179 deletions
|
|
@ -1,179 +0,0 @@
|
|||
---
|
||||
name: acquiring-skills
|
||||
description: Discover and install skills from the Anthropic skills marketplace or other external repositories. Use when a user asks for something where a specialised skill likely exists (browser testing, PDF processing, infra automation, etc.) and you want to bootstrap rather than start from scratch. Always verify untrusted sources with the user.
|
||||
---
|
||||
|
||||
# Acquiring New Skills
|
||||
|
||||
This skill teaches how to safely discover and install skills from external sources into sf.
|
||||
|
||||
## SAFETY — READ THIS FIRST
|
||||
|
||||
Skills can contain:
|
||||
|
||||
- **Markdown files** — risk: prompt injection, misleading instructions.
|
||||
- **Scripts** (TypeScript, Python, Bash) — risk: arbitrary code execution.
|
||||
|
||||
### Trusted sources (no user approval needed for download)
|
||||
|
||||
| Source | Why trusted |
|
||||
|---|---|
|
||||
| `https://github.com/anthropics/skills` | Anthropic's official Agent Skills marketplace. |
|
||||
| `https://github.com/singularity-ng/singularity-forge` | sf's own repo (never download to overwrite — only as reference). |
|
||||
|
||||
### Untrusted sources (ALWAYS verify with user)
|
||||
|
||||
For ANY source other than the above:
|
||||
|
||||
1. Ask the user before downloading.
|
||||
2. State where the skill comes from (URL, repo, author).
|
||||
3. Get explicit approval.
|
||||
|
||||
### Script safety
|
||||
|
||||
Even from trusted sources, ALWAYS:
|
||||
|
||||
1. Read and inspect every script before executing it.
|
||||
2. Understand what it does — especially network calls, file operations, system commands.
|
||||
3. If it `curl | bash`, refuse to run it without the user explicitly inspecting and approving the URL.
|
||||
|
||||
## When to Use This Skill
|
||||
|
||||
### DO use when
|
||||
|
||||
- The user asks for something where a skill likely exists ("test this webapp", "generate a PDF report", "deploy with terraform").
|
||||
- You think "there's probably a skill that would bootstrap my understanding".
|
||||
- The user explicitly asks about available skills or extending sf's capabilities.
|
||||
|
||||
### DON'T use for
|
||||
|
||||
- General coding tasks you can already handle.
|
||||
- Simple bug fixes or feature implementations.
|
||||
- Tasks where you have sufficient knowledge.
|
||||
- Anything urgent — discovery takes time; sometimes "just code it" is faster.
|
||||
|
||||
## Ask Before Searching (Interactive Mode)
|
||||
|
||||
If you recognise a task that might have an associated skill, ask first:
|
||||
|
||||
> "This sounds like something where a community skill might help (e.g., webapp testing with Playwright). Want me to look in `anthropics/skills` first, or start coding right away?"
|
||||
|
||||
The user may prefer to start immediately rather than wait.
|
||||
|
||||
Only proceed with skill acquisition if the user agrees.
|
||||
|
||||
## Skill Repositories
|
||||
|
||||
| Repository | Description |
|
||||
|---|---|
|
||||
| `https://github.com/anthropics/skills` | Anthropic's official Agent Skills. Browse the `skills/` directory for available skills. |
|
||||
|
||||
## Installation Locations in sf
|
||||
|
||||
| Location | Path | When to use |
|
||||
|---|---|---|
|
||||
| **Project (sf core)** | `src/resources/extensions/sf/skills/<skill>/` | Skills bundled with sf, available to every sf install. Default for general-purpose skills. |
|
||||
| **Per-project bundled** | `<repo>/.sf/skills/<skill>/` | Skills useful only inside a specific project. |
|
||||
| **User-local** | `~/.sf/skills/<skill>/` | User-only skills not committed to a repo. |
|
||||
|
||||
**Default**: Project (sf core) for skills that benefit anyone running sf. Per-project for things only that project's contributors need.
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
Before installing, ensure the skill follows sf naming:
|
||||
|
||||
- Lowercase kebab-case directory name.
|
||||
- Match the directory name exactly to the `name:` field in frontmatter.
|
||||
- No vendor prefixes — strip them. (`ace-spec-first-tdd` → `spec-first-tdd`, `letta-webapp-testing` → `webapp-testing`).
|
||||
- See [`creating-skills`](../creating-skills/SKILL.md) for the full convention.
|
||||
|
||||
## How to Acquire
|
||||
|
||||
### Method 1 — Clone from Anthropic marketplace, inspect, copy
|
||||
|
||||
```bash
|
||||
# 1. Clone the repo (shallow)
|
||||
git clone --depth 1 https://github.com/anthropics/skills /tmp/skills-temp
|
||||
|
||||
# 2. Browse available skills
|
||||
ls /tmp/skills-temp/skills/
|
||||
|
||||
# 3. Inspect the skill you want
|
||||
cat /tmp/skills-temp/skills/webapp-testing/SKILL.md
|
||||
ls /tmp/skills-temp/skills/webapp-testing/scripts/ # if any
|
||||
# Read every script before running anything
|
||||
|
||||
# 4. Copy to sf (default location: project bundled skills)
|
||||
cp -r /tmp/skills-temp/skills/webapp-testing \
|
||||
<your-project>/src/resources/extensions/sf/skills/
|
||||
|
||||
# 5. Adapt for sf (see Adaptation Checklist below)
|
||||
# 6. Cleanup
|
||||
rm -rf /tmp/skills-temp
|
||||
```
|
||||
|
||||
### Method 2 — Copy from another local project
|
||||
|
||||
If the user has skills in another local repository they want to port:
|
||||
|
||||
```bash
|
||||
# 1. Copy to temp for inspection
|
||||
cp -r <other-project>/.claude/skills/<skill-name> /tmp/port-skill/
|
||||
|
||||
# 2. Inspect
|
||||
# 3. Adapt for sf
|
||||
# 4. Copy to sf skills directory
|
||||
cp -r /tmp/port-skill/<skill-name> \
|
||||
<your-project>/src/resources/extensions/sf/skills/
|
||||
```
|
||||
|
||||
## Adaptation Checklist
|
||||
|
||||
After fetching, **adapt for sf**:
|
||||
|
||||
- Strip vendor prefixes (`ace-`, `letta-`, `dr-`, etc.).
|
||||
- Replace foreign tooling references (Letta MCP tool calls, claude-flow CLIs) with sf-native equivalents (`rg`, `npm test`, `sf_*` tools, `advisory-partner` skill, etc.).
|
||||
- Drop bootstrap gates that don't apply (`onboarding()`, `IN_NIX_SHELL`, etc.).
|
||||
- Cite sf doctrine: `AGENTS.md`, `docs/SPEC_FIRST_TDD.md`, the relevant sister skill.
|
||||
- Update the `description` frontmatter to mention sf-native tools if applicable.
|
||||
|
||||
See [`creating-skills`](../creating-skills/SKILL.md) for the conventions adapted skills must follow.
|
||||
|
||||
## Registering the New Skill
|
||||
|
||||
Skills under `src/resources/extensions/sf/skills/` are auto-discovered on the next sf launch — no manual registration.
|
||||
|
||||
For per-project skills under `<repo>/.sf/skills/`, check `auto-loop`/`bootstrap` logs to confirm discovery.
|
||||
|
||||
## Complete Example
|
||||
|
||||
User asks: "Can you help me test my React app's UI?"
|
||||
|
||||
1. **Recognise opportunity**: webapp testing — likely has an Anthropic skill.
|
||||
2. **Ask user**: "Want me to look for a webapp-testing skill in `anthropics/skills`, or start coding now?"
|
||||
3. **If user agrees, fetch**:
|
||||
```bash
|
||||
git clone --depth 1 https://github.com/anthropics/skills /tmp/skills-temp
|
||||
ls /tmp/skills-temp/skills/ # find relevant skill
|
||||
cat /tmp/skills-temp/skills/webapp-testing/SKILL.md
|
||||
ls /tmp/skills-temp/skills/webapp-testing/scripts/
|
||||
# Read each script
|
||||
```
|
||||
4. **Adapt for sf**: rename if needed, strip foreign tooling, point doctrine references at sf docs.
|
||||
5. **Install**:
|
||||
```bash
|
||||
cp -r /tmp/skills-temp/skills/webapp-testing \
|
||||
<your-project>/src/resources/extensions/sf/skills/
|
||||
rm -rf /tmp/skills-temp
|
||||
```
|
||||
6. **Use**: `Skill(skill: "webapp-testing")`.
|
||||
|
||||
## Rules
|
||||
|
||||
- **Read every script before executing it.** No exceptions, even from trusted sources.
|
||||
- **Don't `curl | bash`** unless the user has personally inspected and approved the URL.
|
||||
- **Untrusted sources require explicit user approval** before download.
|
||||
- **Strip vendor prefixes** when porting (`ace-`, `letta-`, `dr-`).
|
||||
- **Adapt tooling references** to sf-native equivalents.
|
||||
- **Cite sf doctrine** — link `AGENTS.md` and `docs/SPEC_FIRST_TDD.md` rather than restating their rules.
|
||||
- **Don't overwrite an existing sf skill** without diffing first; if names collide, decide whether to merge, supersede, or rename.
|
||||
Loading…
Add table
Reference in a new issue