Skip to main content

skill-neovim-implementation

Implement Neovim configuration changes from plans. Invoke for neovim implementation tasks.

소스 정보

저장소
benbrastmckie/nvim
최근 소스 활동
2026년 9월 2일 22:06
감지된 SKILL.md 언어
영어
스타
444
포크
456

설치 방법

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

소스 파일 검토

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

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
skill-neovim-implementation
description
Implement Neovim configuration changes from plans. Invoke for neovim implementation tasks.
allowed-tools
Agent, Bash, Edit, Read, Write
# Neovim Implementation Skill Thin wrapper that delegates Neovim implementation to `neovim-implementation-agent` subagent. ## Trigger Conditions This skill activates when: - Task type is "neovim" - Implementation plan exists for the task - Neovim configuration changes need to be applied ## Execution Flow ### Stage 1: Input Validation Validate task_number exists and an implementation plan is present. ### Stage 2 + Stage 3: Preflight Status Update and Postflight Marker Source `skill-base.sh` once, then follow `@.claude/context/patterns/skill-preflight-flow.md` in full for Stage 2 (preflight status update) and Stage 3 (marker creation): ```bash source .claude/scripts/skill-base.sh padded_num=$(printf "%03d" "$task_number") skill_name="skill-neovim-implementation" operation="implement" ``` **Intentional behavior fix**: this skill previously wrote no `.postflight-pending` marker at all — zero premature-termination protection. This import gives it one. ### Stage 4a: Memory Retrieval and Literature Detection **Skip memory retrieval if**: `clean_flag` is true (from `--clean`). ```bash if [ "$clean_flag" != "true" ]; then memory_context=$(bash .claude/scripts/memory-retrieve.sh "$description" "$task_type" "" 2>/dev/null) || memory_context="" fi ``` Follow `@.claude/context/patterns/lit-stage4a-flow.md` in full to resolve `--lit` and set `lit_context`, exactly as `skill-orchestrate` does. This skill supplies the shared block's preconditions: `lit_flag`, `description`, `orchestrator_mode` (default `"false"` when unset). ### Stage 4: Prepare Delegation Context Domain-specific context for the neovim-implementation-agent: - Lua style guide from CLAUDE.md and `.claude/extensions/nvim/context/` - nvim --headless verification pattern - Neovim plugin spec format (lazy.nvim table format) ```json { "session_id": "sess_{timestamp}_{random}", "delegation_depth": 1, "delegation_path": ["orchestrator", "implement", "skill-neovim-implementation"], "timeout": 7200, "task_context": { "task_number": N, "task_name": "{project_name}", "description": "{description}", "task_type": "neovim" }, "plan_path": "specs/{NNN}_{SLUG}/plans/MM_{short-slug}.md", "metadata_file_path": "specs/{NNN}_{SLUG}/.return-meta.json" } ``` If `memory_context` and/or `lit_context` from Stage 4a are non-empty, include them in the prompt (memory context first, then literature briefing), after the delegation context and before task-specific instructions. Do NOT inject an empty block for either. ### Stage 5: Invoke Subagent Use Agent tool with subagent_type: "neovim-implementation-agent". ### Stage 5b: Self-Execution Fallback Follow `@.claude/context/patterns/skill-self-execution-fallback.md` in full. This skill's success status value for that block's write obligation is `"implemented"`. ## Postflight (ALWAYS EXECUTE) The following stages MUST execute after work is complete, whether the work was done by a subagent or inline (Stage 5b). Do NOT skip these stages for any reason. ### Stage 6: Parse Subagent Return Read the metadata file from `specs/{N}_{SLUG}/.return-meta.json`. ```bash metadata_file="specs/${padded_num}_${project_name}/.return-meta.json" if [ -f "$metadata_file" ] && jq empty "$metadata_file" 2>/dev/null; then status=$(jq -r '.status' "$metadata_file") artifact_path=$(jq -r '.artifacts[0].path // ""' "$metadata_file") artifact_type=$(jq -r '.artifacts[0].type // ""' "$metadata_file") artifact_summary=$(jq -r '.artifacts[0].summary // ""' "$metadata_file") memory_candidates=$(jq -c '.memory_candidates // []' "$metadata_file") # Schema: .claude/context/formats/return-metadata-file.md completion_summary=$(jq -r '.completion_data.completion_summary // ""' "$metadata_file") roadmap_items=$(jq -c '.completion_data.roadmap_items // []' "$metadata_file") else echo "Error: Invalid or missing metadata file" status="failed" fi ``` ### Stage 7, 7a, 8, 8a, 9: Postflight Status, Memory Candidates, Artifact Linking, Notify, Cleanup Follow `@.claude/context/patterns/skill-postflight-flow.md` in full: ```bash field_name='**Summary**' next_field='**Description**' ``` **Not covered by the shared block**: `completion_summary`/`roadmap_items` propagation via `skill_propagate_completion_summary`, preserved from before this conversion (already routed through `skill-base.sh`, which is now sourced once at Stage 2 + Stage 3 above rather than re-sourced here): ```bash if [ "$status" = "implemented" ] || [ "$status" = "completed" ]; then # Literal "neovim" (deliberate): matches this skill's Trigger Conditions task_type string. skill_propagate_completion_summary "$task_number" "$completion_summary" "$roadmap_items" "neovim" fi ``` ## Error Handling ### Input Validation Errors Return immediately if task not found. ### Metadata File Missing Keep status as "implementing", report error. ### Subagent Returns Partial/Failed Do not attempt to continue, complete, or "fill in" the subagent's work. Report the status and let the user re-run `/implement` to resume. ### Git Commit Failure Non-blocking: Log failure but continue. ## MUST NOT (Postflight Boundary) After the agent returns, this skill MUST NOT: 1. **Edit Lua files** - All Neovim config work is done by agent 2. **Run nvim --headless** - Verification is done by agent 3. **Analyze or grep source** - Analysis is agent work 4. **Write summary/reports** - Artifact creation is agent work > **PROHIBITION**: If the subagent returned partial or failed status, the lead skill MUST NOT attempt to continue, complete, or "fill in" the subagent's work. Report the partial/failed status and let the user re-run `/implement` to resume. The postflight phase is LIMITED TO: - Reading agent metadata file - Updating state.json via jq - Updating TODO.md status marker via Edit - Linking artifacts in state.json - Git commit - Cleanup of temp/marker files Reference: @.claude/context/standards/postflight-tool-restrictions.md ## Return Format Brief text summary (NOT JSON).
GitHub에서 보기