mindforge-cc 11.5.1 → 11.7.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/.agent/mindforge/skill-tdd.md +53 -0
- package/.agent/mindforge/skills-index.md +118 -0
- package/.agent/mindforge/systematic-debug.md +60 -0
- package/.agent/mindforge/wf-catalog.md +37 -0
- package/.agent/mindforge/wf-code-audit.md +31 -0
- package/.agent/mindforge/wf-competitive-analysis.md +31 -0
- package/.agent/mindforge/wf-deep-research.md +32 -0
- package/.agent/mindforge/wf-feature-planner.md +31 -0
- package/.agent/mindforge/wf-incident-response.md +31 -0
- package/.agent/mindforge/wf-onboard-codebase.md +31 -0
- package/.agent/mindforge/wf-perf-optimize.md +31 -0
- package/.agent/mindforge/wf-pr-review.md +31 -0
- package/.agent/mindforge/wf-refactor-plan.md +31 -0
- package/.agent/mindforge/wf-release-prep.md +31 -0
- package/.agent/mindforge/wf-tdd-sprint.md +31 -0
- package/.agent/mindforge/wf-tech-evaluation.md +31 -0
- package/.agent/skills/1password-skill/SKILL.md +156 -0
- package/.agent/skills/1password-skill/references/cli-examples.md +31 -0
- package/.agent/skills/1password-skill/references/get-started.md +21 -0
- package/.agent/skills/article-illustrator/SKILL.md +199 -0
- package/.agent/skills/article-illustrator/references/prompt-construction.md +426 -0
- package/.agent/skills/article-illustrator/references/style-presets.md +80 -0
- package/.agent/skills/article-illustrator/references/styles.md +224 -0
- package/.agent/skills/article-illustrator/references/usage.md +50 -0
- package/.agent/skills/article-illustrator/references/workflow.md +332 -0
- package/.agent/skills/arxiv/SKILL.md +275 -0
- package/.agent/skills/blogwatcher/SKILL.md +130 -0
- package/.agent/skills/code-wiki/SKILL.md +438 -0
- package/.agent/skills/code-wiki/templates/README.md +31 -0
- package/.agent/skills/code-wiki/templates/architecture.md +30 -0
- package/.agent/skills/code-wiki/templates/getting-started.md +47 -0
- package/.agent/skills/code-wiki/templates/module.md +38 -0
- package/.agent/skills/codebase-inspection/SKILL.md +109 -0
- package/.agent/skills/comic-creator/SKILL.md +240 -0
- package/.agent/skills/comic-creator/references/analysis-framework.md +176 -0
- package/.agent/skills/comic-creator/references/auto-selection.md +71 -0
- package/.agent/skills/comic-creator/references/base-prompt.md +98 -0
- package/.agent/skills/comic-creator/references/character-template.md +180 -0
- package/.agent/skills/comic-creator/references/ohmsha-guide.md +85 -0
- package/.agent/skills/comic-creator/references/partial-workflows.md +106 -0
- package/.agent/skills/comic-creator/references/storyboard-template.md +143 -0
- package/.agent/skills/comic-creator/references/workflow.md +401 -0
- package/.agent/skills/concept-diagrams/SKILL.md +355 -0
- package/.agent/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
- package/.agent/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
- package/.agent/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
- package/.agent/skills/creative-ideation/SKILL.md +144 -0
- package/.agent/skills/creative-ideation/references/full-prompt-library.md +110 -0
- package/.agent/skills/devops-cli/SKILL.md +149 -0
- package/.agent/skills/devops-cli/references/app-discovery.md +112 -0
- package/.agent/skills/devops-cli/references/authentication.md +59 -0
- package/.agent/skills/devops-cli/references/cli-reference.md +104 -0
- package/.agent/skills/devops-cli/references/running-apps.md +171 -0
- package/.agent/skills/devops-watchers/SKILL.md +103 -0
- package/.agent/skills/docker-management/SKILL.md +273 -0
- package/.agent/skills/domain-intel/SKILL.md +96 -0
- package/.agent/skills/duckduckgo-search/SKILL.md +230 -0
- package/.agent/skills/github-auth/SKILL.md +240 -0
- package/.agent/skills/github-code-review/SKILL.md +474 -0
- package/.agent/skills/github-code-review/references/review-output-template.md +74 -0
- package/.agent/skills/github-issues/SKILL.md +363 -0
- package/.agent/skills/github-issues/templates/bug-report.md +35 -0
- package/.agent/skills/github-issues/templates/feature-request.md +31 -0
- package/.agent/skills/github-pr-workflow/SKILL.md +360 -0
- package/.agent/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- package/.agent/skills/github-pr-workflow/references/conventional-commits.md +71 -0
- package/.agent/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- package/.agent/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
- package/.agent/skills/github-repo-management/SKILL.md +509 -0
- package/.agent/skills/github-repo-management/references/github-api-cheatsheet.md +161 -0
- package/.agent/skills/godmode/SKILL.md +396 -0
- package/.agent/skills/godmode/references/jailbreak-templates.md +128 -0
- package/.agent/skills/godmode/references/refusal-detection.md +142 -0
- package/.agent/skills/hyperframes/SKILL.md +182 -0
- package/.agent/skills/hyperframes/references/cli.md +185 -0
- package/.agent/skills/hyperframes/references/composition.md +129 -0
- package/.agent/skills/hyperframes/references/features.md +289 -0
- package/.agent/skills/hyperframes/references/gsap.md +136 -0
- package/.agent/skills/hyperframes/references/troubleshooting.md +137 -0
- package/.agent/skills/hyperframes/references/website-to-video.md +145 -0
- package/.agent/skills/jupyter-live-kernel/SKILL.md +160 -0
- package/.agent/skills/kanban-orchestrator/SKILL.md +209 -0
- package/.agent/skills/kanban-worker/SKILL.md +188 -0
- package/.agent/skills/llm-wiki/SKILL.md +499 -0
- package/.agent/skills/meme-generation/SKILL.md +122 -0
- package/.agent/skills/node-inspect-debugger/SKILL.md +312 -0
- package/.agent/skills/obsidian/SKILL.md +60 -0
- package/.agent/skills/osint-investigation/SKILL.md +269 -0
- package/.agent/skills/osint-investigation/templates/source-template.md +59 -0
- package/.agent/skills/oss-forensics/SKILL.md +422 -0
- package/.agent/skills/oss-forensics/references/evidence-types.md +89 -0
- package/.agent/skills/oss-forensics/references/github-archive-guide.md +184 -0
- package/.agent/skills/oss-forensics/references/investigation-templates.md +131 -0
- package/.agent/skills/oss-forensics/references/recovery-techniques.md +164 -0
- package/.agent/skills/oss-forensics/templates/forensic-report.md +151 -0
- package/.agent/skills/oss-forensics/templates/malicious-package-report.md +43 -0
- package/.agent/skills/parallel-cli/SKILL.md +384 -0
- package/.agent/skills/pinggy-tunnel/SKILL.md +302 -0
- package/.agent/skills/pixel-art/SKILL.md +209 -0
- package/.agent/skills/pixel-art/references/palettes.md +49 -0
- package/.agent/skills/plan/SKILL.md +331 -0
- package/.agent/skills/polymarket/SKILL.md +75 -0
- package/.agent/skills/polymarket/references/api-endpoints.md +220 -0
- package/.agent/skills/python-debugpy/SKILL.md +368 -0
- package/.agent/skills/requesting-code-review/SKILL.md +273 -0
- package/.agent/skills/research-paper-writing/SKILL.md +2367 -0
- package/.agent/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
- package/.agent/skills/research-paper-writing/references/checklists.md +434 -0
- package/.agent/skills/research-paper-writing/references/citation-workflow.md +563 -0
- package/.agent/skills/research-paper-writing/references/experiment-patterns.md +728 -0
- package/.agent/skills/research-paper-writing/references/human-evaluation.md +476 -0
- package/.agent/skills/research-paper-writing/references/paper-types.md +481 -0
- package/.agent/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
- package/.agent/skills/research-paper-writing/references/sources.md +191 -0
- package/.agent/skills/research-paper-writing/references/writing-guide.md +474 -0
- package/.agent/skills/research-paper-writing/templates/README.md +251 -0
- package/.agent/skills/rest-graphql-debug/SKILL.md +507 -0
- package/.agent/skills/s6-container-supervision/SKILL.md +171 -0
- package/.agent/skills/scrapling/SKILL.md +328 -0
- package/.agent/skills/sherlock/SKILL.md +186 -0
- package/.agent/skills/simplify-code/SKILL.md +168 -0
- package/.agent/skills/skill-authoring/SKILL.md +158 -0
- package/.agent/skills/spike/SKILL.md +190 -0
- package/.agent/skills/subagent-driven-development/SKILL.md +345 -0
- package/.agent/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
- package/.agent/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
- package/.agent/skills/systematic-debugging/SKILL.md +360 -0
- package/.agent/skills/test-driven-development/SKILL.md +336 -0
- package/.agent/skills/video-orchestrator/SKILL.md +194 -0
- package/.agent/skills/video-orchestrator/references/examples.md +227 -0
- package/.agent/skills/video-orchestrator/references/intake.md +166 -0
- package/.agent/skills/video-orchestrator/references/kanban-setup.md +278 -0
- package/.agent/skills/video-orchestrator/references/monitoring.md +180 -0
- package/.agent/skills/video-orchestrator/references/role-archetypes.md +298 -0
- package/.agent/skills/video-orchestrator/references/tool-matrix.md +317 -0
- package/.agent/skills/web-pentest/SKILL.md +332 -0
- package/.agent/skills/web-pentest/references/bypass-techniques.md +133 -0
- package/.agent/skills/web-pentest/references/exploitation-techniques.md +204 -0
- package/.agent/skills/web-pentest/references/scope-enforcement.md +110 -0
- package/.agent/skills/web-pentest/references/vuln-taxonomy.md +81 -0
- package/.agent/skills/web-pentest/templates/authorization.md +69 -0
- package/.agent/skills/web-pentest/templates/pentest-report.md +178 -0
- package/.claude/commands/mindforge/skill-tdd.md +53 -0
- package/.claude/commands/mindforge/skills-index.md +118 -0
- package/.claude/commands/mindforge/systematic-debug.md +60 -0
- package/.claude/commands/mindforge/wf-catalog.md +37 -0
- package/.claude/commands/mindforge/wf-code-audit.md +31 -0
- package/.claude/commands/mindforge/wf-competitive-analysis.md +31 -0
- package/.claude/commands/mindforge/wf-deep-research.md +32 -0
- package/.claude/commands/mindforge/wf-feature-planner.md +31 -0
- package/.claude/commands/mindforge/wf-incident-response.md +31 -0
- package/.claude/commands/mindforge/wf-onboard-codebase.md +31 -0
- package/.claude/commands/mindforge/wf-perf-optimize.md +31 -0
- package/.claude/commands/mindforge/wf-pr-review.md +31 -0
- package/.claude/commands/mindforge/wf-refactor-plan.md +31 -0
- package/.claude/commands/mindforge/wf-release-prep.md +31 -0
- package/.claude/commands/mindforge/wf-tdd-sprint.md +31 -0
- package/.claude/commands/mindforge/wf-tech-evaluation.md +31 -0
- package/.mindforge/config.json +2 -2
- package/.mindforge/dynamic-workflows/REGISTRY.md +65 -0
- package/.mindforge/dynamic-workflows/index.json +171 -0
- package/.mindforge/dynamic-workflows/scripts/code-audit.js +103 -0
- package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +85 -0
- package/.mindforge/dynamic-workflows/scripts/deep-research.js +151 -0
- package/.mindforge/dynamic-workflows/scripts/feature-planner.js +104 -0
- package/.mindforge/dynamic-workflows/scripts/incident-response.js +106 -0
- package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +102 -0
- package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +128 -0
- package/.mindforge/dynamic-workflows/scripts/pr-review.js +87 -0
- package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +121 -0
- package/.mindforge/dynamic-workflows/scripts/release-prep.js +102 -0
- package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +103 -0
- package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +72 -0
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/skills/arxiv/SKILL.md +294 -0
- package/.mindforge/skills/blogwatcher/SKILL.md +147 -0
- package/.mindforge/skills/code-wiki/SKILL.md +457 -0
- package/.mindforge/skills/codebase-inspection/SKILL.md +126 -0
- package/.mindforge/skills/concept-diagrams/SKILL.md +373 -0
- package/.mindforge/skills/creative-ideation/SKILL.md +162 -0
- package/.mindforge/skills/domain-intel/SKILL.md +116 -0
- package/.mindforge/skills/duckduckgo-search/SKILL.md +249 -0
- package/.mindforge/skills/github-code-review/SKILL.md +493 -0
- package/.mindforge/skills/github-issues/SKILL.md +382 -0
- package/.mindforge/skills/github-pr-workflow/SKILL.md +379 -0
- package/.mindforge/skills/jupyter-live-kernel/SKILL.md +179 -0
- package/.mindforge/skills/kanban-orchestrator/SKILL.md +227 -0
- package/.mindforge/skills/kanban-worker/SKILL.md +206 -0
- package/.mindforge/skills/meme-generation/SKILL.md +141 -0
- package/.mindforge/skills/obsidian/SKILL.md +80 -0
- package/.mindforge/skills/osint-investigation/SKILL.md +288 -0
- package/.mindforge/skills/oss-forensics/SKILL.md +421 -0
- package/.mindforge/skills/pixel-art/SKILL.md +228 -0
- package/.mindforge/skills/plan/SKILL.md +350 -0
- package/.mindforge/skills/requesting-code-review/SKILL.md +292 -0
- package/.mindforge/skills/research-paper-writing/SKILL.md +2384 -0
- package/.mindforge/skills/scrapling/SKILL.md +345 -0
- package/.mindforge/skills/sherlock/SKILL.md +203 -0
- package/.mindforge/skills/simplify-code/SKILL.md +187 -0
- package/.mindforge/skills/spike/SKILL.md +209 -0
- package/.mindforge/skills/subagent-driven-development/SKILL.md +364 -0
- package/.mindforge/skills/systematic-debugging/SKILL.md +379 -0
- package/.mindforge/skills/test-driven-development/SKILL.md +355 -0
- package/.mindforge/skills/web-pentest/SKILL.md +327 -0
- package/CHANGELOG.md +71 -0
- package/MINDFORGE.md +2 -2
- package/README.md +72 -3
- package/RELEASENOTES.md +109 -0
- package/bin/installer-core.js +6 -2
- package/bin/mindforge-cli.js +7 -0
- package/bin/workflows/workflow-runner.js +110 -0
- package/docs/commands-reference.md +25 -0
- package/docs/getting-started.md +42 -5
- package/package.json +2 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "4-dimensional parallel PR review: correctness, security, performance, style → consensus verdict"
|
|
3
|
+
---
|
|
4
|
+
# /mindforge:wf-pr-review
|
|
5
|
+
|
|
6
|
+
Runs the **Pr Review** dynamic workflow.
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
`/mindforge:wf-pr-review [diff target or 'current HEAD~1']`
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
- **Scope**: Reads the diff and gathers review context
|
|
13
|
+
- **Review**: 4 parallel reviewers — correctness, security, performance, code style
|
|
14
|
+
- **Consensus**: Merges all findings, deduplicates, assigns severity (blocking/major/minor)
|
|
15
|
+
- **Verdict**: APPROVED / APPROVED_WITH_SUGGESTIONS / CHANGES_REQUIRED / BLOCKING
|
|
16
|
+
|
|
17
|
+
## Running
|
|
18
|
+
|
|
19
|
+
Invoke via Claude Code's Workflow tool:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Workflow({
|
|
23
|
+
scriptPath: ".mindforge/dynamic-workflows/scripts/pr-review.js",
|
|
24
|
+
args: "<your input>"
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or discover via CLI:
|
|
29
|
+
```bash
|
|
30
|
+
node bin/mindforge-cli.js workflow info pr-review
|
|
31
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Technical debt scan → risk-sorted sequence → safe refactor implementation plan"
|
|
3
|
+
---
|
|
4
|
+
# /mindforge:wf-refactor-plan
|
|
5
|
+
|
|
6
|
+
Runs the **Refactor Plan** dynamic workflow.
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
`/mindforge:wf-refactor-plan [path or 'current codebase']`
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
- **Scan**: 3 parallel scans — structural debt, complexity debt, maintenance debt
|
|
13
|
+
- **Prioritize**: Risk-sorts items by blast radius × test coverage inverse
|
|
14
|
+
- **Sequence**: Orders changes to minimize conflicts and risk
|
|
15
|
+
- **Plan**: Step-by-step refactor plan with verification gates and rollback procedures
|
|
16
|
+
|
|
17
|
+
## Running
|
|
18
|
+
|
|
19
|
+
Invoke via Claude Code's Workflow tool:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Workflow({
|
|
23
|
+
scriptPath: ".mindforge/dynamic-workflows/scripts/refactor-plan.js",
|
|
24
|
+
args: "<your input>"
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or discover via CLI:
|
|
29
|
+
```bash
|
|
30
|
+
node bin/mindforge-cli.js workflow info refactor-plan
|
|
31
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Automated release pipeline: tests → changelog → version bump → PR → announcement draft"
|
|
3
|
+
---
|
|
4
|
+
# /mindforge:wf-release-prep
|
|
5
|
+
|
|
6
|
+
Runs the **Release Prep** dynamic workflow.
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
`/mindforge:wf-release-prep [repo context]`
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
- **Check**: Verifies readiness — no uncommitted changes, tests passing, no critical open bugs
|
|
13
|
+
- **Changelog**: Generates changelog from conventional commits since last release
|
|
14
|
+
- **Bump**: Determines next semver version based on breaking/feature/fix counts
|
|
15
|
+
- **PR**: Drafts the release PR body, release notes, and social announcement
|
|
16
|
+
|
|
17
|
+
## Running
|
|
18
|
+
|
|
19
|
+
Invoke via Claude Code's Workflow tool:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Workflow({
|
|
23
|
+
scriptPath: ".mindforge/dynamic-workflows/scripts/release-prep.js",
|
|
24
|
+
args: "<your input>"
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or discover via CLI:
|
|
29
|
+
```bash
|
|
30
|
+
node bin/mindforge-cli.js workflow info release-prep
|
|
31
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Strict Red-Green-Refactor TDD loop with spec-first discipline"
|
|
3
|
+
---
|
|
4
|
+
# /mindforge:wf-tdd-sprint
|
|
5
|
+
|
|
6
|
+
Runs the **Tdd Sprint** dynamic workflow.
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
`/mindforge:wf-tdd-sprint <feature or behavior to implement>`
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
- **Spec**: Writes a precise Given-When-Then behavioral spec with edge cases
|
|
13
|
+
- **Red**: Writes a failing test that captures exactly the required behavior
|
|
14
|
+
- **Green**: Writes the MINIMAL implementation to make the test pass
|
|
15
|
+
- **Refactor**: Cleans up the passing implementation with specific improvements listed
|
|
16
|
+
|
|
17
|
+
## Running
|
|
18
|
+
|
|
19
|
+
Invoke via Claude Code's Workflow tool:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Workflow({
|
|
23
|
+
scriptPath: ".mindforge/dynamic-workflows/scripts/tdd-sprint.js",
|
|
24
|
+
args: "<your input>"
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or discover via CLI:
|
|
29
|
+
```bash
|
|
30
|
+
node bin/mindforge-cli.js workflow info tdd-sprint
|
|
31
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Scored technology evaluation across DX, performance, security, ecosystem, community"
|
|
3
|
+
---
|
|
4
|
+
# /mindforge:wf-tech-evaluation
|
|
5
|
+
|
|
6
|
+
Runs the **Tech Evaluation** dynamic workflow.
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
`/mindforge:wf-tech-evaluation <TechA vs TechB vs TechC for [use case]>`
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
- **Scope**: Parses candidates and evaluation criteria from your input
|
|
13
|
+
- **Evaluate**: 5 parallel dimension agents — DX, performance, security, ecosystem, community
|
|
14
|
+
- **Score**: Builds a weighted 1-10 scoring matrix per dimension
|
|
15
|
+
- **Recommend**: Produces ranked recommendation with trade-offs for each option
|
|
16
|
+
|
|
17
|
+
## Running
|
|
18
|
+
|
|
19
|
+
Invoke via Claude Code's Workflow tool:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Workflow({
|
|
23
|
+
scriptPath: ".mindforge/dynamic-workflows/scripts/tech-evaluation.js",
|
|
24
|
+
args: "<your input>"
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or discover via CLI:
|
|
29
|
+
```bash
|
|
30
|
+
node bin/mindforge-cli.js workflow info tech-evaluation
|
|
31
|
+
```
|
package/.mindforge/config.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "11.
|
|
2
|
+
"version": "11.7.0",
|
|
3
3
|
"environment": "development",
|
|
4
4
|
"governance": {
|
|
5
5
|
"drift_threshold": 0.75,
|
|
6
6
|
"critical_drift_threshold": 0.5,
|
|
7
7
|
"res_threshold": 0.8,
|
|
8
|
-
"active_did": "did:mindforge:
|
|
8
|
+
"active_did": "did:mindforge:5a2153fe-8744-4cc6-907d-bcfbdeca23a6"
|
|
9
9
|
},
|
|
10
10
|
"revops": {
|
|
11
11
|
"market_registry": {
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# MindForge Dynamic Workflow Registry
|
|
2
|
+
|
|
3
|
+
Dynamic workflows are multi-agent JS orchestration scripts that run via Claude Code's `Workflow` tool. They use `parallel()`, `pipeline()`, `phase()`, and `agent()` primitives to fan out work across multiple concurrent subagents and synthesize results.
|
|
4
|
+
|
|
5
|
+
**Trigger:** Use `/mindforge:wf-catalog` to browse interactively, or invoke any `/mindforge:wf-<name>` command directly.
|
|
6
|
+
|
|
7
|
+
**Discovery:** `node bin/mindforge-cli.js workflow list`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Research Tier — Fan-out search, adversarial verification, cited output
|
|
12
|
+
|
|
13
|
+
| Name | Command | Description | Phases |
|
|
14
|
+
|------|---------|-------------|--------|
|
|
15
|
+
| `deep-research` | `/mindforge:wf-deep-research` | Fan-out web research with adversarial claim verification and cited synthesis | Scope → Search → Fetch → Verify → Synthesize |
|
|
16
|
+
| `competitive-analysis` | `/mindforge:wf-competitive-analysis` | Multi-angle competitive research producing a SWOT and positioning summary | Scope → Research → SWOT → Position |
|
|
17
|
+
| `tech-evaluation` | `/mindforge:wf-tech-evaluation` | Scored technology evaluation across DX, performance, security, ecosystem, community | Scope → Evaluate → Score → Recommend |
|
|
18
|
+
|
|
19
|
+
## Dev Tier — Coding-assistant power workflows
|
|
20
|
+
|
|
21
|
+
| Name | Command | Description | Phases |
|
|
22
|
+
|------|---------|-------------|--------|
|
|
23
|
+
| `code-audit` | `/mindforge:wf-code-audit` | Parallel security + quality + performance audit with adversarial finding verification | Scope → Audit → Verify → Report |
|
|
24
|
+
| `feature-planner` | `/mindforge:wf-feature-planner` | Sequential pipeline: brief → PRD → architecture → user stories | Brief → PRD → Arch → Stories |
|
|
25
|
+
| `pr-review` | `/mindforge:wf-pr-review` | 4-dimensional parallel PR review: correctness, security, performance, style → verdict | Scope → Review → Consensus → Verdict |
|
|
26
|
+
| `tdd-sprint` | `/mindforge:wf-tdd-sprint` | Strict Red-Green-Refactor TDD loop with spec-first discipline | Spec → Red → Green → Refactor |
|
|
27
|
+
| `refactor-plan` | `/mindforge:wf-refactor-plan` | Debt scan → risk-sorted sequence → safe refactor implementation plan | Scan → Prioritize → Sequence → Plan |
|
|
28
|
+
|
|
29
|
+
## Ops Tier — Infrastructure and release workflows
|
|
30
|
+
|
|
31
|
+
| Name | Command | Description | Phases |
|
|
32
|
+
|------|---------|-------------|--------|
|
|
33
|
+
| `incident-response` | `/mindforge:wf-incident-response` | Parallel investigation: logs/metrics/traces/code → mitigation → RCA → postmortem | Alert → Investigate → Mitigate → RCA |
|
|
34
|
+
| `release-prep` | `/mindforge:wf-release-prep` | Automated release pipeline: tests → changelog → version bump → PR → announcement | Check → Changelog → Bump → PR |
|
|
35
|
+
|
|
36
|
+
## Intelligence Tier — Deep analysis and optimization
|
|
37
|
+
|
|
38
|
+
| Name | Command | Description | Phases |
|
|
39
|
+
|------|---------|-------------|--------|
|
|
40
|
+
| `onboard-codebase` | `/mindforge:wf-onboard-codebase` | Map structure → domain analysis → architecture → guided tour and onboarding docs | Map → Domain → Arch → Tour |
|
|
41
|
+
| `perf-optimize` | `/mindforge:wf-perf-optimize` | Profile → parallel bottleneck hunt (DB/network/CPU/memory) → prioritized fix plan | Profile → Identify → Plan → Benchmark |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Schema
|
|
46
|
+
|
|
47
|
+
Each workflow script at `.mindforge/dynamic-workflows/scripts/<name>.js` exports:
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
export const meta = {
|
|
51
|
+
name: '<name>', // matches filename (without .js)
|
|
52
|
+
description: '<string>', // shown in this catalog
|
|
53
|
+
whenToUse: '<string>', // trigger conditions
|
|
54
|
+
phases: [{ title, detail }],
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Scripts use the Claude Code `Workflow` tool primitives: `agent()`, `parallel()`, `pipeline()`, `phase()`, `log()`, `args`, `budget`.
|
|
59
|
+
|
|
60
|
+
## Adding a workflow
|
|
61
|
+
|
|
62
|
+
1. Write `.mindforge/dynamic-workflows/scripts/<name>.js` with a valid `meta` export
|
|
63
|
+
2. Add an entry to `index.json`
|
|
64
|
+
3. Add paired command files to `.agent/mindforge/wf-<name>.md` and `.claude/commands/mindforge/wf-<name>.md`
|
|
65
|
+
4. Run `npm test` — `tests/workflow-registry.test.js` validates all three steps
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "deep-research",
|
|
4
|
+
"description": "Fan-out web research with adversarial claim verification and cited synthesis",
|
|
5
|
+
"whenToUse": "When you need a deep, multi-source, fact-checked research report on any topic",
|
|
6
|
+
"tier": "research",
|
|
7
|
+
"command": "/mindforge:wf-deep-research",
|
|
8
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/deep-research.js",
|
|
9
|
+
"phases": [
|
|
10
|
+
{ "title": "Scope", "detail": "Decompose question into 5 search angles" },
|
|
11
|
+
{ "title": "Search", "detail": "5 parallel web search agents" },
|
|
12
|
+
{ "title": "Fetch", "detail": "Dedup URLs, fetch top 15 sources, extract claims" },
|
|
13
|
+
{ "title": "Verify", "detail": "3-vote adversarial verification per claim" },
|
|
14
|
+
{ "title": "Synthesize", "detail": "Merge dupes, rank by confidence, cite sources" }
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "competitive-analysis",
|
|
19
|
+
"description": "Multi-angle competitive research producing a SWOT and positioning summary",
|
|
20
|
+
"whenToUse": "When evaluating a product, company, or technology against competitors",
|
|
21
|
+
"tier": "research",
|
|
22
|
+
"command": "/mindforge:wf-competitive-analysis",
|
|
23
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/competitive-analysis.js",
|
|
24
|
+
"phases": [
|
|
25
|
+
{ "title": "Scope", "detail": "Define target and 5 research angles" },
|
|
26
|
+
{ "title": "Research", "detail": "Parallel research: product / pricing / reviews / community / roadmap" },
|
|
27
|
+
{ "title": "SWOT", "detail": "Synthesize strengths, weaknesses, opportunities, threats" },
|
|
28
|
+
{ "title": "Position", "detail": "Produce positioning recommendations" }
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "tech-evaluation",
|
|
33
|
+
"description": "Scored technology evaluation across DX, performance, security, ecosystem, and community",
|
|
34
|
+
"whenToUse": "When choosing between technologies, frameworks, or libraries for a project",
|
|
35
|
+
"tier": "research",
|
|
36
|
+
"command": "/mindforge:wf-tech-evaluation",
|
|
37
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/tech-evaluation.js",
|
|
38
|
+
"phases": [
|
|
39
|
+
{ "title": "Scope", "detail": "Define candidates and evaluation criteria" },
|
|
40
|
+
{ "title": "Evaluate", "detail": "5 parallel dimension agents per candidate" },
|
|
41
|
+
{ "title": "Score", "detail": "Build weighted scoring matrix" },
|
|
42
|
+
{ "title": "Recommend", "detail": "Produce ranked recommendation with trade-offs" }
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "code-audit",
|
|
47
|
+
"description": "Parallel security + quality + performance audit with adversarial finding verification",
|
|
48
|
+
"whenToUse": "When you need a comprehensive code review before a release or security review",
|
|
49
|
+
"tier": "dev",
|
|
50
|
+
"command": "/mindforge:wf-code-audit",
|
|
51
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/code-audit.js",
|
|
52
|
+
"phases": [
|
|
53
|
+
{ "title": "Scope", "detail": "Build file list from git diff or path argument" },
|
|
54
|
+
{ "title": "Audit", "detail": "3 parallel auditors: security / quality / performance" },
|
|
55
|
+
{ "title": "Verify", "detail": "Adversarial verification of high-severity findings" },
|
|
56
|
+
{ "title": "Report", "detail": "Risk-ranked report with actionable remediation" }
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "feature-planner",
|
|
61
|
+
"description": "Sequential pipeline: brief → PRD → architecture → user stories",
|
|
62
|
+
"whenToUse": "When starting a new feature and need a complete specification before coding",
|
|
63
|
+
"tier": "dev",
|
|
64
|
+
"command": "/mindforge:wf-feature-planner",
|
|
65
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/feature-planner.js",
|
|
66
|
+
"phases": [
|
|
67
|
+
{ "title": "Brief", "detail": "Clarify goals, users, success criteria" },
|
|
68
|
+
{ "title": "PRD", "detail": "Generate product requirements document" },
|
|
69
|
+
{ "title": "Architecture", "detail": "Design technical architecture and data flow" },
|
|
70
|
+
{ "title": "Stories", "detail": "Break into implementation user stories" }
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "pr-review",
|
|
75
|
+
"description": "4-dimensional parallel PR review: correctness, security, performance, style → consensus verdict",
|
|
76
|
+
"whenToUse": "When you want a thorough multi-perspective review of a pull request or diff",
|
|
77
|
+
"tier": "dev",
|
|
78
|
+
"command": "/mindforge:wf-pr-review",
|
|
79
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/pr-review.js",
|
|
80
|
+
"phases": [
|
|
81
|
+
{ "title": "Scope", "detail": "Read diff and build review context" },
|
|
82
|
+
{ "title": "Review", "detail": "4 parallel reviewers: correctness / security / performance / style" },
|
|
83
|
+
{ "title": "Consensus", "detail": "Merge findings, deduplicate, score severity" },
|
|
84
|
+
{ "title": "Verdict", "detail": "Produce APPROVED / CHANGES REQUIRED verdict with findings" }
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "tdd-sprint",
|
|
89
|
+
"description": "Strict Red-Green-Refactor TDD loop with spec-first discipline",
|
|
90
|
+
"whenToUse": "When implementing a feature or fix using test-driven development methodology",
|
|
91
|
+
"tier": "dev",
|
|
92
|
+
"command": "/mindforge:wf-tdd-sprint",
|
|
93
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/tdd-sprint.js",
|
|
94
|
+
"phases": [
|
|
95
|
+
{ "title": "Spec", "detail": "Define behavior requirements and acceptance criteria" },
|
|
96
|
+
{ "title": "Red", "detail": "Write failing test that captures the requirement" },
|
|
97
|
+
{ "title": "Green", "detail": "Write minimal code to make the test pass" },
|
|
98
|
+
{ "title": "Refactor", "detail": "Clean up while keeping tests green, verify all pass" }
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "refactor-plan",
|
|
103
|
+
"description": "Technical debt scan → risk-sorted sequence → safe refactor implementation plan",
|
|
104
|
+
"whenToUse": "When you need to plan a refactoring safely without breaking existing behavior",
|
|
105
|
+
"tier": "dev",
|
|
106
|
+
"command": "/mindforge:wf-refactor-plan",
|
|
107
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/refactor-plan.js",
|
|
108
|
+
"phases": [
|
|
109
|
+
{ "title": "Scan", "detail": "Identify technical debt, complexity hotspots, dead code" },
|
|
110
|
+
{ "title": "Prioritize", "detail": "Risk-sort by blast radius and test coverage" },
|
|
111
|
+
{ "title": "Sequence", "detail": "Order changes to minimize merge conflicts" },
|
|
112
|
+
{ "title": "Plan", "detail": "Produce step-by-step refactor plan with verification gates" }
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "incident-response",
|
|
117
|
+
"description": "Parallel investigation across logs, metrics, traces, and code → mitigation → RCA → postmortem",
|
|
118
|
+
"whenToUse": "When responding to a production incident or unexpected system failure",
|
|
119
|
+
"tier": "ops",
|
|
120
|
+
"command": "/mindforge:wf-incident-response",
|
|
121
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/incident-response.js",
|
|
122
|
+
"phases": [
|
|
123
|
+
{ "title": "Alert", "detail": "Characterize the incident: impact, scope, timeline" },
|
|
124
|
+
{ "title": "Investigate", "detail": "4 parallel agents: logs / metrics / traces / code changes" },
|
|
125
|
+
{ "title": "Mitigate", "detail": "Identify and apply immediate mitigation steps" },
|
|
126
|
+
{ "title": "RCA", "detail": "Root cause analysis and postmortem document" }
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "release-prep",
|
|
131
|
+
"description": "Automated release pipeline: tests → changelog → version bump → PR → announcement draft",
|
|
132
|
+
"whenToUse": "When preparing a production release and need all release artifacts generated",
|
|
133
|
+
"tier": "ops",
|
|
134
|
+
"command": "/mindforge:wf-release-prep",
|
|
135
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/release-prep.js",
|
|
136
|
+
"phases": [
|
|
137
|
+
{ "title": "Check", "detail": "Run tests, verify no uncommitted changes, check CI status" },
|
|
138
|
+
{ "title": "Changelog", "detail": "Generate changelog from commits since last release" },
|
|
139
|
+
{ "title": "Bump", "detail": "Update version in all required files" },
|
|
140
|
+
{ "title": "PR", "detail": "Create release PR and draft announcement" }
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "onboard-codebase",
|
|
145
|
+
"description": "Map structure → domain analysis → architecture → generate guided tour and onboarding docs",
|
|
146
|
+
"whenToUse": "When joining a new codebase or onboarding a team member to an existing repo",
|
|
147
|
+
"tier": "intelligence",
|
|
148
|
+
"command": "/mindforge:wf-onboard-codebase",
|
|
149
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/onboard-codebase.js",
|
|
150
|
+
"phases": [
|
|
151
|
+
{ "title": "Map", "detail": "Discover file structure, languages, entry points" },
|
|
152
|
+
{ "title": "Domain", "detail": "Identify business domains and core abstractions" },
|
|
153
|
+
{ "title": "Architecture", "detail": "Map layers, data flow, and key patterns" },
|
|
154
|
+
{ "title": "Tour", "detail": "Generate guided tour and onboarding documentation" }
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "perf-optimize",
|
|
159
|
+
"description": "Profile → parallel bottleneck hunt across DB/network/CPU/memory → prioritized fix plan",
|
|
160
|
+
"whenToUse": "When an application is slow and you need to find and fix performance bottlenecks",
|
|
161
|
+
"tier": "intelligence",
|
|
162
|
+
"command": "/mindforge:wf-perf-optimize",
|
|
163
|
+
"scriptPath": ".mindforge/dynamic-workflows/scripts/perf-optimize.js",
|
|
164
|
+
"phases": [
|
|
165
|
+
{ "title": "Profile", "detail": "Establish baseline metrics and identify slow paths" },
|
|
166
|
+
{ "title": "Identify", "detail": "4 parallel agents: DB queries / network / CPU / memory" },
|
|
167
|
+
{ "title": "Plan", "detail": "Prioritize fixes by impact-to-effort ratio" },
|
|
168
|
+
{ "title": "Benchmark", "detail": "Define verification benchmarks for each fix" }
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
]
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export const meta = {
|
|
2
|
+
name: 'code-audit',
|
|
3
|
+
description: 'Parallel security + quality + performance audit with adversarial finding verification',
|
|
4
|
+
whenToUse: 'When you need a comprehensive code review before a release or security review',
|
|
5
|
+
phases: [
|
|
6
|
+
{ title: 'Scope', detail: 'Build file list from git diff or path argument' },
|
|
7
|
+
{ title: 'Audit', detail: '3 parallel auditors: security / quality / performance' },
|
|
8
|
+
{ title: 'Verify', detail: 'Adversarial verification of high-severity findings' },
|
|
9
|
+
{ title: 'Report', detail: 'Risk-ranked report with actionable remediation' },
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default async function run({ agent, parallel, pipeline, phase, log, args, budget }) {
|
|
14
|
+
const FINDING_SCHEMA = {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
dimension: { type: 'string' },
|
|
18
|
+
findings: {
|
|
19
|
+
type: 'array',
|
|
20
|
+
items: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
severity: { type: 'string', enum: ['critical', 'high', 'medium', 'low', 'info'] },
|
|
24
|
+
title: { type: 'string' },
|
|
25
|
+
file: { type: 'string' },
|
|
26
|
+
description: { type: 'string' },
|
|
27
|
+
remediation: { type: 'string' },
|
|
28
|
+
},
|
|
29
|
+
required: ['severity', 'title', 'description', 'remediation'],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
required: ['dimension', 'findings'],
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const VERDICT_SCHEMA = {
|
|
37
|
+
type: 'object',
|
|
38
|
+
properties: { isReal: { type: 'boolean' }, reason: { type: 'string' } },
|
|
39
|
+
required: ['isReal', 'reason'],
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const REPORT_SCHEMA = {
|
|
43
|
+
type: 'object',
|
|
44
|
+
properties: {
|
|
45
|
+
summary: { type: 'string' },
|
|
46
|
+
riskLevel: { type: 'string', enum: ['critical', 'high', 'medium', 'low'] },
|
|
47
|
+
findings: { type: 'array', items: { type: 'object', properties: { severity: { type: 'string' }, title: { type: 'string' }, description: { type: 'string' }, remediation: { type: 'string' } }, required: ['severity', 'title', 'description', 'remediation'] } },
|
|
48
|
+
immediateActions: { type: 'array', items: { type: 'string' } },
|
|
49
|
+
},
|
|
50
|
+
required: ['summary', 'riskLevel', 'findings', 'immediateActions'],
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const target = args || 'current git diff (run from repo root)';
|
|
54
|
+
|
|
55
|
+
phase('Scope');
|
|
56
|
+
log(`Auditing: ${target}`);
|
|
57
|
+
|
|
58
|
+
const AUDITORS = [
|
|
59
|
+
{ label: 'security', prompt: `Perform a security audit of this codebase/diff: "${target}". Check for: OWASP Top 10 (injection, broken auth, XSS, IDOR, misconfig, exposure, CSRF, insecure deserialization, known vulns, logging failures), hardcoded secrets, unsafe dependencies, input validation gaps, authorization flaws. Rate each finding as critical/high/medium/low/info.` },
|
|
60
|
+
{ label: 'quality', prompt: `Perform a code quality audit of: "${target}". Check for: functions >50 lines, nesting >4 levels, magic numbers, dead code, missing error handling, naming issues, copy-paste anti-patterns, missing tests, undefined behavior, race conditions. Rate each finding as critical/high/medium/low/info.` },
|
|
61
|
+
{ label: 'performance', prompt: `Perform a performance audit of: "${target}". Check for: N+1 queries, unbounded loops, missing pagination, synchronous I/O in hot paths, memory leaks, missing indexes, large bundle imports, inefficient algorithms, cache invalidation issues. Rate each finding as critical/high/medium/low/info.` },
|
|
62
|
+
];
|
|
63
|
+
|
|
64
|
+
phase('Audit');
|
|
65
|
+
const audits = await parallel(
|
|
66
|
+
AUDITORS.map(a => () => agent(a.prompt, { schema: FINDING_SCHEMA, label: `audit:${a.label}`, phase: 'Audit' }))
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
phase('Verify');
|
|
70
|
+
const allFindings = audits.filter(Boolean).flatMap(a => a.findings.map(f => ({ ...f, dimension: a.dimension })));
|
|
71
|
+
const highSeverity = allFindings.filter(f => f.severity === 'critical' || f.severity === 'high');
|
|
72
|
+
log(`${allFindings.length} total findings, ${highSeverity.length} high/critical → adversarially verifying`);
|
|
73
|
+
|
|
74
|
+
const verifiedFindings = await parallel(
|
|
75
|
+
highSeverity.map(f => () =>
|
|
76
|
+
parallel([
|
|
77
|
+
() => agent(`Is this finding a real issue or a false positive? Try to REFUTE it. Finding: "${f.title}" — ${f.description}`, { schema: VERDICT_SCHEMA, label: `verify-1:${f.title.slice(0, 30)}` }),
|
|
78
|
+
() => agent(`Challenge this finding from a different angle. Is it actually exploitable/impactful? Finding: "${f.title}" — ${f.description}`, { schema: VERDICT_SCHEMA, label: `verify-2:${f.title.slice(0, 30)}` }),
|
|
79
|
+
]).then(votes => {
|
|
80
|
+
const confirmed = votes.filter(Boolean).filter(v => v.isReal).length;
|
|
81
|
+
return { ...f, verified: confirmed >= 1 };
|
|
82
|
+
})
|
|
83
|
+
)
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
const confirmedHigh = verifiedFindings.filter(Boolean).filter(f => f.verified);
|
|
87
|
+
const lowSeverity = allFindings.filter(f => f.severity !== 'critical' && f.severity !== 'high');
|
|
88
|
+
const finalFindings = [...confirmedHigh, ...lowSeverity];
|
|
89
|
+
|
|
90
|
+
phase('Report');
|
|
91
|
+
const findingsSummary = finalFindings.slice(0, 20).map(f => `[${f.severity.toUpperCase()}] ${f.title}: ${f.description} → Fix: ${f.remediation}`).join('\n');
|
|
92
|
+
const report = await agent(
|
|
93
|
+
`Produce a final security and quality report for: "${target}"\n\nFindings:\n${findingsSummary}\n\nIdentify the overall risk level, list findings by severity, and give the 3-5 most important immediate actions.`,
|
|
94
|
+
{ schema: REPORT_SCHEMA, label: 'report' }
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
target,
|
|
99
|
+
audits: audits.filter(Boolean),
|
|
100
|
+
report,
|
|
101
|
+
stats: { total: allFindings.length, highSeverity: highSeverity.length, confirmed: confirmedHigh.length },
|
|
102
|
+
};
|
|
103
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const meta = {
|
|
2
|
+
name: 'competitive-analysis',
|
|
3
|
+
description: 'Multi-angle competitive research producing a SWOT and positioning summary',
|
|
4
|
+
whenToUse: 'When evaluating a product, company, or technology against competitors',
|
|
5
|
+
phases: [
|
|
6
|
+
{ title: 'Scope', detail: 'Define target and 5 research angles' },
|
|
7
|
+
{ title: 'Research', detail: 'Parallel: product / pricing / reviews / community / roadmap' },
|
|
8
|
+
{ title: 'SWOT', detail: 'Synthesize strengths, weaknesses, opportunities, threats' },
|
|
9
|
+
{ title: 'Position', detail: 'Produce positioning recommendations' },
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default async function run({ agent, parallel, pipeline, phase, log, args, budget }) {
|
|
14
|
+
const RESEARCH_SCHEMA = {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
angle: { type: 'string' },
|
|
18
|
+
findings: { type: 'array', items: { type: 'string' } },
|
|
19
|
+
sources: { type: 'array', items: { type: 'string' } },
|
|
20
|
+
},
|
|
21
|
+
required: ['angle', 'findings', 'sources'],
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const SWOT_SCHEMA = {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties: {
|
|
27
|
+
strengths: { type: 'array', items: { type: 'string' } },
|
|
28
|
+
weaknesses: { type: 'array', items: { type: 'string' } },
|
|
29
|
+
opportunities: { type: 'array', items: { type: 'string' } },
|
|
30
|
+
threats: { type: 'array', items: { type: 'string' } },
|
|
31
|
+
},
|
|
32
|
+
required: ['strengths', 'weaknesses', 'opportunities', 'threats'],
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const POSITION_SCHEMA = {
|
|
36
|
+
type: 'object',
|
|
37
|
+
properties: {
|
|
38
|
+
summary: { type: 'string' },
|
|
39
|
+
differentiators: { type: 'array', items: { type: 'string' } },
|
|
40
|
+
recommendations: { type: 'array', items: { type: 'string' } },
|
|
41
|
+
risks: { type: 'array', items: { type: 'string' } },
|
|
42
|
+
},
|
|
43
|
+
required: ['summary', 'differentiators', 'recommendations', 'risks'],
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const target = args || 'No target specified — pass your product/company/technology as args.';
|
|
47
|
+
|
|
48
|
+
phase('Scope');
|
|
49
|
+
log(`Target: ${target.slice(0, 60)}`);
|
|
50
|
+
|
|
51
|
+
const ANGLES = [
|
|
52
|
+
{ label: 'product', prompt: `Research the core product features, capabilities, and user experience of: ${target}. Include concrete examples and compare against known alternatives.` },
|
|
53
|
+
{ label: 'pricing', prompt: `Research the pricing model, tiers, and value proposition of: ${target}. Compare against competitor pricing. Include free vs paid features.` },
|
|
54
|
+
{ label: 'reviews', prompt: `Research user reviews, sentiment, and common complaints/praise for: ${target}. Look for patterns in G2, Product Hunt, Reddit, and tech forums.` },
|
|
55
|
+
{ label: 'community', prompt: `Research the developer/user community, ecosystem, integrations, and third-party support for: ${target}. Check GitHub stars, Discord, documentation quality.` },
|
|
56
|
+
{ label: 'roadmap', prompt: `Research the public roadmap, recent releases, and future direction of: ${target}. Look for changelogs, blog posts, and founder/team communications.` },
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
phase('Research');
|
|
60
|
+
const research = await parallel(
|
|
61
|
+
ANGLES.map(a => () => agent(a.prompt, { schema: RESEARCH_SCHEMA, label: `research:${a.label}`, phase: 'Research' }))
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
phase('SWOT');
|
|
65
|
+
const allFindings = research.filter(Boolean).map(r => `[${r.angle}] ${r.findings.join(' | ')}`).join('\n');
|
|
66
|
+
const swot = await agent(
|
|
67
|
+
`Based on this competitive research about "${target}", produce a SWOT analysis:\n\n${allFindings}`,
|
|
68
|
+
{ schema: SWOT_SCHEMA, label: 'swot' }
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
phase('Position');
|
|
72
|
+
const swotText = `S: ${swot.strengths.join(', ')} | W: ${swot.weaknesses.join(', ')} | O: ${swot.opportunities.join(', ')} | T: ${swot.threats.join(', ')}`;
|
|
73
|
+
const positioning = await agent(
|
|
74
|
+
`Based on this SWOT for "${target}", produce a positioning summary with key differentiators, strategic recommendations, and risks to watch:\n\n${swotText}`,
|
|
75
|
+
{ schema: POSITION_SCHEMA, label: 'position' }
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
return {
|
|
79
|
+
target,
|
|
80
|
+
research: research.filter(Boolean),
|
|
81
|
+
swot,
|
|
82
|
+
positioning,
|
|
83
|
+
sources: research.filter(Boolean).flatMap(r => r.sources),
|
|
84
|
+
};
|
|
85
|
+
}
|