Setup domain ops
Skill cat2000/domain-knowledge-ops/.cursor/skills/setup-domain-ops
Agent skills for Cursor: Confluence/Jira → domain briefs → story risk & INVEST splits and test case Design. Offline DEMO-1 — no Atlassian needed to try.
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.
2 things to look at
- 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 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.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
6.2 KB, 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)