Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"agency",
"agile",
"ai",
"ai-agents",
"bmad",
"claude-code",
"cursor",
"llm",
"methodology",
"portugues"
],
"is_fork": false,
"size_kb": 80345,
"has_wiki": true,
"homepage": "https://method.wizzcomms.com",
"languages": {
"CSS": 18633,
"HTML": 1346216,
"Astro": 5970,
"Shell": 37159,
"Python": 223792,
"JavaScript": 1516940,
"TypeScript": 33400
},
"pushed_at": "2026-07-21T22:07:54Z",
"created_at": "2026-06-19T07:19:07Z",
"owner_type": "User",
"updated_at": "2026-07-19T09:19:13Z",
"description": "Método de agência orientado por IA, em PT-BR. Um maestro lê seu pedido e chama o agente certo. Fork independente do BMad Method.",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "main",
"license_spdx_raw": "NOASSERTION",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript",
"HTML"
]
},
"owner": {
"blog": "agencywizz.com",
"name": "Wizz! comms",
"type": "User",
"login": "wizzcomms",
"company": null,
"location": null,
"followers": 0,
"avatar_url": "https://avatars.githubusercontent.com/u/245509532?v=4",
"created_at": "2025-11-22T06:53:13Z",
"is_verified": null,
"public_repos": 7,
"account_age_days": 244
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "assets-v1",
"kind": "other",
"published_at": "2026-07-07T17:15:38Z"
}
],
"recent_commits": [
{
"oid": "fd461ba3b2dd6cfd79b2d878a41e5f35a377a2cf",
"body": "…design\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): v1.7.0 — Bklit UI, GSAP e anime.js como libraries de …",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-19T09:18:25Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4ef19f9cfab855cda69636442ca13b3274a122cc",
"body": "… nas skills premium-landing-ui-researcher e motion-3d-director\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Bklit UI (charts shadcn), GSAP e anime.js como fontes de design…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-19T09:17:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "93bd5c5bd5a38c0ce0c7e4d258b8408c7e02d548",
"body": "…lect de CLIs, fontes da premium-landing atualizadas\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): v1.6.0 — 21st CLI no registry, recommended no multise…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-11T04:04:39Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6f02750859eddf1a4170efac37f19304bb7fa6e4",
"body": "… no installer + fontes da landing skill (21st CLI, Componentry MCP, Refero Styles)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: 21st CLI na área de design + flag recommended (rtk pré-marcado)…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-11T04:01:44Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "af1365f6ebdad2d3870e6c09ed999dba1e907a6a",
"body": "…ea não instalavam via npx)\n\nlistAvailable() só listava core/bmm; agora descobre módulos bundled em\nsrc/modules/<code>/module.yaml, então o módulo wizz (default_selected: true)\nentra no picker e nos defaults do --yes.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): v1.5.2 — fix módulo wizz órfão (maestro/agentes de ár…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T23:33:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ca66944170f69a4090251a0f062dc3603c9502b8",
"body": "… add\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): v1.5.1 — fix do pin de SHA no install dos CLIs skills…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T23:10:41Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5a1ea0aaa4d18c3e5ab0cff4afedd3e918d8af04",
"body": "…o fragmento #<sha> era tratado como branch); check do hyperframes testa a skill instalada\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: pin de SHA dos CLIs skills add via clone temporário + checkout (…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T23:09:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "2fb8a52d7b503edfd00ba6fe8b9d0530ad91c20c",
"body": "…i do versionamento\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): v1.5.0 — consolida fases 1-3 da auditoria; _audit/ sa…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T21:01:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "0576eea3f9a8162c6f2e0ae4cb0bc6984b6f6b8b",
"body": "….5c)\n\n- 3.8-E1: install pergunta opt-in do medidor de roteamento; se sim grava env.WIZZ_TRACE=\"1\" em .claude/settings.local.json via persistProjectEnv; --yes/sem TTY nunca liga; resumo mostra a escolha e como desligar\n- rename tools/installer/cli-utils.js → banner.js (desfaz confusão com modules/cli-config.js)\n- testes diretos de selectMcps/selectClis e parsing de --mcps/--clis (suítes 52-53)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: fase 3 da auditoria, onda B4 (3.8-E1 trace opt-in + residuais 3…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T20:07:44Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8bbc1b99e9f25ffc78a0be3a9515400e59fbc921",
"body": "- novo modules/env-vars.js: extractEnvPlaceholders, resolveEnvVars (process.env → .env), persistEnvValues/persistProjectEnv (settings.local.json chave env, merge sem sobrescrever, chmod 600), promptMissingEnvVars\n- integrado entre prepareMcps e writeMcpConfig, só em toWrite; skip em --yes/sem TTY; .\n[…]\n o placeholder\n- password() com valor nunca ecoado; resumo por var no fim do install\n- test/test-env-vars.js (46 asserts, checklist E7 completo)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: fase 3 da auditoria, onda B3 (3.3 env vars de MCP no install)",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T19:53:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "af04af919de99882cad32ba92ff67e32134458c8",
"body": "…stall)\n\n- fresh install escreve em _wizz.tmp-<pid>/ e faz swap atômico só após generateManifests\n- merge do .mcp.json movido para depois do swap (dryRun antes)\n- catch remove só o tmp; _wizz/ real nunca chega a existir em falha\n- fix: skill-manifest.csv não baka mais o nome do dir tmp (wizzFolderName)\n- teste novo: falha simulada em generateManifests → zero resíduo\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: fase 3 da auditoria, onda B2 (3.2 install atômico para fresh in…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T19:39:18Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c72c82e6de09c076421e89679cf43362ecafb1b3",
"body": "….6 smoke MCP real no CI)\n\n- 3.1: installer.js 1870→1280 linhas; extraídos user-file-preservation, module-config-writer, help-catalog, quick-update (composição, API pública intacta; manifest byte-idêntico antes/depois)\n- 3.6: test:install-smoke-mcp (fora do agregado) + workflow install-smoke-mcp.yaml (manual + cron semanal, não é gate)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor: fase 3 da auditoria, onda B1 (3.1 extração do installer + 3…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T19:14:11Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "895671ce84b10d1699cc2c53517f080fbda23959",
"body": "- 3.4: progressive disclosure em 19 skills + índice huashu-design + blueprint lazy no wizz-social\n- 3.5: dedup graphify, cross-refs da tríade de review, baixos remanescentes das partes 1-2\n- 3.7: metadata.version opcional no validador + PR template + governança\n- 3.8-doc: seção \"Gatilhos de reavaliação\" em docs/governance.md\n- 3.8-E2: comando npx wizz-method trace-report + teste\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: fase 3 da auditoria, onda A (3.4, 3.5, 3.7, 3.8-doc, 3.8-E2)",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T18:57:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9bb762943cde03f4073dd79601a7637b8c11f41f",
"body": "…-org\n\nOpção (a) do A4: os 6 módulos de wizz-modules.yaml que vivem em repos da\nbmad-code-org passam de type: wizz-org (enganoso) para upstream-org, com\na confiança delegada documentada no cabeçalho do yaml e em\ndocs/governance.md. Sem forks; reavaliar se o upstream mudar de dono ou\ncomportamento. Nenhum código ramifica no valor do type.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: decisão 2.10 da auditoria — módulos externos rotulados upstream…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T18:00:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ed0cc01bf89015d844655c0061591c70edc01ad0",
"body": "2.3 (A1/M1): regra de dispatch em 2 cláusulas (2+ áreas → maestro,\nsempre; senão 2+ dos 3 fatores → maestro) nas 4 cópias (router, maestro,\nhook, quick-dev EN); exemplos de borda calibrados do dataset;\ntest:dispatch-rule extrai os parâmetros normativos das 4 fontes e falha\nem divergência.\n2.6 (A6/A1\n[…]\nall --yes (test:install-smoke,\n~3s, sem rede); checklist de evals no template de PR.\nCHANGELOG 1.4.2 atualizado com o pacote completo da Fase 2.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: fase 2 da auditoria, onda 3 (2.3, 2.6) + changelog",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T17:30:17Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "09ea42b668040fc5e04f921f63cd6b7ff53013cd",
"body": "2.2 (A2/A12/M2): protocolo de handoff em src/core-skills/_shared/\nhandoff-protocol.md (origem anti-loop, cérebro consultado 1x, decisões\nda cadeia, seção relevante da skill, model_hint opcional); referenciado\npor router, maestro, 7 agentes de área, party-mode e swarm.\n2.5 (M27/M14/A13): min_version \n[…]\ntrução clara offline.\n2.9 (M20): platform: [darwin, linux] em claude-video/voicebox/distribb/\narcads; suporte oficial declarado macOS/Linux/WSL.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: fase 2 da auditoria, onda 2 (2.2, 2.5, 2.8, 2.9)",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T17:12:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "016e0492592930509a86496b22489faaf2ab5e8d",
"body": "2.1 (A11/M17): include opcional no resolve_customization.py +\n_shared/communication-rules.md como fonte única da regra de comunicação;\n15 cópias colapsadas (9 customize.toml + 6 overrides). test:resolver.\n2.4 (A16/M15): registry-resolve.js unifica resolveMcps/resolveClis/\nresolveSkillIds; tools/lib/\n[…]\na com backoff em erro\ntransitório nos fetches do installer (manifest, channel-resolver,\nexternal-manager); sem lib genérica. test:network-retry.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor: fase 2 da auditoria, onda 1 (2.1, 2.4, 2.7, 2.12)",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T16:45:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "af38194c31a494fbe96d2236bed7da2f93adb9ed",
"body": "Entregas da Fase 1 (_audit/2026-07-07-parte4, seção 9): files allowlist,\nCI = npm test completo, schema do registry, dependabot, RTK governado\n(pin+checksum+hook forkado+test:rtk-hook), supabase MCP read-only, pins\npor SHA, Quick Update comunicado, hardening do installer (M23-M26),\ngovernance.md + P\n[…]\nresente no 0.43.0; fork mantido.\ngovernance.md: frontmatter Starlight + links externos via GitHub;\nvalidate-doc-links agora ignora URLs http(s).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: fase 1 da auditoria 360 (13 tarefas) + compat rtk 0.43.0 no hook",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T16:16:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fb1d8e545b1f5cb33ae7bea99c082f02d64d747c",
"body": "- .gitignore: adiciona patterns para .env, tokens, secrets, certificados\n- tools/skills-catalog.md: catálogo unificado de 116 skills com localização\n por plataforma (Claude/OpenCode/Obsidian), 60 duplicadas identificadas\n- Referenciado pelo routing-table-flat.md para verificação de existência",
"is_bot": false,
"headline": "fix: auditoria 360 — .gitignore secrets + skills catalog unificado",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T09:39:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3459cbf471d320e5131a2db47894941eba6cb03d",
"body": null,
"is_bot": false,
"headline": "fix: validate wizz method references",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T07:19:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88e1ce9da9bdf35b6b089b830d958f5047803805",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.4.1",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T06:04:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d91b8b51a1d554947882dac8ac70c1867aaddc73",
"body": "Reduz o overhead por pedido e o custo fixo por sessão sem perder cobertura.\n\nHooks (nova fonte de verdade em tools/hooks/, instala via npm run sync:global):\n- wizz-router-enforce v2: detecta projeto Wizz (_wizz/) e injeta dica curta de\n delegação direta (maestro/agente) em vez do mandato completo d\n[…]\ndataset de 48 prompts rotulados + runner deterministico/LLM)\n- test:hooks cobre isTrivial e o contexto por modo, entra no npm test\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(tokens): dieta de roteamento e memória do method",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-07T05:58:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ab39e7fd31e7590d0e78d59ab0343d5e4d1947e6",
"body": "…s melhoradas e dieta de 3 monólitos\n\nSecurity: npm audit 26→2 vulns (js-yaml corrigido); pins de versão/SHA para terceiros do registry (buttercut/voicebox/arcads/MCPs); remoção de caches com path pessoal; correção de metadata BMAD herdada (marketplace.json, README, build-docs).\n\nToken economy: wizz\n[…]\nagora safeStorage) e adicionou hardening de navegação.\n\nSuíte de testes completa verde (refs, install, audit, eslint, markdownlint, prettier).\n\nCo-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(security,tokens): audit de dependências, supply chain pins, skill…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-06T18:41:34Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0be64550913342a9be13da8ccf6cd999218487dd",
"body": "…ip de CSV de skills-lib, scrub de path absoluto\n\n- mapInstalledToSource: {project-root}/_wizz/skills-registry.yaml resolve pra raiz do repo (não src/), eliminando 9 falsos-positivos de \"broken ref\" nos agentes wizz-*\n- extractCsvRefs: ignora CSVs de dados sob skills-lib/ (icons/stacks têm código co\n[…]\n remove ruído de CSV-PARSE-ERROR\n- ray-dalio.md: remove bloco de lixo de geração com path absoluto /Users/rafa/... vazado\n\nO job \"Quality & Validation / validate\" agora passa (0 broken refs, 0 leaks).",
"is_bot": false,
"headline": "fix(ci): validate:refs verde — mapeamento de skills-registry.yaml, sk…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-05T14:10:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8eb2837baa0f84b1e0af142e643212a93ca6cac2",
"body": "… asset, ai-product-design)\n\nSegurança (web-security, auth-and-secrets):\n- Tabela de triagem de falhas recorrentes de pentest rankeada por severidade\n- CORS refletindo Origin -> allowlist explícita\n- Vazamento de PII/hash na resposta -> allowlist de saída (DTO)\n- Enumeração de usuário -> mensagem ge\n[…]\nithmic-art (visual generativo)\n- ai-product-design: bundle de 44 padrões de design de agente/IA,\n arquitetura de prompt e trust/safety (base Owl-Listener/ai-design-skills, MIT)\n\nVersão 1.3.2 -> 1.4.0",
"is_bot": false,
"headline": "feat(security+skills): cobertura de pentest + 5 skills novas (motion,…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-05T14:03:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "915f39b5055d7b221938bcc4bd73d08cee35fafb",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.3.2",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-05T10:39:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dff95923c7f5f9e1e55add747e8c551999f011bc",
"body": "…rto em todos os agentes\n\nInjeta regra padrão de comunicação como 1a linha de activation_steps_append\nnos 9 agentes e 6 overrides, e atualiza a seção Output de _shared/token-economy.md.\nVale para qualquer projeto que instale o wizz-method.",
"is_bot": false,
"headline": "feat(wizz): comunicação sem narração, pausa no importante e resumo cu…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-05T10:38:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5011627629dd8d1d0ed374c378ecf2f2fd62e1a",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.3.1",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T23:19:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0fd8104827bfa2c6f1fba66cf6c04742408791c",
"body": "…ver .mcp.json\n\nCorrige o bug do MCP scrapling que gerava config quebrada (ENOENT): o\ninstaller escrevia `command:\"scrapling\"` (relativo) mas nunca instalava o\npacote `scrapling[ai]` (onde vive o servidor MCP) nem os browsers, e o\nsubprocesso do MCP nem sempre herda ~/.local/bin no PATH.\n\n- skills-r\n[…]\nactos\n- test-mcp-config.js: +20 testes (exec injetado + HOME temporário p/ hermeticidade)\n\nDoutrina: qualquer MCP futuro cujo command seja binário externo (não npx) deve\ndeclarar `setup:` no registry.",
"is_bot": false,
"headline": "fix(installer): MCP com binário externo instala+valida antes de escre…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T23:19:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9cf18fd84d80aeb206d9bfecdad8c7a75cd6548d",
"body": "feat(wizz-social): esteira de conteúdo (roteiro→prompts→imagem) + doutrina de instalação",
"is_bot": false,
"headline": "Merge pull request #1 from wizzcomms/feat/wizz-social-esteira-conteudo",
"author_name": "Wizz! comms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T19:11:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "483b5192f87b553ed4615b1bf5262505722e1b13",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.3.0",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T19:06:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f57f40b4f7db99f2f237f47d88bb4aa3005a636",
"body": "…ivação\n\nRevisão de eficiência aplicada:\n- persistent_facts 11→7: remove regras já cobertas por principles (briefing, hook)\n e communication_style (bordão), e a nota de formato já dita no SKILL.md\n- SKILL.md \"Regras de criação\": deixa de duplicar principles, vira ponteiro\n- adiciona IMG e copy-editing à tabela de roteamento do SKILL.md\n- desambiguação explícita PROMPT (esteira) vs IMG (avulso)",
"is_bot": false,
"headline": "refactor(wizz-social): elimina redundância de tokens no caminho de at…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T19:05:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "232b24bf1c790b82d3a723ec2dd99978d35b2e17",
"body": "…em) + doutrina de instalação\n\nAgente wizz-social (persona Rafa) vira uma esteira de produção de conteúdo:\n- Seção 12 do blueprint: formato 3D-personagem-falante (2 etapas, tabela de cenas, regras de fala)\n- knowledge/prompts-imagem-video.md: roteiro aprovado vira prompts de imagem + animação (Veo3)\n[…]\njeto, auto-deps NPX/CLI/MCP no install-time com cache\n- tradeoff install-time vs runtime com recomendação, auto-update, escolha inteligente de ferramenta\n- deps-cache.js (manifest passivo) + 26 testes",
"is_bot": false,
"headline": "feat(wizz-social): esteira de conteúdo completa (roteiro→prompts→imag…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T19:01:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2f737d7b1b4914e7f877dcb378d605ab5e45f0e7",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.2.2",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T12:55:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1517ea8cfa976398335891fe899d18ccafe21629",
"body": "Os gates da skills-lib, seletor de áreas, MCP e CLI dependiam do módulo\n'wizz', que não é oferecido em official-modules.js listAvailable() (só\ncore e bmm). Resultado: wizz-router e as 62 skills da biblioteca nunca\ninstalavam via npx. Migra os 4 gates para 'bmm' (Wizz Method), que todo\ninstall marca e já carrega os agentes de área.",
"is_bot": false,
"headline": "fix(installer): instala wizz-router/skills-lib no módulo bmm",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T12:55:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6e204298635effc326ee0b1cf10ae438fe7af65",
"body": "As 62 skills em src/skills-lib/ são skills globais/de terceiros vendorizadas que\nmantêm o nome upstream de propósito (ab-test-setup, agent-browser...). A regra\nSKILL-04 (name deve começar com wizz-) as marcava como HIGH — 61 alarmes falsos.\nAgora skills sob skills-lib são isentas do prefixo; SKILL-05 (name = pasta) segue\nvalendo. validate:skills passa de 61 HIGH para 0.",
"is_bot": false,
"headline": "fix(validate-skills): exempt src/skills-lib from wizz- prefix rule",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T09:00:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d813025e0aa9933b024c79a568bc3dff77fbad32",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.2.1",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T08:43:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce1abd5127905e99a098582157ec5163fbe80180",
"body": "…ry-aware\n\nResolve a colisão de papéis (router e maestro ambos \"orquestrador\") que fazia\nparecer dois chefes. Cadeia única: Diretor → (agente da área | maestro) → skills.\n\n- wizz-router vira DIRETOR / porta de entrada: só triagem+delegação, não orquestra.\n Em projeto Wizz: 2+ áreas OU 2+ fatores al\n[…]\n-registry.yaml e oferecem TUDO que casar\n (skills/clis/mcps por `when:`, respeitando `platform:`), pegando novidades\n automático (ex. tools de vídeo no designer, arcads em ads, scrapling em growth).",
"is_bot": false,
"headline": "refactor(wizz): Diretor→Gerente→trabalhadores; agentes de área regist…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T08:42:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7634da7cd8e103234aaae91b31b77e15e594e00a",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.2.0",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T08:04:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25f87a7241e8a61378e5f8bda3dec08b9d58a63f",
"body": "Integra tools de vídeo/social no skills-registry.yaml por área, como\nclis:/mcps: (upstream install, roteado pelo maestro/router via `when:`):\n- designer.clis: hyperframes, claude-video, buttercut, voicebox\n- ads.clis: arcads\n- growth.mcps: scrapling\n- seo.clis: distribb\n\nAdiciona gate de plataforma \n[…]\nopt-in.\n\nEnsina maestro e wizz-router a considerar clis:/cli_utility: no roteamento\n(antes só skills:/mcps:), respeitando o platform gate.\n\nTestes: test-cli-config cobre o platform gate (32 passando).",
"is_bot": false,
"headline": "feat(registry): video/social tools + platform-gated CLI suggestions",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-07-03T07:20:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "09dd9930b98f0558530ff847c89d9d93eb96f5ae",
"body": "Skills consolidation + registry-driven installer (MCP/CLI per area) + 12 squads.",
"is_bot": false,
"headline": "chore: bump version to 1.1.0",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T19:59:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f235f6ecbea17cfefd6d9d0d0379672637315d5",
"body": "…ry-driven installer (MCP/CLI per area) + 12 squads",
"is_bot": false,
"headline": "Merge feat/skills-consolidation-phase0: skills consolidation + regist…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T19:59:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c241ee2c2fd288ade604ded98f523ffc5d54aca0",
"body": "Add a CLI step mirroring the MCP step, for the command-line tools agents\nshell out to (agent-browser for browser verification, rtk for token\neconomy) — distinct from MCP servers. skills-registry.yaml stays the\nsingle source of truth: areas declare `clis:`, plus top-level\n`cli_utility:` for cross-cut\n[…]\ni.js selectClis + --clis flag; config.js cliPlan; installer.js runs\n chosen installs and prints `install` commands for the rest.\n\nSeeds: qa->agent-browser (npm), cross-cutting->rtk (curl install.sh).",
"is_bot": false,
"headline": "feat(installer): registry-driven CLI install per area",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T19:32:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "088a06c64c5f68fbbdd45b8e61094c13fb0edef5",
"body": "Declare recommended MCP servers per area in skills-registry.yaml (mcps:\n+ cross-cutting mcp_utility:) as the single source of truth, alongside\nskills. The installer resolves the chosen areas to a deduped MCP set,\nsplits them into write-vs-recommend, and additively merges the chosen\nones into the pro\n[…]\ny missing capability as skill (know-how) vs MCP (live access).\n\nBrowser verification stays on agent-browser (CLI/skill, already\ninstalled), not an MCP. The Playwright MCP is intentionally not offered.",
"is_bot": false,
"headline": "feat(installer): registry-driven MCP setup per area",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T19:07:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "025c9a38c566d95b4a1e34a87f119f52ba5b17af",
"body": "Phase 3: squads (advisory persona panels) now run through wizz-party-mode.\n\n- src/squads/<id>/: archived persona source (agents/*.md + squad.yaml),\n migrated from wizzbranding/squads; BMAD scaffolding (tasks/workflows/\n checklists) intentionally left out — party-mode does not consume it.\n- wizz-pa\n[…]\nd content,\n mirrors src/skills-lib handling).\n\nVerified: TOML parses, 120 members no duplicate codes, all group members\nresolve, resolve_party.py lists/resolves every squad, 15 party-mode tests pass.",
"is_bot": false,
"headline": "feat(squads): migrate 12 consultative squads into party-mode",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T16:13:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ca683941bcf6b419585e395b3d422c971b13dd47",
"body": "- new modules/skills-lib.js: reads skills-registry.yaml, resolves chosen\n areas to skill ids (+ utilities always), copies only those into\n _wizz/skills-lib, and installs the registry into _wizz/_config so the\n maestro reads the same source at runtime. No-op when sources absent.\n- manifest-generat\n[…]\non wizz module, additive (warns on failure, never aborts).\n\nVerified end-to-end: install copies area skills to .claude/skills,\nregistry persists for the maestro, cleanup is uniform with engine skills.",
"is_bot": false,
"headline": "feat(installer): install skills-lib by area from skills-registry.yaml",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T15:34:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "236e67b62d53284c4213258534832cc22557f09a",
"body": "- wizz-maestro: replace hardcoded routing table with registry read\n (menu dispatches the agent, skills-registry.yaml enriches with\n global skills + squads + when); graceful fallback when registry absent\n- shared complexity signal (areas, steps, planning, artifact+memory)\n defines router->maestro \n[…]\nmotion\n- wizz-router: escalate to wizz-maestro on 2+ high factors inside a\n Wizz Method project; stays flat/global otherwise\n- wizz-quick-dev: escalate up to maestro when scope balloons to multi-goal",
"is_bot": false,
"headline": "feat(skills): registry-driven maestro routing + bidirectional handoff",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T15:16:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "deae04fe3123ae48ccf4e8ca068c337755a5c9c5",
"body": "Phase 1 of the consolidation.\n\n- skills-registry.yaml: single source of truth mapping each of the 62 skills\n to an area (owned by a wizz agent), each of the 12 squads to a consulting\n domain, with a \"when\" gloss per skill to disambiguate overlapping ones.\n Read by both the installer (what to copy\n[…]\n name and reads name/\ndescription from frontmatter, so per-skill sidecars would be redundant.\nVerified all 62 SKILL.md have valid name+description frontmatter so the\ngenerator won't silently skip any.",
"is_bot": false,
"headline": "feat(skills): add skills-registry.yaml + align skill names to dir ids",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T14:59:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e2a8638260609cee5665e56535841608bcf32b92",
"body": "Bring the 62-skill library into src/skills-lib/ as the foundation for the\nsingle-repo consolidation (per-project install target). Excludes the two\nskills cut in Phase 0. Vendored library is excluded from md/prettier/eslint.\n\nPhase 0 cleanup (redundancy validated by grep, engine untouched):\n- remove \n[…]\n adversarial-reviewer; markdown-list output (Blind Hunter) preserved\n- decision-maker: hand its four prompts to the wizz executor agents when\n running inside the method; standalone behavior unchanged",
"is_bot": false,
"headline": "feat(skills): consolidate skills-lib into monorepo + Phase 0 cleanup",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-29T14:34:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bcf9f8ae8a04847da72c95b4df1837ddd0b52b54",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.0.3",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-27T18:19:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "780e2dc37c0c8b8a7cd3e4276fee1be7c0bae8ff",
"body": "…nally\n\nParty agents still think and clash in full behind the scenes, but the\noutput to the user is tightened: bulleted/comparative summaries instead\nof replaying the whole debate, and decision/action points presented as a\ncompact comparative block. Read-back at wrap-up is also concise.",
"is_bot": false,
"headline": "feat(party-mode): surface concise summaries, keep analysis deep inter…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-27T18:18:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eea39da0a1812072ca8761377eccba2460d36334",
"body": "Mirror the architect's Context7 integration into the dev agent (Amelia) and\nthe technical-research workflow via persistent_facts. Both consult Context7\n(resolve-library-id then query-docs) for current library docs/APIs before\nrelying on training data, with web-research fallback and an 'npx ctx7 setup'\nhint when the MCP is unavailable.",
"is_bot": false,
"headline": "feat(dev,research): add Context7 directive for live library docs",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-25T21:56:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c148e7bd80d1a950026b1ee2805ec24105cc83c",
"body": "…brary docs\n\nArchitect now consults Context7 (resolve-library-id then query-docs) before\nweb search for current library/framework docs, APIs, and versions. Falls back\nto web research and suggests 'npx ctx7 setup' when the MCP is unavailable.",
"is_bot": false,
"headline": "feat(architect): add Context7 to external-source registry for live li…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-25T21:54:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52ea6aa89e435a7abf6f640bc060593321e3591e",
"body": "- Rebranded all occurrences of 'bmad' to 'wizz' where applicable.\n- Preserved trademark references and external URLs.\n- Renamed project CLI, modules, and relevant filenames.\n- Translated Wizz specific agent descriptions to English for better LLM routing.\n- Added Portuguese trigger phrases to skill validator logic.\n- Deprecated skills updated with 'Use when' clauses.",
"is_bot": false,
"headline": "refactor: rename BMad to Wizz Method across codebase",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-24T08:14:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89d4a56088ef9f5dd8574c377b8d419388796384",
"body": "…ps optional feature slug\n\nAn explicit `default: \"\"` (e.g. active_feature in bmm module.yaml) means\n\"defaults to blank\", not \"required, must prompt\". The installer conflated\nempty string with undefined/null in 4 default-detection predicates, so\nExpress Setup interrupted to ask the BMM feature slug.\n\n[…]\nng) and route all 4 sites through it, keeping the\nquestionsWithoutDefaults / questionsWithDefaults partition complementary.\n\nAdd Test Suite 48 covering undefined/null/''/string/0/false. Bump to 1.0.2.",
"is_bot": false,
"headline": "fix: treat empty-string default as valid default so Express Setup ski…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-20T00:16:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "47291021ecbad28d2236e459c1676d296f8cca40",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 1.0.1 (rebranded Wizz installer ready to publish)",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T23:49:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9ad2f6be72f738a28e38fdaaf0a665b86f896d1",
"body": "…ommand\n\n- Rewrite home (docs/index.md) PT-BR -> English to match the rest of the site\n- Remove orphaned BMAD community locales (vi-vn, cs, zh-cn, fr) + drop from locales.mjs\n- Fix stale install command in root docs: npx bmad-method install -> npx wizz-method install",
"is_bot": false,
"headline": "docs: English-only site, remove BMAD community locales, fix install c…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T23:47:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0db95f4e0f9a609bb7cd03f06a5407c0006e6b8",
"body": "…ngs)\n\n- Replace ASCII install banner BMAD METHOD -> WIZZ METHOD\n- install-messages.yaml: Wizz links, keep discreet 'Built on BMAD Core' credit\n- CLI/command descriptions, status, uninstall, python-check, errors -> Wizz\n- packageName now derived from package.json; upgrade hint uses npx wizz-method\n- Keep BMAD engine internals: env vars, migration markers, _wizz folder, comments",
"is_bot": false,
"headline": "fix: rebrand installer shell BMAD -> Wizz (banner, messages, CLI stri…",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T23:30:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf75b8b342c071888691ee00ffc3bdb4ecee31fd",
"body": null,
"is_bot": false,
"headline": "Merge: rebrand commands/folders to wizz + port set-feature & be-concise",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T11:33:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c39b09c626cc896f83cef6b4974eb96a65b1549c",
"body": "…+ be-concise\n\nRename all 46 bmad-* engine skills to wizz-* (commands now /wizz-*) and\nruntime/output folders _bmad -> _wizz, _bmad-output -> _wizz-output.\nExact-token rename (perl lookbehind/lookahead) so BMad attribution\n(bmad-method.org, bmad-code-org), external module names, and test\nfixtures st\n[…]\n artifact agents.\n- BE CONCISE directive in wizz-dev-story and wizz-quick-dev.\n\nValidated: validate:skills, validate:refs (0 broken), test:install 394/0,\ntest:channels 83/0, format/lint/lint:md clean.",
"is_bot": false,
"headline": "feat: rebrand commands and runtime folders to wizz, port set-feature …",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T11:32:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0cbed41abaa61908fedc833110b310426ad1b7a6",
"body": null,
"is_bot": false,
"headline": "docs: replace logo banner with designed Wizz banner",
"author_name": "wizzcomms",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T10:50:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03877132309293889e1a838f95515d4cf187f051",
"body": null,
"is_bot": false,
"headline": "docs: rebrand workflow-map diagram BMad -> Wizz Method",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T09:47:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46d792f8ec714ddc061ab923e645e0f5ec59aa18",
"body": "…iers kept)",
"is_bot": false,
"headline": "docs: rebrand docs content BMad Method -> Wizz Method (engine identif…",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T09:46:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8cbae92f76491f58386546d0d9ee0634ab31f65c",
"body": "…nge)",
"is_bot": false,
"headline": "chore: rename references agencywizz -> wizzcomms (GitHub username cha…",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T09:04:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8aa8724de7ac913cbf32b5936cb29f72b4485de",
"body": "…adge",
"is_bot": false,
"headline": "docs(readme): copywriting polish - stronger headline, benefits, npm b…",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T08:38:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "593cc8fe3fdb8317a1e814718dfea41d924509bf",
"body": "- validate-skills: allow wizz- skill namespace (not only bmad-), fixes 11 HIGH findings on wizz agents\n- remove BMAD-only workflows (discord, publish, coderabbit) that depend on BMAD secrets\n- keep docs + quality; GitHub Pages enabled (source=Actions)",
"is_bot": false,
"headline": "ci: fix deploys for standalone repo",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T08:36:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d28f6d92cb2699d630737a3f947b45b969c5800f",
"body": "…for CI, PT-BR default)",
"is_bot": false,
"headline": "feat(wizz-init): prompt for communication language (--lang/WIZZ_LANG …",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T08:27:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d943e40314abb0bd1e6ec27e62cb9a7653ccd96f",
"body": null,
"is_bot": false,
"headline": "chore: switch docs domain to method.wizzcomms.com, remove orphan favicon",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T08:18:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "627381a264e7a8e6864cc2e2050030dbdd8bd074",
"body": "- package.json: name wizz-method, v1.0.0, author/repo/homepage Wizz, bin wizz/wizz-method\n- README, docs home, AGENTS, CONTRIBUTING, SECURITY, CONTRIBUTORS rebranded to Wizz (PT-BR)\n- website: Wizz palette (#FF4500), Space Grotesk, agencywizz links, BMAD ecosystem/banner removed, builds clean (182 pages)\n- CNAME docs.wizz-method.org, banner-wizz-method.png, favicon wizz-icon-orange.svg\n- CHANGELOG reset to 1.0.0\n- BMAD engine kept intact and credited in TRADEMARK.md",
"is_bot": false,
"headline": "chore: rebrand fork to Wizz Method standalone",
"author_name": "agencywizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-19T07:17:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "543c4cc61e145fba7656fcc87cbcdcae4483e43c",
"body": "- systematic-debugging embutido no wizz-dev e wizz-qa (causa raiz, não chute)\n- verificação goal-backward no wizz-qa (atende o objetivo, não só 'roda')\n- subagent-driven no wizz-maestro (paraleliza tarefas grandes)\n- map-codebase no analista/arquiteto via graphify + fallback inline\n\nTudo inline: funciona com ou sem GSD/superpowers instalados, então os\nframeworks podem ser desinstalados sem perda.",
"is_bot": false,
"headline": "feat(wizz): garimpa 4 disciplinas de GSD/superpowers (self-contained)",
"author_name": "wizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-18T21:16:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c8edfac82c9aa24a8c7a92655429bbdfa38309d",
"body": "QA dedicado que roda depois do dev: testes, E2E, revisão adversarial,\nacceptance criteria. Roteia para e2e-runner, adversarial-reviewer, code-reviewer.\nRegistrado no roster (module.yaml) e no roteamento/menu do maestro.",
"is_bot": false,
"headline": "feat(wizz): adiciona agente wizz-qa (8º agente)",
"author_name": "wizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-18T21:10:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2c485b77d68152155ace323d4725d5ddb441852",
"body": "… do wizz-init\n\nfindModuleSource agora checa src/modules/<code>/module.yaml antes dos externos,\npermitindo instalar o módulo wizz via --modules wizz. Testado: install completo\ncom core,bmm,wizz, config PT-BR e 7 agentes wizz deployados como skills.",
"is_bot": false,
"headline": "fix(installer): resolver módulos bundled em src/modules/<code> + lint…",
"author_name": "wizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-18T20:52:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69c9273cdc1ea878baf6ffac8292ea4169d24c78",
"body": "…e overrides BMAD\n\n- 7 agentes wizz (maestro, designer, copy, seo, growth, ads, memoria) em src/modules/wizz/agents\n- camada compartilhada _shared (encerramento ✅/➡️/🎯, economia de token, cerebro)\n- 6 overrides PT-BR dos agentes BMAD (analyst, pm, architect, dev, ux-designer, tech-writer)\n- wizz-init.mjs: seta idioma PT-BR + copia overrides para _bmad/custom (idempotente)\n- module.yaml bundled em src/modules/wizz (auto-descoberto pelo instalador)",
"is_bot": false,
"headline": "feat(wizz): módulo de agência PT-BR com 7 agentes, router dissolvido …",
"author_name": "wizz",
"author_login": "wizzcomms",
"committed_at": "2026-06-18T20:36:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d5739d9920bfe892e683a750e388996306082fd",
"body": "…xplainer (#2479)\n\n* Add configurable parties to bmad-party-mode\n\nParty mode gains a customize.toml config surface and a guided\nauthoring flow, while the out-of-the-box default room is unchanged.\n\n- customize.toml: party_members (custom personas), party_groups\n (named rooms with an optional freefor\n[…]\noutput_dir}; step 2 resolves\n {output_folder} and {date}\n- customize.toml: add output_dir = {output_folder}/party-mode, overridable\n in team/user TOML (matches the bmad-brainstorming output pattern)",
"is_bot": false,
"headline": "Party Mode: configurable custom parties, run modes, and a rewritten e…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-06-18T05:57:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "606ad6063baa74916bea98ef26da6253216a2dd0",
"body": "* fix: update marketplace metadata\n\n* fix: update marketplace metadata\n\n* fix: include architecture skill in marketplace",
"is_bot": false,
"headline": "fix: update Claude marketplace metadata (#2457)",
"author_name": "Loic Duong",
"author_login": "loicduong",
"committed_at": "2026-06-18T03:35:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfafc89cf6c82de7cb539012a85ef1814db4ec88",
"body": "Retrospective Step 12 appends agreed action items to a new action_items\nsection in sprint-status.yaml and updates the previous epic's entries from\nthe Step 4 follow-through. Sprint-status parses the section, validates its\nstatuses, and surfaces open items in the summary and data mode.\nSprint-planning preserves the section when regenerating the file.",
"is_bot": false,
"headline": "feat(skills): track retrospective action items in sprint-status (#2465)",
"author_name": "Dov Benyomin Sohacheski",
"author_login": "bdsoha",
"committed_at": "2026-06-18T03:34:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07d34fb43a97162bb1643746e5dde39489637550",
"body": null,
"is_bot": false,
"headline": "fix: adjust nav height for dual announcement banners (#2473)",
"author_name": "SLUR",
"author_login": "slur16105",
"committed_at": "2026-06-18T03:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bcc235cdb3ef5eb9e4403ee3479577f8091dbe9",
"body": null,
"is_bot": false,
"headline": "fix(installer): guard WSL installs from Windows Node (#2470)",
"author_name": "Davor Racic",
"author_login": "dracic",
"committed_at": "2026-06-18T03:19:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2417f0048daa9b668239423789640fb7212850e7",
"body": "…e template (#2475)\n\n* bmad-architecture: breadth coverage + lean directives; reviewer reports to subfolder\n\n- Inline forward-readiness (inherit upstream silently; thin input -> suggest bmad-spec or hybrid-capture) and brownfield (ratify, don't re-tell) directives in place of a standalone spine-chec\n[…]\nd rows,\nfenced headings, renamed heading, and reordered columns (28 passing).\n\nReword stale 'unpinned deps' / 'unpinned dependency versions' to 'unpinned\nStack versions' to match the body-table model.",
"is_bot": false,
"headline": "bmad-architecture: lean directives, breadth coverage, redesigned spin…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-06-17T21:00:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "242dc6ef759ce252420c7393e2b9683cea9608e1",
"body": "…n spine skill (#2467)\n\n* Rework solutioning architecture skill into bmad-architecture (spine)\n\n- Rename canonical skill bmad-tech-plan -> bmad-architecture; output is ARCHITECTURE-SPINE.md\n- Convert bmad-create-architecture to a deprecated husk forwarding to bmad-architecture (create intent); strip\n[…]\nanions,\n matching the \"omit keys for artifacts not produced\" contract (coderabbit)\n\n* bmad-architecture: ask deliverable purpose up front, offer presentable renderings, lead next-steps with bmad-spec",
"is_bot": false,
"headline": "bmad-architecture part 1: replace bmad-create-architecture with a lea…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-06-14T20:42:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "560a2e3a6fbd9087765cb569bb860379117e2249",
"body": "… is missing (#2466)\n\n* feat: installer detects Python version and warns when 3.11+ (tomllib) is missing\n\nSeveral BMAD features need Python at runtime: memlog (3.8+) and the TOML\nconfig resolution scripts (3.11+ for stdlib tomllib). Users install into\nvaried environments (Linux, Windows, WSL, Docker\n[…]\nINVAL (CVE-2024-27980 hardening\n rejects .bat/.cmd shims like pyenv-win's without a shell).\n- Add Suite 46 branch tests for checkPythonEnvironment with stubbed\n detection, prompts, and process.exit.",
"is_bot": false,
"headline": "feat: installer detects Python version and warns when 3.11+ (tomllib)…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-06-12T02:27:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fbb48ed711c3381aede1497ca107b97dd2172210",
"body": "* fix: remove empty skill-group dirs left in _bmad after install\n\nSkill cleanup removed each skill's own directory but never pruned the\nnow-empty grouping folders above it (e.g. _bmad/bmm/1-analysis), leaving\nempty dirs behind after every install. Walk up from each removed skill\ndir and drop empty p\n[…]\no a dir that vanishes or fills in mid-walk never aborts the install.\nMove the test fixture cleanup into finally so failures don't leak temp\ndirs.\n\n---------\n\nCo-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "fix: remove empty skill-group dirs left in _bmad after install (#2461)",
"author_name": "Dov Benyomin Sohacheski",
"author_login": "bdsoha",
"committed_at": "2026-06-11T13:29:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b9431d6d99e0a70e6f0179634310d1b6fecb861d",
"body": "… first consumer (#2462)\n\n* bmad-spec: make the memlog canonical, SPEC.md a derived view\n\nReplace the bespoke .decision-log.md with the shared memlog script\n(_bmad/scripts/memlog.py, same location as resolve_customization.py).\nThe append-only memlog becomes the single source of truth; SPEC.md and\nsp\n[…]\n\n below 3.10. Correct the requires-python header to >=3.8.\n- installer.js: filter tests/, __pycache__/, .pytest_cache/, and *.pyc\n out of _installSharedScripts so dev-only files never ship to users.",
"is_bot": false,
"headline": "Shared canonical memlog script (src/scripts/memlog.py) + bmad-spec as…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-06-11T13:17:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fdd65dc3d92b0a570996f778076c4753c896d906",
"body": "…463)\n\nThe Blind Hunter subagent intentionally has no tool access, but the\nreview steps never said how {diff_output} should be delivered. Orchestrators\ntypically wrote the diff to a temp file and asked the agent to read it,\nwhich silently fails (0 tool calls), and the 10-finding requirement then\npus\n[…]\nt never saw.\n\nState explicitly that the diff is passed inline in the subagent prompt,\nin both bmad-code-review step 2 and bmad-quick-dev step 4.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(skills): pass diff output inline to the blind-hunter reviewer (#2…",
"author_name": "PinkyD",
"author_login": "pbean",
"committed_at": "2026-06-10T16:23:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "397b2a5c876d443d298aa44dab582520dbf094c8",
"body": "CodeWhale uses .codewhale/skills/ (project) and\n~/.codewhale/skills/ (global) for skill directories,\nmatching the existing config-driven installer pattern.\n\n- platform-codes.yaml: codewhale entry after codex\n- test: Test 12b validates install target and setup",
"is_bot": false,
"headline": "feat: add CodeWhale as supported installer platform (#2459)",
"author_name": "Aristo Rinjuang",
"author_login": "aristorinjuang",
"committed_at": "2026-06-09T03:29:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "072d0a74587ef1ea744d51f2dd4436ee2895758d",
"body": "Co-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "fix(skills): renumber retrospective workflow steps (#2448)",
"author_name": "Oneby Wang",
"author_login": "oneby-wang",
"committed_at": "2026-06-07T01:37:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "717a84f2e8627ba250db6a307ab2c0af96b6c8ab",
"body": "… anchor validation (#2408)\n\n* docs(fr): translation of install-custom-modules\n\nReference commit 97d32405\n\n* docs(fr): refinement of forensic-investigation\n\n* docs(fr): translation of customize-bmad TOML customization rewrite\n\nReference commits 0dbfae67, 4405b817, ffdd9bc6, b63086f2\"\n\n* fix(docs): h\n[…]\nection with\n link to customize-bmad how-to\n- party-mode.md: replace stale \"BMad Master orchestre\" with \"Le Party\n Mode orchestre la discussion\"\n\n---------\n\nCo-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "docs(fr): sync French docs with latest English source + fix non-ASCII…",
"author_name": "Emmanuel Atsé",
"author_login": "eatse21",
"committed_at": "2026-06-07T01:34:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "faffffedbbc46369a9f5ecd7ad66b11c8e9c15fe",
"body": null,
"is_bot": false,
"headline": "docs: update planning workflow diagram (#2444)",
"author_name": "Loic Duong",
"author_login": "loicduong",
"committed_at": "2026-06-07T01:33:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b178f27c01f8e2979cccb033d6720daf50230d46",
"body": "…2446)",
"is_bot": false,
"headline": "fix(bmad-create-epics-and-stories): discover bmad-ux spine outputs (#…",
"author_name": "duliangang",
"author_login": "duliangang",
"committed_at": "2026-06-07T01:32:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9d9316e9736fb0c95dccd303902961dfb551ad8",
"body": "* fix: clarify quick dev subagent use\n\n* fix: clarify subagent use in more workflows",
"is_bot": false,
"headline": "fix: clarify quick dev subagent use (#2450)",
"author_name": "Alex Verkhovsky",
"author_login": "alexeyv",
"committed_at": "2026-06-04T11:49:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "feab3d5e4e73d908fe539f39760b4664e0718293",
"body": "…ual session composer (#2445)\n\n* Initial draft: brainstorming improved\n\n* bmad-brainstorming: apply quality-analysis fixes\n\n- Add ## Overview heading (prose was already present)\n- Fix resume scan to glob output_dir/*/session.md (per-session subfolders);\n handle multiple in-progress sessions\n- Ancho\n[…]\nwith logic and fallbacks staying in code (8 new icons added, full coverage)\n\nDocs:\n- Add analysis/ (catalog-analysis.md + method-matrix.csv): the 4-axis review behind these changes\n\nAll 52 tests pass.",
"is_bot": false,
"headline": "bmad-brainstorming: facilitation modes, append-only memlog, and a vis…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-06-03T03:54:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fae70152266659061bf57e8b08b2a50a7981fc9c",
"body": "…441)\n\nReframes the party-mode skill around outcomes instead of a rigid\nsubagent script, addressing issue #2280.\n\n- Voicing the room is the default; subagents become opt-in (--subagents)\n for rounds that genuinely need independent thinking.\n- Removes the lossy 400-word context cap and the 'Do NOT u\n[…]\nus, brevity by default.\n- Adds orchestrator weaving so independently-produced turns read as one\n conversation without altering what any persona actually argued.\n- Slims SKILL.md from 128 to 75 lines.",
"is_bot": false,
"headline": "Redesign party-mode skill as conversation-first, subagents opt-in (#2…",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-05-30T05:39:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e74dd8040d74f0d44073bd88f1449d3ca76ed5e1",
"body": "* docs: refresh skill metadata references\n\n* docs: link BMad customization guide",
"is_bot": false,
"headline": "docs: refresh skill metadata references (#2439)",
"author_name": "Loic Duong",
"author_login": "loicduong",
"committed_at": "2026-05-30T03:34:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bcd6c3cce6e381b759e23185b099081496567a5",
"body": null,
"is_bot": true,
"headline": "chore(release): v6.8.0 [skip ci]",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-05-25T21:47:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62c836ee6139f6549d2cf0a272ba10ed3c083684",
"body": null,
"is_bot": false,
"headline": "docs(changelog): v6.8.0 release notes (#2427)",
"author_name": "Brian",
"author_login": "bmadcode",
"committed_at": "2026-05-25T21:46:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db744d405fa2e3c92e3d118df0de01a9a3e74090",
"body": "Co-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "fix: support nested group paths in SSH Git URLs (#2379)",
"author_name": "hanhnt2-hblab",
"author_login": "hanhnt2-hblab",
"committed_at": "2026-05-25T19:15:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b31b1accd52c63da0ac008ec54cf2c8fb203c40",
"body": "Adds 19 new elicitation methods across 7 categories including a new\n'framing' category. All existing 50 methods preserved. Entries sorted\nalphabetically by category then method name.\n\nNew methods added:\n- advanced: Chain-of-Thought Scaffolding, Few-Shot Exemplar Priming\n- collaboration: Six Thinking\n[…]\ntion Audit, Cascading Failure Simulation\n- technical: Boundary & Edge Case Sweep\n\nCloses #2061\n\nCo-authored-by: Brian <bmadcode@gmail.com>\nCo-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>",
"is_bot": false,
"headline": "feat: expand advanced elicitation methods with 19 new techniques (#2062)",
"author_name": "Jacob du Toit",
"author_login": "devilliersdutoit",
"committed_at": "2026-05-25T19:09:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9c291b7ca9e834122e35164de50cc478b2457396",
"body": "…ustom modules (#2332)\n\nWith shallow clones (--depth 1), `origin/HEAD` becomes stale after the\ninitial clone. The update path used `git reset --hard origin/HEAD` which\nnever picked up new commits pushed to the default branch.\n\nResolve the default branch name via `git symbolic-ref refs/remotes/origin/HEAD`,\nthen fetch and reset against `origin/<branch>` explicitly. Falls back to\n`main` if origin/HEAD is not set.\n\nCo-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "fix: resolve default branch explicitly when updating shallow-cloned c…",
"author_name": "Jérôme Revillard",
"author_login": "jrevillard",
"committed_at": "2026-05-25T19:05:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fea431fd2e1e5648091895d76d99bf290a56e22d",
"body": "…er-scoped answers) are preserved as defaults (#2411)\n\nloadExistingConfig only read from legacy _bmad/<module>/config.yaml files, but\nthe installer writes user-scoped answers (user_name, communication_language, etc.)\nto _bmad/config.user.toml. On every subsequent reinstall those values were not\nload\n[…]\ne kept as a fallback for pre-v6 installations.\n\nCo-authored-by: RobertOcsko <robert.ocsko@;seon.io>\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>\nCo-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "fix(installer): read config.toml on re-run so user_name (and other us…",
"author_name": "robertocsko-seon",
"author_login": "robertocsko-seon",
"committed_at": "2026-05-25T18:56:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9a2fba97a381e82b7e734b51d7c1bce8de40a80b",
"body": "Co-authored-by: Brian <bmadcode@gmail.com>",
"is_bot": false,
"headline": "fix: capture dev story baseline commits (#2403)",
"author_name": "SevenSteven",
"author_login": "seven-steven",
"committed_at": "2026-05-25T18:50:08Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 1,
"commits_last_year": 1496,
"latest_release_at": "2026-07-07T17:15:38Z",
"latest_release_tag": "assets-v1",
"releases_from_tags": false,
"days_since_last_push": 3,
"active_weeks_last_year": 51,
"days_since_latest_release": 17,
"mean_days_between_releases": null
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 100,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "wizz-method",
"exists": true,
"license": "MIT",
"keywords": [
"agile",
"ai",
"orchestrator",
"development",
"methodology",
"agents",
"wizz",
"wizzcomms"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/wizz-method",
"is_deprecated": false,
"latest_version": "1.7.0",
"repository_url": "https://github.com/wizzcomms/wizz-method",
"versions_count": 18,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2935,
"first_published_at": "2026-06-19T09:18:12.167000Z",
"latest_published_at": "2026-07-19T09:19:22.713000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 0,
"stars": 0,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0,
"collected_at": null
},
"open_issues_and_prs": 10
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"demos",
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 190536,
"source_files_sampled": 157,
"oversized_source_files": 4,
"agent_instruction_files": [
"AGENTS.md",
"docs/reference/agents.md",
"src/skills-lib/supabase-postgres-best-practices/AGENTS.md"
],
"agent_instruction_max_bytes": 4965
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 98,
"malicious_count": 0,
"assessed_package": "npm:wizz-method@1.7.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@clack/core",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.1"
},
{
"name": "@clack/prompts",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.4.0"
},
{
"name": "@kayvan/markdown-tree-parser",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.1"
},
{
"name": "chalk",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.2"
},
{
"name": "commander",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^14.0.0"
},
{
"name": "csv-parse",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^6.1.0"
},
{
"name": "glob",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^11.0.3"
},
{
"name": "ignore",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.0.5"
},
{
"name": "js-yaml",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.0"
},
{
"name": "picocolors",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "semver",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.6.3"
},
{
"name": "xml2js",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.6.2"
},
{
"name": "yaml",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.7.0"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 10,
"merged_prs": 1,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 2,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "alexeyv",
"commits": 402,
"avatar_url": "https://avatars.githubusercontent.com/u/20280?v=4"
},
{
"type": "User",
"login": "bmadcode",
"commits": 161,
"avatar_url": "https://avatars.githubusercontent.com/u/195515201?v=4"
},
{
"type": "User",
"login": "semantic-release-bot",
"commits": 91,
"avatar_url": "https://avatars.githubusercontent.com/u/32174276?v=4"
},
{
"type": "User",
"login": "wizzcomms",
"commits": 73,
"avatar_url": "https://avatars.githubusercontent.com/u/245509532?v=4"
},
{
"type": "User",
"login": "muratkeremozcan",
"commits": 61,
"avatar_url": "https://avatars.githubusercontent.com/u/34237651?v=4"
},
{
"type": "User",
"login": "dracic",
"commits": 22,
"avatar_url": "https://avatars.githubusercontent.com/u/4533263?v=4"
},
{
"type": "User",
"login": "lrliang",
"commits": 14,
"avatar_url": "https://avatars.githubusercontent.com/u/20784515?v=4"
},
{
"type": "User",
"login": "ksylvan",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/1226059?v=4"
},
{
"type": "User",
"login": "forcetrainer",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/13531525?v=4"
},
{
"type": "User",
"login": "arcaven",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/2000551?v=4"
}
],
"contributors_sampled": 98,
"top_contributor_share": 0.386
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"docs.yaml",
"install-smoke-mcp.yaml",
"quality.yaml",
"routing-eval-llm.yaml"
],
"has_docs_dir": true,
"linter_configs": [
"eslint.config.mjs"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 0,
"reason": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 11 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "project was created within the last 90 days. Please review its contents carefully",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 2,
"reason": "dependency not pinned by hash detected -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "fd461ba3b2dd6cfd79b2d878a41e5f35a377a2cf",
"ran_at": "2026-07-25T06:20:05Z",
"aggregate_score": 4.3,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-21T22:07:56Z",
"oldest_open_prs": [
{
"number": 2,
"created_at": "2026-07-07T18:03:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3,
"created_at": "2026-07-07T18:04:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 4,
"created_at": "2026-07-07T18:04:04Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 5,
"created_at": "2026-07-07T18:04:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6,
"created_at": "2026-07-07T18:04:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 7,
"created_at": "2026-07-07T18:04:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 8,
"created_at": "2026-07-07T18:04:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 9,
"created_at": "2026-07-07T18:04:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 10,
"created_at": "2026-07-07T18:04:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 11,
"created_at": "2026-07-14T22:05:18Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-03T19:11:45Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/wizzcomms/wizz-method",
"host": "github.com",
"name": "wizz-method",
"owner": "wizzcomms"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"security": 54,
"vitality": 84,
"community": 45,
"governance": 62,
"engineering": 78
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 84,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 89,
"inputs": {
"commits_last_year": 1496,
"human_commit_share": 0.99,
"days_since_last_push": 3,
"active_weeks_last_year": 51
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 3 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 3
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "51/52 weeks with commits",
"points": 35.3,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 51
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "1496 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 1496
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"releases_count": 1,
"latest_release_tag": "assets-v1",
"releases_from_tags": false,
"days_since_latest_release": 17,
"mean_days_between_releases": null
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "1 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 1
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 17 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 17
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "cadence unknown (single release)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence_unknown",
"params": {}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 45,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "moderate",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 58,
"inputs": {
"packages": [
"wizz-method"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 2935
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "2,935 downloads/month across npm",
"points": 46.2,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 2935,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 62,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 98,
"top_contributor_share": 0.386
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 39% of commits",
"points": 13.8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 39
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "98 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 98
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 11 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 72,
"inputs": {
"merged_prs": 1,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "1/1 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 1,
"decided": 1
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "critical",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 22,
"inputs": {
"followers": 0,
"owner_type": "User",
"is_verified": null,
"owner_login": "wizzcomms",
"public_repos": 7,
"account_age_days": 244
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "0 followers of wizzcomms",
"points": 0,
"status": "missed",
"details": [
{
"code": "owner_followers",
"params": {
"count": 0,
"login": "wizzcomms"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "7 public repos, account ~0 yr old",
"points": 7.9,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 7
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"wizz-method"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 5
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 5 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 5
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "18 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 18
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 78,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.mjs",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.mjs"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"agency",
"agile",
"ai",
"ai-agents",
"bmad",
"claude-code",
"cursor",
"llm",
"methodology",
"portugues"
],
"has_wiki": true,
"homepage": "https://method.wizzcomms.com",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://method.wizzcomms.com",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "10 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 10
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 54,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 43,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 4.3
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 11 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 2",
"points": 1,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:wizz-method@1.7.0 runtime dependency closure — what installing the published package pulls in — 98 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:wizz-method@1.7.0",
"assessed": 98
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 98,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 98,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 7
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 64,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.98,
"agent_instruction_files": [
"AGENTS.md",
"docs/reference/agents.md",
"src/skills-lib/supabase-postgres-best-practices/AGENTS.md"
],
"agent_instruction_max_bytes": 4965
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, docs/reference/agents.md, src/skills-lib/supabase-postgres-best-practices/AGENTS.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, docs/reference/agents.md, src/skills-lib/supabase-postgres-best-practices/AGENTS.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "97 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 97,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.22,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.mjs",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.mjs"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "22 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 22,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "dependency automation configured, none observed in the sampled commits",
"points": 5,
"status": "partial",
"details": [
{
"code": "dependency_bot_config_only",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 2",
"points": 2,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 190536,
"source_files_sampled": 157,
"oversized_source_files": 4
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "JavaScript without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "JavaScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "4/157 source files over 60KB",
"points": 53.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 157,
"oversized": 4
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"demos",
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "demos, examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "demos, examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-25T06:20:26.201442Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/wizzcomms/wizz-method.svg",
"full_name": "wizzcomms/wizz-method",
"license_state": "custom",
"license_spdx": null
}