소스 정보
- 저장소
- jumppad-labs/spektacular
- 최근 소스 활동
- 2026년 7월 31일 13:15
- 감지된 SKILL.md 언어
- 영어
- 스타
- 20
- 포크
- 3
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/jumppad-labs/spektacular --skill spek-knowledge명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | spek-knowledge |
| description | Search, contribute to, or update the project's knowledge base. |
Version check first. Before running any other command, run
{{command}} version check.
- On
status: "match", continue with the skill and produce no version-related output.- On
"mismatch"or"missing", the installed Spektacular files are out of date: relay the response'sactionmessage to the user, ask them to re-run{{command}} init <agent>, and wait for their decision before continuing.- Never modify or re-install any installed files yourself — refreshing the installation is always an explicit, user-initiated re-run of init.
This skill orchestrates the existing {{command}} knowledge CRUD surface for ad-hoc read, contribute, and update operations on the project's knowledge store, without starting a spec/plan/implement flow. Unlike spek-new, spek-plan, and spek-implement, it does not drive an interactive CLI state machine — it is a static playbook. The agent recognises the user's natural-language intent, picks one of three branches (lookup / contribute / update), and calls the matching {{command}} knowledge command directly.
Invoke this skill any time the user references the knowledge base, an entry, a convention worth remembering, or asks a question that the knowledge store might already answer. Typical natural-language triggers include:
One skill handles all three intents. Discriminate by what the user actually said — do not ask the user to pick a slash command per intent.
Triggered when the user wants to read or search existing entries. A lookup does not dump the raw hit list — it returns a single consolidated, source-cited answer with duplicates removed and the most specific source winning. The flow has a deterministic stage (exact de-dup) and a judgement stage (consolidation), kept strictly separate.
Search. Run {{command}} knowledge search <query> with a concise query derived from the user's question. The output is a ranked list of results — one per matching document, strongest match first — each carrying its scope (e.g. project, team, global), path, title, score, category (the kind of knowledge: e.g. gotchas, architecture, learnings), checksum (a content hash), and up to three excerpts. A document matches when every query word occurs somewhere in it, in any order. If there are no hits, say so plainly and stop — do not fall back to a write unless the user explicitly asks to add a new entry.
Exact de-dup (deterministic — no judgement). Group the hits by their checksum. Hits sharing a checksum are byte-identical copies of the same entry held in more than one place; collapse each such group to a single candidate, unioning the scope/path citations of every copy in the group. This is pure equality — never merge two entries whose checksums differ at this stage, however similar they look. The result is a list of unique candidates, each with one or more source citations.
Consolidate (judgement — delegated to a sub-agent). Hand the unique candidates to a consolidation sub-agent so the raw bodies never crowd the main context. The sub-agent's contract:
scope(s), path(s), and category).{{command}} knowledge read --data '{"scope":"<scope>","path":"<path>"}', then classify the relationship between candidates and combine them:
project (most specific) → team → global (least specific); a project entry overrides a team entry overrides a global one for the same item. State the winning guidance and note what it overrode.If the executing agent cannot spawn a sub-agent, run the exact same consolidation inline in the main context instead: read the unique candidates' bodies, apply the identical relationship-classification and layered-precedence rules, and present the same single cited answer. The output is identical; only the context isolation is weaker. Do not block on the absence of sub-agent orchestration.
Triggered when the user wants to record something new.
{{command}} knowledge sources to enumerate configured scopes (the authoritative list of writable destinations), and {{command}} knowledge categories to load the category definitions — each category's purpose, boundary, retrieval tier, and expected entry shape.convention, a defined term is a glossary entry, the reasoning behind a choice is a decision, an empirical finding is a learning, a structural fact is architecture, a sharp edge is a gotcha. Honour the entry shape: the glossary is for a term and a short gloss only — steer over-long or multi-paragraph content to a more fitting category (architecture, learnings, decisions) rather than letting it bloat the always-applied glossary. The entry's path is then <category>/<slug>.md, a slug-style filename under the chosen category..spektacular/tmp/<slug>.md using the Write tool. Do not pipe the body via stdin; the only supported invocation is --file <staged>.{{command}} knowledge write --data '{"scope":"<scope>","path":"<category>/<slug>.md"}' --file .spektacular/tmp/<slug>.md
rm .spektacular/tmp/<slug>.md.Triggered when the user wants to revise an existing entry.
{{command}} knowledge search <query> (or read the user-supplied path directly) to locate it. Confirm the scope and path with the user if there is any ambiguity.{{command}} knowledge read --data '{"scope":"<scope>","path":"<path>"}'..spektacular/tmp/<slug>.md using the Write tool.{{command}} knowledge write --data '{"scope":"<scope>","path":"<path>"}' --file .spektacular/tmp/<slug>.md
The scope and path must match the original — that is what makes this an update rather than a new entry.rm .spektacular/tmp/<slug>.md.If the user declines, asks for changes, or expresses uncertainty at any propose-then-confirm checkpoint, do not invoke {{command}} knowledge write. Either loop back to refine the proposal — adjust scope, path, or body and re-show — or stop and leave the knowledge store untouched. Removing the staged scratch file at .spektacular/tmp/<slug>.md is fine either way; a half-finished proposal should not linger on disk.
The propose-then-confirm contract is enforced by this prose, not by a CLI guard. Treat it as load-bearing: a write without explicit user approval is a bug in the skill's execution, not an acceptable shortcut.
Present the sub-agent's consolidated answer to the user, keeping every citation (scope + path) visible so the user can see which configured store each point came from. Never present the raw hit list as the result.