소스 정보
- 저장소
- 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 card명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Audit AC-to-test traceability — find untested ACs, orphaned test prefixes, and coverage gaps
Explore a vague idea through Q&A — capture what good looks like as an interview record for /orb:spec
Extract capability cards from source material — files, directories, or a whole project
SOC 직업 분류 기준
SKILL.md 표시 중
| name | card |
| description | Write a feature card — capture who needs what, why, and expected behaviours as scenarios |
| argument-hint | [card-id] |
| allowed-tools | Bash Read Edit Write AskUserQuestion |
Interactively write a feature card that captures a user need with expected behaviours.
/orb:card [topic]
A card captures a feature: who needs it, why it matters, and what they'd expect to see. It follows a Gherkin-inspired structure — a feature description with scenarios — expressed in YAML.
Cards are NOT specs. They don't prescribe solutions. "The step name is visible immediately" doesn't say "flush stdout" — it says what the user observes. The how comes during the interview.
Before writing anything, classify the request. Cards and choices are different artefacts and choosing the wrong one is the most common mistake at this entry point.
.orbit/choices/NNNN-<slug>.yaml instead — see .orbit/choices/0001-progressive-spec-review.yaml for the shape.Worked example of the trap. "Should orbit spec promote live in rust as a verb instead of bash?" is choice-shape — the promote capability already exists, the question is implementation surface. File as a choice, not a card.
If unsure, ask the user explicitly: "Is this a new capability or a decision about how an existing one is implemented?" before proceeding.
Read the .orbit/cards/ directory. Find the highest existing NNNN-*.yaml number and increment by 1. If no cards exist, start at 0001.
Use AskUserQuestion to gather:
true, the scenario describes a sequencing checkpoint — the corresponding bead AC blocks all subsequent ACs by declaration order. orbit spec promote propagates this into the bead acceptance field as a [gate] marker. Use sparingly — only for scenarios that name a decision or prerequisite that must complete before later scenarios can begin.so_that says why the capability matters (timeless); the goal says what you're driving toward right now. Goals evolve as the capability matures — git history tracks the progression.established — built and workingemerging — partially built, some specs have addressed itplanned — not yet built (default for new cards)Save as .orbit/cards/NNNN-<slug>.yaml:
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>"
# gate: true # optional — propagates to bead AC as [gate] via `orbit spec promote`
- name: "<scenario name>"
given: "<precondition>"
when: "<action or event>"
then: "<observable outcome>"
goal: "<current measurable target>" # optional — what success looks like right now
maturity: "planned" # planned | emerging | established
specs: [] # specs that have addressed this capability
references: # optional — prior art and inspiration
- "<tool/approach>: <what's relevant about it>"
Before finalising, run a keyword scan (see /orb:keyword-scan) against .orbit/cards/ and .orbit/specs/ using terms from the feature name and scenarios. If an existing card already describes this capability, surface it — the author may want to update the existing card rather than create a new one.
After authoring a card and pointing the author at it (via orbit card show <slug>), suggest orbit card tree <slug> as the natural next step — it shows the local relations subgraph (depth 2 default) so the author can see how the new card sits in the existing knowledge tree without grepping.
Verify the card against INVEST criteria:
Cards describe capabilities, not work items. When a capability evolves, update the card in place — git history is the audit trail. Cards are never "closed" or "delivered"; they are the current description of what the product does for its users.
The relationship between cards and work is mediated by specs: a spec references a card and prescribes how to implement or extend the capability. Multiple specs may reference the same card over time as the capability matures.
Some cards sit at maturity: planned with empty specs: not because they're undesigned, but because you've deliberately decided to hold them — waiting on a second use-case to confirm the pattern, on a related cluster to crystallise, or on a calendar date. The conformance audit can't tell the difference between undesigned and deliberately held, so by default it nags about both.
To declare a card parked, add a park: block:
maturity: planned
park:
reason: awaiting third use-case forcing
until: N=2 evidence
Both subfields are free-form prose:
reason: — why the card is held. One short sentence. Examples: "awaiting third use-case forcing", "blocked on upstream choice 0021", "observation window after substrate-engagement rally closes".until: — the unhold condition. Free-form too. Examples: "N=2 evidence", "cluster synthesis on cards 0037 + 0038 + 0042", "2026-08-01", "hydrofoil consumer hits the pattern".When the card is parked, conformance's card-state finding family skips it silently — no ready_for_tabletop finding, no envelope trace. The carve-out applies only to that family; aggregated drift, topology drift, memo staleness, and plugin-canonical-file findings continue to fire normally if the card or its surroundings warrant them.
To unpark, remove the park: block from the card YAML. The card returns to the audit's view on the next conformance run.
v1 limitation. until: is free-form text only — there is no automated unpark. The audit will not fire when a date passes or when a referenced spec closes. Treat parking as a quarterly-or-so review discipline: scan parked cards, decide whether the hold still applies, and remove the block when it doesn't. Structured triggers may land in a future spec; today, the human is the parser.
Specs get completed — progress.md marks all ACs done, /orb:review-pr verifies the work, and the PR merges. That's the closure unit. The card persists because the capability persists.
When a spec produces a NO-GO or invalidates an assumption:
progress.md with evidencegoal to reflect what was learnedmaturity based on current stateThe card lives on. Its goal may change, its maturity may shift, but it still describes what the product does — which now includes what you learned.
Next step: Refine this card with /orb:tabletop to work out the technical approach.