openspec-apply-change
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
- License 许可
- MIT
- 所属仓库
- psacc/omnisess
- 最近更新
- 2026-11-05
- Stars
- ★ 1
- Forks
- 1
01 前言 Front Matter
- name
- openspec-apply-change
- license
- MIT
- metadata
- { "author": "openspec", "version": "1.0", "generatedBy": "1.1.1" }
- description
- Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
- compatibility
- Requires openspec CLI.
03 SKILL.md 正文
Implement tasks from an OpenSpec change.
Input: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
Steps
-
Select the change
If a name is provided, use it. Otherwise:
- Infer from conversation context if the user mentioned a change
- Auto-select if only one active change exists
- If ambiguous, run
openspec list --jsonto get available changes and use the AskUserQuestion tool to let the user select
Always announce: "Using change: <name>" and how to override (e.g.,
/opsx:apply <other>). -
Check status to understand the schema
openspec status --change "<name>" --jsonParse the JSON to understand:
schemaName: The workflow being used (e.g., "spec-driven")- Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others)
-
Get apply instructions
openspec instructions apply --change "<name>" --jsonThis returns:
- Context file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs)
- Progress (total, complete, remaining)
- Task list with status
- Dynamic instruction based on current state
Handle states:
- If
state: "blocked"(missing artifacts): show message, suggest using openspec-continue-change - If
state: "all_done": congratulate, suggest archive - Otherwise: proceed to implementation
-
Read context files
Read the files listed in
contextFilesfrom the apply instructions output. The files depend on the schema being used:- spec-driven: proposal, specs, design, tasks
- Other schemas: follow the contextFiles from CLI output
-
Show current progress
Display:
- Schema being used
- Progress: "N/M tasks complete"
- Remaining tasks overview
- Dynamic instruction from CLI
-
Implement tasks (loop until done or blocked)
For each pending task:
- Show which task is being worked on
- Make the code changes required
- Keep changes minimal and focused
- Mark task complete in the tasks file:
- [ ]→- [x] - Continue to next task
Pause if:
- Task is unclear → ask for clarification
- Implementation reveals a design issue → suggest updating artifacts
- Error or blocker encountered → report and wait for guidance
- User interrupts
-
On completion or pause, show status
Display:
- Tasks completed this session
- Overall progress: "N/M tasks complete"
- If all done: suggest archive
- If paused: explain why and wait for guidance
Output During Implementation
## Implementing: <change-name> (schema: <schema-name>)
Working on task 3/7: <task description>
[...implementation happening...]
✓ Task complete
Working on task 4/7: <task description>
[...implementation happening...]
✓ Task complete
Output On Completion
## Implementation Complete
**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 7/7 tasks complete ✓
### Completed This Session
- [x] Task 1
- [x] Task 2
...
All tasks complete! Ready to archive this change.
Output On Pause (Issue Encountered)
## Implementation Paused
**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 4/7 tasks complete
### Issue Encountered
<description of the issue>
**Options:**
1. <option 1>
2. <option 2>
3. Other approach
What would you like to do?
Guardrails
- Keep going through tasks until done or blocked
- Always read context files before starting (from the apply instructions output)
- If task is ambiguous, pause and ask before implementing
- If implementation reveals issues, pause and suggest artifact updates
- Keep code changes minimal and scoped to each task
- Update task checkbox immediately after completing each task
- Pause on errors, blockers, or unclear requirements - don't guess
- Use contextFiles from CLI output, don't assume specific file names
Fluid Workflow Integration
This skill supports the "actions on a change" model:
- Can be invoked anytime: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions
- Allows artifact updates: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly
04 同仓库更多 Skills
stats
Show tool-call counts and file-I/O activity from the transcript SQLite index. Aggregates Read/Write/Edit file paths, line counts, token usage, and error flags across a time window (default 7d) or for a single session. Use this skill when asked which tools were used most, which files saw the most activity, how many tokens were spent, or to inspect a single session's tool-call summary. Trigger phrases: "session stats", "tool stats", "what tools did I use", "tool usage", "files touched", "token usage", "stats for last week", "summarize tool calls", "session tool breakdown".
skills-audit
Classify agent skills by usage tier (Keep / Borderline / Archive / Unknown) using Claude Code session JSONL transcripts as the signal source. Read-only — never modifies skills, sessions, or any file on disk. Use this skill when asked to audit skills, find unused skills, classify skills, check which skills get used, produce a skill usage report, or prune skills. Trigger phrases: "audit skills", "find unused skills", "classify skills", "which skills do I use", "skill usage report", "prune skills", "what skills are unused", "skills I can remove", "trim my skill list". Output is a recommendation (Keep / Borderline / Archive) — acting on it is always a manual step.
show
Show the full detail of a single AI coding session by its ID. Session IDs are in the format <tool>:<id> (e.g., claude:5c3f2742, cursor:a1b2c3d4). Use this skill when asked to show a specific session, inspect a session, read a session, or view the messages in a session. Trigger phrases: "show session", "open session", "inspect session", "read session", "show me claude:5c3f2742", "view session details", "what happened in session".
search
Full-text search across all AI coding sessions (Claude Code, Cursor, Codex, GitHub Copilot CLI). Use this skill when asked to search sessions, find a conversation about a topic, look up what was discussed in past sessions, or find sessions mentioning specific code or concepts. Trigger phrases: "search sessions", "find sessions about", "look up in sessions", "what did I discuss about", "find conversation about", "search my history".
recap
Produce a structured markdown briefing of AI coding sessions for a given time window. Groups sessions by project and summarizes each group with intent, outcome, and status. Use this skill when asked to recap recent coding work, summarize today's sessions, show what was worked on, or produce a daily/weekly session summary. Trigger phrases: "recap", "what did I work on", "daily summary", "session summary", "summarize my sessions", "what sessions did I have today", "coding recap". This is the sessions-only public version — no Slack, Jira, or Granola integration.
ps
Show live Claude Code and Codex sessions as a process tree, grouped by shared ancestor chain up to launchd. Covers Claude CLI sessions, Claude Desktop agent mode, and Codex sessions (CLI TUI + Codex.app threads). Use this skill when asked about the process tree, ancestor lineage, which terminal or tmux window a Claude or Codex session is running in, or what's currently running. Trigger phrases: "process tree", "what's running", "lineage", "ancestor chain", "which terminal is my claude in", "tmux tree", "claude process tree", "codex process tree", "session lineage". macOS-only: on other platforms the command prints "unsupported" and exits 0.