[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WM84SNRV8GWSQNF5ZVAG73":3,"skill-same:01M6WM84SNRV8GWSQNF5ZVAG73":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6WM84SNRV8GWSQNF5ZVAG73","smoke-local",null,"Run \u002Fsmoke-local — boot the real local MCP backend through the test harness, route all LLM calls through the agy CLI provider (never mock, never direct Gemini), play a new campaign to character level 4, and probe combat\u002Fspell\u002Finventory\u002FNPC-dialog narrative liveness. Use when the user says \u002Fsmoke-local, \"run the local smoke\", \"smoke the agy path locally\", or wants an on-demand local provider-path proof against the real agy LLM.","jleechanorg\u002Fjleechan-skills","jleechanorg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F221404966?v=4","01M6C1VJ99XG950X1DWPEBCBGX","01M6C1VJDK5YVDNT3362RT5WSB",6,"MIT","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fworldarchitect\u002Fskills\u002Fsmoke-local\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"smoke local","smoke","local","campaign","new","when","test harness","path","spell","narrative","ComBat","route","character","MCP","never","dialog","direct","inventory","harness","run","cli","2026-11-10 10:12:30",false,"---\nname: smoke-local\ndescription: Run \u002Fsmoke-local — boot the real local MCP backend through the test harness, route all LLM calls through the agy CLI provider (never mock, never direct Gemini), play a new campaign to character level 4, and probe combat\u002Fspell\u002Finventory\u002FNPC-dialog narrative liveness. Use when the user says \u002Fsmoke-local, \"run the local smoke\", \"smoke the agy path locally\", or wants an on-demand local provider-path proof against the real agy LLM.\n---\n\n# \u002Fsmoke-local — Real Local Server + agy Provider Smoke\n\n## Purpose\n\nProve the full local game path works against the **real agy CLI LLM provider** — not\nmocks, not the direct Gemini SDK. A single `\u002Fsmoke-local` run:\n\n1. Starts a REAL local dev server (auto-started by the test on a free port, same\n   `mvp_site` backend `local.sh` runs).\n2. Activates the agy provider so every LLM call is routed through the `agy` binary.\n3. Creates a NEW campaign and drives the character to **level 4**.\n4. Probes several more core-game prompts beyond leveling (combat, spells,\n   inventory, NPC dialog) and requires a real narrative for each.\n5. Writes an evidence bundle and reports PASS\u002FFAIL.\n\nThis is the on-demand entry point. The same flow also runs automatically on a cadence\n(see [Cadence](#cadence-automatic)).\n\n## NO-MOCK CONTRACT (a run is VOID if any of these hold)\n\nReal server + real **agy** LLM + real Firestore, always. The run is invalid if any of\nthese env vars are set: `MOCK_SERVICES_MODE`, `TEST_MODE=mock`, `USE_MOCK_FIREBASE`,\n`USE_MOCK_GEMINI`, `FORCE_TEST_MODEL=true`, or `SMOKE_TOKEN`. Authenticate through\nreal Firebase Auth with a dedicated non-primary test account. For tests under\n`testing_mcp\u002F`, resolve the project root and follow its `testing_mcp\u002FAGENTS.md`\ninvocation and account rules; acceptance runs must explicitly set both bypass flags\nto `false`. If the test harness cannot meet that contract yet, report the run blocked\nand do not claim authenticated acceptance.\n\nThe LLM path MUST be agy. `$PROJECT_ROOT\u002Fllm_providers\u002Fprovider_gateway.py ::\nis_agy_provider_mode()` is DEFAULT-ON for local dev, but it only returns `True` when\n`AGY_RUNTIME_HOME` is a valid existing directory — otherwise it falls back to the\nGemini SDK. Sourcing the env file (Step 2) is what makes that directory exist and\nturns agy on. If you skip the `source`, you silently test Gemini, not agy.\n\n## The exact flow\n\nRun from the session worktree root (which can be resolved via `git rev-parse --show-toplevel`).\n\n### Step 1 — build the sanitized agy HOME + env file\n\n```bash\nbash $PROJECT_ROOT\u002Finstall.sh --no-validate   # fast: skips the live agy auth probe\n# or, for full validation including a live agy call:\nbash $PROJECT_ROOT\u002Finstall.sh\n```\n\n`install.sh` creates the sanitized `HOME` at `\u002Ftmp\u002Fagy-clean-home-v1` and writes\n`\u002Ftmp\u002Fagy-clean-home-v1\u002Fworldai-agy.env`. That env file exports:\n\n| Var | Value | Meaning |\n|-----|-------|---------|\n| `AGY_PROVIDER_ENABLED` | `1` | agy provider on |\n| `AGY_RUNTIME_HOME` | `\u002Ftmp\u002Fagy-clean-home-v1` | sanitized HOME (gates `is_agy_provider_mode()`) |\n| `AGY_BINARY` | `$(command -v agy)` | the agy CLI |\n| `AGY_TIMEOUT_SECONDS` | `900` | per-call LLM timeout (agy is slower than SDK) |\n| `WORLDAI_FIRESTORE_TRANSPORT` | `rest` | Firestore over REST |\n| `WAITLIST_MODE_ENABLED` | `false` | no waitlist gate locally |\n\nUse `--no-validate` for a quick setup that skips the live agy auth check; omit it for a\nfull validation that includes a real agy round-trip.\n\n### Step 2 — activate the agy provider\n\n```bash\nsource \u002Ftmp\u002Fagy-clean-home-v1\u002Fworldai-agy.env\n```\n\nThe test (Step 3) inherits these env vars and passes them to the real local server\nit auto-starts, so the entire game path routes LLM calls through agy.\n\n### Step 3 — run the smoke test (it auto-starts its own real local server)\n\n```bash\nTESTING_AUTH_BYPASS=false ALLOW_TEST_AUTH_BYPASS=false \\\n  GOOGLE_APPLICATION_CREDENTIALS=\"${GOOGLE_APPLICATION_CREDENTIALS:?GOOGLE_APPLICATION_CREDENTIALS not configured: path to the service account key}\" \\\n  PYTHONPATH=\"$(pwd):$(pwd)\u002Fmvp_site\" \\\n  python3 testing_mcp\u002Fcore\u002Ftest_smoke_local.py\n```\n\n`MCPTestBase` auto-starts a REAL local server on a free port using the same\n`mvp_site` backend `start_local_mcp_server` the rest of the suite uses, inheriting\nthe agy env so LLM calls route through the agy CLI, and tears it down on exit.\n\n**Do NOT pass `--server`.** An external server started by `local.sh` never receives\n`MCP_TEST_PROVIDER_HTTP_CAPTURE_PATH` (only the auto-started server does), so no agy\nprovider transport trace is written and the strict evidence bundle cannot be produced\n— see **bead rev-siu48**. `local.sh --force-default-port --no-log-stream` is still the\nway to eyeball the interactive dev UI (backend `8081` \u002F React `3002`); it just is not\nthe evidence path.\n\nPer `testing_mcp\u002FCLAUDE.md`, `testing_mcp` tests run with `python3` and an explicit\n`PYTHONPATH` (`\u003Croot>:\u003Croot>\u002Fmvp_site`) — **never `vpython`**, never `pytest`, never\nmock mode. The runtime guard (`testing_mcp\u002Flib\u002Fserver_utils.py`\n`_assert_no_mock_services()`) hard-fails if any mock flag is set.\n\n### Step 4 — what the test proves (real agy LLM, real Firestore)\n\nThe test creates a NEW campaign and uses prompts oriented toward these user stories from\n`docs\u002Fuser-stories-general.md`:\n\n| User story | Behavior exercised |\n|-----------|--------------------|\n| **US-005 \u002F US-006** | Level up the character all the way to **level 4** (primary anchor). |\n| **US-001 prompt** | Submit a combat action and require a non-trivial real agy narrative. |\n| **US-009 prompt** | Submit a spell action and require a non-trivial real agy narrative. |\n| **US-010 prompt** | Submit an inventory action and require a non-trivial real agy narrative. |\n| **US-017 prompt** | Submit an NPC-dialog action and require a non-trivial real agy narrative. |\n\nOnly the level-4 transition is a mechanics assertion. The four follow-up scenarios\nare provider-path liveness probes; the dedicated suites own their deeper mechanics.\n\nEvidence bundle is written to `\u002Ftmp\u002F\u003Crepo>\u002F\u003Cbranch>\u002Ftest_smoke_local\u002Flatest\u002F`\n(e.g. `\u002Ftmp\u002F\u003Crepo>\u002F\u003Cbranch>\u002Ftest_smoke_local\u002Flatest\u002F`).\n\n### Step 5 — report PASS\u002FFAIL\n\nReport the overall verdict with the full absolute evidence bundle path. The test tears\ndown its own auto-started server on exit — no manual teardown needed. If you also ran\n`local.sh` interactively, inspect the listener and stop only the process you started;\nnever terminate an unrelated listener by port or command-name match.\n\n### agy reliability notes (why the test retries)\n\nThe agy CLI intermittently prepends async task-orchestration noise\n(`**SYSTEM NOTE:** Waiting for command execution completion…`) ahead of the gameplay\nJSON on character code-execution turns, which the provider's normalizer rejects\n(0 chunks, streaming transport error). The test recovers this with bounded retries\n(`_ACTION_MAX_ATTEMPTS`) — each gameplay turn ends in a real agy response. It also sets\n`REQUIRE_AGY_SUCCESS = False` so the strict agy evidence validator tolerates those\nretry-recovered per-turn errors (the trace must still carry real agy request+response\ntraffic). The `rewards_box` structured field on the level-up turn is a soft observation\n(agy structured output is weaker than Gemini); reaching **level 4** is the hard bar.\nUnderlying findings: beads **rev-v7lfb** (agy invalid output) and **rev-siu48** (strict\nvalidator + `--server` capture gap).\n\n## Cadence (automatic)\n\n`\u002Fsmoke-local` also runs unattended on a cadence — after **5 new main commits OR one hour**,\nwhichever fires first. That is driven by a machine-local launchd job plus a wrapper\nscript `scripts\u002Fsmoke_local_cadence.sh`, installed from a git-tracked plist template\n(per the `launchd-plist-template` skill: the plist template lives in this repo). The\nwrapper runs the same Steps 1–6 above. This skill and the `\u002Fsmoke-local` command are\nthe manual\u002Fon-demand path; the cadence automation is built separately and is not\ninvoked by this command.\n\n## Troubleshooting\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| Test silently uses Gemini, not agy | Step 2 `source` skipped, or `\u002Ftmp\u002Fagy-clean-home-v1` missing | Re-run `install.sh` then `source` the env file; confirm `AGY_RUNTIME_HOME` exists |\n| `_assert_no_mock_services` aborts the run | A mock env var is set | Unset `MOCK_SERVICES_MODE` \u002F `TEST_MODE` \u002F `USE_MOCK_*` \u002F `SMOKE_TOKEN` |\n| Auto-started server never becomes healthy | A stale test-owned server \u002F port collision | Inspect the test runner's server receipt and use its scoped teardown for that exact process; never broadly kill matching server processes |\n| `AGY provider transport trace` \u002F `Missing provider transport trace` bundle error | Ran with `--server` (external) — capture env not wired | Drop `--server`; let the test auto-start its server (bead rev-siu48) |\n| agy calls time out | agy is slower than the SDK | `AGY_TIMEOUT_SECONDS=900` from the env file must be active; keep the source in scope |\n| 401 on interaction | Real test-account authentication is missing or invalid | Verify the dedicated test account, token, and server logs; keep both auth-bypass flags `false` and report the missing prerequisite if real authentication cannot be established |\n\n## Relevant files\n\n- `commands\u002Fsmoke-local.md` in this plugin — the `\u002Fsmoke-local` command (this skill backs it).\n- `$PROJECT_ROOT\u002Finstall.sh` — builds `\u002Ftmp\u002Fagy-clean-home-v1` + `worldai-agy.env`.\n- `$PROJECT_ROOT\u002Fllm_providers\u002Fprovider_gateway.py` — `is_agy_provider_mode()` (agy gate).\n- `testing_mcp\u002Fcore\u002Ftest_smoke_local.py` — the smoke driver (built in a sibling lane).\n- `testing_mcp\u002Flib\u002Fserver_utils.py` — local backend launcher and no-mock runtime guard.\n- `scripts\u002Fsmoke_local_cadence.sh` — cadence wrapper (built in a sibling lane).\n- `docs\u002Fuser-stories-general.md` — US-001\u002F005\u002F006\u002F009\u002F010\u002F017 definitions.\n","# \u002Fsmoke-local — Real Local Server + agy Provider Smoke\n\n## Purpose\n\nProve the full local game path works against the **real agy CLI LLM provider** — not\nmocks, not the direct Gemini SDK. A single `\u002Fsmoke-local` run:\n\n1. Starts a REAL local dev server (auto-started by the test on a free port, same\n   `mvp_site` backend `local.sh` runs).\n2. Activates the agy provider so every LLM call is routed through the `agy` binary.\n3. Creates a NEW campaign and drives the character to **level 4**.\n4. Probes several more core-game prompts beyond leveling (combat, spells,\n   inventory, NPC dialog) and requires a real narrative for each.\n5. Writes an evidence bundle and reports PASS\u002FFAIL.\n\nThis is the on-demand entry point. The same flow also runs automatically on a cadence\n(see [Cadence](#cadence-automatic)).\n\n## NO-MOCK CONTRACT (a run is VOID if any of these hold)\n\nReal server + real **agy** LLM + real Firestore, always. The run is invalid if any of\nthese env vars are set: `MOCK_SERVICES_MODE`, `TEST_MODE=mock`, `USE_MOCK_FIREBASE`,\n`USE_MOCK_GEMINI`, `FORCE_TEST_MODEL=true`, or `SMOKE_TOKEN`. Authenticate through\nreal Firebase Auth with a dedicated non-primary test account. For tests under\n`testing_mcp\u002F`, resolve the project root and follow its `testing_mcp\u002FAGENTS.md`\ninvocation and account rules; acceptance runs must explicitly set both bypass flags\nto `false`. If the test harness cannot meet that contract yet, report the run blocked\nand do not claim authenticated acceptance.\n\nThe LLM path MUST be agy. `$PROJECT_ROOT\u002Fllm_providers\u002Fprovider_gateway.py ::\nis_agy_provider_mode()` is DEFAULT-ON for local dev, but it only returns `True` when\n`AGY_RUNTIME_HOME` is a valid existing directory — otherwise it falls back to the\nGemini SDK. Sourcing the env file (Step 2) is what makes that directory exist and\nturns agy on. If you skip the `source`, you silently test Gemini, not agy.\n\n## The exact flow\n\nRun from the session worktree root (which can be resolved via `git rev-parse --show-toplevel`).\n\n### Step 1 — build the sanitized agy HOME + env file\n\n```bash\nbash $PROJECT_ROOT\u002Finstall.sh --no-validate   # fast: skips the live agy auth probe\n# or, for full validation including a live agy call:\nbash $PROJECT_ROOT\u002Finstall.sh\n```\n\n`install.sh` creates the sanitized `HOME` at `\u002Ftmp\u002Fagy-clean-home-v1` and writes\n`\u002Ftmp\u002Fagy-clean-home-v1\u002Fworldai-agy.env`. That env file exports:\n\n| Var | Value | Meaning |\n|-----|-------|---------|\n| `AGY_PROVIDER_ENABLED` | `1` | agy provider on |\n| `AGY_RUNTIME_HOME` | `\u002Ftmp\u002Fagy-clean-home-v1` | sanitized HOME (gates `is_agy_provider_mode()`) |\n| `AGY_BINARY` | `$(command -v agy)` | the agy CLI |\n| `AGY_TIMEOUT_SECONDS` | `900` | per-call LLM timeout (agy is slower than SDK) |\n| `WORLDAI_FIRESTORE_TRANSPORT` | `rest` | Firestore over REST |\n| `WAITLIST_MODE_ENABLED` | `false` | no waitlist gate locally |\n\nUse `--no-validate` for a quick setup that skips the live agy auth check; omit it for a\nfull validation that includes a real agy round-trip.\n\n### Step 2 — activate the agy provider\n\n```bash\nsource \u002Ftmp\u002Fagy-clean-home-v1\u002Fworldai-agy.env\n```\n\nThe test (Step 3) inherits these env vars and passes them to the real local server\nit auto-starts, so the entire game path routes LLM calls through agy.\n\n### Step 3 — run the smoke test (it auto-starts its own real local server)\n\n```bash\nTESTING_AUTH_BYPASS=false ALLOW_TEST_AUTH_BYPASS=false \\\n  GOOGLE_APPLICATION_CREDENTIALS=\"${GOOGLE_APPLICATION_CREDENTIALS:?GOOGLE_APPLICATION_CREDENTIALS not configured: path to the service account key}\" \\\n  PYTHONPATH=\"$(pwd):$(pwd)\u002Fmvp_site\" \\\n  python3 testing_mcp\u002Fcore\u002Ftest_smoke_local.py\n```\n\n`MCPTestBase` auto-starts a REAL local server on a free port using the same\n`mvp_site` backend `start_local_mcp_server` the rest of the suite uses, inheriting\nthe agy env so LLM calls route through the agy CLI, and tears it down on exit.\n\n**Do NOT pass `--server`.** An external server started by `local.sh` never receives\n`MCP_TEST_PROVIDER_HTTP_CAPTURE_PATH` (only the auto-started server does), so no agy\nprovider transport trace is written and the strict evidence bundle cannot be produced\n— see **bead rev-siu48**. `local.sh --force-default-port --no-log-stream` is still the\nway to eyeball the interactive dev UI (backend `8081` \u002F React `3002`); it just is not\nthe evidence path.\n\nPer `testing_mcp\u002FCLAUDE.md`, `testing_mcp` tests run with `python3` and an explicit\n`PYTHONPATH` (`\u003Croot>:\u003Croot>\u002Fmvp_site`) — **never `vpython`**, never `pytest`, never\nmock mode. The runtime guard (`testing_mcp\u002Flib\u002Fserver_utils.py`\n`_assert_no_mock_services()`) hard-fails if any mock flag is set.\n\n### Step 4 — what the test proves (real agy LLM, real Firestore)\n\nThe test creates a NEW campaign and uses prompts oriented toward these user stories from\n`docs\u002Fuser-stories-general.md`:\n\n| User story | Behavior exercised |\n|-----------|--------------------|\n| **US-005 \u002F US-006** | Level up the character all the way to **level 4** (primary anchor). |\n| **US-001 prompt** | Submit a combat action and require a non-trivial real agy narrative. |\n| **US-009 prompt** | Submit a spell action and require a non-trivial real agy narrative. |\n| **US-010 prompt** | Submit an inventory action and require a non-trivial real agy narrative. |\n| **US-017 prompt** | Submit an NPC-dialog action and require a non-trivial real agy narrative. |\n\nOnly the level-4 transition is a mechanics assertion. The four follow-up scenarios\nare provider-path liveness probes; the dedicated suites own their deeper mechanics.\n\nEvidence bundle is written to `\u002Ftmp\u002F\u003Crepo>\u002F\u003Cbranch>\u002Ftest_smoke_local\u002Flatest\u002F`\n(e.g. `\u002Ftmp\u002F\u003Crepo>\u002F\u003Cbranch>\u002Ftest_smoke_local\u002Flatest\u002F`).\n\n### Step 5 — report PASS\u002FFAIL\n\nReport the overall verdict with the full absolute evidence bundle path. The test tears\ndown its own auto-started server on exit — no manual teardown needed. If you also ran\n`local.sh` interactively, inspect the listener and stop only the process you started;\nnever terminate an unrelated listener by port or command-name match.\n\n### agy reliability notes (why the test retries)\n\nThe agy CLI intermittently prepends async task-orchestration noise\n(`**SYSTEM NOTE:** Waiting for command execution completion…`) ahead of the gameplay\nJSON on character code-execution turns, which the provider's normalizer rejects\n(0 chunks, streaming transport error). The test recovers this with bounded retries\n(`_ACTION_MAX_ATTEMPTS`) — each gameplay turn ends in a real agy response. It also sets\n`REQUIRE_AGY_SUCCESS = False` so the strict agy evidence validator tolerates those\nretry-recovered per-turn errors (the trace must still carry real agy request+response\ntraffic). The `rewards_box` structured field on the level-up turn is a soft observation\n(agy structured output is weaker than Gemini); reaching **level 4** is the hard bar.\nUnderlying findings: beads **rev-v7lfb** (agy invalid output) and **rev-siu48** (strict\nvalidator + `--server` capture gap).\n\n## Cadence (automatic)\n\n`\u002Fsmoke-local` also runs unattended on a cadence — after **5 new main commits OR one hour**,\nwhichever fires first. That is driven by a machine-local launchd job plus a wrapper\nscript `scripts\u002Fsmoke_local_cadence.sh`, installed from a git-tracked plist template\n(per the `launchd-plist-template` skill: the plist template lives in this repo). The\nwrapper runs the same Steps 1–6 above. This skill and the `\u002Fsmoke-local` command are\nthe manual\u002Fon-demand path; the cadence automation is built separately and is not\ninvoked by this command.\n\n## Troubleshooting\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| Test silently uses Gemini, not agy | Step 2 `source` skipped, or `\u002Ftmp\u002Fagy-clean-home-v1` missing | Re-run `install.sh` then `source` the env file; confirm `AGY_RUNTIME_HOME` exists |\n| `_assert_no_mock_services` aborts the run | A mock env var is set | Unset `MOCK_SERVICES_MODE` \u002F `TEST_MODE` \u002F `USE_MOCK_*` \u002F `SMOKE_TOKEN` |\n| Auto-started server never becomes healthy | A stale test-owned server \u002F port collision | Inspect the test runner's server receipt and use its scoped teardown for that exact process; never broadly kill matching server processes |\n| `AGY provider transport trace` \u002F `Missing provider transport trace` bundle error | Ran with `--server` (external) — capture env not wired | Drop `--server`; let the test auto-start its server (bead rev-siu48) |\n| agy calls time out | agy is slower than the SDK | `AGY_TIMEOUT_SECONDS=900` from the env file must be active; keep the source in scope |\n| 401 on interaction | Real test-account authentication is missing or invalid | Verify the dedicated test account, token, and server logs; keep both auth-bypass flags `false` and report the missing prerequisite if real authentication cannot be established |\n\n## Relevant files\n\n- `commands\u002Fsmoke-local.md` in this plugin — the `\u002Fsmoke-local` command (this skill backs it).\n- `$PROJECT_ROOT\u002Finstall.sh` — builds `\u002Ftmp\u002Fagy-clean-home-v1` + `worldai-agy.env`.\n- `$PROJECT_ROOT\u002Fllm_providers\u002Fprovider_gateway.py` — `is_agy_provider_mode()` (agy gate).\n- `testing_mcp\u002Fcore\u002Ftest_smoke_local.py` — the smoke driver (built in a sibling lane).\n- `testing_mcp\u002Flib\u002Fserver_utils.py` — local backend launcher and no-mock runtime guard.\n- `scripts\u002Fsmoke_local_cadence.sh` — cadence wrapper (built in a sibling lane).\n- `docs\u002Fuser-stories-general.md` — US-001\u002F005\u002F006\u002F009\u002F010\u002F017 definitions.\n",{"name":5,"description":7},"main","8144f00ebafc4306264c63239e4b9fa42e48a90e","plugins\u002Fworldarchitect\u002Fskills\u002Fsmoke-local",0,"https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills","https:\u002F\u002Fgithub.com\u002Fjleechanorg","2026-11-12 14:45:07",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add jleechanorg\u002Fjleechan-skills --skill smoke-local",{"tool":65,"command":66},"bunx","bunx skills add jleechanorg\u002Fjleechan-skills --skill smoke-local",{"tool":68,"command":69},"pnpm","pnpm dlx skills add jleechanorg\u002Fjleechan-skills --skill smoke-local","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fworldarchitect\u002Fskills\u002Fsmoke-local\u002FSKILL.md",true,[],[74,91,113,127,141,157],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":47},"01M716Y5MTJ6GYJZ2ATXCJK8G4","instinct","Use when the user invokes \u002Finstinct or \u002Fin, or asks to \"message Instinct\", \"ask Instinct\", \"tell Instinct\", \"check Instinct\", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Finstinct\u002FSKILL.md",[],[76,81,31,82,83,84,85,86,87,88,89,90],"user","replies","check","use","identity","whatsapp","gmail","read","message","ask",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":102,"publishedAt":47},"01M716Y4HF7FVVMJSA2CCVN5VF","hr","Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhr\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[93,103,104,105,106,107,108,109,110,111,112],"resume","compatibility","provenance","for","history","produce","alias","briefing","state","fresh",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":47},"01M716Y1FFNFKFJYYKF8HQA6T8","history-resume","Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhistory-resume\u002FSKILL.md",[119],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},[107,103,121,122,81,123,110,124,106,125,126,111,112],"history resume","branch","analysis","repository","worktree","sources",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":47},"01M716XWXJ8EPHK4RH9T14TR85","grok","Alias for the canonical grokbot browser conversation workflow; \u002Fgrok talks to the Grok bot the same way \u002Fdot talks to Dot.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgrok\u002FSKILL.md",[],[129,134,135,136,106,137,109,138,139,140],"dot","bot","workflow","canonical","conversation","browser","grokbot",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":47},"01M70N9Q07DTE0EW5KFXMMMSJ0","codexa-bench","Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcodexa-bench\u002FSKILL.md",[],[148,149,150,84,151,106,152,153,154,155,156],"codexa bench","work","split","default","duplicate","task","compare","normal","codex",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":161,"licenseFileUrl":162,"sourceHtmlUrl":163,"categories":164,"keywords":174,"publishedAt":47},"01M6C24S2X60SP8BBFGAEKPEGW","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[165,168,171],{"categoryNo":166,"categoryName":167,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":169,"categoryName":170,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":172,"categoryName":173,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000032","设计师",[175,176,177,84,178,179,180,81,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,31,199],"frontend","design","frontend design","generic","ui design","react","html","components","code","artifacts","ui","aesthetics","Production","web components","landing","applications","quality","web","css","create","examples","with","react components","web ui","pages"]