원클릭으로
refining-specs
Use when a specification has open questions requiring research, technical decisions, or user input to resolve
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when a specification has open questions requiring research, technical decisions, or user input to resolve
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | refining-specs |
| description | Use when a specification has open questions requiring research, technical decisions, or user input to resolve |
Systematically resolve open questions in specifications through research subagents, each producing a single commit. Questions requiring user input are flagged and queued while unblocked work continues.
Each open question gets its own subagent session that:
Questions are either:
When a subagent discovers it needs user input:
Process questions one at a time to maintain clean git history, but:
┌─────────────────────────────────────────────────────────────────┐
│ LEAD AGENT │
│ │
│ 1. Read spec, identify open questions │
│ 2. Create todo list for all questions │
│ 3. For each unblocked question: │
│ ├─► Dispatch subagent with question context │
│ ├─► Subagent researches, decides, updates spec, commits │
│ ├─► Push changes to origin │
│ └─► Print decision summary │
│ 4. After all questions: report blocked questions + inputs │
│ │
└─────────────────────────────────────────────────────────────────┘
You are researching Open Question N from the specification at `{spec_path}`.
**Question**: {question_text}
**Context**: {relevant_context}
**Your task**:
1. Research by:
- Fetching relevant documentation
- Understanding technical constraints
- Exploring alternatives
- Evaluating tradeoffs
2. Make a decision with rationale considering:
- Technical feasibility
- Security implications
- User experience
- Implementation complexity
3. Update the spec file to:
- Remove this question from "Open Questions" section
- Add decision to "Decisions" section with:
- Research findings
- Decision made
- Rationale
- Update implementation sections as needed
4. Create a commit:
- Run `jj new` first (if using jj)
- Make changes
- Use `jj describe -m "docs: resolve {question_summary}"`
**If you need user input**:
- Document your research findings
- Add a NEW question at bottom of "Open Questions" describing what input is needed
- Commit your progress
- Return summary of what's blocked and why
**Important**: Use jj for version control (not git).
Return:
1. What you researched and found
2. Decision made (or new question added if blocked)
3. Commit created
Each resolved question becomes a decision entry:
### D{N}: {Decision Title} (resolved from Q{M})
**Decision**: {One sentence summary}
**Research Findings**:
1. {Key finding with source}
2. {Another finding}
3. {Comparison table if applicable}
**Implementation**:
{Code examples, configuration, or architecture changes}
**Rationale**:
- {Why this approach over alternatives}
- {Security/performance/UX considerations}
When subagent encounters need for user input:
### Q{N}: {New Question Title}
**Background**: {Research done so far}
**Options identified**:
| Option | Pros | Cons |
|--------|------|------|
| A | ... | ... |
| B | ... | ... |
**Input needed**: {Specific question for user}
- Example: "Which approach do you prefer: A or B?"
- Example: "What is the budget for this service?"
- Example: "Do you have access to X?"
After each subagent completes:
**Q{N} Complete** - Decision: {one-line summary}
After all questions processed:
## Blocked Questions Requiring Input
| Question | Input Needed |
|----------|--------------|
| Q5 | Preference: polling vs webhooks? |
| Q7 | Budget for external service? |
## Decisions Made
| # | Question | Decision |
|---|----------|----------|
| D1 | {topic} | {decision} |
| D2 | {topic} | {decision} |
Bad: Making decisions based on assumptions Good: Fetch documentation, test claims, verify capabilities
Bad: Stopping when any subjective element exists Good: Research objectively, present options, flag only truly subjective choices
Bad: Researching all questions, then one giant commit Good: One question = one subagent = one commit = one push
Bad: Subagent returns "done" with no summary Good: Return specific findings, decision, and commit reference
Before starting:
For each question:
After completion:
Research and recommend the best local LLM model stack for the current machine. Detects hardware (CPU, GPU, RAM, VRAM), discovers installed hosting stacks (Ollama, llama.cpp, vLLM, etc.), searches Hugging Face for compatible models, and enables easy downloads. Use when the user wants to find, evaluate, or download local AI models that will run well on their system.
Zellij terminal multiplexer — creating KDL layouts, managing sessions via CLI, and running commands without disrupting the user's workspace
Use when adding a new service to a Nix flake — creating packages from upstream repos (Go, Node, Python), writing service modules, managing configs, wiring secrets, and testing. Covers the full lifecycle from source to running daemon.
Use when a launchd service on nix-darwin fails to start, exits with non-zero status, or doesn't restart after a switch. Triggers on: exit code 78, "EX_CONFIG", "Operation not permitted", daemon vs user.agent decisions, plist not being reloaded.
Use when managing 1Password secrets via Nix on nix-darwin. Triggers on: adding API keys, tokens, or credentials to service configs; wiring opnix 1Password items into home-manager modules; creating opnix-managed secret files with activation script ordering.
Use when tracking, planning, implementing, or reviewing work using yx (yaks) with the autonomous /shave loop, or when multiple agents need to coordinate on shared tasks