sinapse-ai 1.23.0 → 1.25.0
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/.agents/skills/sinapse/SKILL.md +10 -0
- package/.agents/skills/sinapse-agent/SKILL.md +22 -0
- package/.agents/skills/sinapse-analyst/SKILL.md +29 -0
- package/.agents/skills/sinapse-animations/SKILL.md +28 -0
- package/.agents/skills/sinapse-architect/SKILL.md +31 -0
- package/.agents/skills/sinapse-brand/SKILL.md +28 -0
- package/.agents/skills/sinapse-claude/SKILL.md +28 -0
- package/.agents/skills/sinapse-cloning/SKILL.md +28 -0
- package/.agents/skills/sinapse-commercial/SKILL.md +28 -0
- package/.agents/skills/sinapse-content/SKILL.md +28 -0
- package/.agents/skills/sinapse-copy/SKILL.md +28 -0
- package/.agents/skills/sinapse-council/SKILL.md +28 -0
- package/.agents/skills/sinapse-courses/SKILL.md +28 -0
- package/.agents/skills/sinapse-cyber/SKILL.md +28 -0
- package/.agents/skills/sinapse-data-engineer/SKILL.md +31 -0
- package/.agents/skills/sinapse-design/SKILL.md +28 -0
- package/.agents/skills/sinapse-dev/SKILL.md +31 -0
- package/.agents/skills/sinapse-devops/SKILL.md +31 -0
- package/.agents/skills/sinapse-finance/SKILL.md +28 -0
- package/.agents/skills/sinapse-growth/SKILL.md +28 -0
- package/.agents/skills/sinapse-loop/SKILL.md +35 -0
- package/.agents/skills/sinapse-orqx/SKILL.md +44 -0
- package/.agents/skills/sinapse-paidmedia/SKILL.md +28 -0
- package/.agents/skills/sinapse-pm/SKILL.md +31 -0
- package/.agents/skills/sinapse-po/SKILL.md +31 -0
- package/.agents/skills/sinapse-product/SKILL.md +28 -0
- package/.agents/skills/sinapse-qa/SKILL.md +31 -0
- package/.agents/skills/sinapse-research/SKILL.md +28 -0
- package/.agents/skills/sinapse-sm/SKILL.md +27 -0
- package/.agents/skills/sinapse-spec-driven/SKILL.md +35 -0
- package/.agents/skills/sinapse-squad-creator/SKILL.md +31 -0
- package/.agents/skills/sinapse-storytelling/SKILL.md +28 -0
- package/.agents/skills/sinapse-swarm/SKILL.md +28 -0
- package/.agents/skills/sinapse-ux-design-expert/SKILL.md +24 -0
- package/.agents/skills/snps/SKILL.md +10 -0
- package/.agents/skills/snps-orqx/SKILL.md +10 -0
- package/.claude/agents/README.md +67 -0
- package/.claude/agents/sinapse-ad-copywriter.md +14 -0
- package/.claude/agents/sinapse-agent-forger.md +14 -0
- package/.claude/agents/sinapse-analyst.md +14 -0
- package/.claude/agents/sinapse-animation-interpreter.md +14 -0
- package/.claude/agents/sinapse-animation-performance-engineer.md +14 -0
- package/.claude/agents/sinapse-animations-orqx.md +14 -0
- package/.claude/agents/sinapse-architect.md +14 -0
- package/.claude/agents/sinapse-assessment-creator.md +14 -0
- package/.claude/agents/sinapse-audience-intelligence.md +14 -0
- package/.claude/agents/sinapse-blake-snyder.md +14 -0
- package/.claude/agents/sinapse-brand-archetype-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-auditor.md +14 -0
- package/.claude/agents/sinapse-brand-collateral-designer.md +14 -0
- package/.claude/agents/sinapse-brand-compiler.md +14 -0
- package/.claude/agents/sinapse-brand-creative-engineer.md +14 -0
- package/.claude/agents/sinapse-brand-culture-architect.md +14 -0
- package/.claude/agents/sinapse-brand-growth-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-identity-designer.md +14 -0
- package/.claude/agents/sinapse-brand-motion-vfx.md +14 -0
- package/.claude/agents/sinapse-brand-naming-specialist.md +14 -0
- package/.claude/agents/sinapse-brand-orqx.md +14 -0
- package/.claude/agents/sinapse-brand-positioning-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-sonic-designer.md +14 -0
- package/.claude/agents/sinapse-brand-strategist.md +14 -0
- package/.claude/agents/sinapse-brand-system-architect.md +14 -0
- package/.claude/agents/sinapse-brand-voice-writer.md +14 -0
- package/.claude/agents/sinapse-brene-brown.md +14 -0
- package/.claude/agents/sinapse-budget-controller.md +14 -0
- package/.claude/agents/sinapse-campaign-analyst.md +14 -0
- package/.claude/agents/sinapse-charlie-munger.md +14 -0
- package/.claude/agents/sinapse-claude-mastery-chief.md +14 -0
- package/.claude/agents/sinapse-cloning-orqx.md +14 -0
- package/.claude/agents/sinapse-cloud-security-engineer.md +14 -0
- package/.claude/agents/sinapse-cognitive-extractor.md +14 -0
- package/.claude/agents/sinapse-commercial-orqx.md +14 -0
- package/.claude/agents/sinapse-competitive-intelligence.md +14 -0
- package/.claude/agents/sinapse-compliance-officer.md +14 -0
- package/.claude/agents/sinapse-config-engineer.md +14 -0
- package/.claude/agents/sinapse-content-analyst.md +14 -0
- package/.claude/agents/sinapse-content-capturer.md +14 -0
- package/.claude/agents/sinapse-content-engineer.md +14 -0
- package/.claude/agents/sinapse-content-governor.md +14 -0
- package/.claude/agents/sinapse-content-orqx.md +14 -0
- package/.claude/agents/sinapse-content-writer.md +14 -0
- package/.claude/agents/sinapse-conversion-writer.md +14 -0
- package/.claude/agents/sinapse-copy-editor.md +14 -0
- package/.claude/agents/sinapse-copy-orqx.md +14 -0
- package/.claude/agents/sinapse-copy-strategist.md +14 -0
- package/.claude/agents/sinapse-cost-optimizer.md +14 -0
- package/.claude/agents/sinapse-council-orqx.md +14 -0
- package/.claude/agents/sinapse-courses-orqx.md +14 -0
- package/.claude/agents/sinapse-creative-strategist.md +14 -0
- package/.claude/agents/sinapse-cro-persuasion.md +14 -0
- package/.claude/agents/sinapse-cro-specialist.md +14 -0
- package/.claude/agents/sinapse-cs-business-auditor.md +14 -0
- package/.claude/agents/sinapse-cs-client-success.md +14 -0
- package/.claude/agents/sinapse-cs-crm-specialist.md +14 -0
- package/.claude/agents/sinapse-cs-funnel-architect.md +14 -0
- package/.claude/agents/sinapse-cs-lead-generation-strategist.md +14 -0
- package/.claude/agents/sinapse-cs-offer-designer.md +14 -0
- package/.claude/agents/sinapse-cs-revops-analyst.md +14 -0
- package/.claude/agents/sinapse-cs-sales-closer.md +14 -0
- package/.claude/agents/sinapse-cs-sales-enablement.md +14 -0
- package/.claude/agents/sinapse-css-motion-artist.md +14 -0
- package/.claude/agents/sinapse-curriculum-designer.md +14 -0
- package/.claude/agents/sinapse-cyber-orqx.md +14 -0
- package/.claude/agents/sinapse-dan-harmon.md +14 -0
- package/.claude/agents/sinapse-data-engineer.md +14 -0
- package/.claude/agents/sinapse-data-synthesizer.md +14 -0
- package/.claude/agents/sinapse-deep-researcher.md +14 -0
- package/.claude/agents/sinapse-derek-sivers.md +14 -0
- package/.claude/agents/sinapse-design-orqx.md +14 -0
- package/.claude/agents/sinapse-design-system.md +14 -0
- package/.claude/agents/sinapse-developer.md +14 -0
- package/.claude/agents/sinapse-devops.md +14 -0
- package/.claude/agents/sinapse-direct-response-writer.md +14 -0
- package/.claude/agents/sinapse-dx-accessibility-specialist.md +14 -0
- package/.claude/agents/sinapse-dx-design-system-architect.md +14 -0
- package/.claude/agents/sinapse-dx-frontend-engineer.md +14 -0
- package/.claude/agents/sinapse-dx-interaction-designer.md +14 -0
- package/.claude/agents/sinapse-dx-performance-engineer.md +14 -0
- package/.claude/agents/sinapse-dx-ui-designer.md +14 -0
- package/.claude/agents/sinapse-dx-ux-strategist.md +14 -0
- package/.claude/agents/sinapse-editorial-strategist.md +14 -0
- package/.claude/agents/sinapse-email-sequence-strategist.md +14 -0
- package/.claude/agents/sinapse-finance-orqx.md +14 -0
- package/.claude/agents/sinapse-fiscal-compliance-br.md +14 -0
- package/.claude/agents/sinapse-forecast-strategist.md +14 -0
- package/.claude/agents/sinapse-funnel-copywriter.md +14 -0
- package/.claude/agents/sinapse-ga-analytics-engineer.md +14 -0
- package/.claude/agents/sinapse-ga-campaign-analyst.md +14 -0
- package/.claude/agents/sinapse-ga-cro-specialist.md +14 -0
- package/.claude/agents/sinapse-ga-data-analyst.md +14 -0
- package/.claude/agents/sinapse-ga-growth-hacker.md +14 -0
- package/.claude/agents/sinapse-ga-seo-strategist.md +14 -0
- package/.claude/agents/sinapse-generative-particle-engineer.md +14 -0
- package/.claude/agents/sinapse-google-ads-specialist.md +14 -0
- package/.claude/agents/sinapse-growth-orqx.md +14 -0
- package/.claude/agents/sinapse-headline-specialist.md +14 -0
- package/.claude/agents/sinapse-hooks-architect.md +14 -0
- package/.claude/agents/sinapse-incident-responder.md +14 -0
- package/.claude/agents/sinapse-joseph-campbell.md +14 -0
- package/.claude/agents/sinapse-kb-architect.md +14 -0
- package/.claude/agents/sinapse-keith-johnstone.md +14 -0
- package/.claude/agents/sinapse-kindra-hall.md +14 -0
- package/.claude/agents/sinapse-launch-strategist.md +14 -0
- package/.claude/agents/sinapse-lesson-architect.md +14 -0
- package/.claude/agents/sinapse-long-form-writer.md +14 -0
- package/.claude/agents/sinapse-market-analyst.md +14 -0
- package/.claude/agents/sinapse-marshall-ganz.md +14 -0
- package/.claude/agents/sinapse-mcp-integrator.md +14 -0
- package/.claude/agents/sinapse-meta-ads-specialist.md +14 -0
- package/.claude/agents/sinapse-mind-synthesizer.md +14 -0
- package/.claude/agents/sinapse-motion-choreographer.md +14 -0
- package/.claude/agents/sinapse-nancy-duarte.md +14 -0
- package/.claude/agents/sinapse-naval-ravikant.md +14 -0
- package/.claude/agents/sinapse-network-security-engineer.md +14 -0
- package/.claude/agents/sinapse-oren-klaff.md +14 -0
- package/.claude/agents/sinapse-paidmedia-orqx.md +14 -0
- package/.claude/agents/sinapse-park-howell.md +14 -0
- package/.claude/agents/sinapse-patrick-lencioni.md +14 -0
- package/.claude/agents/sinapse-penetration-tester.md +14 -0
- package/.claude/agents/sinapse-performance-engineer.md +14 -0
- package/.claude/agents/sinapse-persuasion-psychologist.md +14 -0
- package/.claude/agents/sinapse-peter-thiel.md +14 -0
- package/.claude/agents/sinapse-platform-aesthetic-director.md +14 -0
- package/.claude/agents/sinapse-platform-specialist.md +14 -0
- package/.claude/agents/sinapse-pm-creative-performance-analyst.md +14 -0
- package/.claude/agents/sinapse-pm-youtube-ads-specialist.md +14 -0
- package/.claude/agents/sinapse-premium-packaging-strategist.md +14 -0
- package/.claude/agents/sinapse-pricing-strategist.md +14 -0
- package/.claude/agents/sinapse-product-lead.md +14 -0
- package/.claude/agents/sinapse-product-orqx.md +14 -0
- package/.claude/agents/sinapse-product-surface-director.md +14 -0
- package/.claude/agents/sinapse-production-director.md +14 -0
- package/.claude/agents/sinapse-profitability-analyst.md +14 -0
- package/.claude/agents/sinapse-project-integrator.md +14 -0
- package/.claude/agents/sinapse-project-lead.md +14 -0
- package/.claude/agents/sinapse-proof-architect.md +14 -0
- package/.claude/agents/sinapse-ps-client-product-manager.md +14 -0
- package/.claude/agents/sinapse-ps-delivery-manager.md +14 -0
- package/.claude/agents/sinapse-ps-discovery-lead.md +14 -0
- package/.claude/agents/sinapse-ps-product-analyst.md +14 -0
- package/.claude/agents/sinapse-ps-product-ops-specialist.md +14 -0
- package/.claude/agents/sinapse-ps-product-strategist.md +14 -0
- package/.claude/agents/sinapse-quality-gate.md +14 -0
- package/.claude/agents/sinapse-ray-dalio.md +14 -0
- package/.claude/agents/sinapse-reid-hoffman.md +14 -0
- package/.claude/agents/sinapse-research-orqx.md +14 -0
- package/.claude/agents/sinapse-revenue-analyst.md +14 -0
- package/.claude/agents/sinapse-roadmap-sentinel.md +14 -0
- package/.claude/agents/sinapse-scroll-narrative-engineer.md +14 -0
- package/.claude/agents/sinapse-shader-artist.md +14 -0
- package/.claude/agents/sinapse-signal-intelligence.md +14 -0
- package/.claude/agents/sinapse-simon-sinek.md +14 -0
- package/.claude/agents/sinapse-skill-craftsman.md +14 -0
- package/.claude/agents/sinapse-slide-designer.md +14 -0
- package/.claude/agents/sinapse-snps-orqx.md +14 -0
- package/.claude/agents/sinapse-soc-analyst.md +14 -0
- package/.claude/agents/sinapse-sop-extractor.md +14 -0
- package/.claude/agents/sinapse-source-hunter.md +14 -0
- package/.claude/agents/sinapse-sprint-lead.md +14 -0
- package/.claude/agents/sinapse-squad-assembler.md +14 -0
- package/.claude/agents/sinapse-squad-creator.md +14 -0
- package/.claude/agents/sinapse-storytelling-orqx.md +14 -0
- package/.claude/agents/sinapse-swarm-orqx.md +14 -0
- package/.claude/agents/sinapse-threat-analyst.md +14 -0
- package/.claude/agents/sinapse-threejs-architect.md +14 -0
- package/.claude/agents/sinapse-trend-forecaster.md +14 -0
- package/.claude/agents/sinapse-ux-design-expert.md +14 -0
- package/.claude/agents/sinapse-ux-designer.md +14 -0
- package/.claude/agents/sinapse-yvon-chouinard.md +14 -0
- package/.claude/rules/mandatory-delegation-reference.md +1 -1
- package/.claude/rules/mandatory-delegation.md +1 -1
- package/.claude/rules/software-engineering-applicability.md +13 -0
- package/.claude/rules/squad-awareness.md +1 -1
- package/.claude/rules/token-economy.md +1 -1
- package/.claude/skill-manifest.json +41 -0
- package/.claude/skills/api-review.md +50 -0
- package/.claude/skills/component-check.md +47 -0
- package/.claude/skills/db-review.md +41 -0
- package/.claude/skills/sinapse/SKILL.md +11 -0
- package/.claude/skills/sinapse-agent/SKILL.md +11 -0
- package/.claude/skills/sinapse-analyst/SKILL.md +11 -0
- package/.claude/skills/sinapse-animations/SKILL.md +11 -0
- package/.claude/skills/sinapse-architect/SKILL.md +11 -0
- package/.claude/skills/sinapse-brand/SKILL.md +11 -0
- package/.claude/skills/sinapse-claude/SKILL.md +11 -0
- package/.claude/skills/sinapse-cloning/SKILL.md +11 -0
- package/.claude/skills/sinapse-commercial/SKILL.md +11 -0
- package/.claude/skills/sinapse-content/SKILL.md +11 -0
- package/.claude/skills/sinapse-copy/SKILL.md +11 -0
- package/.claude/skills/sinapse-council/SKILL.md +11 -0
- package/.claude/skills/sinapse-courses/SKILL.md +11 -0
- package/.claude/skills/sinapse-cyber/SKILL.md +11 -0
- package/.claude/skills/sinapse-data-engineer/SKILL.md +11 -0
- package/.claude/skills/sinapse-design/SKILL.md +11 -0
- package/.claude/skills/sinapse-dev/SKILL.md +11 -0
- package/.claude/skills/sinapse-devops/SKILL.md +11 -0
- package/.claude/skills/sinapse-finance/SKILL.md +11 -0
- package/.claude/skills/sinapse-growth/SKILL.md +11 -0
- package/.claude/skills/sinapse-loop/SKILL.md +11 -0
- package/.claude/skills/sinapse-orqx/SKILL.md +11 -0
- package/.claude/skills/sinapse-paidmedia/SKILL.md +11 -0
- package/.claude/skills/sinapse-pm/SKILL.md +11 -0
- package/.claude/skills/sinapse-po/SKILL.md +11 -0
- package/.claude/skills/sinapse-product/SKILL.md +11 -0
- package/.claude/skills/sinapse-qa/SKILL.md +11 -0
- package/.claude/skills/sinapse-research/SKILL.md +11 -0
- package/.claude/skills/sinapse-sm/SKILL.md +11 -0
- package/.claude/skills/sinapse-spec-driven/SKILL.md +11 -0
- package/.claude/skills/sinapse-squad-creator/SKILL.md +11 -0
- package/.claude/skills/sinapse-storytelling/SKILL.md +11 -0
- package/.claude/skills/sinapse-swarm/SKILL.md +11 -0
- package/.claude/skills/sinapse-ux-design-expert/SKILL.md +11 -0
- package/.claude/skills/snps/SKILL.md +11 -0
- package/.claude/skills/snps-orqx/SKILL.md +11 -0
- package/.claude/skills/story-update.md +52 -0
- package/.claude/skills/test-guard.md +41 -0
- package/.codex/agents/ad-copywriter.toml +3 -0
- package/.codex/agents/agent-forger.toml +3 -0
- package/.codex/agents/analyst.toml +3 -0
- package/.codex/agents/animation-interpreter.toml +3 -0
- package/.codex/agents/animation-performance-engineer.toml +3 -0
- package/.codex/agents/animations-orqx.toml +3 -0
- package/.codex/agents/architect.toml +3 -0
- package/.codex/agents/assessment-creator.toml +3 -0
- package/.codex/agents/audience-intelligence.toml +3 -0
- package/.codex/agents/blake-snyder.toml +3 -0
- package/.codex/agents/brand-archetype-strategist.toml +3 -0
- package/.codex/agents/brand-auditor.toml +3 -0
- package/.codex/agents/brand-collateral-designer.toml +3 -0
- package/.codex/agents/brand-compiler.toml +3 -0
- package/.codex/agents/brand-creative-engineer.toml +3 -0
- package/.codex/agents/brand-culture-architect.toml +3 -0
- package/.codex/agents/brand-growth-strategist.toml +3 -0
- package/.codex/agents/brand-identity-designer.toml +3 -0
- package/.codex/agents/brand-motion-vfx.toml +3 -0
- package/.codex/agents/brand-naming-specialist.toml +3 -0
- package/.codex/agents/brand-orqx.toml +3 -0
- package/.codex/agents/brand-positioning-strategist.toml +3 -0
- package/.codex/agents/brand-sonic-designer.toml +3 -0
- package/.codex/agents/brand-strategist.toml +3 -0
- package/.codex/agents/brand-system-architect.toml +3 -0
- package/.codex/agents/brand-voice-writer.toml +3 -0
- package/.codex/agents/brene-brown.toml +3 -0
- package/.codex/agents/budget-controller.toml +3 -0
- package/.codex/agents/campaign-analyst.toml +3 -0
- package/.codex/agents/charlie-munger.toml +3 -0
- package/.codex/agents/claude-mastery-chief.toml +3 -0
- package/.codex/agents/cloning-orqx.toml +3 -0
- package/.codex/agents/cloud-security-engineer.toml +3 -0
- package/.codex/agents/cognitive-extractor.toml +3 -0
- package/.codex/agents/commercial-orqx.toml +3 -0
- package/.codex/agents/competitive-intelligence.toml +3 -0
- package/.codex/agents/compliance-officer.toml +3 -0
- package/.codex/agents/config-engineer.toml +3 -0
- package/.codex/agents/content-analyst.toml +3 -0
- package/.codex/agents/content-capturer.toml +3 -0
- package/.codex/agents/content-engineer.toml +3 -0
- package/.codex/agents/content-governor.toml +3 -0
- package/.codex/agents/content-orqx.toml +3 -0
- package/.codex/agents/content-writer.toml +3 -0
- package/.codex/agents/conversion-writer.toml +3 -0
- package/.codex/agents/copy-editor.toml +3 -0
- package/.codex/agents/copy-orqx.toml +3 -0
- package/.codex/agents/copy-strategist.toml +3 -0
- package/.codex/agents/cost-optimizer.toml +3 -0
- package/.codex/agents/council-orqx.toml +3 -0
- package/.codex/agents/courses-orqx.toml +3 -0
- package/.codex/agents/creative-strategist.toml +3 -0
- package/.codex/agents/cro-persuasion.toml +3 -0
- package/.codex/agents/cro-specialist.toml +3 -0
- package/.codex/agents/cs-business-auditor.toml +3 -0
- package/.codex/agents/cs-client-success.toml +3 -0
- package/.codex/agents/cs-crm-specialist.toml +3 -0
- package/.codex/agents/cs-funnel-architect.toml +3 -0
- package/.codex/agents/cs-lead-generation-strategist.toml +3 -0
- package/.codex/agents/cs-offer-designer.toml +3 -0
- package/.codex/agents/cs-revops-analyst.toml +3 -0
- package/.codex/agents/cs-sales-closer.toml +3 -0
- package/.codex/agents/cs-sales-enablement.toml +3 -0
- package/.codex/agents/css-motion-artist.toml +3 -0
- package/.codex/agents/curriculum-designer.toml +3 -0
- package/.codex/agents/cyber-orqx.toml +3 -0
- package/.codex/agents/dan-harmon.toml +3 -0
- package/.codex/agents/data-engineer.toml +3 -0
- package/.codex/agents/data-synthesizer.toml +3 -0
- package/.codex/agents/deep-researcher.toml +3 -0
- package/.codex/agents/derek-sivers.toml +3 -0
- package/.codex/agents/design-orqx.toml +3 -0
- package/.codex/agents/design-system.toml +3 -0
- package/.codex/agents/developer.toml +3 -0
- package/.codex/agents/devops.toml +3 -0
- package/.codex/agents/direct-response-writer.toml +3 -0
- package/.codex/agents/dx-accessibility-specialist.toml +3 -0
- package/.codex/agents/dx-design-system-architect.toml +3 -0
- package/.codex/agents/dx-frontend-engineer.toml +3 -0
- package/.codex/agents/dx-interaction-designer.toml +3 -0
- package/.codex/agents/dx-performance-engineer.toml +3 -0
- package/.codex/agents/dx-ui-designer.toml +3 -0
- package/.codex/agents/dx-ux-strategist.toml +3 -0
- package/.codex/agents/editorial-strategist.toml +3 -0
- package/.codex/agents/email-sequence-strategist.toml +3 -0
- package/.codex/agents/finance-orqx.toml +3 -0
- package/.codex/agents/fiscal-compliance-br.toml +3 -0
- package/.codex/agents/forecast-strategist.toml +3 -0
- package/.codex/agents/funnel-copywriter.toml +3 -0
- package/.codex/agents/ga-analytics-engineer.toml +3 -0
- package/.codex/agents/ga-campaign-analyst.toml +3 -0
- package/.codex/agents/ga-cro-specialist.toml +3 -0
- package/.codex/agents/ga-data-analyst.toml +3 -0
- package/.codex/agents/ga-growth-hacker.toml +3 -0
- package/.codex/agents/ga-seo-strategist.toml +3 -0
- package/.codex/agents/generative-particle-engineer.toml +3 -0
- package/.codex/agents/google-ads-specialist.toml +3 -0
- package/.codex/agents/growth-orqx.toml +3 -0
- package/.codex/agents/headline-specialist.toml +3 -0
- package/.codex/agents/hooks-architect.toml +3 -0
- package/.codex/agents/incident-responder.toml +3 -0
- package/.codex/agents/joseph-campbell.toml +3 -0
- package/.codex/agents/kb-architect.toml +3 -0
- package/.codex/agents/keith-johnstone.toml +3 -0
- package/.codex/agents/kindra-hall.toml +3 -0
- package/.codex/agents/launch-strategist.toml +3 -0
- package/.codex/agents/lesson-architect.toml +3 -0
- package/.codex/agents/long-form-writer.toml +3 -0
- package/.codex/agents/market-analyst.toml +3 -0
- package/.codex/agents/marshall-ganz.toml +3 -0
- package/.codex/agents/mcp-integrator.toml +3 -0
- package/.codex/agents/meta-ads-specialist.toml +3 -0
- package/.codex/agents/mind-synthesizer.toml +3 -0
- package/.codex/agents/motion-choreographer.toml +3 -0
- package/.codex/agents/nancy-duarte.toml +3 -0
- package/.codex/agents/naval-ravikant.toml +3 -0
- package/.codex/agents/network-security-engineer.toml +3 -0
- package/.codex/agents/oren-klaff.toml +3 -0
- package/.codex/agents/paidmedia-orqx.toml +3 -0
- package/.codex/agents/park-howell.toml +3 -0
- package/.codex/agents/patrick-lencioni.toml +3 -0
- package/.codex/agents/penetration-tester.toml +3 -0
- package/.codex/agents/performance-engineer.toml +3 -0
- package/.codex/agents/persuasion-psychologist.toml +3 -0
- package/.codex/agents/peter-thiel.toml +3 -0
- package/.codex/agents/platform-aesthetic-director.toml +3 -0
- package/.codex/agents/platform-specialist.toml +3 -0
- package/.codex/agents/pm-creative-performance-analyst.toml +3 -0
- package/.codex/agents/pm-youtube-ads-specialist.toml +3 -0
- package/.codex/agents/premium-packaging-strategist.toml +3 -0
- package/.codex/agents/pricing-strategist.toml +3 -0
- package/.codex/agents/product-lead.toml +3 -0
- package/.codex/agents/product-orqx.toml +3 -0
- package/.codex/agents/product-surface-director.toml +3 -0
- package/.codex/agents/production-director.toml +3 -0
- package/.codex/agents/profitability-analyst.toml +3 -0
- package/.codex/agents/project-integrator.toml +3 -0
- package/.codex/agents/project-lead.toml +3 -0
- package/.codex/agents/proof-architect.toml +3 -0
- package/.codex/agents/ps-client-product-manager.toml +3 -0
- package/.codex/agents/ps-delivery-manager.toml +3 -0
- package/.codex/agents/ps-discovery-lead.toml +3 -0
- package/.codex/agents/ps-product-analyst.toml +3 -0
- package/.codex/agents/ps-product-ops-specialist.toml +3 -0
- package/.codex/agents/ps-product-strategist.toml +3 -0
- package/.codex/agents/quality-gate.toml +3 -0
- package/.codex/agents/ray-dalio.toml +3 -0
- package/.codex/agents/reid-hoffman.toml +3 -0
- package/.codex/agents/research-orqx.toml +3 -0
- package/.codex/agents/revenue-analyst.toml +3 -0
- package/.codex/agents/roadmap-sentinel.toml +3 -0
- package/.codex/agents/scroll-narrative-engineer.toml +3 -0
- package/.codex/agents/shader-artist.toml +3 -0
- package/.codex/agents/signal-intelligence.toml +3 -0
- package/.codex/agents/simon-sinek.toml +3 -0
- package/.codex/agents/skill-craftsman.toml +3 -0
- package/.codex/agents/slide-designer.toml +3 -0
- package/.codex/agents/snps-orqx.toml +3 -0
- package/.codex/agents/soc-analyst.toml +3 -0
- package/.codex/agents/sop-extractor.toml +3 -0
- package/.codex/agents/source-hunter.toml +3 -0
- package/.codex/agents/sprint-lead.toml +3 -0
- package/.codex/agents/squad-assembler.toml +3 -0
- package/.codex/agents/squad-creator.toml +3 -0
- package/.codex/agents/storytelling-orqx.toml +3 -0
- package/.codex/agents/swarm-orqx.toml +3 -0
- package/.codex/agents/threat-analyst.toml +3 -0
- package/.codex/agents/threejs-architect.toml +3 -0
- package/.codex/agents/trend-forecaster.toml +3 -0
- package/.codex/agents/ux-design-expert.toml +3 -0
- package/.codex/agents/ux-designer.toml +3 -0
- package/.codex/agents/yvon-chouinard.toml +3 -0
- package/.codex/catalog.json +19 -4
- package/.codex/command-registry.json +94 -0
- package/.codex/config.toml +8 -0
- package/.codex/delegation-matrix.json +39 -25
- package/.codex/delegation-parity.json +46 -41
- package/.codex/hooks/claude-compat.cjs +547 -0
- package/.codex/hooks.json +123 -0
- package/.codex/scripts/resolve-codex-agent.js +30 -1
- package/.codex/scripts/resolve-codex-workflow.js +283 -0
- package/.codex/scripts/sinapse-codex.js +309 -0
- package/.codex/scripts/sync-codex-native.js +614 -0
- package/.codex/scripts/validate-codex-native.js +287 -0
- package/.codex/skills/react-bits-frontend/SKILL.md +66 -0
- package/.codex/skills/react-bits-frontend/agents/openai.yaml +4 -0
- package/.codex/skills/react-bits-frontend/references/corpus-map.md +29 -0
- package/.codex/skills/sinapse/SKILL.md +10 -0
- package/.codex/skills/sinapse-agent/SKILL.md +22 -0
- package/.codex/skills/sinapse-claude/SKILL.md +1 -1
- package/.codex/skills/sinapse-loop/SKILL.md +35 -0
- package/.codex/skills/sinapse-orqx/SKILL.md +33 -14
- package/.codex/skills/sinapse-spec-driven/SKILL.md +35 -0
- package/.codex/skills/snps/SKILL.md +10 -0
- package/.codex/skills/snps-orqx/SKILL.md +10 -0
- package/.sinapse-ai/data/entity-registry.yaml +57 -31
- package/.sinapse-ai/development/agents/snps-orqx.md +14 -1
- package/.sinapse-ai/install-manifest.yaml +16 -12
- package/.sinapse-ai/product/templates/statusline/agent-badges.json +37 -37
- package/.sinapse-ai/product/templates/statusline/track-agent-clear.cjs +22 -3
- package/.sinapse-ai/product/templates/statusline/track-agent.cjs +94 -7
- package/.sinapse-ai/product/templates/statusline/track-delegation.cjs +162 -0
- package/AGENTS.md +5 -4
- package/CHANGELOG.md +38 -2
- package/README.en.md +1 -1
- package/README.md +25 -10
- package/bin/commands/install.js +56 -41
- package/bin/commands/uninstall.js +57 -4
- package/bin/commands/update.js +32 -21
- package/bin/lib/command-generator.js +25 -3
- package/bin/lib/global-provider-adapters.js +136 -0
- package/bin/lib/setup-statusline.js +43 -12
- package/bin/utils/validate-publish.js +43 -10
- package/docs/framework/codex-parity/codex-native-runtime-v2.md +230 -0
- package/docs/framework/codex-parity/codex-workflow-task-parity.md +21 -7
- package/docs/framework/react-bits/animations.md +49 -0
- package/docs/framework/react-bits/audit-findings.md +103 -0
- package/docs/framework/react-bits/backgrounds.md +63 -0
- package/docs/framework/react-bits/catalog-summary.json +61 -0
- package/docs/framework/react-bits/components.md +58 -0
- package/docs/framework/react-bits/implementation-playbook.md +161 -0
- package/docs/framework/react-bits/index.md +130 -0
- package/docs/framework/react-bits/inventory.json +9333 -0
- package/docs/framework/react-bits/text-animations.md +41 -0
- package/docs/framework/software-engineering-applicability.md +31 -0
- package/docs/getting-started.md +6 -2
- package/docs/installation/README.md +2 -2
- package/package.json +18 -5
- package/packages/engineering-applicability/fixtures.json +52 -0
- package/packages/engineering-applicability/index.js +150 -0
- package/packages/installer/src/installer/sinapse-ai-installer.js +87 -2
- package/packages/installer/src/updater/index.js +34 -13
- package/packages/installer/src/wizard/feedback.js +1 -1
- package/packages/installer/src/wizard/ide-config-generator.js +26 -0
- package/packages/installer/src/wizard/index.js +101 -74
- package/scripts/gen-agent-badges.js +17 -1
- package/scripts/release-readiness.js +9 -3
- package/scripts/research/generate-react-bits-catalog.mjs +206 -0
- package/scripts/sync-provider-adapters.js +203 -0
- package/scripts/validate-provider-adapters.js +127 -0
- package/squads/squad-animations/knowledge-base/react-bits-operational-guide.md +43 -0
- package/squads/squad-animations/squad.yaml +10 -5
- package/squads/squad-animations/tasks/orchestrate-react-bits-frontend.md +60 -0
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
* - /squad:cmd -> sets squad (when not :agents:)
|
|
17
17
|
* - *exit / *reset -> clears agent/squad/role/specialists + imperator.active
|
|
18
18
|
*
|
|
19
|
+
* Badge injection (selo):
|
|
20
|
+
* - Primary voice has a 6h freshness TTL (voiceTs) — no more ghost voices
|
|
21
|
+
* leaking across sessions.
|
|
22
|
+
* - With the Imperator active, the block also ships the handoff CAST (core
|
|
23
|
+
* agents + squad orchestrators) so auto-routed voices can stamp their seal.
|
|
24
|
+
*
|
|
19
25
|
* Writes the per-CWD cache to:
|
|
20
26
|
* ~/.claude/session-cache/{simpleHash(cwd)}.json (Session-Cache v2 shape)
|
|
21
27
|
*
|
|
@@ -68,6 +74,7 @@ function normalizeCache(raw) {
|
|
|
68
74
|
role: null,
|
|
69
75
|
imperator: { active: false, ts: 0 },
|
|
70
76
|
specialists: [],
|
|
77
|
+
voiceTs: 0,
|
|
71
78
|
updated: '',
|
|
72
79
|
};
|
|
73
80
|
if (!raw || typeof raw !== 'object') return base;
|
|
@@ -75,6 +82,17 @@ function normalizeCache(raw) {
|
|
|
75
82
|
base.agent = typeof raw.agent === 'string' ? raw.agent : '';
|
|
76
83
|
base.squad = typeof raw.squad === 'string' ? raw.squad : '';
|
|
77
84
|
base.role = typeof raw.role === 'string' ? raw.role : null;
|
|
85
|
+
base.voiceTs = Number.isFinite(raw.voiceTs) && raw.voiceTs > 0 ? raw.voiceTs : 0;
|
|
86
|
+
base.updated = typeof raw.updated === 'string' ? raw.updated : '';
|
|
87
|
+
// One-time migration for legacy caches (written before voiceTs existed):
|
|
88
|
+
// freeze the voice-freshness point at the cache's ORIGINAL last-activity
|
|
89
|
+
// time. This runs at READ time, before any writer refreshes `updated`, and
|
|
90
|
+
// the migrated value persists on the next write — so `updated` refreshes
|
|
91
|
+
// (Stop hook, delegation tracker, /squad:cmd) can never resurrect a ghost.
|
|
92
|
+
if (!base.voiceTs && base.updated) {
|
|
93
|
+
const parsed = Date.parse(base.updated);
|
|
94
|
+
if (Number.isFinite(parsed)) base.voiceTs = Math.floor(parsed / 1000);
|
|
95
|
+
}
|
|
78
96
|
|
|
79
97
|
if (raw.imperator && typeof raw.imperator === 'object') {
|
|
80
98
|
base.imperator = {
|
|
@@ -102,6 +120,9 @@ function applyName(cache, name, ts) {
|
|
|
102
120
|
if (!name) return;
|
|
103
121
|
const lower = name.toLowerCase();
|
|
104
122
|
|
|
123
|
+
// Any explicit mention renews the primary-voice freshness window (TTL below).
|
|
124
|
+
cache.voiceTs = ts;
|
|
125
|
+
|
|
105
126
|
if (MASTERS.has(lower)) {
|
|
106
127
|
// Master -> imperator. Does NOT enter specialists.
|
|
107
128
|
cache.imperator = { active: true, ts };
|
|
@@ -142,18 +163,42 @@ function applyName(cache, name, ts) {
|
|
|
142
163
|
// Load ~/.claude/agent-badges.json and index by last path segment. Keys are
|
|
143
164
|
// either bare ids ("developer") or "squad/id" ("squad-brand/brand-orqx"); the
|
|
144
165
|
// session-cache only ever stores the bare id, so we index on the last segment.
|
|
166
|
+
// Also derives the handoff CAST (core agents + squad orchestrators) so the
|
|
167
|
+
// model can stamp the seal of any agent it routes to — auto-routing means the
|
|
168
|
+
// user never types those @ids, so the roster can't come from the prompt.
|
|
169
|
+
// A few badge entries carry double-escaped emoji ("\\U0001F9E0" as literal
|
|
170
|
+
// text). Decode them for display; garbage never reaches the user's selo.
|
|
171
|
+
function fixEmoji(e) {
|
|
172
|
+
if (typeof e !== 'string' || !e) return '◆';
|
|
173
|
+
if (!e.includes('\\u') && !e.includes('\\U')) return e;
|
|
174
|
+
try {
|
|
175
|
+
const decoded = e
|
|
176
|
+
.replace(/\\U([0-9A-Fa-f]{8})/g, (_, h) => String.fromCodePoint(parseInt(h, 16)))
|
|
177
|
+
.replace(/\\u([0-9A-Fa-f]{4})/g, (_, h) => String.fromCharCode(parseInt(h, 16)));
|
|
178
|
+
return decoded || '◆';
|
|
179
|
+
} catch {
|
|
180
|
+
return '◆';
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
145
184
|
function loadBadges() {
|
|
146
185
|
try {
|
|
147
186
|
const p = path.join(os.homedir(), '.claude', 'agent-badges.json');
|
|
148
187
|
const raw = JSON.parse(fs.readFileSync(p, 'utf8'));
|
|
149
188
|
if (!raw || typeof raw !== 'object') return null;
|
|
150
189
|
const byId = {};
|
|
190
|
+
const core = [];
|
|
191
|
+
const orqx = [];
|
|
151
192
|
for (const key of Object.keys(raw)) {
|
|
152
193
|
const v = raw[key];
|
|
153
194
|
if (!v || typeof v !== 'object' || !v.emoji || !v.name) continue;
|
|
154
|
-
|
|
195
|
+
const id = key.split('/').pop();
|
|
196
|
+
const b = { emoji: fixEmoji(v.emoji), area: v.area, name: v.name };
|
|
197
|
+
byId[id] = b;
|
|
198
|
+
if (!key.includes('/')) core.push({ id, b });
|
|
199
|
+
else if (id.endsWith('-orqx')) orqx.push({ id, b });
|
|
155
200
|
}
|
|
156
|
-
return Object.keys(byId).length ? byId : null;
|
|
201
|
+
return Object.keys(byId).length ? { byId, core, orqx } : null;
|
|
157
202
|
} catch {
|
|
158
203
|
return null;
|
|
159
204
|
}
|
|
@@ -178,20 +223,35 @@ function resolvePrimary(cache, byId) {
|
|
|
178
223
|
return null;
|
|
179
224
|
}
|
|
180
225
|
|
|
226
|
+
// Freshness of the primary voice: an explicit mention within BADGE_TTL keeps
|
|
227
|
+
// the voice alive; older than that → the voice expired. Kills ghost voices
|
|
228
|
+
// that used to leak across sessions (the primary voice had no TTL at all).
|
|
229
|
+
// voiceTs is the SINGLE source here — legacy caches are migrated at read time
|
|
230
|
+
// by normalizeCache (frozen at their original `updated`), so a `updated`
|
|
231
|
+
// refresh by any writer can never resurrect an expired voice.
|
|
232
|
+
function voiceIsFresh(cache, now) {
|
|
233
|
+
const ts = Number.isFinite(cache.voiceTs) && cache.voiceTs > 0 ? cache.voiceTs : 0;
|
|
234
|
+
return ts > 0 && now - ts < BADGE_TTL;
|
|
235
|
+
}
|
|
236
|
+
|
|
181
237
|
// Build the additionalContext string, or null when no SINAPSE voice is active.
|
|
182
238
|
function buildBadgeContext(cache) {
|
|
183
|
-
const
|
|
184
|
-
if (!
|
|
239
|
+
const badges = loadBadges();
|
|
240
|
+
if (!badges) return null;
|
|
241
|
+
const byId = badges.byId;
|
|
185
242
|
|
|
186
243
|
const now = nowSec();
|
|
187
|
-
const primary = resolvePrimary(cache, byId);
|
|
244
|
+
const primary = voiceIsFresh(cache, now) ? resolvePrimary(cache, byId) : null;
|
|
188
245
|
|
|
189
246
|
// The specialist roster is only meaningful while the Imperator is coordinating
|
|
190
247
|
// a multi-agent orchestration; a plain specialist↔specialist switch shows just
|
|
191
|
-
// the active voice (no roster noise).
|
|
248
|
+
// the active voice (no roster noise). `imperator.active` is turn-scoped (the
|
|
249
|
+
// Stop hook lowers it), so cross-turn orchestration is detected by the ROLE,
|
|
250
|
+
// which survives turns and expires with the voice TTL.
|
|
192
251
|
const imperatorActive =
|
|
193
252
|
cache.imperator && cache.imperator.active && now - (cache.imperator.ts || 0) < BADGE_TTL;
|
|
194
|
-
const
|
|
253
|
+
const imperatorLeading = imperatorActive || (cache.role === 'imperator' && !!primary);
|
|
254
|
+
const specs = imperatorLeading
|
|
195
255
|
? (cache.specialists || [])
|
|
196
256
|
.filter((s) => s && s.id && s.id !== cache.agent && now - (s.ts || 0) < BADGE_TTL)
|
|
197
257
|
.map((s) => byId[s.id])
|
|
@@ -211,6 +271,32 @@ function buildBadgeContext(cache) {
|
|
|
211
271
|
lines.push('Especialistas em jogo nesta orquestração:');
|
|
212
272
|
for (const b of specs) lines.push(` • ${fullBadge(b)} (curto: ${shortBadge(b)})`);
|
|
213
273
|
}
|
|
274
|
+
// With the Imperator coordinating, ship the handoff cast (core + squad
|
|
275
|
+
// orchestrators) so every voice the plan routes to can enter with its own
|
|
276
|
+
// seal — auto-routing means these ids never appear in the user's prompt.
|
|
277
|
+
if (imperatorLeading && (badges.core.length || badges.orqx.length)) {
|
|
278
|
+
const cast = badges.core.filter((e) => e.id !== IMPERATOR_KEY).concat(badges.orqx);
|
|
279
|
+
const castLines = cast.map(
|
|
280
|
+
(e) => ` ${e.id} → ${e.b.emoji} · ${e.b.area || '—'} · ${e.b.name}`
|
|
281
|
+
);
|
|
282
|
+
// Hard budget: the whole <sinapse-selo> block stays ≤ 2500 chars even as
|
|
283
|
+
// squads grow. RESERVE covers the protocol tail pushed after this section.
|
|
284
|
+
const RESERVE = 900;
|
|
285
|
+
let room = 2500 - RESERVE - lines.join('\n').length;
|
|
286
|
+
const kept = [];
|
|
287
|
+
for (const l of castLines) {
|
|
288
|
+
if (room - (l.length + 1) < 0) break;
|
|
289
|
+
kept.push(l);
|
|
290
|
+
room -= l.length + 1;
|
|
291
|
+
}
|
|
292
|
+
lines.push('');
|
|
293
|
+
lines.push('Elenco pra handoffs — cada voz entra com o selo `▌ {emoji} · SNPS · {área} · {nome}`:');
|
|
294
|
+
lines.push(...kept);
|
|
295
|
+
if (kept.length < castLines.length) {
|
|
296
|
+
lines.push(` … +${castLines.length - kept.length} no arquivo abaixo`);
|
|
297
|
+
}
|
|
298
|
+
lines.push(' (especialista de squad fora do elenco: chave "squad/id" em ~/.claude/agent-badges.json)');
|
|
299
|
+
}
|
|
214
300
|
lines.push('');
|
|
215
301
|
lines.push('Protocolo (NON-NEGOTIABLE):');
|
|
216
302
|
lines.push('1. Abra a resposta com o selo do agente que está falando — 1ª linha, SÓ na troca de voz. Mesma voz em blocos seguidos não repete o selo.');
|
|
@@ -278,6 +364,7 @@ function main() {
|
|
|
278
364
|
cache.role = null;
|
|
279
365
|
cache.specialists = [];
|
|
280
366
|
cache.imperator = { active: false, ts: cache.imperator.ts || 0 };
|
|
367
|
+
cache.voiceTs = 0;
|
|
281
368
|
changed = true;
|
|
282
369
|
} else {
|
|
283
370
|
// /ns:agents:name (e.g. /SINAPSE:agents:developer) -> classify as @name.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* SINAPSE Delegation Tracker — Session-Cache v2
|
|
4
|
+
*
|
|
5
|
+
* Called via Claude Code PreToolUse hook with matcher "Task".
|
|
6
|
+
*
|
|
7
|
+
* Auto-routing means the user never types specialist @ids — so the prompt
|
|
8
|
+
* detector (track-agent.cjs) can't see programmatic delegations. This hook
|
|
9
|
+
* closes that gap: every real delegation (Task tool spawn) registers its
|
|
10
|
+
* `subagent_type` in the per-CWD session-cache `specialists[]`, so the next
|
|
11
|
+
* turn's badge injection lists the voices actually in play and the statusline
|
|
12
|
+
* can show the orchestration cast.
|
|
13
|
+
*
|
|
14
|
+
* Rules:
|
|
15
|
+
* - Only ids that resolve to a badge in ~/.claude/agent-badges.json enter
|
|
16
|
+
* the cache (harness-generic types like "general-purpose" are ignored).
|
|
17
|
+
* - Never mutates the primary voice (agent/role) — delegation does not
|
|
18
|
+
* change who is speaking; the orchestrator remains the voice.
|
|
19
|
+
* - Cap of 6 specialists (oldest evicted), mirroring track-agent.cjs.
|
|
20
|
+
*
|
|
21
|
+
* OBSERVER ONLY / FAIL-OPEN: always exits 0 — a tracking hook must NEVER
|
|
22
|
+
* block a Task call, on any error whatsoever.
|
|
23
|
+
*
|
|
24
|
+
* Installed automatically by `npx sinapse-ai install`.
|
|
25
|
+
* Source: .sinapse-ai/product/templates/statusline/
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
'use strict';
|
|
29
|
+
|
|
30
|
+
const fs = require('fs');
|
|
31
|
+
const path = require('path');
|
|
32
|
+
const os = require('os');
|
|
33
|
+
|
|
34
|
+
const SPECIALIST_CAP = 6;
|
|
35
|
+
// Masters are never a delegated "specialist in play" — they ARE the primary
|
|
36
|
+
// voice. Squad orchestrators delegated as subagents DO enter the cast.
|
|
37
|
+
const MASTERS = new Set(['sinapse', 'snps', 'sinapse-orqx', 'snps-orqx']);
|
|
38
|
+
|
|
39
|
+
// Identical to track-agent.cjs and statusline-script.js.
|
|
40
|
+
function simpleHash(str) {
|
|
41
|
+
let h = 0;
|
|
42
|
+
for (let i = 0; i < str.length; i++) {
|
|
43
|
+
h = ((h << 5) - h) + str.charCodeAt(i);
|
|
44
|
+
h |= 0;
|
|
45
|
+
}
|
|
46
|
+
return Math.abs(h).toString(16);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function nowSec() {
|
|
50
|
+
return Math.floor(Date.now() / 1000);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Badge ids indexed by last path segment (same contract as track-agent.cjs).
|
|
54
|
+
function loadBadgeIds() {
|
|
55
|
+
try {
|
|
56
|
+
const p = path.join(os.homedir(), '.claude', 'agent-badges.json');
|
|
57
|
+
const raw = JSON.parse(fs.readFileSync(p, 'utf8'));
|
|
58
|
+
if (!raw || typeof raw !== 'object') return null;
|
|
59
|
+
const ids = new Set();
|
|
60
|
+
for (const key of Object.keys(raw)) {
|
|
61
|
+
const v = raw[key];
|
|
62
|
+
if (!v || typeof v !== 'object' || !v.emoji || !v.name) continue;
|
|
63
|
+
ids.add(key.split('/').pop().toLowerCase());
|
|
64
|
+
}
|
|
65
|
+
return ids.size ? ids : null;
|
|
66
|
+
} catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function main() {
|
|
72
|
+
let input;
|
|
73
|
+
try {
|
|
74
|
+
input = JSON.parse(fs.readFileSync(0, 'utf8'));
|
|
75
|
+
} catch {
|
|
76
|
+
process.exit(0);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (!input || input.tool_name !== 'Task') process.exit(0);
|
|
80
|
+
|
|
81
|
+
const subagent = ((input.tool_input || {}).subagent_type || '').toLowerCase().trim();
|
|
82
|
+
if (!subagent || MASTERS.has(subagent)) process.exit(0);
|
|
83
|
+
|
|
84
|
+
// Only SINAPSE agents (present in the badge map) enter the cast.
|
|
85
|
+
const badgeIds = loadBadgeIds();
|
|
86
|
+
if (!badgeIds || !badgeIds.has(subagent)) process.exit(0);
|
|
87
|
+
|
|
88
|
+
const cacheDir = path.join(os.homedir(), '.claude', 'session-cache');
|
|
89
|
+
const cacheFile = path.join(cacheDir, `${simpleHash(process.cwd())}.json`);
|
|
90
|
+
|
|
91
|
+
let cache;
|
|
92
|
+
try {
|
|
93
|
+
cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
|
|
94
|
+
} catch {
|
|
95
|
+
cache = null;
|
|
96
|
+
}
|
|
97
|
+
if (!cache || typeof cache !== 'object') {
|
|
98
|
+
cache = {
|
|
99
|
+
version: 2,
|
|
100
|
+
agent: '',
|
|
101
|
+
squad: '',
|
|
102
|
+
role: null,
|
|
103
|
+
imperator: { active: false, ts: 0 },
|
|
104
|
+
specialists: [],
|
|
105
|
+
voiceTs: 0,
|
|
106
|
+
updated: '',
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
if (!Array.isArray(cache.specialists)) cache.specialists = [];
|
|
110
|
+
|
|
111
|
+
const ts = nowSec();
|
|
112
|
+
const existing = cache.specialists.find(
|
|
113
|
+
(s) => s && typeof s.id === 'string' && s.id.toLowerCase() === subagent
|
|
114
|
+
);
|
|
115
|
+
if (existing) {
|
|
116
|
+
existing.ts = ts; // renew freshness, no duplicate
|
|
117
|
+
} else {
|
|
118
|
+
cache.specialists.push({ id: subagent, label: subagent, icon: '🤖', ts });
|
|
119
|
+
if (cache.specialists.length > SPECIALIST_CAP) {
|
|
120
|
+
let minIdx = 0;
|
|
121
|
+
for (let i = 1; i < cache.specialists.length; i++) {
|
|
122
|
+
if (cache.specialists[i].ts < cache.specialists[minIdx].ts) minIdx = i;
|
|
123
|
+
}
|
|
124
|
+
cache.specialists.splice(minIdx, 1);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
cache.version = 2;
|
|
129
|
+
// Freeze the voice-freshness point BEFORE refreshing `updated` — a legacy
|
|
130
|
+
// cache (pre-voiceTs) must not have its ghost voice resurrected by this
|
|
131
|
+
// write (same migration as track-agent.cjs/track-agent-clear.cjs).
|
|
132
|
+
if (!(Number.isFinite(cache.voiceTs) && cache.voiceTs > 0)) {
|
|
133
|
+
let frozen = 0;
|
|
134
|
+
if (typeof cache.updated === 'string' && cache.updated) {
|
|
135
|
+
const parsed = Date.parse(cache.updated);
|
|
136
|
+
if (Number.isFinite(parsed)) frozen = Math.floor(parsed / 1000);
|
|
137
|
+
}
|
|
138
|
+
cache.voiceTs = frozen;
|
|
139
|
+
}
|
|
140
|
+
cache.updated = new Date().toISOString();
|
|
141
|
+
|
|
142
|
+
try {
|
|
143
|
+
fs.mkdirSync(cacheDir, { recursive: true });
|
|
144
|
+
// Atomic (tmp+rename): concurrent readers (statusline, track-agent) must
|
|
145
|
+
// never see a torn file. Parallel Task spawns remain last-write-wins —
|
|
146
|
+
// acceptable for an observer-only cast (worst case: one specialist waits
|
|
147
|
+
// for its next delegation to appear).
|
|
148
|
+
const tmp = `${cacheFile}.${process.pid}.tmp`;
|
|
149
|
+
fs.writeFileSync(tmp, JSON.stringify(cache));
|
|
150
|
+
fs.renameSync(tmp, cacheFile);
|
|
151
|
+
} catch {
|
|
152
|
+
/* best-effort */
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
process.exit(0);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
try {
|
|
159
|
+
main();
|
|
160
|
+
} catch {
|
|
161
|
+
process.exit(0);
|
|
162
|
+
}
|
package/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
|
|
3
3
|
> SINAPSE AI -- AI-Orchestrated System for Full Stack Development
|
|
4
|
-
> 17 squads · 172
|
|
4
|
+
> 17 squads · 172 native Codex agents · 1,412 task files, 1,348 resolvable via the parametric activator
|
|
5
5
|
>
|
|
6
6
|
> Codex resolves every agent and its real tasks at runtime from source (no frozen
|
|
7
7
|
> snapshot): `node .codex/scripts/resolve-codex-agent.js <agent> [command]`.
|
|
@@ -30,6 +30,7 @@ SINAPSE is a meta-framework that orchestrates AI agents into specialized squads
|
|
|
30
30
|
- **CLI First** -- All intelligence lives in the CLI. Dashboards observe, never control.
|
|
31
31
|
- **4-Layer Boundary** -- L1 (core, immutable) / L2 (templates, extend-only) / L3 (config, mutable) / L4 (runtime, always modify).
|
|
32
32
|
- **Documentation-First Development** -- No code without a validated story. Pipeline: Epic -> Story -> Validation -> Implementation.
|
|
33
|
+
- **Engineering Applicability** -- Classify greenfield/brownfield, surfaces and risk before selecting workflows. Follow `docs/framework/software-engineering-applicability.md`; legacy `optional` QA flags do not waive the mandatory baseline.
|
|
33
34
|
- **Constitution** -- 11 articles with automatic gates that block violations (full text: `.sinapse-ai/constitution.md`):
|
|
34
35
|
- **I. CLI First** -- intelligence in the CLI; dashboards observe, never control.
|
|
35
36
|
- **II. Agent Authority** -- exclusive authorities (only @devops pushes/PRs/releases); no agent assumes another's role.
|
|
@@ -58,7 +59,7 @@ tests/ # Test suites
|
|
|
58
59
|
|
|
59
60
|
The core SDC agents below are documented in full. They are NOT the whole roster:
|
|
60
61
|
**every one of the 172 agents** (12 core + 160 specialists/orchestrators distributed
|
|
61
|
-
across 17 squads) resolves
|
|
62
|
+
across 17 squads) resolves through `$sinapse-agent <id>` and the native Codex agent catalog, as do their real tasks. Resolution is parametric —
|
|
62
63
|
read from the source agent definitions at runtime, never from a frozen list:
|
|
63
64
|
|
|
64
65
|
```bash
|
|
@@ -67,8 +68,8 @@ node .codex/scripts/resolve-codex-agent.js <agent> <command> # resolve a specif
|
|
|
67
68
|
node .codex/scripts/resolve-codex-agent.js --stats # ecosystem counts (measured from disk)
|
|
68
69
|
```
|
|
69
70
|
|
|
70
|
-
Examples that resolve
|
|
71
|
-
|
|
71
|
+
Examples that resolve: `$sinapse-agent brand-orqx`, `$sinapse-agent meta-ads-specialist`,
|
|
72
|
+
`$sinapse-agent cyber-orqx`, `$sinapse-agent headline-specialist`, `$sinapse-agent simon-sinek`, and `$sinapse-agent developer`. Squad specialists
|
|
72
73
|
inherit their squad's task pool; orchestrators (`*-orqx`) govern their whole squad.
|
|
73
74
|
Every task pointer the activator emits is verified to exist on disk before it is returned.
|
|
74
75
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
## [1.
|
|
1
|
+
## [1.25.0](https://github.com/caioimori/sinapse-ai/compare/1.24.0...1.25.0) (2026-07-15)
|
|
2
2
|
|
|
3
3
|
### Features
|
|
4
4
|
|
|
5
|
-
* **
|
|
5
|
+
* **cli:** ship native Claude and Codex parity [Story cross-provider-cli-quality] ([191a525](https://github.com/caioimori/sinapse-ai/commit/191a525027178cd46aaf7aa24a0dd445a60634cb))
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **badges:** decodifica emoji double-escaped no gerador + regenera selos pos-renames [Story badges-emoji-decode] ([#375](https://github.com/caioimori/sinapse-ai/issues/375)) ([39a97f9](https://github.com/caioimori/sinapse-ai/commit/39a97f9cc992d36f50ac8b544b2dd7f07a4bf2fd)), closes [#332](https://github.com/caioimori/sinapse-ai/issues/332)
|
|
10
|
+
* **ci:** use supported macOS Intel runner [Story cross-provider-cli-quality] ([1d1ca4f](https://github.com/caioimori/sinapse-ai/commit/1d1ca4f61adf9cb9425f25ba5683bf32bea03eaf))
|
|
11
|
+
* **docs:** sync canonical task metrics [Story cross-provider-cli-quality] ([a6031de](https://github.com/caioimori/sinapse-ai/commit/a6031deb0e98e9897af8ae302962b36e08dc8883))
|
|
12
|
+
* **release:** harden cross-provider package gates [Story cross-provider-cli-quality] ([57dff2d](https://github.com/caioimori/sinapse-ai/commit/57dff2d166e1011c14a359140a00a974526e3976))
|
|
13
|
+
|
|
14
|
+
### Maintenance
|
|
15
|
+
|
|
16
|
+
* **manifest:** sync registry package hash [Story cross-provider-cli-quality] ([357905f](https://github.com/caioimori/sinapse-ai/commit/357905f21cb6a34e266e25e6eb81c7545245bf20))
|
|
17
|
+
* **registry:** sync provider adapter checksum [Story cross-provider-cli-quality] ([ef65ce8](https://github.com/caioimori/sinapse-ai/commit/ef65ce881354ae95f09512c1ffe5d49e4134eb92))
|
|
18
|
+
* **release:** sync da main pos-release 1.24.0 ([#374](https://github.com/caioimori/sinapse-ai/issues/374)) ([d1fee0a](https://github.com/caioimori/sinapse-ai/commit/d1fee0a36e780ddc1eb4abc33af1649810bc0c97))
|
|
19
|
+
* **repo:** remove landing estatica da vitrine [Story cleanup-landing-coderabbit] ([5391bfa](https://github.com/caioimori/sinapse-ai/commit/5391bfa6e69f5cb289b4eabcc1ea0822852a5462))
|
|
6
20
|
|
|
7
21
|
# Changelog
|
|
8
22
|
|
|
@@ -13,6 +27,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
13
27
|
|
|
14
28
|
## [Unreleased]
|
|
15
29
|
|
|
30
|
+
## [1.24.0] — 2026-07-09 — 🎭 Handoffs visíveis: selo de cada agente na orquestração
|
|
31
|
+
|
|
32
|
+
> Minor. Atualização segura via `npx sinapse-ai update`. Fecha as 4 causas dos handoffs invisíveis ("nunca vejo o nome dos outros agentes"): a identidade pública dos especialistas agora chega ao modelo e aparece na conversa.
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
- **selo:** elenco de selos (core + orquestradores de squad) injetado quando o Imperator lidera, com teto auto-aplicado ≤2500 chars e emoji double-escaped decodificado; TTL de 6h na voz primária mata a voz fantasma entre sessões, com migração de caches legados congelada anti-ressurreição (validada por verificação adversarial + teste de regressão) (#373)
|
|
37
|
+
- **selo:** hook novo `track-delegation.cjs` (PreToolUse[Task]) rastreia delegações reais no session-cache — só ids com badge, masters excluídos, observer-only fail-open, escrita atômica; o Stop hook passa a preservar o elenco entre turnos (#373)
|
|
38
|
+
- **installer:** setup do statusline copia/registra o hook novo com guarda de preservação — settings legado não-array nunca é sobrescrito (3 eventos) (#373)
|
|
39
|
+
|
|
40
|
+
### Documentation
|
|
41
|
+
|
|
42
|
+
- **rules:** selo vira o canal único de identidade de agente — fim do "Delegando para @id" e do "sem nomes de agentes" (token-economy §7, mandatory-delegation, squad-awareness); seção NON-NEGOTIABLE de selo em handoffs no orquestrador mestre + timing plano→"pode ir" reconciliado (#373)
|
|
43
|
+
|
|
44
|
+
## [1.23.0] — 2026-07-08 — 🛡️ Gates doc-first cobrem código em qualquer pasta
|
|
45
|
+
|
|
46
|
+
> Minor. Atualização segura via `npx sinapse-ai update`. Fecha a brecha de cobertura dos gates doc-first: a detecção deixa de depender de uma allowlist de 8 pastas e passa a valer por extensão de código em qualquer lugar do projeto.
|
|
47
|
+
|
|
48
|
+
### Features
|
|
49
|
+
|
|
50
|
+
- **gate:** amplia cobertura dos gates doc-first pra código em qualquer pasta — detecção por (pasta de código expandida OU extensão de código), isentando config-by-pattern (`*.config.*`, `*.d.ts`, `.*rc`) e build outputs (`.next/`, `dist/`, `coverage/`, `.vercel/`); exceção `isFrameworkRepo` no story gate (Art. III); +25 testes, fail-open preservado (#370, #371)
|
|
51
|
+
|
|
16
52
|
## [1.22.0] — 2026-07-07 — 🎛️ Mesa AF-20260704: guards doc-first + economia de contexto + calibração do juiz
|
|
17
53
|
|
|
18
54
|
> Minor. Atualização segura via `npx sinapse-ai update`. Executa integralmente a Mesa da rodada 2 (épicos `epic-rodada2-mesa` + `epic-rodada2-mesa-fase2`, PRs #357–#368) — dos guards de qualidade ao contexto enxuto, tudo com verificação adversarial.
|
package/README.en.md
CHANGED
|
@@ -263,7 +263,7 @@ Each squad is an autonomous team with its own orchestrator, specialist agents, k
|
|
|
263
263
|
| **squad-growth** | Analytics, CRO, SEO, growth hacking | 7 |
|
|
264
264
|
| **squad-finance** | Budget, pricing, profitability analysis | 8 |
|
|
265
265
|
|
|
266
|
-
**Total: 17 squads, 172 specialized agents, 1,
|
|
266
|
+
**Total: 17 squads, 172 specialized agents, 1,201 tasks**
|
|
267
267
|
|
|
268
268
|
Activate any squad via its orchestrator:
|
|
269
269
|
|
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
SINAPSE é um meta-framework open source que organiza **172 agentes de IA em 17 squads especializados**, operando direto no terminal via Claude Code ou Codex CLI. Cada agente tem um papel definido, cada squad domina uma disciplina, e o sistema inteiro é governado por uma **Constitution com enforcement real** — 20 hooks registrados que bloqueiam violações em tempo de execução.
|
|
25
25
|
|
|
26
|
-
O conceito central é simples: em vez de um único assistente de IA tentando fazer tudo, o SINAPSE estrutura o trabalho em equipes especializadas. Um squad de branding cuida da identidade visual. Um squad de cybersecurity cuida de compliance e pentest. Um squad de copywriting cuida de persuasão e conversão. Cada um com sua própria knowledge base, workflows e tasks — totalizando **1.
|
|
26
|
+
O conceito central é simples: em vez de um único assistente de IA tentando fazer tudo, o SINAPSE estrutura o trabalho em equipes especializadas. Um squad de branding cuida da identidade visual. Um squad de cybersecurity cuida de compliance e pentest. Um squad de copywriting cuida de persuasão e conversão. Cada um com sua própria knowledge base, workflows e tasks — totalizando **1.201 tasks executáveis** prontas para uso, distribuídas pelos 17 squads.
|
|
27
27
|
|
|
28
28
|
Diferente de ferramentas que apenas conversam com IA, o SINAPSE impõe disciplina. O pipeline **Documentation-First** exige que uma story seja criada e validada antes de qualquer linha de código. Quality gates rodam automaticamente antes de merge. Agentes não autorizados são bloqueados de fazer push. Tudo isso via hooks que interceptam operações em tempo real — não depois.
|
|
29
29
|
|
|
@@ -41,10 +41,13 @@ O diferencial não é apenas a quantidade de agentes. É **governança real**: 2
|
|
|
41
41
|
|
|
42
42
|
## Quick Start
|
|
43
43
|
|
|
44
|
+
> Use `@latest` nos comandos publicos para evitar que o cache do `npx` execute
|
|
45
|
+
> uma versao anterior durante instalacoes e atualizacoes.
|
|
46
|
+
|
|
44
47
|
### 1. Instale
|
|
45
48
|
|
|
46
49
|
```bash
|
|
47
|
-
npx sinapse-ai install
|
|
50
|
+
npx sinapse-ai@latest install
|
|
48
51
|
```
|
|
49
52
|
|
|
50
53
|
O wizard detecta seu ambiente, escolhe a IDE (Claude Code ou Codex) e instala os 17 squads automaticamente. Re-rodar o comando faz upsert idempotente — preserva suas customizações e só atualiza o que mudou.
|
|
@@ -52,8 +55,8 @@ O wizard detecta seu ambiente, escolhe a IDE (Claude Code ou Codex) e instala os
|
|
|
52
55
|
### 2. Verifique
|
|
53
56
|
|
|
54
57
|
```bash
|
|
55
|
-
npx sinapse-ai status # Lista de squads + agentes instalados
|
|
56
|
-
npx sinapse-ai doctor # 16 health checks contra o ambiente
|
|
58
|
+
npx sinapse-ai@latest status # Lista de squads + agentes instalados
|
|
59
|
+
npx sinapse-ai@latest doctor # 16 health checks contra o ambiente
|
|
57
60
|
```
|
|
58
61
|
|
|
59
62
|
Se algo estiver fora do lugar, `doctor --fix` corrige automaticamente.
|
|
@@ -120,7 +123,7 @@ Cada release passa por uma matriz de instalação de 27 combinações (3 OSes ×
|
|
|
120
123
|
### "Como atualizar sem perder minhas customizações?"
|
|
121
124
|
|
|
122
125
|
```bash
|
|
123
|
-
npx sinapse-ai update
|
|
126
|
+
npx sinapse-ai@latest update
|
|
124
127
|
```
|
|
125
128
|
|
|
126
129
|
O update é **idempotente por design**. L1 (framework core) e L2 (templates) são atualizados. L3 (configuração) e L4 (suas stories, packages, customizações) **nunca são tocados**. Você pode rodar `update` quantas vezes quiser, inclusive após customizar rules localmente. Nada se perde.
|
|
@@ -282,7 +285,7 @@ Cada squad é uma equipe autônoma com orquestrador, agentes especialistas, know
|
|
|
282
285
|
| **squad-growth** | Analytics, CRO, SEO, growth hacking | 7 |
|
|
283
286
|
| **squad-finance** | Budget, pricing, profitability analysis | 8 |
|
|
284
287
|
|
|
285
|
-
**Total: 17 squads, 172 agentes especializados, 1.
|
|
288
|
+
**Total: 17 squads, 172 agentes especializados, 1.201 tasks**
|
|
286
289
|
|
|
287
290
|
Cada squad é ativado via seu orquestrador:
|
|
288
291
|
|
|
@@ -303,8 +306,8 @@ O SINAPSE suporta duas IDEs com integrações profundas:
|
|
|
303
306
|
|
|
304
307
|
| IDE | Ativação | Destaques |
|
|
305
308
|
|-----|----------|-----------|
|
|
306
|
-
| **Claude Code** | `@agent-name` |
|
|
307
|
-
| **Codex CLI** |
|
|
309
|
+
| **Claude Code** | `@agent-name` ou `/skill-name` | Subagentes e skills nativos, hooks e rules contextuais |
|
|
310
|
+
| **Codex CLI** | `$snps` ou `$sinapse-agent agent-id` | Agentes TOML, skills nativas e `codex exec` para CI/CD |
|
|
308
311
|
|
|
309
312
|
Ambas as IDEs têm acesso a todos os 17 squads, 172 agentes, workflows e knowledge bases. O installer detecta e configura automaticamente.
|
|
310
313
|
|
|
@@ -312,7 +315,7 @@ Ambas as IDEs têm acesso a todos os 17 squads, 172 agentes, workflows e knowled
|
|
|
312
315
|
|
|
313
316
|
| Funcionalidade | Claude Code | Codex CLI |
|
|
314
317
|
|---------------|:-----------:|:---------:|
|
|
315
|
-
| Ativação
|
|
318
|
+
| Ativação dos 172 agentes | `@agent-name` | `$sinapse-agent agent-id` |
|
|
316
319
|
| Hooks constitucionais (20) | Completo | Parcial (5) |
|
|
317
320
|
| Story-driven development | Completo | Completo |
|
|
318
321
|
| Quality gates | Completo | Completo |
|
|
@@ -401,6 +404,18 @@ Pre-commit e pre-push hooks validam automaticamente antes de cada operação.
|
|
|
401
404
|
|
|
402
405
|
## CLI Reference
|
|
403
406
|
|
|
407
|
+
Comandos deterministas para o pacote publico:
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
# Projeto novo ou existente
|
|
411
|
+
npx sinapse-ai@latest install
|
|
412
|
+
npx sinapse-ai@latest update
|
|
413
|
+
|
|
414
|
+
# Instalacao global existente
|
|
415
|
+
npm install -g sinapse-ai@latest
|
|
416
|
+
sinapse-ai update
|
|
417
|
+
```
|
|
418
|
+
|
|
404
419
|
A superfície pública é proposital — quatro comandos canônicos de lifecycle, dois diagnósticos, um sub-comando avançado.
|
|
405
420
|
|
|
406
421
|
```bash
|
|
@@ -421,7 +436,7 @@ npx sinapse-ai doctor --dry-run # Mostra o que `--fix` faria sem aplicar
|
|
|
421
436
|
npx sinapse-ai chrome-brain install # Instala browser automation
|
|
422
437
|
```
|
|
423
438
|
|
|
424
|
-
Todos os comandos são seguros para re-rodar.
|
|
439
|
+
Todos os comandos são seguros para re-rodar. No Claude Code, digite `@` para selecionar um subagente ou use `/snps`. No Codex, use `$snps` para o orquestrador supremo e `$sinapse-agent <id>` para qualquer agente do catálogo.
|
|
425
440
|
|
|
426
441
|
### Orquestração (avançado)
|
|
427
442
|
|