codymaster 7.0.2 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -0
- package/README.md +38 -1
- package/dist/agent/codex.js +73 -21
- package/dist/agent-dispatch.js +63 -48
- package/dist/cli/commands/brain.js +18 -0
- package/dist/cli/commands/design-studio.js +1 -1
- package/dist/cm-suggest.js +3 -3
- package/dist/dashboard-project-summary.js +9 -0
- package/dist/dashboard.js +11 -5
- package/dist/execution-analyzer.js +9 -1
- package/dist/judge.js +16 -15
- package/dist/mcp-context-server.js +45 -23
- package/dist/mcp-skills-tools.js +2 -2
- package/dist/skill-chain.js +26 -3
- package/dist/skill-token-report.js +105 -0
- package/dist/sprint-pipeline.js +3 -3
- package/dist/ui/onboarding.js +3 -4
- package/dist/utils/design-taste.js +1 -1
- package/dist/utils/output-compress.js +8 -0
- package/package.json +2 -1
- package/public/dashboard/app.js +40 -13
- package/public/dashboard/index.html +190 -5
- package/public/dashboard/style.css +1 -1
- package/scripts/build-skills.mjs +36 -2
- package/scripts/mcp-bridge.js +41 -24
- package/scripts/pack-plugin.mjs +206 -0
- package/skills/cm-ads-tracker/SKILL.md +401 -0
- package/skills/cm-ads-tracker/evals/evals.json +55 -0
- package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
- package/skills/cm-ads-tracker/references/industry-events.md +294 -0
- package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
- package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
- package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
- package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
- package/skills/cm-auto-publisher/SKILL.md +81 -0
- package/skills/cm-booking-calendar/SKILL.md +521 -0
- package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
- package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
- package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
- package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
- package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
- package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
- package/skills/cm-brainstorm-idea/SKILL.md +5 -5
- package/skills/cm-code-review/SKILL.md +2 -2
- package/skills/cm-codeintell/SKILL.md +47 -580
- package/skills/cm-codeintell/references/integration-workflows.md +23 -0
- package/skills/cm-codeintell/references/layer-0-skeleton.md +54 -0
- package/skills/cm-codeintell/references/layer-1-codegraph.md +58 -0
- package/skills/cm-codeintell/references/layer-2-architecture.md +31 -0
- package/skills/cm-codeintell/references/layer-3-context-builder.md +32 -0
- package/skills/cm-content-factory/.content-factory-state.json +132 -0
- package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/cm-content-factory/AGENTS.md +61 -0
- package/skills/cm-content-factory/CLAUDE.md +63 -0
- package/skills/cm-content-factory/CURSOR.md +43 -0
- package/skills/cm-content-factory/Content Factory.zip +0 -0
- package/skills/cm-content-factory/SKILL.md +416 -0
- package/skills/cm-content-factory/cf +313 -0
- package/skills/cm-content-factory/config.schema.json +397 -0
- package/skills/cm-content-factory/dashboard/app.js +556 -0
- package/skills/cm-content-factory/dashboard/index.html +397 -0
- package/skills/cm-content-factory/dashboard/style.css +1211 -0
- package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
- package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
- package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
- package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
- package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
- package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
- package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
- package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
- package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
- package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
- package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
- package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
- package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
- package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
- package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
- package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
- package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
- package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
- package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
- package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
- package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
- package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
- package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
- package/skills/cm-content-factory/extensions/hooks.py +126 -0
- package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
- package/skills/cm-content-factory/landing/docs/content/changelog.md +36 -0
- package/skills/cm-content-factory/landing/docs/content/deployment.md +46 -0
- package/skills/cm-content-factory/landing/docs/content/execution-flow.md +67 -0
- package/skills/cm-content-factory/landing/docs/content/openspace.md +27 -0
- package/skills/cm-content-factory/landing/docs/content/openviking.md +33 -0
- package/skills/cm-content-factory/landing/docs/content/use-cases.md +26 -0
- package/skills/cm-content-factory/landing/docs/content/v5-intro.md +28 -0
- package/skills/cm-content-factory/landing/docs/index.html +240 -0
- package/skills/cm-content-factory/landing/index.html +680 -0
- package/skills/cm-content-factory/landing/script.js +143 -0
- package/skills/cm-content-factory/landing/style.css +1216 -0
- package/skills/cm-content-factory/landing/translations.js +508 -0
- package/skills/cm-content-factory/logs/events.jsonl +11 -0
- package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
- package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
- package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
- package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
- package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
- package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
- package/skills/cm-content-factory/scripts/audit.py +106 -0
- package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
- package/skills/cm-content-factory/scripts/deploy.py +146 -0
- package/skills/cm-content-factory/scripts/extract.py +132 -0
- package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
- package/skills/cm-content-factory/scripts/memory.py +521 -0
- package/skills/cm-content-factory/scripts/monetize.py +239 -0
- package/skills/cm-content-factory/scripts/pipeline.py +357 -0
- package/skills/cm-content-factory/scripts/plan.py +163 -0
- package/skills/cm-content-factory/scripts/publish.py +145 -0
- package/skills/cm-content-factory/scripts/research.py +337 -0
- package/skills/cm-content-factory/scripts/scaffold.py +464 -0
- package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
- package/skills/cm-content-factory/scripts/seo.py +90 -0
- package/skills/cm-content-factory/scripts/state_manager.py +320 -0
- package/skills/cm-content-factory/scripts/token_manager.py +268 -0
- package/skills/cm-content-factory/scripts/validate.py +221 -0
- package/skills/cm-content-factory/scripts/wizard.py +329 -0
- package/skills/cm-content-factory/scripts/write.py +93 -0
- package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
- package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
- package/skills/cm-content-factory/tests/conftest.py +66 -0
- package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
- package/skills/cm-content-factory/tests/test_memory.py +128 -0
- package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
- package/skills/cm-content-factory/tests/test_research.py +56 -0
- package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
- package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
- package/skills/cm-content-factory/tests/test_wizard.py +121 -0
- package/skills/cm-continuity/SKILL.md +49 -480
- package/skills/cm-continuity/references/cm-uri-scheme.md +23 -0
- package/skills/cm-continuity/references/continuity-template.md +48 -0
- package/skills/cm-continuity/references/mcp-context-server.md +27 -0
- package/skills/cm-continuity/references/memory-architecture.md +26 -0
- package/skills/cm-continuity/references/memory-audit.md +18 -0
- package/skills/cm-continuity/references/session-protocol.md +31 -0
- package/skills/cm-continuity/references/storage-formats.md +20 -0
- package/skills/cm-cro-methodology/SKILL.md +290 -0
- package/skills/cm-cro-methodology/references/COPYWRITING.md +178 -0
- package/skills/cm-cro-methodology/references/OBJECTIONS.md +135 -0
- package/skills/cm-cro-methodology/references/PERSUASION.md +158 -0
- package/skills/cm-cro-methodology/references/RESEARCH.md +220 -0
- package/skills/cm-cro-methodology/references/funnel-analysis.md +365 -0
- package/skills/cm-cro-methodology/references/testing-methodology.md +330 -0
- package/skills/cm-design-system/SKILL.md +5 -6
- package/skills/cm-execution/SKILL.md +61 -379
- package/skills/cm-execution/references/mode-a-batch.md +28 -0
- package/skills/cm-execution/references/mode-b-subagent.md +46 -0
- package/skills/cm-execution/references/mode-c-parallel.md +39 -0
- package/skills/cm-execution/references/mode-d-rarv.md +62 -0
- package/skills/cm-execution/references/mode-e-triz-parallel.md +53 -0
- package/skills/cm-execution/references/mode-f-party.md +61 -0
- package/skills/cm-execution/references/persona-dispatch.md +22 -0
- package/skills/cm-execution/references/security-rules.md +47 -0
- package/skills/cm-google-form/SKILL.md +266 -0
- package/skills/cm-google-form/templates/apps-script.js +55 -0
- package/skills/cm-google-form/templates/form-markup.html +110 -0
- package/skills/cm-google-form/templates/form-submit.js +201 -0
- package/skills/cm-google-form/templates/toast.css +152 -0
- package/skills/cm-growth-hacking/SKILL.md +282 -0
- package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
- package/skills/cm-growth-hacking/calendar-integration.md +264 -0
- package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
- package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
- package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
- package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
- package/skills/cm-growth-hacking/tracking-events.md +246 -0
- package/skills/cm-growth-hacking/trigger-system.md +342 -0
- package/skills/cm-how-it-work/SKILL.md +8 -9
- package/skills/cm-identity-guard/SKILL.md +4 -4
- package/skills/cm-jtbd/SKILL.md +98 -0
- package/skills/cm-notebooklm/SKILL.md +156 -0
- package/skills/cm-notebooklm/references/command_reference.md +94 -0
- package/skills/cm-notebooklm/references/workflows.md +60 -0
- package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
- package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
- package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
- package/skills/cm-planning/SKILL.md +3 -3
- package/skills/cm-project-bootstrap/SKILL.md +2 -2
- package/skills/cm-quality-gate/SKILL.md +1 -1
- package/skills/cm-readit/SKILL.md +289 -0
- package/skills/cm-readit/audio-player.md +206 -0
- package/skills/cm-readit/examples/blog-reader.js +352 -0
- package/skills/cm-readit/examples/voice-cro.js +390 -0
- package/skills/cm-readit/tts-engine.md +262 -0
- package/skills/cm-readit/ui-patterns.md +362 -0
- package/skills/cm-readit/voice-cro.md +223 -0
- package/skills/cm-safe-deploy/SKILL.md +80 -510
- package/skills/cm-safe-deploy/references/gate-0-5-security-scan.md +31 -0
- package/skills/cm-safe-deploy/references/gate-0-secret-hygiene.md +68 -0
- package/skills/cm-safe-deploy/references/gate-1-syntax.md +23 -0
- package/skills/cm-safe-deploy/references/gate-2-test-suite.md +28 -0
- package/skills/cm-safe-deploy/references/gate-3-i18n.md +19 -0
- package/skills/cm-safe-deploy/references/gate-4-5-build-dist.md +16 -0
- package/skills/cm-safe-deploy/references/gate-6-deploy-smoke.md +18 -0
- package/skills/cm-safe-deploy/references/rollback.md +17 -0
- package/skills/cm-safe-deploy/references/setup-new-project.md +20 -0
- package/skills/cm-skill-index/SKILL.md +15 -15
- package/skills/cm-start/SKILL.md +1 -1
- package/skills/cm-tdd/SKILL.md +51 -356
- package/skills/cm-tdd/references/bugfix-example.md +15 -0
- package/skills/cm-tdd/references/rationalizations.md +20 -0
- package/skills/cm-tdd/references/red-green-refactor.md +33 -0
- package/skills/cm-tdd/references/stuck-debugging.md +18 -0
- package/skills/cm-tdd/references/test-quality.md +19 -0
- package/skills/cm-ux-master/SKILL.md +368 -115
- package/skills/profiles/core.txt +1 -4
- package/skills/profiles/design.txt +1 -2
- package/skills/profiles/full.txt +10 -16
- package/skills/profiles/growth.txt +9 -9
- package/skills/profiles/top35.json +13 -13
- package/skills/cm-conductor-worktrees/SKILL.archive.md +0 -28
- package/skills/cm-conductor-worktrees/SKILL.md +0 -26
- package/skills/cm-dashboard/SKILL.archive.md +0 -15
- package/skills/cm-dashboard/SKILL.md +0 -26
- package/skills/cm-dashboard/ui/app.js +0 -1278
- package/skills/cm-dashboard/ui/index.html +0 -206
- package/skills/cm-dashboard/ui/style.css +0 -440
- package/skills/cm-design-studio/SKILL.archive.md +0 -34
- package/skills/cm-design-studio/SKILL.md +0 -26
- package/skills/cm-engineering-meta/SKILL.archive.md +0 -73
- package/skills/cm-engineering-meta/SKILL.md +0 -26
- package/skills/cm-git-worktrees/SKILL.archive.md +0 -157
- package/skills/cm-git-worktrees/SKILL.md +0 -26
- package/skills/cm-post-deploy-canary/SKILL.archive.md +0 -22
- package/skills/cm-post-deploy-canary/SKILL.md +0 -26
- package/skills/cm-qa-visual-cli/SKILL.archive.md +0 -22
- package/skills/cm-qa-visual-cli/SKILL.md +0 -26
- package/skills/cm-second-opinion-cli/SKILL.archive.md +0 -23
- package/skills/cm-second-opinion-cli/SKILL.md +0 -26
- package/skills/cm-secret-shield/SKILL.archive.md +0 -580
- package/skills/cm-secret-shield/SKILL.md +0 -26
- package/skills/cm-security-gate/SKILL.archive.md +0 -239
- package/skills/cm-security-gate/SKILL.md +0 -26
- package/skills/cm-skill-health/SKILL.archive.md +0 -83
- package/skills/cm-skill-health/SKILL.md +0 -26
- package/skills/cm-skill-mastery/SKILL.archive.md +0 -156
- package/skills/cm-skill-mastery/SKILL.md +0 -26
- package/skills/cm-skill-search/SKILL.archive.md +0 -49
- package/skills/cm-skill-search/SKILL.md +0 -26
- package/skills/cm-skill-share/SKILL.archive.md +0 -58
- package/skills/cm-skill-share/SKILL.md +0 -26
- package/skills/cm-test-gate/SKILL.archive.md +0 -245
- package/skills/cm-test-gate/SKILL.md +0 -26
- package/skills/cm-ui-preview/SKILL.archive.md +0 -153
- package/skills/cm-ui-preview/SKILL.md +0 -26
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Layer 0 — Skeleton Index
|
|
2
|
+
|
|
3
|
+
> Purpose: lightning-fast, zero-dependency extraction of signatures and module boundaries.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- You need instant orientation in an unfamiliar codebase
|
|
7
|
+
- The task is mostly navigation, not semantic graph analysis
|
|
8
|
+
- You want to avoid repeated grep/list-dir exploration
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
```
|
|
12
|
+
1. SCAN find source files across supported languages
|
|
13
|
+
2. EXTRACT capture signatures only: functions, classes, exports, routes
|
|
14
|
+
3. GROUP organize by directory / module boundary
|
|
15
|
+
4. CAP keep the output compact
|
|
16
|
+
5. OUTPUT write .cm/skeleton.md for reuse
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Run
|
|
20
|
+
```bash
|
|
21
|
+
# From project root
|
|
22
|
+
bash scripts/index-codebase.sh
|
|
23
|
+
|
|
24
|
+
# Custom input/output
|
|
25
|
+
bash scripts/index-codebase.sh /path/to/project /path/to/output.md
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## What It Extracts
|
|
29
|
+
| Language | Patterns |
|
|
30
|
+
|---|---|
|
|
31
|
+
| TS / JS | `export`, `function`, `class`, `interface`, `type`, `enum`, routes |
|
|
32
|
+
| Python | `def`, `async def`, `class`, route decorators |
|
|
33
|
+
| Go | `func`, `struct`, `interface`, `package` |
|
|
34
|
+
| Rust | `pub fn`, `struct`, `enum`, `trait`, `mod` |
|
|
35
|
+
| Other common langs | top-level functions, classes, interfaces, modules |
|
|
36
|
+
|
|
37
|
+
## Output Shape
|
|
38
|
+
- Entry points
|
|
39
|
+
- Compact directory structure
|
|
40
|
+
- Per-directory code skeleton with line numbers and symbol signatures
|
|
41
|
+
- Enough structure to navigate without loading full files
|
|
42
|
+
|
|
43
|
+
## Agent Protocol
|
|
44
|
+
- If `.cm/skeleton.md` exists and is fresh, read it first.
|
|
45
|
+
- Rebuild after major refactors, branch switches, or stale indexes.
|
|
46
|
+
- Use it to:
|
|
47
|
+
- locate relevant files quickly
|
|
48
|
+
- understand module boundaries
|
|
49
|
+
- reduce exploratory token spend
|
|
50
|
+
|
|
51
|
+
## Why It Exists
|
|
52
|
+
- ~95%+ compression versus reading raw source
|
|
53
|
+
- works on any project size
|
|
54
|
+
- zero dependency fallback when CodeGraph is unavailable
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Layer 1 — Code Graph
|
|
2
|
+
|
|
3
|
+
> Purpose: AST-based structural graph for symbol search, callers, callees, and impact analysis.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- You need to know what calls a symbol
|
|
7
|
+
- You need to know what a symbol calls
|
|
8
|
+
- You need impact analysis before a risky change
|
|
9
|
+
- Skeleton orientation is not enough
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
```bash
|
|
13
|
+
# One-time install
|
|
14
|
+
npx @colbymchenry/codegraph
|
|
15
|
+
|
|
16
|
+
# Initialize and index
|
|
17
|
+
codegraph init .
|
|
18
|
+
codegraph index .
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## MCP Setup
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"mcpServers": {
|
|
25
|
+
"codegraph": {
|
|
26
|
+
"command": "codegraph",
|
|
27
|
+
"args": ["serve"]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Core Queries
|
|
34
|
+
| Tool / Query | Use |
|
|
35
|
+
|---|---|
|
|
36
|
+
| `codegraph_search(query)` | find symbols by name or meaning |
|
|
37
|
+
| `codegraph_context(task)` | assemble focused structural context |
|
|
38
|
+
| `codegraph_callers(symbol)` | find inbound usage |
|
|
39
|
+
| `codegraph_callees(symbol)` | find outbound calls |
|
|
40
|
+
| `codegraph_impact(symbol)` | estimate blast radius |
|
|
41
|
+
| `codegraph_files(path)` | inspect project structure with metadata |
|
|
42
|
+
| `codegraph_node(symbol)` | inspect one symbol deeply |
|
|
43
|
+
|
|
44
|
+
## Replace This Pattern
|
|
45
|
+
| Instead of | Use |
|
|
46
|
+
|---|---|
|
|
47
|
+
| repeated grep for symbol names | `codegraph_search(...)` |
|
|
48
|
+
| manual caller tracing | `codegraph_callers(...)` |
|
|
49
|
+
| guessing blast radius | `codegraph_impact(...)` |
|
|
50
|
+
| recursive directory spelunking | `codegraph_files(...)` |
|
|
51
|
+
|
|
52
|
+
## Freshness Rules
|
|
53
|
+
- Check status before relying on the graph
|
|
54
|
+
- Sync after major refactors or branch changes
|
|
55
|
+
- Re-index when the graph is stale or missing
|
|
56
|
+
|
|
57
|
+
## Guardrail
|
|
58
|
+
If graph setup is unavailable, fall back to Layer 0 rather than blocking work entirely.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Layer 2 — Architecture Diagram
|
|
2
|
+
|
|
3
|
+
> Purpose: generate a visual map of modules, flows, and boundaries for humans and downstream agents.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- You need a system overview, not symbol-level detail
|
|
7
|
+
- You are explaining architecture to another agent or human
|
|
8
|
+
- Planning or debugging benefits from a visual map
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
```
|
|
12
|
+
1. READ structure from skeleton and/or code graph
|
|
13
|
+
2. IDENTIFY major modules, entry points, and boundaries
|
|
14
|
+
3. DRAW Mermaid architecture diagram
|
|
15
|
+
4. STORE under .cm/ for reuse
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Typical Output
|
|
19
|
+
- module groups
|
|
20
|
+
- entry points
|
|
21
|
+
- major dependencies
|
|
22
|
+
- runtime or data-flow direction
|
|
23
|
+
|
|
24
|
+
## When to Generate
|
|
25
|
+
- project onboarding
|
|
26
|
+
- before large refactors
|
|
27
|
+
- when debugging cross-module failures
|
|
28
|
+
- when planning work that spans multiple systems
|
|
29
|
+
|
|
30
|
+
## Rule
|
|
31
|
+
Keep diagrams structural and readable. Avoid rendering every symbol; focus on modules and relationships.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Layer 3 — Smart Context Builder
|
|
2
|
+
|
|
3
|
+
> Purpose: synthesize focused, task-specific context from lower layers for planning, execution, or debugging.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- Another skill needs a tight context packet
|
|
7
|
+
- The task spans multiple files or modules
|
|
8
|
+
- You want to reduce repeated repo search inside downstream work
|
|
9
|
+
|
|
10
|
+
## Protocol
|
|
11
|
+
```
|
|
12
|
+
1. START from the task statement
|
|
13
|
+
2. PULL the lightest useful lower-layer data
|
|
14
|
+
3. FILTER to only the relevant symbols, files, and flows
|
|
15
|
+
4. SUMMARIZE into a compact context packet
|
|
16
|
+
5. HAND OFF to planning, debugging, or execution
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## What Good Output Includes
|
|
20
|
+
- relevant files or modules
|
|
21
|
+
- important symbols
|
|
22
|
+
- entry points or integration boundaries
|
|
23
|
+
- likely impact radius
|
|
24
|
+
- known unknowns or hotspots
|
|
25
|
+
|
|
26
|
+
## Adaptive Rule
|
|
27
|
+
- Small task → minimal file list + one flow
|
|
28
|
+
- Medium task → symbols + impact
|
|
29
|
+
- Large task → layered packet with boundaries and risk areas
|
|
30
|
+
|
|
31
|
+
## Guardrail
|
|
32
|
+
Do not dump the whole graph into context. Synthesize for the task at hand.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "2.0",
|
|
3
|
+
"started_at": "2026-03-03T02:45:17.451741",
|
|
4
|
+
"updated_at": "2026-03-03T02:45:17.455271",
|
|
5
|
+
"status": "running",
|
|
6
|
+
"pipeline": {
|
|
7
|
+
"current_phase": "write",
|
|
8
|
+
"phases": {
|
|
9
|
+
"extract": {
|
|
10
|
+
"status": "done",
|
|
11
|
+
"progress": 1.0,
|
|
12
|
+
"started_at": null,
|
|
13
|
+
"finished_at": "2026-03-03T02:45:17.452336"
|
|
14
|
+
},
|
|
15
|
+
"plan": {
|
|
16
|
+
"status": "done",
|
|
17
|
+
"progress": 1.0,
|
|
18
|
+
"started_at": null,
|
|
19
|
+
"finished_at": "2026-03-03T02:45:17.452685"
|
|
20
|
+
},
|
|
21
|
+
"write": {
|
|
22
|
+
"status": "running",
|
|
23
|
+
"progress": 0.6,
|
|
24
|
+
"started_at": "2026-03-03T02:45:17.452944",
|
|
25
|
+
"finished_at": null
|
|
26
|
+
},
|
|
27
|
+
"audit": {
|
|
28
|
+
"status": "pending",
|
|
29
|
+
"progress": 0,
|
|
30
|
+
"started_at": null,
|
|
31
|
+
"finished_at": null
|
|
32
|
+
},
|
|
33
|
+
"seo": {
|
|
34
|
+
"status": "pending",
|
|
35
|
+
"progress": 0,
|
|
36
|
+
"started_at": null,
|
|
37
|
+
"finished_at": null
|
|
38
|
+
},
|
|
39
|
+
"publish": {
|
|
40
|
+
"status": "pending",
|
|
41
|
+
"progress": 0,
|
|
42
|
+
"started_at": null,
|
|
43
|
+
"finished_at": null
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"tasks": [
|
|
48
|
+
{
|
|
49
|
+
"id": "write-seo-tips",
|
|
50
|
+
"status": "running",
|
|
51
|
+
"created_at": "2026-03-03T02:45:17.453172",
|
|
52
|
+
"updated_at": "2026-03-03T02:45:17.453172",
|
|
53
|
+
"meta": {
|
|
54
|
+
"topic": "SEO Tips 2025"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "write-content-strategy",
|
|
59
|
+
"status": "done",
|
|
60
|
+
"created_at": "2026-03-03T02:45:17.453373",
|
|
61
|
+
"updated_at": "2026-03-03T02:45:17.453373",
|
|
62
|
+
"meta": {
|
|
63
|
+
"topic": "Content Strategy"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "write-ai-marketing",
|
|
68
|
+
"status": "queued",
|
|
69
|
+
"created_at": "2026-03-03T02:45:17.453562",
|
|
70
|
+
"updated_at": "2026-03-03T02:45:17.453562",
|
|
71
|
+
"meta": {
|
|
72
|
+
"topic": "AI Marketing"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "write-social-media",
|
|
77
|
+
"status": "failed",
|
|
78
|
+
"created_at": "2026-03-03T02:45:17.453769",
|
|
79
|
+
"updated_at": "2026-03-03T02:45:17.453769",
|
|
80
|
+
"meta": {
|
|
81
|
+
"topic": "Social Media"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"tokens": {
|
|
86
|
+
"total_input": 57000,
|
|
87
|
+
"total_output": 30000,
|
|
88
|
+
"total_cost_usd": 0.1759,
|
|
89
|
+
"budget_limit_usd": 5.0,
|
|
90
|
+
"providers": {
|
|
91
|
+
"gemini": {
|
|
92
|
+
"input": 45000,
|
|
93
|
+
"output": 22000,
|
|
94
|
+
"cost_usd": 0.0199,
|
|
95
|
+
"requests": 1
|
|
96
|
+
},
|
|
97
|
+
"claude-sonnet": {
|
|
98
|
+
"input": 12000,
|
|
99
|
+
"output": 8000,
|
|
100
|
+
"cost_usd": 0.156,
|
|
101
|
+
"requests": 1
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"errors": [
|
|
106
|
+
{
|
|
107
|
+
"source": "write",
|
|
108
|
+
"message": "API rate limit exceeded on request #45",
|
|
109
|
+
"timestamp": "2026-03-03T02:45:17.455270"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"stats": {
|
|
113
|
+
"articles_total": 50,
|
|
114
|
+
"articles_written": 32,
|
|
115
|
+
"articles_passed_audit": 28,
|
|
116
|
+
"articles_failed": 2
|
|
117
|
+
},
|
|
118
|
+
"agents": [
|
|
119
|
+
{
|
|
120
|
+
"id": "gemini-cli-1",
|
|
121
|
+
"type": "gemini",
|
|
122
|
+
"registered_at": "2026-03-03T02:45:17.454842",
|
|
123
|
+
"last_seen": "2026-03-03T02:45:17.454842"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "claude-1",
|
|
127
|
+
"type": "claude",
|
|
128
|
+
"registered_at": "2026-03-03T02:45:17.455059",
|
|
129
|
+
"last_seen": "2026-03-03T02:45:17.455059"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0000000000000000000000000000000000000000 88b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d Tody Le <todyle@192.168.1.126.non-exists.ptr.local> 1772335261 +0700 commit (initial): Initial commit
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0000000000000000000000000000000000000000 88b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d Tody Le <todyle@192.168.1.126.non-exists.ptr.local> 1772335285 +0700 update by push
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
x�Wmk7���
|
|
2
|
+
�B>���$�/%&vkHK�]J)a�i�����Z��|���fwo��-N��og4zf�yە�+�������`�p������6��V)�W�|�)QީwGDM'~�v{- �X�'H�k[ ��
|
|
3
|
+
�3!o�dgt[[Ǯ@h�Ϸ:��l��̯�.�n
|
|
4
|
+
�,ԍ��r>���6J�zd�;+����.�Gp��J���Au$�nH� �DÕ���U�`5�Υ�kpR =�ZT�X ���z�er{��3����6�4�����m�B��A�yU�ʡJ�sݍO�ȈP�]�5��r0�V��b��-��ၽd�h���� �����!�ŀ�(����+k�M�x���U��!���dģ�c��6(Ϧd��]u���7���T���M`�O]�/�:"��`�x���#����o�E����5��.}8����J��o�Sަ�y��?�XY��{�Ap3������1�.=L��9?�8��0b�D|s�o��#���`�D�^?"p>;����6�nt�@�sd��i���r+8:(n8@co��o�����;V����M+D7�8�d~@g��ij�Y{���2�v�`���-<.\����O��U8]f�a��F�u[ͽ/�K���9�~����L0S>Z:��bnDs${��"��n�ր3�=.g�͍��LJǞu�ъ�Zi�>)s;i\� IF;�ZWҶ��M�_����0x-Pprzt�Ujs���N/����]o����
|
|
5
|
+
h�f�[ 2��&v�#Y.���zt8 d��;��:M�f ��4��,(��q�K�%$�l6�� E_.�I��NB0�38Kv����k�|���YZ%
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
88b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
88b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[
|
|
2
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_claim_by_type",
|
|
3
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_claim_empty_queue_returns_none",
|
|
4
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_claim_next",
|
|
5
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_complete",
|
|
6
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_enqueue",
|
|
7
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_enqueue_batch",
|
|
8
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_fail_exceeds_max_retries",
|
|
9
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_fail_with_retry",
|
|
10
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_no_duplicate_enqueue",
|
|
11
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_priority_ordering",
|
|
12
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_queue_summary",
|
|
13
|
+
"tests/test_agent_dispatcher.py::TestAgentDispatcher::test_reset",
|
|
14
|
+
"tests/test_memory.py::TestMemoryEngineInit::test_creates_directory_structure",
|
|
15
|
+
"tests/test_memory.py::TestMemoryEngineInit::test_creates_semantic_files",
|
|
16
|
+
"tests/test_memory.py::TestMemoryEngineInit::test_creates_working_session",
|
|
17
|
+
"tests/test_memory.py::TestSessionLifecycle::test_start_session_creates_working_file",
|
|
18
|
+
"tests/test_memory.py::TestSessionLifecycle::test_start_session_returns_id",
|
|
19
|
+
"tests/test_memory.py::TestWritingContext::test_context_includes_added_patterns",
|
|
20
|
+
"tests/test_memory.py::TestWritingContext::test_empty_context_returns_structure",
|
|
21
|
+
"tests/test_memory.py::TestWritingPatterns::test_add_new_pattern",
|
|
22
|
+
"tests/test_memory.py::TestWritingPatterns::test_update_existing_pattern_increases_confidence",
|
|
23
|
+
"tests/test_pipeline.py::TestFireHooks::test_empty_hooks_returns_silently",
|
|
24
|
+
"tests/test_pipeline.py::TestFireHooks::test_no_hooks_returns_silently",
|
|
25
|
+
"tests/test_pipeline.py::TestFireHooks::test_nonexistent_hook_name_returns_silently",
|
|
26
|
+
"tests/test_pipeline.py::TestLoadConfig::test_load_missing_config_exits",
|
|
27
|
+
"tests/test_pipeline.py::TestLoadConfig::test_load_valid_config",
|
|
28
|
+
"tests/test_pipeline.py::TestValidateConfig::test_empty_config_fails",
|
|
29
|
+
"tests/test_pipeline.py::TestValidateConfig::test_missing_brand_name_fails",
|
|
30
|
+
"tests/test_pipeline.py::TestValidateConfig::test_missing_content_article_types_fails",
|
|
31
|
+
"tests/test_pipeline.py::TestValidateConfig::test_missing_niche_fails",
|
|
32
|
+
"tests/test_pipeline.py::TestValidateConfig::test_missing_output_content_dir_fails",
|
|
33
|
+
"tests/test_pipeline.py::TestValidateConfig::test_missing_sources_type_fails",
|
|
34
|
+
"tests/test_pipeline.py::TestValidateConfig::test_valid_config_passes",
|
|
35
|
+
"tests/test_research.py::TestGenerateQueries::test_queries_contain_niche",
|
|
36
|
+
"tests/test_research.py::TestGenerateQueries::test_queries_contain_topic",
|
|
37
|
+
"tests/test_research.py::TestGenerateQueries::test_returns_list",
|
|
38
|
+
"tests/test_research.py::TestResearchEngineInit::test_loads_config",
|
|
39
|
+
"tests/test_research.py::TestResearchEngineInit::test_sets_project_root",
|
|
40
|
+
"tests/test_state_manager.py::TestStateManager::test_add_error",
|
|
41
|
+
"tests/test_state_manager.py::TestStateManager::test_add_task",
|
|
42
|
+
"tests/test_state_manager.py::TestStateManager::test_budget_check",
|
|
43
|
+
"tests/test_state_manager.py::TestStateManager::test_default_state",
|
|
44
|
+
"tests/test_state_manager.py::TestStateManager::test_event_logging",
|
|
45
|
+
"tests/test_state_manager.py::TestStateManager::test_get_snapshot",
|
|
46
|
+
"tests/test_state_manager.py::TestStateManager::test_overall_status_completed",
|
|
47
|
+
"tests/test_state_manager.py::TestStateManager::test_overall_status_error",
|
|
48
|
+
"tests/test_state_manager.py::TestStateManager::test_phase_lifecycle",
|
|
49
|
+
"tests/test_state_manager.py::TestStateManager::test_reset",
|
|
50
|
+
"tests/test_state_manager.py::TestStateManager::test_save_and_load",
|
|
51
|
+
"tests/test_state_manager.py::TestStateManager::test_update_existing_task",
|
|
52
|
+
"tests/test_state_manager.py::TestStateManager::test_update_tokens",
|
|
53
|
+
"tests/test_token_manager.py::TestTokenManager::test_backoff_seconds",
|
|
54
|
+
"tests/test_token_manager.py::TestTokenManager::test_budget_exceeded",
|
|
55
|
+
"tests/test_token_manager.py::TestTokenManager::test_budget_status",
|
|
56
|
+
"tests/test_token_manager.py::TestTokenManager::test_budget_within",
|
|
57
|
+
"tests/test_token_manager.py::TestTokenManager::test_circuit_breaker_closed",
|
|
58
|
+
"tests/test_token_manager.py::TestTokenManager::test_circuit_breaker_opens",
|
|
59
|
+
"tests/test_token_manager.py::TestTokenManager::test_circuit_breaker_resets_on_success",
|
|
60
|
+
"tests/test_token_manager.py::TestTokenManager::test_estimate_cost_gemini",
|
|
61
|
+
"tests/test_token_manager.py::TestTokenManager::test_estimate_cost_unknown_provider",
|
|
62
|
+
"tests/test_token_manager.py::TestTokenManager::test_failure_tracking",
|
|
63
|
+
"tests/test_token_manager.py::TestTokenManager::test_multiple_providers",
|
|
64
|
+
"tests/test_token_manager.py::TestTokenManager::test_record_usage",
|
|
65
|
+
"tests/test_token_manager.py::TestTokenManager::test_reset",
|
|
66
|
+
"tests/test_wizard.py::TestGenerateConfig::test_config_from_template",
|
|
67
|
+
"tests/test_wizard.py::TestGenerateConfig::test_config_has_memory_section",
|
|
68
|
+
"tests/test_wizard.py::TestGenerateConfig::test_config_has_scoring_section",
|
|
69
|
+
"tests/test_wizard.py::TestGenerateConfig::test_generates_valid_config",
|
|
70
|
+
"tests/test_wizard.py::TestSlugify::test_already_slug",
|
|
71
|
+
"tests/test_wizard.py::TestSlugify::test_basic_slug",
|
|
72
|
+
"tests/test_wizard.py::TestSlugify::test_empty_string",
|
|
73
|
+
"tests/test_wizard.py::TestSlugify::test_leading_trailing_special",
|
|
74
|
+
"tests/test_wizard.py::TestSlugify::test_special_characters",
|
|
75
|
+
"tests/test_wizard.py::TestSlugify::test_unicode_text"
|
|
76
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Content Factory v2.0 — AI Content Machine Platform
|
|
2
|
+
|
|
3
|
+
Compatible with: Gemini CLI, Claude Code, Cursor, OpenCode, Kimi CLI, Cline, Codex, and any MCP-compatible agent.
|
|
4
|
+
|
|
5
|
+
## How This Skill Works
|
|
6
|
+
Self-learning AI content factory with **real-time dashboard**, **multi-agent support**, and **token management**. Generates, audits, and deploys SEO-optimized content at scale. Read `SKILL.md` for complete architecture.
|
|
7
|
+
|
|
8
|
+
## Quick Start
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# New project (interactive wizard)
|
|
12
|
+
python3 scripts/wizard.py
|
|
13
|
+
|
|
14
|
+
# Full pipeline with dashboard
|
|
15
|
+
python3 scripts/pipeline.py --dashboard
|
|
16
|
+
|
|
17
|
+
# Pipeline with budget limit
|
|
18
|
+
python3 scripts/pipeline.py --dashboard --budget 5.0
|
|
19
|
+
|
|
20
|
+
# Check status
|
|
21
|
+
python3 scripts/pipeline.py --status
|
|
22
|
+
|
|
23
|
+
# Dashboard only
|
|
24
|
+
python3 scripts/dashboard_server.py
|
|
25
|
+
|
|
26
|
+
# Token usage
|
|
27
|
+
python3 scripts/token_manager.py status
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Multi-Agent Protocol
|
|
31
|
+
|
|
32
|
+
When working alongside other agents:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# 1. Check task queue
|
|
36
|
+
python3 scripts/agent_dispatcher.py status
|
|
37
|
+
|
|
38
|
+
# 2. Agent claims a task (replace AGENT_ID with your identifier)
|
|
39
|
+
# Use the AgentDispatcher class in your scripts:
|
|
40
|
+
# from agent_dispatcher import AgentDispatcher
|
|
41
|
+
# d = AgentDispatcher(); task = d.claim_next("gemini-1")
|
|
42
|
+
|
|
43
|
+
# 3. Complete or fail task
|
|
44
|
+
# d.complete(task_id, "gemini-1", {"result": "ok"})
|
|
45
|
+
# d.fail(task_id, "gemini-1", "reason")
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 12 Modes
|
|
49
|
+
EXTRACT, PLAN, WRITE, AUDIT, SEO, PUBLISH, LEARN, RESEARCH, REVIEW, PIPELINE, DASHBOARD, LANDING
|
|
50
|
+
|
|
51
|
+
## Landing Pages
|
|
52
|
+
```bash
|
|
53
|
+
# Generate landing pages from persona config
|
|
54
|
+
python3 scripts/landing_generator.py --config content-factory.config.json
|
|
55
|
+
|
|
56
|
+
# List personas
|
|
57
|
+
python3 scripts/landing_generator.py --config content-factory.config.json --list
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Workflows
|
|
61
|
+
`/create` `/content-factory` `/extract` `/write-batch` `/write` `/edit` `/audit-fix` `/seo-optimize` `/publish` `/learn` `/research` `/schedule` `/dashboard` `/landing`
|