{"id":16600,"plugin_id":"plugins_6a599e3b00f0819192a964630fc98d27","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:13:33.833Z","digest":"77bb2df39ddf24b5c7f6097b79e051e88b4c52f0e15891ac0454f667eab1b5f1","against":null,"payload":{"description":"Create whole-novel setting and worldbuilding source files for this novel project. Use when the user wants to generate, refine, or save a novel setting, era, region, social order, locations, rules, atmosphere, constraints, or continuity facts into world/ as Markdown with YAML frontmatter.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":173},{"relative_path":"scripts/write_setting.py","size_in_bytes":4983}],"name":"create-setting","skill_md_contents":"---\nname: create-setting\ndescription: Create whole-novel setting and worldbuilding source files for this novel project. Use when the user wants to generate, refine, or save a novel setting, era, region, social order, locations, rules, atmosphere, constraints, or continuity facts into world/ as Markdown with YAML frontmatter.\n---\n\n# Create Setting\n\n## Overview\n\nUse this skill to turn a rough novel-setting prompt into a complete `world/*.md` source file.\n\nAlways follow `AGENTS.md` and `world/_template.md`. Generate useful defaults from the user's prompt, but keep the process interactive: reflect the inferred setting, ask for missing information and direction, revise from feedback, then write only after the user confirms.\n\nBefore running a bundled command, resolve `<skill-dir>` to the absolute directory\ncontaining this `SKILL.md`. This keeps the same skill usable from either the\nrepository-local skill tree or the Novelist plugin.\n\n## Workflow\n\n### 1. Read Context\n\nRead:\n\n- `AGENTS.md`\n- `project.md`\n- `world/_template.md`\n- Existing files in `world/`\n- Relevant `plot/`, `outlines/`, `materials/`, `macguffins/`, and `characters/` files if the prompt references them\n\n### 2. Generate A Setting Draft\n\nFrom the user's prompt, infer a compact first-pass setting in Korean. Include:\n\n- era and time scale\n- primary region and key locations\n- social order, institutions, class pressure, and power structure\n- material culture and technology level\n- atmosphere, sensory palette, and recurring visual motifs\n- rules or constraints that affect plot\n- continuity facts that should not drift\n- open questions and missing decisions\n\nMark inferred items clearly. Do not present guesses as fixed canon.\n\n### 3. Ask For Direction\n\nAsk the user what to add, remove, sharpen, or decide. The question must focus on missing information and authorial direction, not on generic brainstorming.\n\nGood prompts:\n\n- \"시대는 조선 후기 그대로 둘까요, 아니면 가상의 왕조로 비틀까요?\"\n- \"이 세계의 핵심 압박을 정치, 가족, 종교, 경제 중 어디에 두면 좋을까요?\"\n- \"현실 고증을 강하게 가져갈지, 분위기 우선으로 변형할지 선택해주세요.\"\n\nContinue the feedback loop until the user says it is enough or gives enough detail to save.\n\n### 4. Build The Setting File\n\nUse a filesystem-safe ASCII slug. Save to `world/<slug>.md`; `id` must be `world-<slug>`.\n\nRequired frontmatter:\n\n```yaml\nid: world-ascii-slug\ntype: world\ntitle: \"\"\ncategory: setting\nstatus: seed\ntime_period: \"\"\nlocations: []\nrules: []\nrelated_characters: []\nrelated_materials: []\nused_in_chapters: []\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: []\n```\n\nThe Markdown body must include:\n\n- `# <title>`\n- `## Description`\n- `## Story Pressure`\n- `## Continuity`\n\n### 5. Write And Verify\n\nPrefer the bundled script:\n\n```bash\npython3 \"<skill-dir>/scripts/write_setting.py\" --input /path/to/setting.json --project-root .\n```\n\nUse a temporary JSON file with final confirmed data. The script writes `world/<slug>.md`, refuses invalid slugs, and refuses to overwrite existing files unless `--force` is passed.\n\nAfter writing, verify frontmatter delimiters, `type: world`, matching `id`, and `git status --short`. Do not commit unless the user asks.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}