Setup domain ops
Skill cat2000/domain-knowledge-ops/.cursor/skills/setup-domain-ops
One-time setup: credentials, company/business intro → industry module template (confirm), Confluence space URL(s), Jira board id(s). Writes team-roots.json as v3 (libraries + teams mounting them). See docs/TEAM_ROOTS_V3.md.From its SKILL.md
npx -y skills add cat2000/domain-knowledge-ops --skill setup-domain-opsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.2 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
setup-domain-ops
Configure this repo for your tenant with a short dialogue.
Model (docs/TEAM_ROOTS_V3.md): one Confluence space = one library; each Jira team mounts libraries[].
Path C default (single library): one space + one board → one libraries.* entry + one teams.* with libraries: [<that key>].
Write version: 3 JSON. Do not write the old v2 shape (root/overview on the team). Template: team-roots.example.json. Multi-mount illustration only: team-roots.v3.example.json.
When to run
- First clone of this pack
- Adding a Confluence space (library) or Jira board (team)
- Changing deliverable locale (
zh-CN/en) - Refreshing module cuts after strategy changes
Agent checklist
A. Credentials
- Ensure root
.envexists (cp .env.example .env) and collect:ATLASSIAN_EMAIL/ATLASSIAN_API_TOKENATLASSIAN_BASE_URLandCONFLUENCE_BASE_URL(no placeholders in production)
- Set
defaults.deliverable_locale(zh-CNoren) when editingteam-roots.json. - If
team-roots.jsonstill hasyour-site.atlassian.net, offer to copy fromteam-roots.example.json, then replace placeholders.
B. Company intro → industry template (required)
- Ask only:
- Company / product name
- Short business intro (industry, who rules apply to, one-line in-domain vs out-of-domain)
- As an industry expert, draft a best-practice domain cut (not product rule text):
- 3–8 candidate modules (business name + one-line axis)
- Light
strategy.md§2 fill from that draft (subjects, strengthen/weaken, a few adjudication questions)
- Use
strategy.example.mdonly as format. Do not copy Acme / demo slugs into production profiles. - Pause for human confirm on the module table (edit/rename/drop rows). Do not invent a fake industry if the intro is empty — ask again.
Template vs truth: the draft is a cut template (industry adjudication axes / 大类). It does not mean domain knowledge is already covered. Completeness comes later from Confluence + Jira via bidirectional tagging (S2 closure), landing sources into those axes, and tagging_acceptance.py — say this explicitly when the human confirms the table. Do not promote filing layout into modules, and do not hard-code tenant remount tables.
C. Derive machine profiles (after confirm)
- From confirmed modules + §2 draft, write:
domain-knowledge/s2-domain-profiles.json— themes, facets, cuesdomain-knowledge/s2-propose-industry-seeds.json—module_seeds(team keys as known)domain-knowledge/jira/teams/<team>.json— classify facets aligned to slugs (when team exists)
- Do not continue to wiki with empty
checklist_themes.
D. Confluence spaces → libraries.* (v3)
- For each space, collect overview URL (or homepage id). One space → one library key (stable slug, e.g. product or space_key lowercased).
- Write under
libraries.<library_key>:display_name,root_id/library_id(homepage id),confluence_overview, optionalspace_key,s2_profiledeliver_by_propositionfrom confirmed modules, using the activedefaults.deliverable_localeS7 filename:en→"<slug>": ["<slug>", "<slug>-domain-brief.md"]zh-CN→"<slug>": ["<slug>", "<slug>-领域知识定稿.md"]- (suffix from
domain-knowledge/language/deliverable-locale-tokens.json→filenames.locale_brief_suffix) Do not hard-code English*-domain-brief.mdwhen locale iszh-CN.
- Set
defaults.default_libraryto the primary (usually the only) library key. - Remind next step per space:
@generate-knowledge-from-wiki <overview-URL>
E. Jira boards → teams.* mounts (v3)
- For each delivery team, collect board_id (+ optional display name / agile team / jql_base).
- Write under
teams.<team_key>:libraries: ["<library_key>", …]— Path C single-lib: one entry (the library from D)jira.board_idand related fields;attribution_configwhen present- Do not put
root_id/confluence_overview/deliver_by_propositionon the team (those live on the library)
- Set
defaults.default_teamwhen there is a primary team. Remind Path C order:
Jira is the default second half of bidirectional tagging when a board exists — not an optional appendix.@generate-knowledge-from-wiki <overview-URL> # then tagging acceptance; if board_id set: @add-knowledge-from-jira team=<team_key>
F. File shape checklist (before finish)
team-roots.jsonmust have"version": 3, non-emptylibraries, and every team with non-emptylibraries[].- Single-library Path C is done when: one library + one team mounting it + profiles non-empty + handoff commands shown.
- Remind: do not commit production
curated//extracted//materialized/or.envto a public fork.
Hard stops
- Empty company/intro and empty module table → stop; do not invent an industry.
- Empty
checklist_themes→ do not pretend Recognize/wiki modules exist. - Never reintroduce shipped offline-demo fixture slugs unless the user’s confirmed strategy contains them.
- Do not scrape the public web into brief rule bodies; optional public hints for module naming only, always confirmed.
- Do not write v2-only team records (overview + board on the same object without
libraries{}).
Out of scope
- Running full S1–S7 (hand off to
@generate-knowledge-from-wiki) - Parsing
strategy.mdwith scripts (agent derives JSON; scripts read JSON only) - Multi-space merge into one
_deliver/(deferred; see TEAM_ROOTS_V3) - Full multi-mount classify/risk (config may list several libraries; runtime still uses primary mount until a later slice)
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.