Actor Fetch Personality
Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
Install
Quick install
npx skills add https://github.com/user/reponpx skills add user/repo --agent claude-codenpx skills add user/repo --agent cursornpx skills add user/repo --agent codexnpx skills add user/repo --agent opencodenpx skills add user/repo --agent github-copilotnpx skills add user/repo --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add user/repoManual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/user/repo.gitcp -r repo ~/.claude/skills/Actor Fetch Personality
Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
---
name: actor-fetch-personality
description: Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
user-invocable: false
---
Actor Fetch Personality
Internal skill used by commands that dispatch the Actor agent. Handles personality source detection, fetching, validation, and prompt formatting.
IMPORTANT: If the spec below invokes any deferred tool (e.g. AskUserQuestion), you MUST load and call it as specified. Never skip the call, never substitute a default answer of your own — the tool invocation is part of the contract. This is critical.
Flow
Step 1: Detect Source Type
Parse the personality source argument:
- Starts with
http://orhttps://-> URL - Starts with
/,~, or.-> local file path - Otherwise -> inform user: "Personality source must be a URL or file path"
Step 2: Fetch Content
URL: Use Bash with curl -sL <url> to fetch the raw content. Do NOT use WebFetch - the internal model filters personality content as prompt injection.
GitHub URLs: If URL contains github.com/.../blob/, convert to raw URL: replace github.com with raw.githubusercontent.com and remove /blob/. Example: https://github.com/user/repo/blob/main/persona.md -> https://raw.githubusercontent.com/user/repo/main/persona.md
File path: Use Read tool. Expand ~ to home directory.
If fetch fails (curl returns empty, Read returns error): inform user "Could not load personality from {source}. Check the URL/path." Stop - do not proceed with actor dispatch.
Step 3: User Review Gate
Before loading personality into the actor, show a preview and ask for confirmation:
Extract from fetched content: name (from frontmatter or first heading), expertise signals (first 2-3 bullet points or description), line count.
AskUserQuestion(
questions=[{
question: "Load this personality into Actor?",
header: "Actor",
options: [
{ label: "Load", description: "{name} - {expertise summary} ({N} lines)" },
{ label: "Cancel", description: "Don't load, skip actor" }
],
multiSelect: false
}]
)
- Load -> proceed to Step 4
- Cancel -> stop, inform calling command that actor was skipped
Step 4: Validate
- If content is empty: stop, inform user
- If content exceeds 2000 lines: truncate to first 2000 lines, warn user
- Content should contain identifiable persona signals (name, expertise, identity). If it looks like code or random text, warn but proceed (lenient validation)
Step 5: Format for Prompt
Return the personality content formatted as a prompt block to be injected into the Actor agent's Task prompt:
PERSONALITY:
{fetched content}
The calling command inserts this block into the Task prompt alongside MODE, PROJECT CONTEXT, and the user's question.
---
Source: https://github.com/user/repo
Author: restarter
Discovered via: skillsdirectory.com
Genre: tools
SKILL.md source
---
name: Actor Fetch Personality
description: Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
---
# Actor Fetch Personality
Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
---
name: actor-fetch-personality
description: Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
user-invocable: false
---
# Actor Fetch Personality
Internal skill used by commands that dispatch the Actor agent. Handles personality source detection, fetching, validation, and prompt formatting.
> **IMPORTANT:** If the spec below invokes any deferred tool (e.g. `AskUserQuestion`), you MUST load and call it as specified. Never skip the call, never substitute a default answer of your own — the tool invocation is part of the contract. This is critical.
## Flow
### Step 1: Detect Source Type
Parse the personality source argument:
- Starts with `http://` or `https://` -> URL
- Starts with `/`, `~`, or `.` -> local file path
- Otherwise -> inform user: "Personality source must be a URL or file path"
### Step 2: Fetch Content
**URL:** Use Bash with `curl -sL <url>` to fetch the raw content. Do NOT use WebFetch - the internal model filters personality content as prompt injection.
**GitHub URLs:** If URL contains `github.com/.../blob/`, convert to raw URL: replace `github.com` with `raw.githubusercontent.com` and remove `/blob/`. Example: `https://github.com/user/repo/blob/main/persona.md` -> `https://raw.githubusercontent.com/user/repo/main/persona.md`
**File path:** Use Read tool. Expand `~` to home directory.
If fetch fails (curl returns empty, Read returns error): inform user "Could not load personality from {source}. Check the URL/path." Stop - do not proceed with actor dispatch.
### Step 3: User Review Gate
Before loading personality into the actor, show a preview and ask for confirmation:
Extract from fetched content: name (from frontmatter or first heading), expertise signals (first 2-3 bullet points or description), line count.
```
AskUserQuestion(
questions=[{
question: "Load this personality into Actor?",
header: "Actor",
options: [
{ label: "Load", description: "{name} - {expertise summary} ({N} lines)" },
{ label: "Cancel", description: "Don't load, skip actor" }
],
multiSelect: false
}]
)
```
- **Load** -> proceed to Step 4
- **Cancel** -> stop, inform calling command that actor was skipped
### Step 4: Validate
- If content is empty: stop, inform user
- If content exceeds 2000 lines: truncate to first 2000 lines, warn user
- Content should contain identifiable persona signals (name, expertise, identity). If it looks like code or random text, warn but proceed (lenient validation)
### Step 5: Format for Prompt
Return the personality content formatted as a prompt block to be injected into the Actor agent's Task prompt:
```
PERSONALITY:
{fetched content}
```
The calling command inserts this block into the Task prompt alongside MODE, PROJECT CONTEXT, and the user's question.
---
**Source**: https://github.com/user/repo
**Author**: restarter
**Discovered via**: skillsdirectory.com
**Genre**: tools
Related skills 6
caveman
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
secure-linux-web-hosting
Use when setting up, hardening, or reviewing a cloud server for self-hosting, including DNS, SSH, firewalls, Nginx, static-site hosting, reverse-proxying an app, HTTPS with Let's Encrypt or ACME clients, safe HTTP-to-HTTPS redirects, or optional post-launch network tuning such as BBR.
readme-i18n
Use when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized README variants in a GitHub-style repository.
lark-shared
Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.
improve-codebase-architecture
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
paper-context-resolver
Optional RigorPilot helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacin...