[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71JD00V913VCX4TY1A49M55":3,"skill-same:01M71JD00V913VCX4TY1A49M55":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M71JD00V913VCX4TY1A49M55","validate-contracts",null,"Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy.","danielvm-git\u002Fbigpowers","danielvm-git","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1020864?v=4","01M71H1N1CTQ529S0KN7KETVG6","Daniel V M","01M71H1N218Y3S8WHCJ58NPRSW",290,"MIT","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvalidate-contracts\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"contracts","validate","validate contracts","validation","shape","json","migrations","comparison","schema","system","layers","for","consistency","json schema","sonnet","live","data","across","api","SET","2026-11-10 10:12:30",false,"---\nname: validate-contracts\nmodel: sonnet\ndescription: \"Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy.\"\n---\n\n# Validate Contracts\n\n> **HARD GATE** — Do NOT deploy or migrate data without running `validate-contracts` first. Silent data divergence between system boundaries causes the hardest-to-debug production bugs.\n>\n> **HARD GATE** — Contract files MUST be version-controlled alongside code. Outdated contracts are worse than no contracts. If a contract hasn't been reviewed in 30 days, flag it as stale.\n\nValidate that data structures stay in sync across system boundaries — front-end vs back-end, API responses vs expected schemas, config files vs code assumptions, migration output vs target shape.\n\n## Contract types\n\n| Mode | What it catches | When to use |\n|------|----------------|-------------|\n| **Schema** | API response shape mismatches | Before every deploy, after API changes |\n| **Key-set** | Missing\u002Funexpected keys across two data sources | Translation files, configs, enum definitions |\n| **Shape** | Column type or format violations | After migrations, before consuming exports |\n\n## Contract file convention\n\nAll contract files live in `specs\u002Fcontracts\u002F` as YAML. See [REFERENCE.md](REFERENCE.md) for extended examples.\n\n### Key-set example\n\n```yaml\n# specs\u002Fcontracts\u002Fi18n-keys.yaml\nsources:\n  reference: src\u002Flocales\u002Fen.json\n  target: src\u002Fmessages\u002Fen.json\nmode: subset\n```\n\n## Process\n\n### 1. Define contract\n\nCreate a YAML file in `specs\u002Fcontracts\u002F` following the schema for the mode.\n\n### 2. Run validation\n\n```bash\nbash scripts\u002Fvalidate-contracts.sh specs\u002Fcontracts\u002F\u003Ccontract>.yaml\n```\n\nThe runner auto-detects key-set contracts (`sources:` block). Schema and shape modes are documented in REFERENCE.md for consumer projects.\n\n### 3. Read the report\n\n```\nPASS: key-set contract\n# or\nFAIL: key-set — N keys in reference missing from target\n```\n\nJSON Lines output for CI is planned for schema\u002Fshape modes; key-set failures exit non-zero.\n\n### 4. Fix divergence\n\n- **Missing keys** → add to target source\n- **Type mismatches** → update schema or fix producer\n- **Shape violations** → fix migration or consumer\n\n### 5. Re-validate\n\n```bash\nbash scripts\u002Fvalidate-contracts.sh specs\u002Fcontracts\u002F\u003Ccontract>.yaml\n```\n\n## Verify arc\n\nPart of **★ VERIFY ★**: `verify-work` → `validate-contracts` → `smoke-test` → `run-evals` → `audit-code`\n\n## Verify\n\n→ verify: `test -x scripts\u002Fvalidate-contracts.sh && bash scripts\u002Fvalidate-contracts.sh --self-test && grep -q 'validate-contracts.sh' skills\u002Fvalidate-contracts\u002FSKILL.md && echo OK`\n\n---\n\n# Validate Contracts — Reference\n\n## Navigation\n\n| Lines | Section |\n|-------|---------|\n| 1 | Title |\n| 3–23 | Navigation |\n| 24–32 | Integration |\n| 33–44 | Configuration |\n| 45–54 | Verification |\n| 55–71 | Reference block 1 |\n| 72–92 | Reference block 2 |\n| 93–104 | Example 1 |\n| 105–121 | Example 2 |\n| 122–133 | Example 3 |\n| 134–144 | Example 4 |\n| 145–165 | Example 5 |\n| 166–176 | Example 6 |\n| 177–185 | Integration |\n| 186–197 | Configuration |\n| 198–204 | Verification |\n\n## Integration\n\n- **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.\n- **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.\n- **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.\n\n\n---\n\n## Configuration\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `CONTRACTS_DIR` | `specs\u002Fcontracts\u002F` | Directory containing contract YAML files |\n| `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |\n| `STRICT_MODE` | `false` | Treat warnings as failures |\n| `OUTPUT_FORMAT` | `text` | `text` or `json` |\n\n\n---\n\n## Verification\n\n→ verify: `test -f validate-contracts\u002FSKILL.md && grep -q 'name: validate-contracts' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -qi 'specs\u002Fcontracts\\|JSON Schema\\|key.set\\|data.shape' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -ci 'divergence\\|missing key\\|type mismatch\\|diff\\|conforms\\|column' validate-contracts\u002FSKILL.md | awk '{if($1>=3) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -ci 'JSON Lines\\|machine.parse\\|CI\\|deploy.*gate\\|pre.deploy' validate-contracts\u002FSKILL.md | awk '{if($1>=2) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`\n\n---\n\n## Reference block 1\n\n```yaml\n# specs\u002Fcontracts\u002Fusers.schema.yaml\nendpoint: \u002Fapi\u002Fusers\nmethod: GET\nschema:\n  type: object\n  required: [id, name, email]\n  properties:\n    id: { type: number }\n    name: { type: string }\n    email: { type: string, format: email }\n```\n\n---\n\n## Reference block 2\n\n```yaml\n# specs\u002Fcontracts\u002Fmigration-output.yaml\nfile: data\u002Fusers-export.json\nformat: json\nfields:\n  - name: user_id\n    type: number\n    required: true\n  - name: full_name\n    type: string\n    required: true\n  - name: created_at\n    type: string\n    format: date-time\n    required: false\n```\n\n---\n\n## Example 1\n\n```\nspecs\u002Fcontracts\u002F\n├── users.schema.yaml        # API response schema\n├── i18n-keys.yaml           # Key-set comparison\n├── migration-output.yaml    # Data shape contract\n└── README.md                # Local conventions\n```\n\n---\n\n## Example 2\n\n```yaml\n# specs\u002Fcontracts\u002Fusers.schema.yaml\nendpoint: \u002Fapi\u002Fusers\nmethod: GET\nschema:\n  type: object\n  required: [id, name, email]\n  properties:\n    id: { type: number }\n    name: { type: string }\n    email: { type: string, format: email }\n```\n\n---\n\n## Example 3\n\n```yaml\n# specs\u002Fcontracts\u002Fi18n-keys.yaml\nsources:\n  reference: src\u002Ffrontend\u002Flocales\u002Fen.json\n  target: src\u002Fbackend\u002Fmessages\u002Fen.json\nmode: subset      # all target keys must exist in reference\n```\n\n---\n\n## Example 4\n\n```bash\nvalidate-contracts --key-set specs\u002Fcontracts\u002Fi18n-keys.yaml\n# → missing: 2 keys in reference not found in target: ['settings.privacy', 'help.faq']\n# → added: 1 key in target not in reference: ['deprecated.field']\n# → exit 1 (divergence)\n```\n\n---\n\n## Example 5\n\n```yaml\n# specs\u002Fcontracts\u002Fmigration-output.yaml\nfile: data\u002Fusers-export.json\nformat: json\nfields:\n  - name: user_id\n    type: number\n    required: true\n  - name: full_name\n    type: string\n    required: true\n  - name: created_at\n    type: string\n    format: date-time\n    required: false\n```\n\n---\n\n## Example 6\n\n```bash\nvalidate-contracts --shape specs\u002Fcontracts\u002Fmigration-output.yaml\n# → PASS: 3\u002F3 fields validated, 5000 rows OK\n# → WARN: field 'full_name' has 12 null values (0.24%)\n# → FAIL: field 'user_id' has 3 rows with type string (expected number)\n```\n\n---\n\n## Integration\n\n- **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.\n- **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.\n- **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.\n\n\n---\n\n## Configuration\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `CONTRACTS_DIR` | `specs\u002Fcontracts\u002F` | Directory containing contract YAML files |\n| `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |\n| `STRICT_MODE` | `false` | Treat warnings as failures |\n| `OUTPUT_FORMAT` | `text` | `text` or `json` |\n\n\n---\n\n## Verification\n\n→ verify: `test -f validate-contracts\u002FSKILL.md && grep -q 'name: validate-contracts' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -qi 'specs\u002Fcontracts\\|JSON Schema\\|key.set\\|data.shape' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -ci 'divergence\\|missing key\\|type mismatch\\|diff\\|conforms\\|column' validate-contracts\u002FSKILL.md | awk '{if($1>=3) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -ci 'JSON Lines\\|machine.parse\\|CI\\|deploy.*gate\\|pre.deploy' validate-contracts\u002FSKILL.md | awk '{if($1>=2) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`\n","# Validate Contracts\n\n> **HARD GATE** — Do NOT deploy or migrate data without running `validate-contracts` first. Silent data divergence between system boundaries causes the hardest-to-debug production bugs.\n>\n> **HARD GATE** — Contract files MUST be version-controlled alongside code. Outdated contracts are worse than no contracts. If a contract hasn't been reviewed in 30 days, flag it as stale.\n\nValidate that data structures stay in sync across system boundaries — front-end vs back-end, API responses vs expected schemas, config files vs code assumptions, migration output vs target shape.\n\n## Contract types\n\n| Mode | What it catches | When to use |\n|------|----------------|-------------|\n| **Schema** | API response shape mismatches | Before every deploy, after API changes |\n| **Key-set** | Missing\u002Funexpected keys across two data sources | Translation files, configs, enum definitions |\n| **Shape** | Column type or format violations | After migrations, before consuming exports |\n\n## Contract file convention\n\nAll contract files live in `specs\u002Fcontracts\u002F` as YAML. See [REFERENCE.md](REFERENCE.md) for extended examples.\n\n### Key-set example\n\n```yaml\n# specs\u002Fcontracts\u002Fi18n-keys.yaml\nsources:\n  reference: src\u002Flocales\u002Fen.json\n  target: src\u002Fmessages\u002Fen.json\nmode: subset\n```\n\n## Process\n\n### 1. Define contract\n\nCreate a YAML file in `specs\u002Fcontracts\u002F` following the schema for the mode.\n\n### 2. Run validation\n\n```bash\nbash scripts\u002Fvalidate-contracts.sh specs\u002Fcontracts\u002F\u003Ccontract>.yaml\n```\n\nThe runner auto-detects key-set contracts (`sources:` block). Schema and shape modes are documented in REFERENCE.md for consumer projects.\n\n### 3. Read the report\n\n```\nPASS: key-set contract\n# or\nFAIL: key-set — N keys in reference missing from target\n```\n\nJSON Lines output for CI is planned for schema\u002Fshape modes; key-set failures exit non-zero.\n\n### 4. Fix divergence\n\n- **Missing keys** → add to target source\n- **Type mismatches** → update schema or fix producer\n- **Shape violations** → fix migration or consumer\n\n### 5. Re-validate\n\n```bash\nbash scripts\u002Fvalidate-contracts.sh specs\u002Fcontracts\u002F\u003Ccontract>.yaml\n```\n\n## Verify arc\n\nPart of **★ VERIFY ★**: `verify-work` → `validate-contracts` → `smoke-test` → `run-evals` → `audit-code`\n\n## Verify\n\n→ verify: `test -x scripts\u002Fvalidate-contracts.sh && bash scripts\u002Fvalidate-contracts.sh --self-test && grep -q 'validate-contracts.sh' skills\u002Fvalidate-contracts\u002FSKILL.md && echo OK`\n\n---\n\n# Validate Contracts — Reference\n\n## Navigation\n\n| Lines | Section |\n|-------|---------|\n| 1 | Title |\n| 3–23 | Navigation |\n| 24–32 | Integration |\n| 33–44 | Configuration |\n| 45–54 | Verification |\n| 55–71 | Reference block 1 |\n| 72–92 | Reference block 2 |\n| 93–104 | Example 1 |\n| 105–121 | Example 2 |\n| 122–133 | Example 3 |\n| 134–144 | Example 4 |\n| 145–165 | Example 5 |\n| 166–176 | Example 6 |\n| 177–185 | Integration |\n| 186–197 | Configuration |\n| 198–204 | Verification |\n\n## Integration\n\n- **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.\n- **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.\n- **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.\n\n\n---\n\n## Configuration\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `CONTRACTS_DIR` | `specs\u002Fcontracts\u002F` | Directory containing contract YAML files |\n| `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |\n| `STRICT_MODE` | `false` | Treat warnings as failures |\n| `OUTPUT_FORMAT` | `text` | `text` or `json` |\n\n\n---\n\n## Verification\n\n→ verify: `test -f validate-contracts\u002FSKILL.md && grep -q 'name: validate-contracts' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -qi 'specs\u002Fcontracts\\|JSON Schema\\|key.set\\|data.shape' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -ci 'divergence\\|missing key\\|type mismatch\\|diff\\|conforms\\|column' validate-contracts\u002FSKILL.md | awk '{if($1>=3) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -ci 'JSON Lines\\|machine.parse\\|CI\\|deploy.*gate\\|pre.deploy' validate-contracts\u002FSKILL.md | awk '{if($1>=2) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`\n\n---\n\n## Reference block 1\n\n```yaml\n# specs\u002Fcontracts\u002Fusers.schema.yaml\nendpoint: \u002Fapi\u002Fusers\nmethod: GET\nschema:\n  type: object\n  required: [id, name, email]\n  properties:\n    id: { type: number }\n    name: { type: string }\n    email: { type: string, format: email }\n```\n\n---\n\n## Reference block 2\n\n```yaml\n# specs\u002Fcontracts\u002Fmigration-output.yaml\nfile: data\u002Fusers-export.json\nformat: json\nfields:\n  - name: user_id\n    type: number\n    required: true\n  - name: full_name\n    type: string\n    required: true\n  - name: created_at\n    type: string\n    format: date-time\n    required: false\n```\n\n---\n\n## Example 1\n\n```\nspecs\u002Fcontracts\u002F\n├── users.schema.yaml        # API response schema\n├── i18n-keys.yaml           # Key-set comparison\n├── migration-output.yaml    # Data shape contract\n└── README.md                # Local conventions\n```\n\n---\n\n## Example 2\n\n```yaml\n# specs\u002Fcontracts\u002Fusers.schema.yaml\nendpoint: \u002Fapi\u002Fusers\nmethod: GET\nschema:\n  type: object\n  required: [id, name, email]\n  properties:\n    id: { type: number }\n    name: { type: string }\n    email: { type: string, format: email }\n```\n\n---\n\n## Example 3\n\n```yaml\n# specs\u002Fcontracts\u002Fi18n-keys.yaml\nsources:\n  reference: src\u002Ffrontend\u002Flocales\u002Fen.json\n  target: src\u002Fbackend\u002Fmessages\u002Fen.json\nmode: subset      # all target keys must exist in reference\n```\n\n---\n\n## Example 4\n\n```bash\nvalidate-contracts --key-set specs\u002Fcontracts\u002Fi18n-keys.yaml\n# → missing: 2 keys in reference not found in target: ['settings.privacy', 'help.faq']\n# → added: 1 key in target not in reference: ['deprecated.field']\n# → exit 1 (divergence)\n```\n\n---\n\n## Example 5\n\n```yaml\n# specs\u002Fcontracts\u002Fmigration-output.yaml\nfile: data\u002Fusers-export.json\nformat: json\nfields:\n  - name: user_id\n    type: number\n    required: true\n  - name: full_name\n    type: string\n    required: true\n  - name: created_at\n    type: string\n    format: date-time\n    required: false\n```\n\n---\n\n## Example 6\n\n```bash\nvalidate-contracts --shape specs\u002Fcontracts\u002Fmigration-output.yaml\n# → PASS: 3\u002F3 fields validated, 5000 rows OK\n# → WARN: field 'full_name' has 12 null values (0.24%)\n# → FAIL: field 'user_id' has 3 rows with type string (expected number)\n```\n\n---\n\n## Integration\n\n- **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.\n- **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.\n- **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.\n\n\n---\n\n## Configuration\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `CONTRACTS_DIR` | `specs\u002Fcontracts\u002F` | Directory containing contract YAML files |\n| `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |\n| `STRICT_MODE` | `false` | Treat warnings as failures |\n| `OUTPUT_FORMAT` | `text` | `text` or `json` |\n\n\n---\n\n## Verification\n\n→ verify: `test -f validate-contracts\u002FSKILL.md && grep -q 'name: validate-contracts' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -qi 'specs\u002Fcontracts\\|JSON Schema\\|key.set\\|data.shape' validate-contracts\u002FSKILL.md && echo OK`\n→ verify: `grep -ci 'divergence\\|missing key\\|type mismatch\\|diff\\|conforms\\|column' validate-contracts\u002FSKILL.md | awk '{if($1>=3) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -ci 'JSON Lines\\|machine.parse\\|CI\\|deploy.*gate\\|pre.deploy' validate-contracts\u002FSKILL.md | awk '{if($1>=2) print \"OK\"; else print \"FAIL\"}'`\n→ verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`\n",{"name":5,"model":38,"description":7},"main","72f5e4c8b43f60cf86b37078ad8cd7e22daf67aa",".opencode\u002Fskills\u002Fvalidate-contracts",24,"https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers","https:\u002F\u002Fdanielvm-git.github.io\u002Fbigpowers\u002F","https:\u002F\u002Fgithub.com\u002Fdanielvm-git","danielvm.net","2026-11-10 01:18:54",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add danielvm-git\u002Fbigpowers --skill validate-contracts",{"tool":64,"command":65},"bunx","bunx skills add danielvm-git\u002Fbigpowers --skill validate-contracts",{"tool":67,"command":68},"pnpm","pnpm dlx skills add danielvm-git\u002Fbigpowers --skill validate-contracts","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvalidate-contracts\u002FSKILL.md",true,[],[73,93,100,129,152,172],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":44},"01M71KBG9F8X644MJB16H4V8M7","skill-verify-fail-open-fixture","Negative-path fixture for run-skill-verify.sh — must never PASS.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fskill-verify-fail-open\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[85,86,87,88,89,90,91,35,92],"fixture","open","verify","skill verify fail open fixture","skill verify","path","run","never",{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":44},"01M71KBE3BKEMKNE0C5DGVDWZH","negative-path","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fnegative-path\u002FSKILL.md",[],[99,90],"negative path",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":109,"publishedAt":44},"01M71KBBGF7Y4EB4AMHBZ8CJFC","write-document","Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs\u002F directory.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-document\u002FSKILL.md",[106],{"categoryNo":107,"categoryName":108,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000002","文档处理",[110,111,112,113,114,115,116,117,118,119,120,121,122,123,38,124,125,126,127,128],"write","write document","document","documents","actionable","technical","methodology","high","bmad","standard","use","when","minimal","bold","integrity","organize","sync","directory","guides",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":44},"01M71KB8TM089JJD5AY5KAFSDM","wire-observability","Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwire-observability\u002FSKILL.md",[],[136,137,138,119,139,120,140,141,142,143,38,144,145,146,147,148,149,121,150,151],"observability","wire observability","readiness","commands","development","as","logging","add","instrumentation","at","structured logging","production-readiness","idempotent","phase","project","scripts",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":44},"01M71KB6CNRANP449DQA3NJZ96","wire-ci","CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwire-ci\u002FSKILL.md",[],[159,160,161,162,163,164,27,165,166,167,168,119,169,35,136,38,170,171],"wire ci","ci","remote","local","pipeline","forge","setup","templates","REST","with","ci pipeline setup","git","workflows",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":185,"publishedAt":44},"01M71KB2ZV98P03X88QR8MT9F1","visual-dashboard","Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers\u002Fdashboard\u002F. Reads specs\u002Fstate.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-dashboard\u002FSKILL.md",[178,181,182],{"categoryNo":179,"categoryName":180,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":183,"categoryName":184,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师",[186,187,188,189,190,191,192,193,194,38,195,196,197,198,199,42,200,150,201,202],"dashboard","visual","visual dashboard","status","artifacts","http","plans","planning","panel","start","release","opencode","plan","browser","architecture","project status","http api"]