Skip to content

Commit 0022e86

Browse files
Alex HolmbergAlex Holmberg
authored andcommitted
feat: updating skills plugins due to mismatch
1 parent ed4f790 commit 0022e86

17 files changed

Lines changed: 1432 additions & 52 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
},
77
"metadata": {
88
"description": "Syncable CLI skills for AI coding agents — project analysis, security, vulnerabilities, dependencies, IaC validation, and cloud deployment.",
9-
"version": "0.1.11"
9+
"version": "0.1.13"
1010
},
1111
"plugins": [
1212
{
1313
"name": "syncable-cli-skills",
1414
"source": "./installer/plugins/syncable-cli-skills",
1515
"description": "Syncable CLI skills for project analysis, security scanning, vulnerability detection, dependency auditing, IaC validation, Kubernetes optimization, and cloud deployment.",
16-
"version": "0.1.11",
16+
"version": "0.1.13",
1717
"author": {
1818
"name": "Syncable",
1919
"email": "support@syncable.dev"

installer/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
node_modules/
22
dist/
33
skills/
4+
!plugins/syncable-cli-skills/skills/

installer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "syncable-cli-skills",
3-
"version": "0.1.11",
3+
"version": "0.1.13",
44
"type": "module",
55
"description": "Install Syncable CLI skills for AI coding agents (Claude Code, Cursor, Windsurf, Codex, Gemini CLI)",
66
"license": "GPL-3.0",

installer/plugins/syncable-cli-skills/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "syncable-cli-skills",
33
"description": "Syncable CLI skills for project analysis, security scanning, vulnerability detection, dependency auditing, IaC validation, Kubernetes optimization, and cloud deployment.",
4-
"version": "0.1.11",
4+
"version": "0.1.13",
55
"author": {
66
"name": "Syncable",
77
"email": "support@syncable.dev"
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
description: "Analyze a project's tech stack including languages, frameworks, runtimes, package managers, and dependencies using the Syncable CLI sync-ctl tool"
3+
---
4+
5+
## Purpose
6+
7+
Analyze a project directory to detect its tech stack: programming languages, frameworks, runtimes, package managers, dependencies, Docker presence, and monorepo structure. This is the foundation skill — most workflows start here to understand what they're working with.
8+
9+
## Prerequisites
10+
11+
- `sync-ctl` binary installed and on PATH
12+
- Agent has access to the project directory
13+
14+
## Commands
15+
16+
### Basic analysis (agent output)
17+
18+
```bash
19+
sync-ctl analyze <PATH> --agent
20+
```
21+
22+
### Human-readable matrix view
23+
24+
```bash
25+
sync-ctl analyze <PATH> --display matrix
26+
```
27+
28+
### Filtered analysis (only specific aspects)
29+
30+
```bash
31+
sync-ctl analyze <PATH> --agent --only languages,frameworks
32+
sync-ctl analyze <PATH> --agent --only dependencies
33+
```
34+
35+
### Key Flags
36+
37+
| Flag | Purpose |
38+
|------|---------|
39+
| `--agent` | Compressed output for agent consumption (always use when processing results) |
40+
| `--detailed` | Show detailed analysis (legacy vertical format) |
41+
| `--display {matrix\|detailed\|summary}` | Display format for human-readable output |
42+
| `--only <filters>` | Comma-separated: `languages`, `frameworks`, `dependencies` |
43+
44+
## Output Interpretation
45+
46+
When reporting to the user, prioritize: primary language, main framework, runtime version, and whether Docker/K8s infrastructure exists.
47+
48+
## Reading Results
49+
50+
When you use `--agent`, the output is a compressed summary — not the full analysis. Act on it directly for most decisions.
51+
52+
The output JSON includes:
53+
- `summary` — project count, languages, frameworks detected
54+
- `full_data_ref` — reference ID for retrieving full data
55+
- `retrieval_hint` — exact command to get more details
56+
57+
To drill into specifics:
58+
```bash
59+
# Get framework details
60+
sync-ctl retrieve <ref_id> --query "section:frameworks"
61+
62+
# Get language breakdown
63+
sync-ctl retrieve <ref_id> --query "section:languages"
64+
65+
# Get specific project details (monorepos)
66+
sync-ctl retrieve <ref_id> --query "project:<project-name>"
67+
68+
# Get specific language details
69+
sync-ctl retrieve <ref_id> --query "language:Go"
70+
71+
# Get specific framework details
72+
sync-ctl retrieve <ref_id> --query "framework:React"
73+
74+
# List all stored outputs
75+
sync-ctl retrieve --list
76+
```
77+
78+
**Available query filters:** `section:summary`, `section:frameworks`, `section:languages`, `language:<name>`, `framework:<name>`, `project:<name>`, `compact:true`
79+
80+
## Error Handling
81+
82+
| Error | Cause | Action |
83+
|-------|-------|--------|
84+
| `No such file or directory` | Invalid path | Ask user to verify the project path |
85+
| Empty output | No recognizable project files | Tell user the directory may not contain a supported project. Run `sync-ctl support` to show supported technologies |
86+
| Timeout | Very large monorepo | Try `--only languages` for a faster partial scan |
87+
88+
## Examples
89+
90+
**Analyze current directory:**
91+
```bash
92+
sync-ctl analyze . --agent
93+
```
94+
95+
**Analyze a specific project:**
96+
```bash
97+
sync-ctl analyze /path/to/project --agent
98+
```
99+
100+
**Quick language-only check:**
101+
```bash
102+
sync-ctl analyze . --agent --only languages
103+
```
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
description: "Audit project dependencies for licenses, production vs development split, and detailed package analysis using the Syncable CLI sync-ctl tool"
3+
---
4+
5+
## Purpose
6+
7+
Analyze project dependencies in detail: list all packages, check license types, separate production from development dependencies, and optionally flag vulnerabilities inline. Use this for license compliance and dependency inventory.
8+
9+
## Prerequisites
10+
11+
- `sync-ctl` binary installed and on PATH
12+
- Agent has access to the project directory
13+
14+
## Commands
15+
16+
### Full dependency analysis with licenses
17+
18+
```bash
19+
sync-ctl dependencies <PATH> --licenses --agent
20+
```
21+
22+
### Production dependencies only
23+
24+
```bash
25+
sync-ctl dependencies <PATH> --licenses --prod-only --agent
26+
```
27+
28+
### Key Flags
29+
30+
| Flag | Purpose |
31+
|------|---------|
32+
| `--agent` | Compressed output for agent consumption (always use) |
33+
| `--licenses` | Include license information for each dependency |
34+
| `--vulnerabilities` | Quick inline vulnerability check (for thorough CVE scanning, use the standalone `sync-ctl vulnerabilities` command instead) |
35+
| `--prod-only` | Show only production dependencies |
36+
| `--dev-only` | Show only development dependencies |
37+
38+
## Output Interpretation
39+
40+
**Priority for reporting to user:**
41+
1. License concerns (copyleft in commercial projects, unknown licenses)
42+
2. Dependency counts (prod vs dev)
43+
3. Specific packages only if asked
44+
45+
**When to use `--vulnerabilities` vs standalone `vulnerabilities` command:**
46+
- Use `--vulnerabilities` here for a quick inline check alongside license info
47+
- Use `sync-ctl vulnerabilities` for a dedicated, thorough CVE scan
48+
49+
## Reading Results
50+
51+
When you use `--agent`, the output is a **compressed summary** with counts, license distribution, and source breakdown. Individual package details are NOT in the compressed output — use `sync-ctl retrieve` to get them.
52+
53+
**What's in the compressed output:**
54+
- `total` — total dependency count
55+
- `production` / `development` — prod vs dev split
56+
- `by_source` — counts per ecosystem (npm, crates.io, pypi, etc.)
57+
- `by_license` — license distribution
58+
- `full_data_ref` — reference ID for the full data
59+
60+
**To get individual package details, use retrieve:**
61+
```bash
62+
# Get the full dependency list
63+
sync-ctl retrieve <ref_id>
64+
65+
# Search for a specific package
66+
sync-ctl retrieve <ref_id> --query "file:package.json"
67+
```
68+
69+
Results are paginated (default 20). Use `--limit N --offset M` for more.
70+
71+
## Error Handling
72+
73+
| Error | Cause | Action |
74+
|-------|-------|--------|
75+
| `No dependencies found` | No package manager files | Verify project path, run `sync-ctl analyze` to check for supported package managers |
76+
| Incomplete results | Some package managers not fully parsed | Note which ecosystems were scanned and which may be missing |
77+
78+
## Examples
79+
80+
**Full audit with licenses:**
81+
```bash
82+
sync-ctl dependencies . --licenses --agent
83+
```
84+
85+
**Production-only for license compliance:**
86+
```bash
87+
sync-ctl dependencies . --licenses --prod-only --agent
88+
```
89+
90+
**Quick vulnerability check alongside deps:**
91+
```bash
92+
sync-ctl dependencies . --licenses --vulnerabilities --agent
93+
```
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
description: "Deploy a project through Syncable by orchestrating authentication, project analysis, security gating, and cloud deployment using the Syncable CLI sync-ctl tool"
3+
---
4+
5+
## Purpose
6+
7+
Orchestrate a full deployment pipeline through the Syncable platform: authenticate, analyze the project, run a security audit as a gate, then deploy. Ensures no deployment happens without authentication and security review.
8+
9+
## Prerequisites
10+
11+
- `sync-ctl` binary installed and on PATH
12+
- Internet access for Syncable API
13+
- Agent has access to the project directory
14+
15+
## Workflow Steps
16+
17+
### Step 1: Check authentication and platform context
18+
19+
```bash
20+
sync-ctl auth status
21+
```
22+
23+
**Decision point:** If not authenticated:
24+
```bash
25+
sync-ctl auth login
26+
```
27+
28+
Then verify project/environment context:
29+
```bash
30+
sync-ctl project current
31+
```
32+
33+
**Decision point:** If no project selected:
34+
```bash
35+
sync-ctl org list
36+
# Ask user which org
37+
sync-ctl org select <ORG_ID>
38+
sync-ctl project list
39+
# Ask user which project
40+
sync-ctl project select <PROJECT_ID>
41+
sync-ctl env list
42+
# Ask user which environment
43+
sync-ctl env select <ENV_ID>
44+
```
45+
46+
### Step 2: Analyze the project
47+
48+
```bash
49+
sync-ctl analyze <PATH> --agent
50+
```
51+
52+
Save the `full_data_ref` from the analyze output — do not re-run analyze in later steps; use `sync-ctl retrieve` with this ref_id instead.
53+
54+
### Step 3: Pre-deploy security audit
55+
56+
Execute the `syncable-security-audit` workflow inline (all its steps and decision logic). **Note:** Step 2's analyze output is reused here — do not re-run analyze.
57+
58+
1. `sync-ctl security <PATH> --mode paranoid --agent`
59+
2. `sync-ctl vulnerabilities <PATH> --agent`
60+
3. `sync-ctl validate <PATH>` (if IaC files exist per Step 2's analysis)
61+
62+
**CRITICAL GATE:** Check the security output's `status` field:
63+
- If `status` is "CRITICAL_ISSUES_FOUND": present findings to user, warn, require confirmation
64+
- If `status` is "HIGH_ISSUES_FOUND": warn but allow deployment
65+
- If `status` is "CLEAN": proceed to deploy
66+
67+
All critical findings are in the `critical_issues` array of the compressed output — no retrieval needed for the gate decision.
68+
69+
### Step 4: Deploy
70+
71+
**4a. Get deployment recommendation:**
72+
```bash
73+
sync-ctl deploy preview <PATH>
74+
```
75+
76+
This returns JSON with: provider recommendation (with reasoning), region, machine type, detected port, health check endpoint, alternatives, discovered .env files, and already-deployed service endpoints.
77+
78+
**4b. Present recommendation to user and confirm.** Show:
79+
- Recommended provider, region, machine type
80+
- Detected port and whether public/internal
81+
- Any .env files found — ask if they should be injected
82+
- Any service endpoints that could be referenced (e.g., `BACKEND_URL`)
83+
84+
**4c. Deploy with confirmed settings:**
85+
```bash
86+
sync-ctl deploy run <PATH> --provider <PROVIDER> --region <REGION> --port <PORT>
87+
```
88+
89+
Add `--public` if user wants a public URL. Add `--env KEY=VALUE` for env vars and `--secret KEY` for secrets (user prompted in terminal). Add `--env-file .env` to inject from file.
90+
91+
**4d. Monitor:**
92+
```bash
93+
sync-ctl deploy status <TASK_ID> --watch
94+
```
95+
96+
**Example with user overrides:**
97+
```bash
98+
# User said "deploy to GCP in us-central1, make it public, use the .env file"
99+
sync-ctl deploy run ./services/api \
100+
--provider gcp --region us-central1 --port 8080 --public \
101+
--env-file .env \
102+
--secret "STRIPE_KEY"
103+
```
104+
105+
## Decision Points Summary
106+
107+
| Condition | Action |
108+
|-----------|--------|
109+
| Not authenticated | Run `sync-ctl auth login` first |
110+
| No project/env selected | Guide user through selection |
111+
| Critical security findings | Warn user, require explicit confirmation to proceed |
112+
| High security findings (no critical) | Warn user but allow deployment |
113+
| Clean security audit | Proceed to deploy |
114+
115+
## Safety
116+
117+
- **Never deploy without the security gate.** Even if the user says "just deploy", run at least a fast security scan.
118+
- **Always confirm with the user before triggering deployment.** Show them what will be deployed, to which environment.
119+
- **Monitor deployment status** after triggering — don't fire-and-forget.
120+
121+
## Cross-Step Retrieval
122+
123+
Each step produces a `full_data_ref` in its output. You can retrieve details from any previous step at any time:
124+
125+
```bash
126+
# Check what data is available from all steps
127+
sync-ctl retrieve --list
128+
129+
# Get framework details from Step 2 (analyze)
130+
sync-ctl retrieve <analyze_ref_id> --query "section:frameworks"
131+
132+
# Get critical security findings from Step 3
133+
sync-ctl retrieve <security_ref_id> --query "severity:critical"
134+
135+
# Get vulnerability details from Step 3
136+
sync-ctl retrieve <vuln_ref_id> --query "severity:high"
137+
```
138+
139+
Do NOT re-run a command just to get more detail — use `sync-ctl retrieve` instead.

0 commit comments

Comments
 (0)