fullerdev 0.1.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.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +276 -0
  3. package/bin/setup.js +119 -0
  4. package/dist/agents/designer.d.ts +6 -0
  5. package/dist/agents/designer.d.ts.map +1 -0
  6. package/dist/agents/devops.d.ts +7 -0
  7. package/dist/agents/devops.d.ts.map +1 -0
  8. package/dist/agents/explorer.d.ts +7 -0
  9. package/dist/agents/explorer.d.ts.map +1 -0
  10. package/dist/agents/fixer.d.ts +6 -0
  11. package/dist/agents/fixer.d.ts.map +1 -0
  12. package/dist/agents/librarian.d.ts +6 -0
  13. package/dist/agents/librarian.d.ts.map +1 -0
  14. package/dist/agents/oracle.d.ts +6 -0
  15. package/dist/agents/oracle.d.ts.map +1 -0
  16. package/dist/agents/orchestrator.d.ts +13 -0
  17. package/dist/agents/orchestrator.d.ts.map +1 -0
  18. package/dist/config/defaults.d.ts +14 -0
  19. package/dist/config/defaults.d.ts.map +1 -0
  20. package/dist/config/loader.d.ts +54 -0
  21. package/dist/config/loader.d.ts.map +1 -0
  22. package/dist/config/schema.d.ts +603 -0
  23. package/dist/config/schema.d.ts.map +1 -0
  24. package/dist/hooks/context-injection.d.ts +25 -0
  25. package/dist/hooks/context-injection.d.ts.map +1 -0
  26. package/dist/hooks/devops-integration.d.ts +31 -0
  27. package/dist/hooks/devops-integration.d.ts.map +1 -0
  28. package/dist/hooks/index.d.ts +46 -0
  29. package/dist/hooks/index.d.ts.map +1 -0
  30. package/dist/hooks/session-lifecycle.d.ts +15 -0
  31. package/dist/hooks/session-lifecycle.d.ts.map +1 -0
  32. package/dist/hooks/todo-continuation.d.ts +17 -0
  33. package/dist/hooks/todo-continuation.d.ts.map +1 -0
  34. package/dist/index.d.ts +31 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +1261 -0
  37. package/dist/mcp/index.d.ts +31 -0
  38. package/dist/mcp/index.d.ts.map +1 -0
  39. package/dist/tools/azure/git.d.ts +26 -0
  40. package/dist/tools/azure/git.d.ts.map +1 -0
  41. package/dist/tools/azure/index.d.ts +6 -0
  42. package/dist/tools/azure/index.d.ts.map +1 -0
  43. package/dist/tools/azure/pipelines.d.ts +18 -0
  44. package/dist/tools/azure/pipelines.d.ts.map +1 -0
  45. package/dist/tools/azure/wiki.d.ts +18 -0
  46. package/dist/tools/azure/wiki.d.ts.map +1 -0
  47. package/dist/tools/azure/work-items.d.ts +26 -0
  48. package/dist/tools/azure/work-items.d.ts.map +1 -0
  49. package/dist/tools/core/index.d.ts +17 -0
  50. package/dist/tools/core/index.d.ts.map +1 -0
  51. package/dist/tools/index.d.ts +7 -0
  52. package/dist/tools/index.d.ts.map +1 -0
  53. package/fullerdev.schema.json +117 -0
  54. package/package.json +65 -0
  55. package/src/skills/agent-browser/SKILL.md +31 -0
  56. package/src/skills/azure-devops/SKILL.md +99 -0
  57. package/src/skills/frontend-ui-ux/SKILL.md +62 -0
  58. package/src/skills/gitmaster/SKILL.md +52 -0
  59. package/src/skills/simplify/SKILL.md +50 -0
@@ -0,0 +1,31 @@
1
+ import type { PluginConfig } from "../config/schema";
2
+ import type { AgentConfig } from "../config/schema";
3
+ /**
4
+ * Built-in MCP server definitions.
5
+ *
6
+ * These MCP servers are registered with OpenCode and can be assigned
7
+ * to agents via their `mcps` configuration array.
8
+ *
9
+ * MCP Types:
10
+ * - Remote HTTP MCPs: External services accessed via HTTP
11
+ * - The agent's mcp permissions control which servers it can call
12
+ */
13
+ export interface McpDefinition {
14
+ id: string;
15
+ type: "http" | "stdio";
16
+ description: string;
17
+ /** HTTP MCP server URL */
18
+ url?: string;
19
+ /** Environment variables needed by this MCP */
20
+ env?: Record<string, string>;
21
+ }
22
+ /**
23
+ * Define all built-in MCP servers.
24
+ */
25
+ export declare function getBuiltinMcps(config: PluginConfig): McpDefinition[];
26
+ /**
27
+ * Resolve which MCPs an agent should have access to based on config.
28
+ * Handles wildcards (*), exclusions (!name), and explicit lists.
29
+ */
30
+ export declare function resolveAgentMcps(agentConfig: AgentConfig, allMcpIds: string[], defaultList?: string[]): string[];
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,EAAE,CAmDpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,EAAE,CA2BV"}
@@ -0,0 +1,26 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * List Git repositories in the project.
4
+ */
5
+ export declare const GIT_REPOS_TOOL: ToolDefinition;
6
+ /**
7
+ * Get details for a specific Git repository.
8
+ */
9
+ export declare const GIT_REPO_TOOL: ToolDefinition;
10
+ /**
11
+ * List branches in a repository.
12
+ */
13
+ export declare const GIT_BRANCHES_TOOL: ToolDefinition;
14
+ /**
15
+ * List or search Pull Requests.
16
+ */
17
+ export declare const GIT_PRS_TOOL: ToolDefinition;
18
+ /**
19
+ * Create a Pull Request.
20
+ */
21
+ export declare const GIT_PR_CREATE_TOOL: ToolDefinition;
22
+ /**
23
+ * Export all Azure DevOps Git tools.
24
+ */
25
+ export declare function createGitTools(): Record<string, ToolDefinition>;
26
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/tools/azure/git.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAM3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAQ1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cAiBzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAqB/B,CAAC;AAEH;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAQ/D"}
@@ -0,0 +1,6 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * Aggregate all Azure DevOps tools into a single registry.
4
+ */
5
+ export declare function createDevOpsTools(): Record<string, ToolDefinition>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/azure/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAOlE"}
@@ -0,0 +1,18 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * List pipelines in the project.
4
+ */
5
+ export declare const PIPELINES_LIST_TOOL: ToolDefinition;
6
+ /**
7
+ * Get pipeline runs (builds).
8
+ */
9
+ export declare const PIPELINES_RUNS_TOOL: ToolDefinition;
10
+ /**
11
+ * Trigger a pipeline run.
12
+ */
13
+ export declare const PIPELINES_TRIGGER_TOOL: ToolDefinition;
14
+ /**
15
+ * Export all Azure DevOps Pipeline tools.
16
+ */
17
+ export declare function createPipelineTools(): Record<string, ToolDefinition>;
18
+ //# sourceMappingURL=pipelines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.d.ts","sourceRoot":"","sources":["../../../src/tools/azure/pipelines.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAShC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAkBhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAiBnC,CAAC;AAEH;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAMpE"}
@@ -0,0 +1,18 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * Search Wiki pages by content.
4
+ */
5
+ export declare const WIKI_SEARCH_TOOL: ToolDefinition;
6
+ /**
7
+ * Get a Wiki page by path.
8
+ */
9
+ export declare const WIKI_PAGE_TOOL: ToolDefinition;
10
+ /**
11
+ * Create or update a Wiki page.
12
+ */
13
+ export declare const WIKI_CREATE_TOOL: ToolDefinition;
14
+ /**
15
+ * Export all Azure DevOps Wiki tools.
16
+ */
17
+ export declare function createWikiTools(): Record<string, ToolDefinition>;
18
+ //# sourceMappingURL=wiki.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../../src/tools/azure/wiki.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAY7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAa3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAU7B,CAAC;AAEH;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAMhE"}
@@ -0,0 +1,26 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * Query Work Items using WIQL (Work Item Query Language).
4
+ */
5
+ export declare const WORKITEM_QUERY_TOOL: ToolDefinition;
6
+ /**
7
+ * Get a single Work Item by ID with all fields.
8
+ */
9
+ export declare const WORKITEM_GET_TOOL: ToolDefinition;
10
+ /**
11
+ * Create a new Work Item.
12
+ */
13
+ export declare const WORKITEM_CREATE_TOOL: ToolDefinition;
14
+ /**
15
+ * Update an existing Work Item.
16
+ */
17
+ export declare const WORKITEM_UPDATE_TOOL: ToolDefinition;
18
+ /**
19
+ * Link two Work Items.
20
+ */
21
+ export declare const WORKITEM_LINK_TOOL: ToolDefinition;
22
+ /**
23
+ * Export all Azure DevOps Work Item tools.
24
+ */
25
+ export declare function createWorkItemTools(): Record<string, ToolDefinition>;
26
+ //# sourceMappingURL=work-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-items.d.ts","sourceRoot":"","sources":["../../../src/tools/azure/work-items.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAehC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAY9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAiBjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAkBjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAoB/B,CAAC;AAEH;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAQpE"}
@@ -0,0 +1,17 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * Core task delegation tool — allows the orchestrator to spawn subagent tasks.
4
+ * This is a placeholder; the actual task delegation is handled via OpenCode's
5
+ * session.prompt API through the orchestrator's workflow.
6
+ */
7
+ export declare const TASK_TOOL: ToolDefinition;
8
+ /**
9
+ * Web fetch tool — fetches a URL and returns cleaned content.
10
+ * Useful for fetching documentation, articles, and API references.
11
+ */
12
+ export declare const WEBFETCH_TOOL: ToolDefinition;
13
+ /**
14
+ * Export all core tools for registration in the plugin.
15
+ */
16
+ export declare function createCoreTools(): Record<string, ToolDefinition>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/core/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,cAkBtB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,cAiB1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAKhE"}
@@ -0,0 +1,7 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ /**
3
+ * Aggregate all plugin tools into a single registry.
4
+ * Registers with OpenCode's tool hook in the plugin entry point.
5
+ */
6
+ export declare function createAllTools(): Record<string, ToolDefinition>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAK/D"}
@@ -0,0 +1,117 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "fullerdev",
4
+ "description": "Configuration schema for fullerdev plugin for OpenCode — Azure DevOps-native multi-agent orchestration.",
5
+ "type": "object",
6
+ "properties": {
7
+ "preset": {
8
+ "description": "Name of the active preset to use for agent model/skill/MCP assignment.",
9
+ "type": "string",
10
+ "default": "opencode-go"
11
+ },
12
+ "presets": {
13
+ "description": "Named collections of agent model/skill/MCP assignments.",
14
+ "type": "object",
15
+ "propertyNames": {
16
+ "type": "string"
17
+ },
18
+ "additionalProperties": {
19
+ "type": "object",
20
+ "properties": {
21
+ "orchestrator": { "$ref": "#/$defs/agentConfig" },
22
+ "oracle": { "$ref": "#/$defs/agentConfig" },
23
+ "librarian": { "$ref": "#/$defs/agentConfig" },
24
+ "explorer": { "$ref": "#/$defs/agentConfig" },
25
+ "designer": { "$ref": "#/$defs/agentConfig" },
26
+ "fixer": { "$ref": "#/$defs/agentConfig" },
27
+ "devops": { "$ref": "#/$defs/agentConfig" }
28
+ },
29
+ "required": ["orchestrator", "oracle", "librarian", "explorer", "designer", "fixer", "devops"],
30
+ "additionalProperties": false
31
+ }
32
+ },
33
+ "azureDevOps": {
34
+ "description": "Azure DevOps connection settings.",
35
+ "type": "object",
36
+ "properties": {
37
+ "orgUrl": {
38
+ "description": "Azure DevOps organization URL (e.g., 'https://dev.azure.com/myorg').",
39
+ "type": "string",
40
+ "format": "uri"
41
+ },
42
+ "project": {
43
+ "description": "Default Azure DevOps project name.",
44
+ "type": "string"
45
+ },
46
+ "pat": {
47
+ "description": "Personal Access Token. Supports ${ENV_VAR} syntax for environment variable substitution. Falls back to AZURE_DEVOPS_EXT_PAT env var.",
48
+ "type": "string"
49
+ },
50
+ "defaultAreaPath": {
51
+ "description": "Default Area Path for work items.",
52
+ "type": "string"
53
+ },
54
+ "defaultIterationPath": {
55
+ "description": "Default Iteration Path for work items.",
56
+ "type": "string"
57
+ }
58
+ },
59
+ "required": ["orgUrl"],
60
+ "additionalProperties": false
61
+ },
62
+ "disabledMcps": {
63
+ "description": "Globally disabled MCP server IDs.",
64
+ "type": "array",
65
+ "items": { "type": "string" },
66
+ "default": []
67
+ },
68
+ "disabledHooks": {
69
+ "description": "Globally disabled hook IDs.",
70
+ "type": "array",
71
+ "items": { "type": "string" },
72
+ "default": []
73
+ },
74
+ "disabledSkills": {
75
+ "description": "Globally disabled skill IDs.",
76
+ "type": "array",
77
+ "items": { "type": "string" },
78
+ "default": []
79
+ },
80
+ "disabledAgents": {
81
+ "description": "Globally disabled agent names. Disabled agents are not instantiated and cannot be delegated to.",
82
+ "type": "array",
83
+ "items": { "type": "string" },
84
+ "default": []
85
+ }
86
+ },
87
+ "required": ["preset"],
88
+ "additionalProperties": false,
89
+ "$defs": {
90
+ "agentConfig": {
91
+ "type": "object",
92
+ "properties": {
93
+ "model": {
94
+ "description": "Provider/model ID (e.g., 'opencode-go/deepseek-v4-pro').",
95
+ "type": "string"
96
+ },
97
+ "variant": {
98
+ "description": "Thinking/reasoning effort variant.",
99
+ "type": "string",
100
+ "enum": ["low", "medium", "high", "max"]
101
+ },
102
+ "skills": {
103
+ "description": "Skills assigned to this agent. Use '*' for all, '!name' to exclude.",
104
+ "type": "array",
105
+ "items": { "type": "string" }
106
+ },
107
+ "mcps": {
108
+ "description": "MCP servers available to this agent. Use '*' for all, '!name' to exclude.",
109
+ "type": "array",
110
+ "items": { "type": "string" }
111
+ }
112
+ },
113
+ "required": ["model"],
114
+ "additionalProperties": false
115
+ }
116
+ }
117
+ }
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "fullerdev",
3
+ "version": "0.1.0",
4
+ "description": "Opinionated OpenCode plugin for multi-agent orchestration. Specialized subagents, built-in MCPs, skills, hooks, tools — tuned for Azure DevOps workflows (Work Items, Git, Wiki, Pipelines).",
5
+ "license": "MIT",
6
+ "author": "Arthur",
7
+ "type": "module",
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "bin": {
11
+ "fullerdev": "./bin/setup.js"
12
+ },
13
+ "files": [
14
+ "dist/",
15
+ "src/skills/",
16
+ "bin/",
17
+ "fullerdev.schema.json",
18
+ "README.md",
19
+ "LICENSE"
20
+ ],
21
+ "scripts": {
22
+ "build": "bun build src/index.ts --outdir dist --target node --external @opencode-ai/plugin --external azure-devops-node-api --external zod && bun run build:declarations",
23
+ "build:declarations": "tsc -p tsconfig.build.json",
24
+ "dev": "bun build src/index.ts --outdir dist --target node --external @opencode-ai/plugin --external azure-devops-node-api --external zod --watch",
25
+ "typecheck": "tsc --noEmit",
26
+ "lint": "echo 'no linter configured yet'",
27
+ "check:ci": "bun run typecheck && bun run build",
28
+ "prepare": "bun run build",
29
+ "prepublishOnly": "bun run build",
30
+ "release:patch": "bun version patch && git push --follow-tags && bun publish",
31
+ "release:minor": "bun version minor && git push --follow-tags && bun publish",
32
+ "release:major": "bun version major && git push --follow-tags && bun publish"
33
+ },
34
+ "dependencies": {
35
+ "@opencode-ai/plugin": "^1.0.85",
36
+ "azure-devops-node-api": "^14.0.0",
37
+ "zod": "^3.23.0"
38
+ },
39
+ "devDependencies": {
40
+ "@types/node": "^20.11.0",
41
+ "bun-types": "latest",
42
+ "typescript": "^5.4.0"
43
+ },
44
+ "keywords": [
45
+ "opencode",
46
+ "opencode-plugin",
47
+ "fullerdev",
48
+ "multi-agent",
49
+ "orchestration",
50
+ "subagents",
51
+ "azure-devops",
52
+ "devops"
53
+ ],
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "https://github.com/ao-barbosa/fullerdev"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/ao-barbosa/fullerdev/issues"
60
+ },
61
+ "homepage": "https://github.com/ao-barbosa/fullerdev#readme",
62
+ "engines": {
63
+ "bun": ">=1.3.0"
64
+ }
65
+ }
@@ -0,0 +1,31 @@
1
+ # Agent Browser
2
+
3
+ ## Description
4
+ High-performance browser automation skill for visual verification, web testing, and live documentation research. Allows agents to browse the web, interact with page elements, take screenshots, and verify visual state.
5
+
6
+ ## When to Use
7
+ - Visual verification of implemented UI
8
+ - End-to-end testing of web applications
9
+ - Taking screenshots for design review
10
+ - Researching live documentation
11
+ - Interacting with web-based tools and dashboards
12
+ - Testing responsive layouts across viewport sizes
13
+ - Verifying Azure DevOps web interface interactions
14
+
15
+ ## Capabilities
16
+ - Page navigation and URL loading
17
+ - Element interaction (click, type, select, hover)
18
+ - Screenshot capture (full page, element, viewport)
19
+ - Visual state verification
20
+ - Form filling and submission
21
+ - Cookie and local storage management
22
+ - Network request monitoring
23
+ - Console log capture
24
+
25
+ ## Usage Guidelines
26
+ 1. **Start with a clear goal** — know what you're verifying before opening the browser
27
+ 2. **Take screenshots at key moments** — before, during, after interactions
28
+ 3. **Check responsive breakpoints** — verify at mobile, tablet, and desktop widths
29
+ 4. **Test all states** — loading, empty, error, success, and edge cases
30
+ 5. **Clean up after** — close browser sessions when done to free resources
31
+ 6. **Report findings visually** — include screenshots with annotations
@@ -0,0 +1,99 @@
1
+ # Azure DevOps
2
+
3
+ ## Description
4
+ Comprehensive Azure DevOps workflow skill. Covers Azure Boards (Work Items), Azure Repos (Git), Azure Wiki, and Azure Pipelines integration. This is the PRIMARY skill for any Azure DevOps interaction — agents should load this skill before performing any ADO operations.
5
+
6
+ ## When to Use
7
+ - Creating, updating, or querying Work Items in Azure Boards
8
+ - Managing Git repositories, branches, and PRs in Azure Repos
9
+ - Reading or writing Wiki documentation
10
+ - Checking or triggering Pipeline runs
11
+ - Linking development work to Work Items
12
+ - Any Azure DevOps REST API operation
13
+ - Navigating the Azure DevOps web interface
14
+
15
+ ## Core Concepts
16
+
17
+ ### Work Item IDs
18
+ - Format: `#12345` for inline references
19
+ - Format: `AB#12345` for automatic linking in commits and PRs
20
+ - The full URL is: `{orgUrl}/{project}/_workitems/edit/{id}`
21
+
22
+ ### WIQL (Work Item Query Language)
23
+ - SQL-like syntax for querying Work Items
24
+ - Basic template:
25
+ ```sql
26
+ SELECT [System.Id], [System.Title], [System.State], [System.AssignedTo]
27
+ FROM WorkItems
28
+ WHERE [System.TeamProject] = 'ProjectName'
29
+ AND [System.State] <> 'Closed'
30
+ ORDER BY [System.ChangedDate] DESC
31
+ ```
32
+
33
+ ### Branch Naming Convention
34
+ - `{type}/{workitem-id}-{short-description}`
35
+ - Types: `feature/`, `bugfix/`, `task/`, `hotfix/`
36
+ - Example: `feature/12345-add-priority-filter`
37
+
38
+ ### Commit Message Convention
39
+ ```
40
+ type(scope): description
41
+
42
+ AB#{workitem-id}
43
+ ```
44
+ - Types: feat, fix, refactor, docs, test, chore
45
+
46
+ ## Work Item Workflow
47
+
48
+ ### Creating a Work Item
49
+ 1. Determine the appropriate type (User Story, Task, Bug, Feature, Epic)
50
+ 2. Set the title to clearly describe the desired outcome
51
+ 3. Write a detailed description with acceptance criteria
52
+ 4. Assign to the appropriate team member
53
+ 5. Set Area Path and Iteration Path (from project conventions)
54
+ 6. Add relevant tags
55
+
56
+ ### Updating Work Item Status
57
+ 1. When starting work: Set State to "Active" (or "In Progress")
58
+ 2. When work is ready for review: Set State to "Resolved" (or "In Review")
59
+ 3. When work is approved: Set State to "Closed"
60
+ 4. Always add a comment explaining the state change
61
+
62
+ ### Querying Work Items
63
+ - Use specific filters to limit results
64
+ - Common queries:
65
+ - My active work items
66
+ - Work items in current sprint/iteration
67
+ - Bugs by severity
68
+ - Work items blocked or at risk
69
+
70
+ ## Git Workflow with Azure Repos
71
+
72
+ ### Setup
73
+ 1. Clone the repository from Azure Repos
74
+ 2. Configure git user (matches Azure DevOps identity)
75
+ 3. Set up branch policies in Azure Repos (min reviewers, build validation, etc.)
76
+
77
+ ### Feature Workflow
78
+ 1. Create branch: `feature/{wi-id}-{description}`
79
+ 2. Implement changes with AB#-linked commits
80
+ 3. Push branch to Azure Repos
81
+ 4. Create PR with detailed description and Work Item links
82
+ 5. Address review feedback
83
+ 6. Complete PR (squash merge or merge commit per team convention)
84
+ 7. Update Work Item status
85
+ 8. Delete feature branch
86
+
87
+ ## Wiki Usage
88
+ - Search Wiki for existing documentation before writing
89
+ - Use consistent page naming: `/Area/Topic/Subtopic`
90
+ - Link Work Items from Wiki pages for traceability
91
+ - Publish architecture decision records (ADRs) to the Wiki
92
+ - Use markdown for all Wiki content
93
+
94
+ ## Pipeline Integration
95
+ - Check pipeline status before merging PRs
96
+ - Trigger validation builds when needed
97
+ - Review test results in pipeline runs
98
+ - Use pipeline variables for environment-specific configuration
99
+ - Monitor deployment pipelines for release status
@@ -0,0 +1,62 @@
1
+ # Frontend UI/UX
2
+
3
+ ## Description
4
+ Designer-turned-developer skill for crafting stunning user interfaces even without design mockups. Emphasizes bold aesthetic direction, distinctive typography, cohesive color palettes, and intentional micro-interactions. This skill teaches agents to approach frontend work with a designer's eye.
5
+
6
+ ## When to Use
7
+ - Building new user interfaces
8
+ - Redesigning or refreshing existing UI
9
+ - Creating landing pages or marketing sites
10
+ - Adding animations and transitions
11
+ - Ensuring accessibility (a11y) compliance
12
+ - Reviewing UI/UX quality
13
+
14
+ ## Design Philosophy
15
+
16
+ ### Intentional over Decorative
17
+ Every visual choice should serve a purpose. Before adding any element, ask: "What does this communicate to the user? What action does it encourage?"
18
+
19
+ ### Consistency over Novelty
20
+ Use established patterns. Only innovate when it genuinely improves the user experience. Consistent UI builds user trust and reduces cognitive load.
21
+
22
+ ### Mobile-First
23
+ Design for the smallest screen first. Ensure touch targets are adequate (minimum 44px). Test layout at 320px, 768px, 1024px, and 1440px.
24
+
25
+ ### Accessibility is Non-Negotiable
26
+ - WCAG 2.1 AA minimum
27
+ - Proper heading hierarchy (h1 → h2 → h3)
28
+ - Sufficient color contrast (4.5:1 for text, 3:1 for large text)
29
+ - Keyboard navigation support
30
+ - Screen reader-friendly ARIA labels
31
+ - Focus indicators for all interactive elements
32
+
33
+ ## Visual System
34
+
35
+ ### Color
36
+ - Define a cohesive palette: primary, secondary, accent, neutral, semantic (success, warning, error, info)
37
+ - Use CSS custom properties for theming
38
+ - Dark mode support via `prefers-color-scheme` media query or toggle
39
+
40
+ ### Typography
41
+ - Choose 1-2 font families maximum
42
+ - Define a clear type scale (e.g., 12px, 14px, 16px, 20px, 24px, 32px, 48px)
43
+ - Use relative units (rem/em) for accessibility
44
+ - Line-height: 1.5 for body text, 1.2 for headings
45
+
46
+ ### Spacing
47
+ - Use a consistent spacing scale (4px base: 4, 8, 12, 16, 24, 32, 48, 64, 96)
48
+ - Spacing should relate elements: closer = related, further = separate
49
+
50
+ ### States
51
+ Always implement: default, hover, focus, active, disabled, loading, empty, error, success
52
+
53
+ ## Implementation Checklist
54
+ - [ ] Responsive at 320px, 768px, 1024px, 1440px
55
+ - [ ] All interactive elements have focus styles
56
+ - [ ] Color contrast passes WCAG AA
57
+ - [ ] Semantic HTML used appropriately
58
+ - [ ] Loading and empty states handled
59
+ - [ ] Error states shown gracefully
60
+ - [ ] Typography scale is consistent
61
+ - [ ] Spacing system is applied uniformly
62
+ - [ ] Animations respect `prefers-reduced-motion`
@@ -0,0 +1,52 @@
1
+ # Git Master
2
+
3
+ ## Description
4
+ Comprehensive Git workflow skill for Azure DevOps-native development. Handles atomic commits with automatic Work Item linking, rebase/squash workflows, branch management with Azure Repos conventions, and history archaeology.
5
+
6
+ ## When to Use
7
+ - Committing code (ALWAYS use this skill)
8
+ - Rebasing or squashing commits
9
+ - Creating branches linked to Work Items
10
+ - Investigating git history (blame, bisect, log -S)
11
+ - Preparing PRs for Azure Repos
12
+
13
+ ## Workflow
14
+
15
+ ### Commit
16
+ 1. Stage changes atomically — one logical change per commit
17
+ 2. Write descriptive commit messages following conventional commits format
18
+ 3. **Always include AB#{WorkItemId}** in commit messages for Azure DevOps linking
19
+ 4. Format: `type(scope): description\n\nAB#{id}`
20
+
21
+ Example:
22
+ ```
23
+ feat(work-items): add priority field to work item form
24
+
25
+ Closes #12345
26
+ AB#12345
27
+ ```
28
+
29
+ ### Branch Management
30
+ - Branch naming: `{type}/{workitem-id}-{short-description}`
31
+ - Types: `feature/`, `bugfix/`, `task/`, `hotfix/`
32
+ - Example: `feature/12345-add-priority-filter`
33
+ - Always branch from the latest `main` (or configured default branch)
34
+ - Delete local branches after PR merge
35
+
36
+ ### Pull Requests
37
+ - Always link to the relevant Work Item(s)
38
+ - Use PR templates from the repo when available
39
+ - Include AB# references in PR description for auto-linking
40
+ - Request reviews from appropriate team members
41
+
42
+ ### Rebase/Squash
43
+ - Rebase feature branches onto main before PR
44
+ - Squash fixup commits before PR review
45
+ - Use interactive rebase for cleaning up commit history
46
+ - Never rebase shared branches (main, develop)
47
+
48
+ ### History Search
49
+ - `git blame` to find who last changed a line
50
+ - `git log -S "pattern"` to search for code additions/deletions
51
+ - `git bisect` to find which commit introduced a bug
52
+ - `git log --grep="AB#12345"` to find commits linked to a Work Item