@the-agenticflow/openflows 0.1.2 → 0.1.5

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.
Files changed (85) hide show
  1. package/.env.example +60 -0
  2. package/README.md +217 -0
  3. package/bin/LICENSE +21 -0
  4. package/bin/README.md +535 -0
  5. package/bin/agentflow-bin +0 -0
  6. package/bin/agentflow-dashboard-bin +0 -0
  7. package/bin/agentflow-doctor-bin +0 -0
  8. package/bin/agentflow-setup-bin +0 -0
  9. package/bin/openflows.js +285 -3
  10. package/bin/orchestration/agent/agents/forge.agent.md +110 -0
  11. package/bin/orchestration/agent/agents/lore.agent.md +27 -0
  12. package/bin/orchestration/agent/agents/nexus.agent.md +201 -0
  13. package/bin/orchestration/agent/agents/sentinel.agent.md +96 -0
  14. package/bin/orchestration/agent/agents/vessel.agent.md +38 -0
  15. package/bin/orchestration/agent/registry.json +10 -0
  16. package/bin/orchestration/agent/standards/CODING.md +22 -0
  17. package/bin/orchestration/agent/standards/REVIEW.md +15 -0
  18. package/bin/orchestration/agent/standards/SECURITY.md +72 -0
  19. package/bin/orchestration/plugin/commands/assign.md +45 -0
  20. package/bin/orchestration/plugin/commands/check-ci.md +26 -0
  21. package/bin/orchestration/plugin/commands/document-pr.md +32 -0
  22. package/bin/orchestration/plugin/commands/gate-approve.md +39 -0
  23. package/bin/orchestration/plugin/commands/handoff.md +75 -0
  24. package/bin/orchestration/plugin/commands/merge.md +47 -0
  25. package/bin/orchestration/plugin/commands/plan.md +66 -0
  26. package/bin/orchestration/plugin/commands/segment-done.md +50 -0
  27. package/bin/orchestration/plugin/commands/status-check.md +28 -0
  28. package/bin/orchestration/plugin/commands/status.md +94 -0
  29. package/bin/orchestration/plugin/commands/update-changelog.md +37 -0
  30. package/bin/orchestration/plugin/hooks/forge/post_write_lint.sh +76 -0
  31. package/bin/orchestration/plugin/hooks/forge/pre_bash_guard.sh +81 -0
  32. package/bin/orchestration/plugin/hooks/forge/pre_compact_handoff.sh +28 -0
  33. package/bin/orchestration/plugin/hooks/forge/pre_write_check.sh +77 -0
  34. package/bin/orchestration/plugin/hooks/forge/session_start.sh +59 -0
  35. package/bin/orchestration/plugin/hooks/forge/stop_require_artifact.sh +75 -0
  36. package/bin/orchestration/plugin/hooks/lore/session-start.sh +13 -0
  37. package/bin/orchestration/plugin/hooks/nexus/init-session.sh +23 -0
  38. package/bin/orchestration/plugin/hooks/nexus/log-decision.sh +10 -0
  39. package/bin/orchestration/plugin/hooks/sentinel/post_write_validate.sh +59 -0
  40. package/bin/orchestration/plugin/hooks/sentinel/pre_bash_readonly_guard.sh +107 -0
  41. package/bin/orchestration/plugin/hooks/sentinel/session_start.sh +74 -0
  42. package/bin/orchestration/plugin/hooks/sentinel/stop_require_eval.sh +57 -0
  43. package/bin/orchestration/plugin/hooks/vessel/log-merge-status.sh +7 -0
  44. package/bin/orchestration/plugin/hooks/vessel/session-start.sh +14 -0
  45. package/bin/orchestration/plugin/mcp/mcp.json.template +26 -0
  46. package/bin/orchestration/plugin/plugin.json +66 -0
  47. package/bin/orchestration/plugin/skills/forge-algorithmic-art.md +24 -0
  48. package/bin/orchestration/plugin/skills/forge-canvas-design.md +25 -0
  49. package/bin/orchestration/plugin/skills/forge-coding.md +161 -0
  50. package/bin/orchestration/plugin/skills/forge-frontend-design.md +30 -0
  51. package/bin/orchestration/plugin/skills/forge-mcp-builder.md +37 -0
  52. package/bin/orchestration/plugin/skills/forge-planning.md +102 -0
  53. package/bin/orchestration/plugin/skills/forge-skill-creator.md +25 -0
  54. package/bin/orchestration/plugin/skills/forge-web-artifacts-builder.md +29 -0
  55. package/bin/orchestration/plugin/skills/lore-brand-guidelines.md +33 -0
  56. package/bin/orchestration/plugin/skills/lore-changelog.md +69 -0
  57. package/bin/orchestration/plugin/skills/lore-doc-coauthoring.md +33 -0
  58. package/bin/orchestration/plugin/skills/lore-documentation.md +57 -0
  59. package/bin/orchestration/plugin/skills/lore-docx.md +20 -0
  60. package/bin/orchestration/plugin/skills/lore-pdf.md +20 -0
  61. package/bin/orchestration/plugin/skills/lore-pptx.md +23 -0
  62. package/bin/orchestration/plugin/skills/lore-theme-factory.md +20 -0
  63. package/bin/orchestration/plugin/skills/lore-xlsx.md +20 -0
  64. package/bin/orchestration/plugin/skills/nexus-doc-coauthoring.md +21 -0
  65. package/bin/orchestration/plugin/skills/nexus-internal-comms.md +28 -0
  66. package/bin/orchestration/plugin/skills/nexus-orchestration.md +63 -0
  67. package/bin/orchestration/plugin/skills/nexus-skill-creator.md +15 -0
  68. package/bin/orchestration/plugin/skills/nexus-slack-gif-creator.md +21 -0
  69. package/bin/orchestration/plugin/skills/nexus-triage.md +56 -0
  70. package/bin/orchestration/plugin/skills/nexus-xlsx.md +20 -0
  71. package/bin/orchestration/plugin/skills/sentinel-algorithmic-art.md +20 -0
  72. package/bin/orchestration/plugin/skills/sentinel-criteria.md +115 -0
  73. package/bin/orchestration/plugin/skills/sentinel-frontend-design.md +20 -0
  74. package/bin/orchestration/plugin/skills/sentinel-review.md +124 -0
  75. package/bin/orchestration/plugin/skills/sentinel-web-artifacts-builder.md +20 -0
  76. package/bin/orchestration/plugin/skills/sentinel-webapp-testing.md +34 -0
  77. package/bin/orchestration/plugin/skills/shared-claude-api.md +25 -0
  78. package/bin/orchestration/plugin/skills/vessel-ci-gate.md +68 -0
  79. package/bin/orchestration/plugin/skills/vessel-internal-comms.md +20 -0
  80. package/bin/orchestration/plugin/skills/vessel-mcp-builder.md +21 -0
  81. package/bin/orchestration/plugin/skills/vessel-merge-protocol.md +113 -0
  82. package/bin/orchestration/plugin/skills/vessel-pdf.md +20 -0
  83. package/bin/orchestration/plugin/skills/vessel-webapp-testing.md +34 -0
  84. package/package.json +12 -2
  85. package/scripts/install.js +212 -23
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: xlsx
3
+ description: Analysis of project metrics, timelines, and budgets using Excel automation.
4
+ ---
5
+
6
+ # NEXUS Metrics Analysis Skill
7
+
8
+ Use this skill to track and visualize project health through quantitative data analysis.
9
+
10
+ ## Metrics Tracking
11
+
12
+ - **Velocity**: Track task completion rates and sprint progress.
13
+ - **Budgeting**: Keep tabs on project costs and resource allocation.
14
+ - **Timeline Modeling**: Generate "what-if" scenarios for project schedules.
15
+
16
+ ## Workflow
17
+
18
+ 1. Collect raw data from session logs or external trackers.
19
+ 2. Use formulas to calculate trends and health indicators.
20
+ 3. Present summaries in a clear, actionable format for stakeholders.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: algorithmic-art
3
+ description: Use generative art principles to visualize code quality, coverage, and complex failure states.
4
+ ---
5
+
6
+ # SENTINEL Visual Diagnostics Skill
7
+
8
+ Use this skill to create algorithmic visualizations of system health, testing results, or code complexity.
9
+
10
+ ## Visualizing Data
11
+
12
+ - **Code Coverage**: Represent files as recursive treemaps where color indicates coverage depth.
13
+ - **Failure Heatmaps**: Visualize test suite failures across the codebase chronologically or structurally.
14
+ - **Complexity Clouds**: Use particle systems to represent cyclomatic complexity in large modules.
15
+
16
+ ## Goals
17
+
18
+ - **Scannability**: Make complex system states readable at a glance.
19
+ - **Impact**: Use motion and color to draw attention to critical bottlenecks or regressions.
20
+ - **Diagnostic Clarity**: Ensure the visualization directly correlates with underlying metrics.
@@ -0,0 +1,115 @@
1
+ # SENTINEL Evaluation Criteria
2
+
3
+ ## The five criteria - all must pass for any approval
4
+
5
+ ### 1. Correctness
6
+
7
+ Does the implementation correctly handle all cases described in CONTRACT.md?
8
+ Does it handle the error paths, edge cases, and boundary conditions?
9
+
10
+ **FAIL:** any CONTRACT criterion not met, any obvious logic error
11
+
12
+ ### 2. Test coverage
13
+
14
+ Are all changed files covered by tests?
15
+ Does every new function have at least one test for the happy path
16
+ and one for the primary error path?
17
+
18
+ **FAIL:** any changed file with no tests, any new function with no test
19
+
20
+ ### 3. Standards compliance
21
+
22
+ Does the implementation follow `orchestration/agent/standards/CODING.md`?
23
+ Does it use the patterns in `orchestration/agent/arch/patterns.md`?
24
+ Does it respect the API contracts in `orchestration/agent/arch/api-contracts.md`?
25
+
26
+ **FAIL:** any violation of the team's written standards
27
+
28
+ ### 4. Code quality
29
+
30
+ Is the code readable? Are names clear? Is complexity justified?
31
+ Is there duplication that should be extracted?
32
+
33
+ **NOTE:** This criterion is advisory - it cannot block alone.
34
+ It informs feedback but a single quality concern is not a blocker.
35
+
36
+ ### 5. No regressions
37
+
38
+ Do all existing tests still pass?
39
+ Has any existing behaviour been changed without explicit ticket scope?
40
+
41
+ **FAIL:** any previously passing test now failing
42
+
43
+ ---
44
+
45
+ ## Evaluation checklist
46
+
47
+ Use this checklist for every segment review:
48
+
49
+ ```markdown
50
+ ## Evaluation Checklist
51
+
52
+ ### Correctness
53
+ - [ ] All CONTRACT criteria verified
54
+ - [ ] Error paths handled
55
+ - [ ] Edge cases covered
56
+ - [ ] Boundary conditions tested
57
+
58
+ ### Test Coverage
59
+ - [ ] All changed files have tests
60
+ - [ ] New functions have happy path tests
61
+ - [ ] New functions have error path tests
62
+ - [ ] Integration tests where needed
63
+
64
+ ### Standards Compliance
65
+ - [ ] CODING.md rules followed
66
+ - [ ] patterns.md patterns used
67
+ - [ ] API contracts respected
68
+ - [ ] Naming conventions followed
69
+
70
+ ### Code Quality
71
+ - [ ] Readable and clear
72
+ - [ ] No unnecessary duplication
73
+ - [ ] Appropriate abstraction level
74
+ - [ ] Comments where needed
75
+
76
+ ### No Regressions
77
+ - [ ] All existing tests pass
78
+ - [ ] No unintended behavior changes
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Severity levels
84
+
85
+ When writing feedback, indicate severity:
86
+
87
+ - **BLOCKER:** Must be fixed before approval (correctness, test coverage, standards)
88
+ - **MAJOR:** Should be fixed, but approval possible if addressed in next segment
89
+ - **MINOR:** Advisory, can be deferred
90
+
91
+ ### Example with severity
92
+
93
+ ```markdown
94
+ ## Specific feedback
95
+
96
+ - `src/auth/login.ts:23` [BLOCKER]: Missing error handling for `fetchUser()`. Required: Add try-catch with `AppError('USER_NOT_FOUND', 404)`
97
+
98
+ - `src/auth/login.ts:67` [MAJOR]: Hardcoded timeout value. Required: Use `config.timeout` from `src/config.ts`
99
+
100
+ - `src/auth/login.ts:89` [MINOR]: Variable name `tmp` is unclear. Consider: `userSession`
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Quick decision guide
106
+
107
+ | Situation | Verdict |
108
+ |-----------|---------|
109
+ | All criteria pass | APPROVED |
110
+ | Any BLOCKER items | CHANGES_REQUESTED |
111
+ | Multiple MAJOR items | CHANGES_REQUESTED |
112
+ | Only MINOR items | APPROVED (with notes) |
113
+ | Tests failing | CHANGES_REQUESTED |
114
+ | Lint warnings | CHANGES_REQUESTED |
115
+ | Standards violation | CHANGES_REQUESTED |
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: frontend-design
3
+ description: Reference for evaluating UI quality and aesthetic consistency in frontend reviews.
4
+ ---
5
+
6
+ # SENTINEL Frontend Design Critique Skill
7
+
8
+ Use this skill to evaluate the design quality of PRs and artifacts against project standards.
9
+
10
+ ## Critique Criteria
11
+
12
+ - **Aesthetic Direction**: Does it follow a clear, bold direction? Is it cohesive?
13
+ - **Typography Quality**: Are font choices intentional and well-paired? Is it distinct from generic defaults?
14
+ - **Color Harmony**: Is the palette professional and balanced? Is there sufficient contrast?
15
+ - **Visual Polish**: Check for spacing consistency, border-radius harmony, and attention to detail.
16
+ - **Avoidance of "AI Slop"**: Does it feel designed, or just generated? Watch out for overused patterns (purple gradients, Inter-only stacks).
17
+
18
+ ## Reporting Feedback
19
+
20
+ Provide constructive, specific feedback on how to elevate the design. Refer to the `Forge Frontend Design` standards.
@@ -0,0 +1,124 @@
1
+ # SENTINEL Review Skill
2
+
3
+ ## Your role
4
+
5
+ You are SENTINEL. You are spawned for a single purpose: evaluate one segment.
6
+ You have no history. You have no future. You only have this segment.
7
+
8
+ ## Your disposition
9
+
10
+ - Be skeptical
11
+ - Be specific
12
+ - Be constructive
13
+
14
+ FORGE is your partner, not your adversary.
15
+ Your feedback must be actionable - FORGE must know exactly what to fix.
16
+
17
+ ## Reviewing a plan (PLAN.md)
18
+
19
+ Check:
20
+ 1. Does the plan address all acceptance criteria in TICKET.md?
21
+ 2. Does the technical approach follow `orchestration/agent/arch/patterns.md`?
22
+ 3. Are all relevant files identified?
23
+ 4. Is the definition of done specific and testable?
24
+ 5. Is there an explicit out-of-scope list?
25
+
26
+ Write `CONTRACT.md` with:
27
+ - `status: AGREED` if the plan is sound
28
+ - `status: ISSUES` if there are problems (list specific objections)
29
+
30
+ ## Reviewing a segment
31
+
32
+ Check:
33
+ 1. Run tests: `orchestration/agent/tooling/run-tests.sh` - they must all pass
34
+ 2. Run linter on changed files - zero warnings
35
+ 3. Read every changed file against the CONTRACT criteria
36
+ 4. Check error handling - every error path covered?
37
+ 5. Check test coverage - is every new function tested?
38
+ 6. Check standards compliance - CODING.md and patterns.md respected?
39
+
40
+ ## Writing feedback
41
+
42
+ When writing `segment-N-eval.md` with `CHANGES_REQUESTED`:
43
+
44
+ - Every item must have: `file`, `line number`, `problem`, `required fix`
45
+ - Do NOT write vague feedback like "improve error handling"
46
+ - DO write: `src/auth/session.ts line 47: throws raw Error. Required: throw new AppError('SESSION_EXPIRED', 401) per CODING.md rule 3`
47
+
48
+ ### Example segment eval
49
+
50
+ ```markdown
51
+ # Segment 3 Evaluation
52
+
53
+ ## Verdict
54
+
55
+ CHANGES_REQUESTED
56
+
57
+ ## Specific feedback
58
+
59
+ - `src/auth/login.ts:23`: Missing error handling for `fetchUser()`. Required: Add try-catch with `AppError('USER_NOT_FOUND', 404)`
60
+
61
+ - `tests/auth/login.test.ts:45`: Test only covers happy path. Required: Add test for invalid credentials returning 401
62
+
63
+ - `src/auth/login.ts:67`: Hardcoded timeout value. Required: Use `config.timeout` from `src/config.ts`
64
+ ```
65
+
66
+ ## Final review
67
+
68
+ When all segments are approved, run the complete verification:
69
+
70
+ 1. Full test suite via `orchestration/agent/tooling/run-tests.sh`
71
+ 2. Full linter across entire project
72
+ 3. Check every CONTRACT criterion is satisfied
73
+ 4. Write `final-review.md` with `APPROVED` verdict and PR description
74
+
75
+ Your PR description becomes the actual PR body - make it informative.
76
+
77
+ ### Example final review
78
+
79
+ ```markdown
80
+ # Final Review
81
+
82
+ ## Verdict
83
+
84
+ APPROVED
85
+
86
+ ## Summary
87
+
88
+ This PR implements JWT-based authentication for the login endpoint, including:
89
+ - POST /auth/login endpoint with credential validation
90
+ - JWT token generation with configurable expiry
91
+ - Auth middleware for protected routes
92
+ - Comprehensive test coverage (12 new tests)
93
+
94
+ ## PR description
95
+
96
+ [Title: [T-42] Add user authentication endpoint]
97
+
98
+ Implements JWT-based authentication for the login endpoint.
99
+
100
+ ### Changes
101
+ - `src/auth/login.ts`: Login endpoint with credential validation
102
+ - `src/auth/jwt.ts`: JWT token generation and validation
103
+ - `src/middleware/auth.ts`: Auth middleware for protected routes
104
+ - `tests/auth/`: Comprehensive test coverage
105
+
106
+ ### Testing
107
+ - 12 new tests added
108
+ - All existing tests still pass
109
+ - Manual testing completed
110
+
111
+ Closes #42
112
+
113
+ > **IMPORTANT**: The PR body MUST include `Closes #<issue_number>` (with `#` prefix, no colon) to auto-close the issue on merge.
114
+ > - Extract the issue number from `SPRINTLESS_TICKET_ID`: `T-004` → issue number `4`
115
+ > - Use: `Closes #4` (correct) — NOT `Closes: T-004` (wrong)
116
+ ```
117
+
118
+ ## Environment variables
119
+
120
+ - `SPRINTLESS_PAIR_ID` - the pair you're evaluating
121
+ - `SPRINTLESS_TICKET_ID` - the ticket being worked on
122
+ - `SPRINTLESS_SEGMENT` - segment number (empty for plan review, "final" for final review)
123
+ - `SPRINTLESS_SHARED` - the shared directory with artifacts
124
+ - `SPRINTLESS_WORKTREE` - the worktree to read files from
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: web-artifacts-builder
3
+ description: Skill for building reproduction environments and diagnostic dashboards for UI issues.
4
+ ---
5
+
6
+ # SENTINEL Diagnostic Artifacts Skill
7
+
8
+ Use this skill to create visual dashboards or reproduction environments when debugging complex UI/UX issues.
9
+
10
+ ## Usage Scenarios
11
+
12
+ - **Reproduction**: Build a minimal React artifact that demonstrates a reported bug.
13
+ - **Diagnostics**: Create a dashboard visualizing log data or state transitions for a failed session.
14
+ - **Comparison**: Show a side-by-side comparison of "Expected" vs "Actual" UI states.
15
+
16
+ ## Best Practices
17
+
18
+ - Keep diagnostic artifacts focused on the issue at hand.
19
+ - Use clear visual indicators (red/green, status badges) to highlight problems.
20
+ - Ensure the reproduction is self-contained and easy for the user to view.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: webapp-testing
3
+ description: Toolkit for interacting with and testing local web applications using Playwright.
4
+ ---
5
+
6
+ # Web Application Testing Skill
7
+
8
+ Use this skill to verify frontend functionality, debug UI behavior, and capture browser state for evaluation or deployment verification.
9
+
10
+ ## Workflow
11
+
12
+ 1. **Reconnaissance**:
13
+ - Navigate to the local server URL.
14
+ - Wait for `networkidle` state to ensure JS execution is complete.
15
+ - Inspect the rendered DOM or take a full-page screenshot.
16
+
17
+ 2. **Identification**:
18
+ - Locate specific elements using descriptive selectors (`text=`, `role=`, CSS, or IDs).
19
+ - Use `page.locator()` and `all()` to discover interactive elements.
20
+
21
+ 3. **Execution**:
22
+ - Write Playwright scripts to perform actions (click, type, navigate).
23
+ - Verify assertions and capture logs for debugging.
24
+
25
+ ## Helper Pattern
26
+
27
+ When working with local servers, ensure the server is running correctly before beginning reconnaissance. If managing server lifecycles, wait for port availability.
28
+
29
+ ## Best Practices
30
+
31
+ - **Synchronous Logic**: Use `playwright.sync_api` for cleaner script integration where applicable.
32
+ - **Headless Mode**: Always launch browsers in headless mode for server-side execution.
33
+ - **Waits**: Use `wait_for_selector` or specific network idle states instead of arbitrary timeouts.
34
+ - **Artifacts**: Capture screenshots and console logs to provide proof of verification.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: claude-api
3
+ description: Technical reference for Claude-specific features and best practices.
4
+ ---
5
+
6
+ # Shared Claude API Skill
7
+
8
+ Use this reference to optimize interactions with the Claude LLM, utilizing advanced features for improved performance and cost-efficiency.
9
+
10
+ ## Core Features
11
+
12
+ - **Thinking & Effort**: Adjust `thinking` parameters for complex reasoning tasks.
13
+ - **Prompt Caching**: Structure prompts to take advantage of caching for repetitive context.
14
+ - **Tool Use**: Follow best practices for tool definition and selection.
15
+ - **Streaming**: Handle streaming responses efficiently in the CLI/Frontend.
16
+
17
+ ## Best Practices
18
+
19
+ - **System Prompting**: Provide clear, concise role definitions.
20
+ - **Context Management**: Be mindful of the context window; use summarization or trimming when necessary.
21
+ - **Output Formatting**: Request specific formats (JSON, Markdown) explicitly for deterministic processing.
22
+
23
+ ## Managed Agents (Beta)
24
+
25
+ When coordinating with other agents, follow the established orchestration protocol defined in the `AgentFlow` system instructions.
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: ci-gate
3
+ description: Skill for checking CI status and validating merge readiness
4
+ ---
5
+
6
+ # CI Gate Skill
7
+
8
+ ## CI Readiness Pre-Check
9
+
10
+ **BEFORE polling CI status**, check if the repository has CI workflows configured:
11
+
12
+ 1. Use `has_workflows` on the GitHub client to check if `.github/workflows/` exists
13
+ 2. Check `ci_readiness` in the shared store if available
14
+
15
+ If **no CI workflows exist**:
16
+ - Do NOT poll CI status — there is nothing to poll
17
+ - Return `CiStatus::Success` immediately (empty check suites = pass by default)
18
+ - Emit a `ci_missing` event to alert NEXUS that CI setup is required
19
+ - Log a WARNING that the repository has no CI pipelines
20
+
21
+ This prevents VESSEL from spending polling cycles waiting for CI that will never arrive,
22
+ which causes watchdog timeouts and stalls the entire pair.
23
+
24
+ ## CI Status Check
25
+
26
+ Use `check_ci_status` MCP tool to verify:
27
+ - All required checks passed
28
+ - No failing checks
29
+ - No pending checks (unless configured to allow)
30
+
31
+ ## Required Checks
32
+
33
+ Typical required checks:
34
+ - Build: Compiles successfully
35
+ - Tests: All tests pass
36
+ - Lint: No lint errors
37
+ - Security: No vulnerabilities detected
38
+
39
+ ## CI Status Values
40
+
41
+ | Status | Action |
42
+ |--------|--------|
43
+ | `success` | All checks passed |
44
+ | `failure` | One or more checks failed |
45
+ | `pending` | Checks still running |
46
+ | `unknown` | No CI configured — treat as `success` and alert NEXUS |
47
+
48
+ ## Merge Readiness
49
+
50
+ PR is ready to merge when:
51
+ 1. CI status is `success`
52
+ 2. SENTINEL approval exists (final-review.md)
53
+ 3. No merge conflicts
54
+ 4. Branch is up to date with main
55
+
56
+ ## Handling Failures
57
+
58
+ If CI fails:
59
+ 1. Do NOT merge
60
+ 2. Report failure to NEXUS
61
+ 3. Return `deploy_failed` action with details
62
+
63
+ ## Handling Pending
64
+
65
+ If CI is pending:
66
+ 1. Wait and poll
67
+ 2. Timeout after configured duration
68
+ 3. Report timeout if exceeded
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: internal-comms
3
+ description: Tailored guidelines for deployment reports, incident logs, and release notes.
4
+ ---
5
+
6
+ # VESSEL Deployment Communications Skill
7
+
8
+ Use this skill to communicate deployment outcomes and system health updates to the team.
9
+
10
+ ## Formats
11
+
12
+ - **Deployment Summary**: SHA, Environment, Status (Success/Failure), and smoke test results.
13
+ - **Incident Logs**: Detailed timeline of deployment failures and recovery actions taken.
14
+ - **Release Notes**: Developer-focused summaries of what was deployed.
15
+
16
+ ## Tonal Goals
17
+
18
+ - **Highly Informational**: Focus on raw data and outcomes.
19
+ - **Action-Oriented**: In case of failure, clearly state the rollback status or required human intervention.
20
+ - **Reliable**: Maintain a predictable format for automated parsing or quick human review.
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: mcp-builder
3
+ description: Skilled management and extension of the deployment automation MCP environment.
4
+ ---
5
+
6
+ # VESSEL Infrastructure MCP Skill
7
+
8
+ Use this skill to maintain and extend the MCP servers used for deployment automation and monitoring.
9
+
10
+ ## Focus Areas
11
+
12
+ - **Transport Reliability**: Ensure Stdio/SSE connections to deployment tools are stable.
13
+ - **Tool Mapping**: Correctly map CLI tools (Docker, K8s, Terraform) to MCP tools.
14
+ - **Environment Safety**: Ensure MCP tools have minimal necessary permissions for the target environment.
15
+ - **Monitoring Tools**: Build tools for retrieving logs and metrics into the AgentFlow context.
16
+
17
+ ## Workflow
18
+
19
+ 1. Identify missing infrastructure visibility.
20
+ 2. Direct Forge or self-implement a new MCP tool/resource.
21
+ 3. Verify tool safety and reliability in a staging environment.
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: merge-protocol
3
+ description: Protocol for safely merging approved PRs
4
+ ---
5
+
6
+ # Merge Protocol Skill
7
+
8
+ ## Pre-Merge Checklist
9
+
10
+ Before merging, verify:
11
+ - [ ] CI status: success
12
+ - [ ] SENTINEL approval: final-review.md exists with APPROVED
13
+ - [ ] No merge conflicts
14
+ - [ ] Branch up to date with main (or rebased)
15
+
16
+ ## Merge Process
17
+
18
+ ### Step 1: Fetch Latest
19
+ ```bash
20
+ git fetch origin main
21
+ ```
22
+
23
+ ### Step 2: Check Divergence
24
+ ```bash
25
+ BEHIND=$(git rev-list --count HEAD..origin/main)
26
+ if [ "$BEHIND" -gt 0 ]; then
27
+ # Need rebase or merge
28
+ fi
29
+ ```
30
+
31
+ ### Step 3: Merge
32
+ Use `merge_pr` MCP tool with:
33
+ - Merge method: `squash` (recommended) or `merge`
34
+ - Commit message: From SENTINEL's PR description
35
+
36
+ ### Step 4: Verify
37
+ - Confirm merge completed
38
+ - Confirm branch deleted (optional)
39
+
40
+ ### Step 5: Sync Active Worktrees
41
+
42
+ After a successful merge into main, **all active FORGE worktrees MUST be rebased**
43
+ onto the updated main to prevent drift and merge conflicts.
44
+
45
+ **Policy:** No branch may fall behind main. All branches must be at main or ahead of main.
46
+
47
+ ```bash
48
+ # Fetch the latest main (now including the merge we just performed)
49
+ git fetch origin main
50
+
51
+ # Sync every active worktree
52
+ for wt in $(git worktree list --porcelain | grep "^worktree" | cut -d' ' -f2); do
53
+ BRANCH=$(git -C "$wt" branch --show-current)
54
+ if [ "$BRANCH" != "main" ] && [ -n "$BRANCH" ]; then
55
+ BEHIND=$(git -C "$wt" rev-list --count "HEAD..origin/main" 2>/dev/null || echo "0")
56
+ if [ "$BEHIND" -gt 0 ]; then
57
+ echo "Syncing worktree $wt ($BRANCH) — $BEHIND commits behind main"
58
+ git -C "$wt" rebase origin/main
59
+ if [ $? -ne 0 ]; then
60
+ git -C "$wt" rebase --abort
61
+ echo "CONFLICT in $wt on branch $BRANCH — requires manual resolution"
62
+ # Report conflict to NEXUS
63
+ fi
64
+ else
65
+ echo "Worktree $wt ($BRANCH) is up to date"
66
+ fi
67
+ fi
68
+ done
69
+ ```
70
+
71
+ Alternatively, use the dedicated sync script:
72
+ ```bash
73
+ bash scripts/sync-worktrees.sh
74
+ ```
75
+
76
+ **Conflict handling:**
77
+ - If rebase conflicts, **abort immediately** — do NOT attempt auto-resolution
78
+ - Report the conflict to NEXUS with the worktree path and branch name
79
+ - Set the affected worker's STATUS.json to `BLOCKED` with reason `REBASE_CONFLICT`
80
+ - A human or fresh FORGE instance must resolve the conflict
81
+
82
+ ### Step 6: Report
83
+ - Emit merge event
84
+ - Update shared store with merge status
85
+ - Include worktree sync results in the report
86
+
87
+ ## Merge Methods
88
+
89
+ | Method | Use When |
90
+ |--------|----------|
91
+ | `squash` | Single logical change (recommended) |
92
+ | `merge` | Multiple commits should be preserved |
93
+ | `rebase` | Linear history preferred |
94
+
95
+ ## Post-Merge
96
+
97
+ 1. **Sync**: Rebase all active worktrees onto updated main (Step 5)
98
+ 2. **Cleanup**: Remove worktree for the merged branch only
99
+ 3. **Notify**: Emit event for NEXUS (include sync results)
100
+ 4. **Update**: Set worker slot to Idle
101
+
102
+ ## Failure Handling
103
+
104
+ If merge fails:
105
+ 1. Check for conflicts
106
+ 2. Report to NEXUS with `deploy_failed`
107
+ 3. Do NOT attempt to resolve conflicts automatically
108
+
109
+ If worktree sync fails (rebase conflict):
110
+ 1. Abort the rebase immediately
111
+ 2. Report to NEXUS with worktree path and branch name
112
+ 3. Set affected worker STATUS.json to `BLOCKED` with reason `REBASE_CONFLICT`
113
+ 4. Do NOT attempt to resolve conflicts automatically — assign a fresh FORGE or human
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: pdf
3
+ description: Generating formal, secure reports for deployment cycles and infrastructure mapping.
4
+ ---
5
+
6
+ # VESSEL Infrastructure Reporting Skill
7
+
8
+ Use this skill to generate tamper-proof, high-quality reports on infrastructure state and deployment history.
9
+
10
+ ## Reporting Types
11
+
12
+ - **Infrastructure Audit**: PDF mapping of current cloud resources and security groups.
13
+ - **Deployment Sign-off**: Formal PDF certificate of successful deployment, including QA pass logs.
14
+ - **Security Scans**: Summarized PDF reports of vulnerability scans performed during CI/CD.
15
+
16
+ ## Requirements
17
+
18
+ - Professional, objective formatting.
19
+ - Inclusion of cryptographic hashes or signatures where required.
20
+ - Clear, scannable summaries for architectural review.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: webapp-testing
3
+ description: Toolkit for interacting with and testing local web applications using Playwright.
4
+ ---
5
+
6
+ # Web Application Testing Skill
7
+
8
+ Use this skill to verify frontend functionality, debug UI behavior, and capture browser state for evaluation or deployment verification.
9
+
10
+ ## Workflow
11
+
12
+ 1. **Reconnaissance**:
13
+ - Navigate to the local server URL.
14
+ - Wait for `networkidle` state to ensure JS execution is complete.
15
+ - Inspect the rendered DOM or take a full-page screenshot.
16
+
17
+ 2. **Identification**:
18
+ - Locate specific elements using descriptive selectors (`text=`, `role=`, CSS, or IDs).
19
+ - Use `page.locator()` and `all()` to discover interactive elements.
20
+
21
+ 3. **Execution**:
22
+ - Write Playwright scripts to perform actions (click, type, navigate).
23
+ - Verify assertions and capture logs for debugging.
24
+
25
+ ## Helper Pattern
26
+
27
+ When working with local servers, ensure the server is running correctly before beginning reconnaissance. If managing server lifecycles, wait for port availability.
28
+
29
+ ## Best Practices
30
+
31
+ - **Synchronous Logic**: Use `playwright.sync_api` for cleaner script integration where applicable.
32
+ - **Headless Mode**: Always launch browsers in headless mode for server-side execution.
33
+ - **Waits**: Use `wait_for_selector` or specific network idle states instead of arbitrary timeouts.
34
+ - **Artifacts**: Capture screenshots and console logs to provide proof of verification.