Skip to main content

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.

설치로 이동

소스 정보

저장소
restarter/lets-workflow
최근 소스 활동
2026년 5월 17일 18:54
감지된 SKILL.md 언어
영어
스타
17
포크
3

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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.
GitHub에서 보기