소스 정보
- 저장소
- meridian-online/orbit
- 최근 소스 활동
- 2026년 5월 27일 06:21
- 감지된 SKILL.md 언어
- 영어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/meridian-online/orbit --skill distill명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | distill |
| description | Extract capability cards from source material — files, directories, or a whole project |
| argument-hint | [file_or_dir] |
| allowed-tools | Bash Read Edit Write AskUserQuestion Glob Grep |
Extract structured feature cards from source material. Takes a memo, a document, a directory, or a whole project and identifies the capabilities it describes, presenting them as a batch for review before anything is written to disk.
/orb:distill <scope>
Where <scope> is one of:
.orbit/memos/2026-04-07-progress.md or .orbit/specs/topic/interview.mddocs/ or . (the whole project)"the readme, docs, git history and specs"Ideas arrive as freeform text. Turning them into actionable cards currently requires a full /orb:card interview per feature. Distill bridges the gap — it reads what you've already written and extracts cards from it, so existing work product becomes actionable without re-interviewing.
Interpret the author's $ARGUMENTS to determine what to read:
When scope spans multiple artifacts, build a working set of all the material before extracting. The extraction step operates on the aggregate, not file-by-file.
Distill works in three phases: Draft → Review → Write. State this upfront when presenting results so the author knows the process:
"I've drafted N cards. Nothing is written to disk until you approve the final set. Let's review them together first."
Nothing touches disk until the author explicitly approves the final set. This is the core contract. Cards exist only in the conversation until the write phase.
Before drafting, run orbit overview to see the project's existing shape (cards-by-maturity, most-connected card, orphans) and orbit card tree <id> on any card the source material seems adjacent to — this surfaces capabilities the new draft might overlap with, before the draft is written. The substrate is the canonical inventory; distilling against it avoids duplicates.
Analyse the source material and identify distinct features. A "feature" is a capability the product provides — something a user can do or observe.
The first-principles lens:
Always ask "what does this product do?" — not "what's planned next?" You are describing capabilities, not mining for TODOs. Even when the source material contains roadmap items, TODO comments, or planned enhancements, distill through the lens of what the user gets, not what the developer has left to build.
For example:
Per-candidate classification — capability or choice?
For each candidate distillation, ask: is this a new capability the product provides, or a choice about how an existing capability is implemented? If the latter (e.g. "should X live in bash or rust", "schema choice for Y", "review pattern Z", library or implementation-surface decisions), it belongs as a MADR choice file at .orbit/choices/NNNN-<slug>.yaml, not a card. The capability is unchanged; only the implementation surface is being decided. Worked example: a memo arguing for orbit spec promote to live in rust is choice-shape, not card-shape.
Surface choice-shape distillations in the Review phase the same way as cards, but flag them as choice (not card) in the numbered list so the author can confirm routing before the Write phase. See .orbit/choices/0001-progressive-spec-review.yaml for choice file shape.
Rules:
Check for overlap with existing cards: Before drafting, run a keyword scan (see /orb:keyword-scan) against .orbit/cards/ using terms from the source material. If existing cards already describe a capability you're about to draft, note the overlap — it may mean updating an existing card rather than creating a new one. Surface overlaps during the Review phase.
Draft ALL cards before presenting any of them. Each card uses the standard YAML format:
feature: "<short feature name>"
as_a: "<role>"
i_want: "<desired outcome>"
so_that: "<reason/benefit>"
scenarios:
- name: "<scenario name>"
given: "<precondition>"
when: "<action or event>"
then: "<observable outcome>"
source_lines: "<quoted passage from source>"
goal: "<current measurable target>" # optional — what success looks like right now
maturity: "planned" # planned | emerging | established
specs: [] # specs that have addressed this capability
references:
- "<source artifact path(s)>"
Critical rules for card content:
source_lines field quotes the originating passage. If you can't point to a passage that supports a scenario, don't include that scenario.source_lines is mandatory on every scenario. It must quote text that exists verbatim (or near-verbatim) in a source artifact. When scope spans multiple files, prefix with the file path: "README.md: Detects 120+ semantic types". This is the mechanically verifiable link between the card and its source.references always includes the source artifacts. Every card produced by distill includes the input scope in its references list. For single-file scope, this is the file path. For broader scope, list the key artifacts the card was extracted from./orb:card — what the user observes, not how it's built.Present all drafted cards as a numbered batch. The author sees the complete taxonomy before committing to anything.
Presentation format:
Drafted N card(s) from <scope description>. Nothing is written to disk yet.
1. <feature name> — <one-line summary>
2. <feature name> — <one-line summary>
...
Then show the full YAML for each card, numbered to match.
After presenting the batch, surface observations:
Use AskUserQuestion to invite feedback:
"Review the set above. You can ask me to merge, split, drop, rename, or edit any cards. When the set looks right, say 'write' and I'll save them all."
The author's feedback applies to the batch as a whole. Common operations:
After applying changes, re-present the updated set with the same numbered format. Continue until the author says "write" or equivalent.
Edits and source_lines: If the author requests adding a new scenario that has no corresponding passage in the source material, set source_lines to "author-directed during review". The extract-not-invent rule applies to the initial extraction — author-directed edits are explicitly authored, not LLM-invented.
When the author approves the final set:
.orbit/cards/ directory to determine the next available NNNN number. If .orbit/cards/ does not exist, create it and start at 0001..orbit/cards/NNNN-<slug>.yamlDistill complete:
Scope: <scope description>
Written: N card(s)
- .orbit/cards/NNNN-<slug>.yaml
- .orbit/cards/NNNN-<slug>.yaml
...
Dropped: M card(s) during review
.orbit/memos/, delete each consumed memo:
git rm .orbit/memos/<memo-file>
Only delete memos that produced at least one card in the approved set. The cards' references field preserves provenance; git history preserves the original content.Card numbering is determined at write time. This is a single-user workflow — concurrent numbering is a known limitation, not a bug to solve.
.orbit/topology/ exists and is populated (the canonical predicate per choice 0025 — substrate-folder shape), ask: did any of the newly-written cards correspond to a subsystem-level capability (a multi-file area with its own data shape, wiring, and operational surface) — rather than a prose, UX, or single-file change? If yes, invoke /orb:topology write-mode against the relevant subsystem name so the topology substrate accretes alongside the new card. This is quality-gated — only fire when the distillation genuinely describes a subsystem, not on every distill.If any cards were written, suggest next step: /orb:tabletop to refine a card into a spec.
/orb:card — distill produces the same YAML format, so distilled cards are interchangeable with interview-created cards.orbit/memos/ — the primary input source; consumed memos are deleted after card extraction (§5 step 4). Git history preserves the original content/orb:tabletop — the natural next step after distilling a card/orb:discovery — interview.md files from discovery sessions are valid distill inputsNext step: Run /orb:tabletop on an approved card to work out the technical approach.
SOC 직업 분류 기준