feat(skill): add built-in legal-risk-assessment skill for contract and deal risk evaluation#1953
feat(skill): add built-in legal-risk-assessment skill for contract and deal risk evaluation#1953bj456736 wants to merge 4 commits into
Conversation
When vis-server binds to 0.0.0.0 or :: (all interfaces), the startup banner and CLI output now display the actual LAN IP addresses that other devices on the same network can use to connect. This enables lan-range remote control from phones, tablets, or other machines. Changes: - Add isAllInterfaces() and getLocalNetworkAddresses() to config.ts - Add lanUrls field to StartedVisServer in start.ts - Update formatStartupBanner() to list LAN URLs when applicable - Update vis CLI handler to print LAN access URLs - Add unit tests for isAllInterfaces and getLocalNetworkAddresses
…d deal risk evaluation Add a new builtin skill `/legal-risk-assessment` that helps users evaluate, classify, and document legal risks using a structured severity-by-likelihood framework. Features: - 5x5 risk matrix (Severity x Likelihood) with scoring 1-25 - Color-coded risk levels: GREEN (1-4), YELLOW (5-9), ORANGE (10-15), RED (16-25) - Structured assessment flow: gather context → identify risks → score → recommend - Risk classification with recommended actions per level - Standard risk assessment memo format - Escalation guidelines for outside counsel engagement Registered in both agent-core and agent-core-v2 builtin skill catalogs.
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cc5d0d20b7
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| port: info.port, | ||
| host, | ||
| url: `http://${hostForUrl(host)}:${info.port}/`, | ||
| lanUrls: isAllInterfaces(host) ? getLocalNetworkAddresses(info.port) : undefined, |
There was a problem hiding this comment.
Include auth context in LAN URLs
When host is 0.0.0.0 or ::, resolveVisAuthToken(host) requires auth, but the newly advertised LAN URLs are emitted without the token. The SPA only learns the bearer token from token/vis_token URL params or existing localStorage, so a fresh phone/tablet opening one of these LAN links loads the shell but all /api calls return 401, making the advertised remote-control URL unusable unless the user manually edits it.
Useful? React with 👍 / 👎.
| const addresses = getLocalNetworkAddresses(3001); | ||
| expect(addresses.length).toBeGreaterThan(0); |
There was a problem hiding this comment.
Mock network interfaces in config tests
This new test depends on the host having at least one non-internal IPv4 interface. CI containers, offline sandboxes, and IPv6-only machines can legitimately expose only loopback or IPv6 entries from os.networkInterfaces(), so getLocalNetworkAddresses() returns [] and the test flakes/fails even though the implementation is behaving consistently for that environment; mock the OS network interface seam instead of asserting on the runner's real network setup.
Useful? React with 👍 / 👎.
Summary
Add a new builtin skill
/legal-risk-assessmentthat helps users evaluate, classify, and document legal risks using a structured severity-by-likelihood framework.Features
Usage
Users can invoke the skill via:
/legal-risk-assessment/skill:legal-risk-assessmentScope
Registered in both
agent-coreandagent-core-v2builtin skill catalogs.Testing
Notes