@fenixforce/edition-pro 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 (173) hide show
  1. package/dist/api/approval-routes.d.ts +15 -0
  2. package/dist/api/fleet-routes.d.ts +23 -0
  3. package/dist/api/integration-routes.d.ts +17 -0
  4. package/dist/api/middleware.d.ts +37 -0
  5. package/dist/boot.d.ts +37 -0
  6. package/dist/business/approval-queue.d.ts +94 -0
  7. package/dist/business/arena.d.ts +71 -0
  8. package/dist/business/best-of-n.d.ts +68 -0
  9. package/dist/business/brainstorm.d.ts +42 -0
  10. package/dist/business/compile-checker.d.ts +50 -0
  11. package/dist/business/debate.d.ts +38 -0
  12. package/dist/business/fleet-budget.d.ts +69 -0
  13. package/dist/business/fleet-config.d.ts +125 -0
  14. package/dist/business/fleet.d.ts +85 -0
  15. package/dist/business/handoff.d.ts +56 -0
  16. package/dist/business/hat-system.d.ts +57 -0
  17. package/dist/business/index.d.ts +44 -0
  18. package/dist/business/integration-registry.d.ts +66 -0
  19. package/dist/business/node-pipeline.d.ts +62 -0
  20. package/dist/business/oracle.d.ts +64 -0
  21. package/dist/business/roles/index.d.ts +7 -0
  22. package/dist/business/roles/judge.d.ts +24 -0
  23. package/dist/business/roles/planner.d.ts +30 -0
  24. package/dist/business/roles/types.d.ts +37 -0
  25. package/dist/business/roles/worker.d.ts +25 -0
  26. package/dist/business/router.d.ts +75 -0
  27. package/dist/business/shared-memory.d.ts +85 -0
  28. package/dist/business/status-detector.d.ts +52 -0
  29. package/dist/business/swarm-registry.d.ts +63 -0
  30. package/dist/business/templates.d.ts +55 -0
  31. package/dist/business/workspace-manager.d.ts +105 -0
  32. package/dist/index.d.ts +21 -0
  33. package/dist/index.js +638 -0
  34. package/dist/infrastructure/pty-agent.d.ts +74 -0
  35. package/dist/migrations/migrate.d.ts +7 -0
  36. package/dist/migrations/runner.d.ts +49 -0
  37. package/dist/workspace/worktree.d.ts +69 -0
  38. package/package.json +37 -0
  39. package/skills/builtin/academic-researcher/SKILL.md +51 -0
  40. package/skills/builtin/advanced-recon/SKILL.md +75 -0
  41. package/skills/builtin/agent-governance/SKILL.md +122 -0
  42. package/skills/builtin/algorithmic-art/SKILL.md +55 -0
  43. package/skills/builtin/api-attack-surface-mapper/SKILL.md +88 -0
  44. package/skills/builtin/api-development/SKILL.md +147 -0
  45. package/skills/builtin/api-exploit-prover/SKILL.md +74 -0
  46. package/skills/builtin/api-integration/SKILL.md +73 -0
  47. package/skills/builtin/api-security-tester/SKILL.md +82 -0
  48. package/skills/builtin/api-test-executor/SKILL.md +62 -0
  49. package/skills/builtin/app-store-optimization/SKILL.md +46 -0
  50. package/skills/builtin/audio-tour-guide/SKILL.md +18 -0
  51. package/skills/builtin/auth-flow-operator/SKILL.md +70 -0
  52. package/skills/builtin/autonomous-rag/SKILL.md +21 -0
  53. package/skills/builtin/backend-development/SKILL.md +265 -0
  54. package/skills/builtin/binary-analysis-analyst/SKILL.md +61 -0
  55. package/skills/builtin/binary-analysis-core/SKILL.md +65 -0
  56. package/skills/builtin/binary-recon/SKILL.md +64 -0
  57. package/skills/builtin/blackboard-coordination/SKILL.md +56 -0
  58. package/skills/builtin/blog-to-podcast/SKILL.md +18 -0
  59. package/skills/builtin/blog-writing/SKILL.md +36 -0
  60. package/skills/builtin/brainstorming/SKILL.md +69 -0
  61. package/skills/builtin/brand-design/SKILL.md +42 -0
  62. package/skills/builtin/ci-cd-pipelines/SKILL.md +210 -0
  63. package/skills/builtin/cloud-infrastructure/SKILL.md +140 -0
  64. package/skills/builtin/code-review/SKILL.md +88 -0
  65. package/skills/builtin/code-review-analyst/SKILL.md +96 -0
  66. package/skills/builtin/code-review-recon/SKILL.md +64 -0
  67. package/skills/builtin/code-review-verifier/SKILL.md +55 -0
  68. package/skills/builtin/coding-agent-team/SKILL.md +13 -0
  69. package/skills/builtin/competitor-intelligence/SKILL.md +39 -0
  70. package/skills/builtin/content-engine/SKILL.md +82 -0
  71. package/skills/builtin/context7-docs/SKILL.md +145 -0
  72. package/skills/builtin/copywriting/SKILL.md +38 -0
  73. package/skills/builtin/corrective-rag/SKILL.md +19 -0
  74. package/skills/builtin/cost-optimization/SKILL.md +131 -0
  75. package/skills/builtin/crypto-vulnerability-analyst/SKILL.md +64 -0
  76. package/skills/builtin/customer-support/SKILL.md +48 -0
  77. package/skills/builtin/customer-voice-support/SKILL.md +43 -0
  78. package/skills/builtin/data-analysis/SKILL.md +57 -0
  79. package/skills/builtin/data-visualization/SKILL.md +33 -0
  80. package/skills/builtin/database-design/SKILL.md +119 -0
  81. package/skills/builtin/decision-helper/SKILL.md +84 -0
  82. package/skills/builtin/deep-research/SKILL.md +68 -0
  83. package/skills/builtin/deepwiki-research/SKILL.md +115 -0
  84. package/skills/builtin/dependency-audit/SKILL.md +46 -0
  85. package/skills/builtin/doc-coauthoring/SKILL.md +48 -0
  86. package/skills/builtin/docker-deployment/SKILL.md +243 -0
  87. package/skills/builtin/docx-generation/SKILL.md +135 -0
  88. package/skills/builtin/dry-run-harness/SKILL.md +61 -0
  89. package/skills/builtin/editor/SKILL.md +44 -0
  90. package/skills/builtin/email-drafter/SKILL.md +42 -0
  91. package/skills/builtin/error-handling/SKILL.md +82 -0
  92. package/skills/builtin/eval-harness/SKILL.md +197 -0
  93. package/skills/builtin/evaluation-framework/SKILL.md +51 -0
  94. package/skills/builtin/exploit-writer/SKILL.md +63 -0
  95. package/skills/builtin/fact-checker/SKILL.md +51 -0
  96. package/skills/builtin/filesystem-context/SKILL.md +47 -0
  97. package/skills/builtin/financial-coach/SKILL.md +18 -0
  98. package/skills/builtin/finding-chain-correlator/SKILL.md +70 -0
  99. package/skills/builtin/finding-verifier/SKILL.md +65 -0
  100. package/skills/builtin/frontend-design/SKILL.md +104 -0
  101. package/skills/builtin/frontend-development/SKILL.md +227 -0
  102. package/skills/builtin/frontend-slides/SKILL.md +155 -0
  103. package/skills/builtin/fullstack-project/SKILL.md +286 -0
  104. package/skills/builtin/game-development/SKILL.md +60 -0
  105. package/skills/builtin/git-workflow/SKILL.md +44 -0
  106. package/skills/builtin/i18n-localization/SKILL.md +38 -0
  107. package/skills/builtin/image-prompt-engineering/SKILL.md +37 -0
  108. package/skills/builtin/investment-research/SKILL.md +33 -0
  109. package/skills/builtin/investor-materials/SKILL.md +90 -0
  110. package/skills/builtin/javascript-surface-analyzer/SKILL.md +66 -0
  111. package/skills/builtin/markdown-reports/SKILL.md +68 -0
  112. package/skills/builtin/market-research/SKILL.md +69 -0
  113. package/skills/builtin/mcp-builder/SKILL.md +86 -0
  114. package/skills/builtin/meeting-notes/SKILL.md +47 -0
  115. package/skills/builtin/memory-safety-analyst/SKILL.md +61 -0
  116. package/skills/builtin/meta-controller/SKILL.md +44 -0
  117. package/skills/builtin/mixture-of-agents/SKILL.md +53 -0
  118. package/skills/builtin/monitoring-observability/SKILL.md +169 -0
  119. package/skills/builtin/negotiation-simulator/SKILL.md +24 -0
  120. package/skills/builtin/nestjs-development/SKILL.md +56 -0
  121. package/skills/builtin/nextjs-development/SKILL.md +55 -0
  122. package/skills/builtin/parallel-dispatch/SKILL.md +83 -0
  123. package/skills/builtin/pdf-generation/SKILL.md +169 -0
  124. package/skills/builtin/personal-finance/SKILL.md +17 -0
  125. package/skills/builtin/pev-workflow/SKILL.md +62 -0
  126. package/skills/builtin/planning-with-files/SKILL.md +59 -0
  127. package/skills/builtin/pptx-generation/SKILL.md +117 -0
  128. package/skills/builtin/prisma-orm/SKILL.md +48 -0
  129. package/skills/builtin/rag-database-routing/SKILL.md +38 -0
  130. package/skills/builtin/rapid-prototyping/SKILL.md +152 -0
  131. package/skills/builtin/react-development/SKILL.md +244 -0
  132. package/skills/builtin/react-native-mobile/SKILL.md +113 -0
  133. package/skills/builtin/refactoring/SKILL.md +39 -0
  134. package/skills/builtin/reflexive-metacognition/SKILL.md +29 -0
  135. package/skills/builtin/riper-workflow/SKILL.md +214 -0
  136. package/skills/builtin/security-audit/SKILL.md +113 -0
  137. package/skills/builtin/security-self-audit/SKILL.md +311 -0
  138. package/skills/builtin/self-evolving-agent/SKILL.md +28 -0
  139. package/skills/builtin/self-improvement-loop/SKILL.md +58 -0
  140. package/skills/builtin/semantic-search/SKILL.md +93 -0
  141. package/skills/builtin/seo-audit-team/SKILL.md +27 -0
  142. package/skills/builtin/seo-optimization/SKILL.md +49 -0
  143. package/skills/builtin/server-management/SKILL.md +190 -0
  144. package/skills/builtin/social-media-content/SKILL.md +50 -0
  145. package/skills/builtin/sprint-planner/SKILL.md +49 -0
  146. package/skills/builtin/strategic-compact/SKILL.md +61 -0
  147. package/skills/builtin/strategy-advisor/SKILL.md +51 -0
  148. package/skills/builtin/structured-thinking/SKILL.md +70 -0
  149. package/skills/builtin/subagent-development/SKILL.md +105 -0
  150. package/skills/builtin/system-design/SKILL.md +66 -0
  151. package/skills/builtin/systematic-debugging/SKILL.md +87 -0
  152. package/skills/builtin/tailwind-css/SKILL.md +55 -0
  153. package/skills/builtin/taint-flow-tracer/SKILL.md +89 -0
  154. package/skills/builtin/teaching-agent-team/SKILL.md +32 -0
  155. package/skills/builtin/tech-debt-manager/SKILL.md +67 -0
  156. package/skills/builtin/technical-documentation/SKILL.md +47 -0
  157. package/skills/builtin/test-driven-development/SKILL.md +70 -0
  158. package/skills/builtin/theme-factory/SKILL.md +244 -0
  159. package/skills/builtin/threat-model-generator/SKILL.md +105 -0
  160. package/skills/builtin/trust-layer/SKILL.md +43 -0
  161. package/skills/builtin/typescript-patterns/SKILL.md +61 -0
  162. package/skills/builtin/ui-ux-design/SKILL.md +75 -0
  163. package/skills/builtin/verification-before-completion/SKILL.md +41 -0
  164. package/skills/builtin/verification-loop/SKILL.md +120 -0
  165. package/skills/builtin/waf-bypass-agent/SKILL.md +97 -0
  166. package/skills/builtin/web-artifacts-builder/SKILL.md +117 -0
  167. package/skills/builtin/web-assessment-executor/SKILL.md +66 -0
  168. package/skills/builtin/web-exploit-prover/SKILL.md +58 -0
  169. package/skills/builtin/web-scraping/SKILL.md +63 -0
  170. package/skills/builtin/webapp-testing/SKILL.md +86 -0
  171. package/skills/builtin/webhook-development/SKILL.md +62 -0
  172. package/skills/builtin/writing-skills/SKILL.md +67 -0
  173. package/skills/builtin/xlsx-generation/SKILL.md +116 -0
@@ -0,0 +1,74 @@
1
+ export declare class RingBuffer {
2
+ private buffer;
3
+ private head;
4
+ private count;
5
+ private readonly capacity;
6
+ constructor(capacity?: number);
7
+ /** Append a line. Overwrites oldest when full. */
8
+ append(line: string): void;
9
+ /** Get all lines in order. */
10
+ snapshot(): string[];
11
+ /** Get last n lines. */
12
+ tail(n: number): string[];
13
+ /** Current line count. */
14
+ get size(): number;
15
+ /** Clear the buffer. */
16
+ clear(): void;
17
+ }
18
+ export type PTYAgentStatus = "spawning" | "running" | "idle" | "dead";
19
+ export interface PTYAgent {
20
+ agentId: string;
21
+ workspaceId: string;
22
+ pid: number;
23
+ status: PTYAgentStatus;
24
+ ringBuffer: RingBuffer;
25
+ }
26
+ export interface PTYSpawnConfig {
27
+ agentId: string;
28
+ workspaceId: string;
29
+ command: string;
30
+ args?: string[];
31
+ cwd?: string;
32
+ env?: Record<string, string>;
33
+ /** Ring buffer capacity (default: 500 lines) */
34
+ bufferCapacity?: number;
35
+ /** Idle timeout in ms (default: 10000) */
36
+ idleTimeout?: number;
37
+ /** SIGTERM → SIGKILL grace period in ms (default: 5000) */
38
+ killGracePeriod?: number;
39
+ }
40
+ export type PTYEventEmitter = (event: string, payload: Record<string, unknown>) => void;
41
+ /** Callback for real-time line output (WebSocket streaming). */
42
+ export type OnLineFn = (line: string) => void;
43
+ export declare class PTYAgentManager {
44
+ private agents;
45
+ private emit;
46
+ constructor(emit?: PTYEventEmitter);
47
+ /**
48
+ * Spawn a new PTY agent. Returns agent info immediately;
49
+ * actual process runs asynchronously.
50
+ */
51
+ spawn(config: PTYSpawnConfig, onLine?: OnLineFn): PTYAgent;
52
+ /**
53
+ * Get agent info by ID.
54
+ */
55
+ get(agentId: string): PTYAgent | null;
56
+ /**
57
+ * Subscribe to real-time output from an agent.
58
+ * Returns unsubscribe function.
59
+ */
60
+ subscribe(agentId: string, listener: OnLineFn): () => void;
61
+ /**
62
+ * Kill an agent with SIGTERM → SIGKILL grace period.
63
+ */
64
+ kill(agentId: string): Promise<void>;
65
+ /**
66
+ * List all agents.
67
+ */
68
+ list(): PTYAgent[];
69
+ /**
70
+ * Destroy all agents.
71
+ */
72
+ destroyAll(): Promise<void>;
73
+ private spawnProcess;
74
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CLI entry point for running migrations.
3
+ * Usage: bun run migrate (runs UP)
4
+ * bun run migrate down (runs DOWN / rollback)
5
+ * bun run migrate validate (validates without executing)
6
+ */
7
+ export {};
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Migration Runner — Phase B4
3
+ *
4
+ * Reads SQL migration files from the migrations/ directory, parses
5
+ * UP/DOWN sections, and provides execution against a Postgres client.
6
+ * Also usable standalone for validation.
7
+ */
8
+ export interface ParsedMigration {
9
+ /** File name (e.g. "0001_create_fleet_tables.sql"). */
10
+ name: string;
11
+ /** Sequence number parsed from the file name prefix. */
12
+ sequence: number;
13
+ /** SQL to execute when applying this migration. */
14
+ up: string;
15
+ /** SQL to execute when rolling back this migration. */
16
+ down: string;
17
+ }
18
+ /** Minimal Postgres client interface (matches pg.Client / pg.PoolClient). */
19
+ export interface PgClientLike {
20
+ query(sql: string): Promise<unknown>;
21
+ }
22
+ /**
23
+ * Parse a migration SQL file into UP and DOWN sections.
24
+ *
25
+ * File format:
26
+ * -- ── UP ──...
27
+ * <up SQL>
28
+ * -- ── DOWN ──...
29
+ * <down SQL — lines may be commented out with --, will be uncommented>
30
+ */
31
+ export declare function parseMigration(fileName: string, content: string): ParsedMigration;
32
+ /**
33
+ * Load and parse all migration files from a directory.
34
+ * Returns them sorted by sequence number.
35
+ */
36
+ export declare function loadMigrations(migrationsDir?: string): ParsedMigration[];
37
+ /**
38
+ * Run all UP migrations in order against a Postgres client.
39
+ */
40
+ export declare function migrateUp(client: PgClientLike, migrationsDir?: string): Promise<string[]>;
41
+ /**
42
+ * Run all DOWN migrations in reverse order against a Postgres client.
43
+ */
44
+ export declare function migrateDown(client: PgClientLike, migrationsDir?: string): Promise<string[]>;
45
+ /**
46
+ * Validate all migration files without executing them.
47
+ * Returns the parsed migrations or throws on error.
48
+ */
49
+ export declare function validateMigrations(migrationsDir?: string): ParsedMigration[];
@@ -0,0 +1,69 @@
1
+ export interface WorktreeInfo {
2
+ taskId: string;
3
+ branch: string;
4
+ path: string;
5
+ baseBranch: string;
6
+ createdAt: Date;
7
+ status: "active" | "completed" | "dead";
8
+ }
9
+ export interface WorktreeManagerConfig {
10
+ /** Root directory for worktrees */
11
+ worktreeRoot: string;
12
+ /** Base repo path */
13
+ repoPath: string;
14
+ /** Shared directories to symlink (e.g. node_modules) */
15
+ sharedDirs?: string[];
16
+ /** Days to preserve unmerged branches before cleanup */
17
+ preserveDays: number;
18
+ }
19
+ export declare const DEFAULT_WORKTREE_CONFIG: Partial<WorktreeManagerConfig>;
20
+ export interface PRSummary {
21
+ branch: string;
22
+ changedFiles: string[];
23
+ diffStat: string;
24
+ taskId: string;
25
+ }
26
+ export type WorktreeEventEmitter = (event: string, payload: Record<string, unknown>) => void;
27
+ export type ArtifactStoreFn = (key: string, content: string) => Promise<void>;
28
+ export declare class WorktreeManager {
29
+ private config;
30
+ private worktrees;
31
+ private emit;
32
+ constructor(config: WorktreeManagerConfig, emit?: WorktreeEventEmitter);
33
+ /**
34
+ * Create a worktree for a task with its own branch.
35
+ */
36
+ create(taskId: string, baseBranch?: string): Promise<WorktreeInfo>;
37
+ /**
38
+ * Inject symlinks for heavy shared directories to keep worktrees lightweight.
39
+ */
40
+ symlink(taskId: string, paths: string[]): Promise<void>;
41
+ /**
42
+ * Destroy a worktree and optionally clean up the branch.
43
+ */
44
+ destroy(taskId: string): Promise<void>;
45
+ /**
46
+ * List all active worktrees with task status.
47
+ */
48
+ listActive(): WorktreeInfo[];
49
+ /**
50
+ * Mark a worktree's task as completed.
51
+ */
52
+ markCompleted(taskId: string): void;
53
+ /**
54
+ * Mark a worktree's task as dead (agent crashed/timed out).
55
+ */
56
+ markDead(taskId: string): void;
57
+ /**
58
+ * Cleanup job: destroy worktrees for completed/dead tasks.
59
+ * Merged branches deleted; unmerged preserved for preserveDays.
60
+ */
61
+ cleanup(): Promise<number>;
62
+ /**
63
+ * Generate a draft PR summary for a completed task worktree.
64
+ */
65
+ generatePRSummary(taskId: string, storeArtifact?: ArtifactStoreFn): Promise<PRSummary>;
66
+ private git;
67
+ private isBranchMerged;
68
+ private exec;
69
+ }
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@fenixforce/edition-pro",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "publishConfig": {
8
+ "registry": "https://registry.npmjs.org",
9
+ "access": "restricted"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/ejiogbevoices/projectfenix.git",
14
+ "directory": "packages/edition-pro"
15
+ },
16
+ "exports": {
17
+ ".": {
18
+ "import": "./dist/index.js",
19
+ "types": "./dist/index.d.ts"
20
+ }
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "skills/builtin/*/SKILL.md"
25
+ ],
26
+ "scripts": {
27
+ "build": "esbuild src/index.ts --bundle --format=esm --platform=node --target=es2022 --minify --outfile=dist/index.js --external:@fenixforce/kernel --external:zod && tsc --emitDeclarationOnly --project tsconfig.build.json",
28
+ "test": "bun test",
29
+ "typecheck": "tsc --noEmit",
30
+ "migrate": "bun run src/migrations/migrate.ts"
31
+ },
32
+ "dependencies": {
33
+ "@fenixforce/kernel": "workspace:*",
34
+ "zod": "^4.3.6"
35
+ },
36
+ "devDependencies": {}
37
+ }
@@ -0,0 +1,51 @@
1
+ # Academic Researcher
2
+
3
+ ## Literature Review Process
4
+
5
+ 1. Define research question and scope
6
+ 2. Search sources (ArXiv, Google Scholar, Semantic Scholar via web search)
7
+ 3. Screen by title/abstract for relevance
8
+ 4. Full-text review of relevant papers
9
+ 5. Extract key findings, methods, limitations
10
+ 6. Synthesize across papers: agreements, contradictions, gaps
11
+
12
+ ## Citation Formats
13
+
14
+ ### APA 7th
15
+ Author, A. A., & Author, B. B. (Year). Title of article. *Journal Name*, *Volume*(Issue), pages. https://doi.org/xxx
16
+
17
+ ### MLA 9th
18
+ Author Last, First. "Title of Article." *Journal Name*, vol. X, no. Y, Year, pp. 1-10.
19
+
20
+ ### IEEE
21
+ [1] A. Author, "Title," *Journal*, vol. X, no. Y, pp. 1-10, Month Year.
22
+
23
+ ## Output: Literature Review
24
+
25
+ ```markdown
26
+ ## Research Question
27
+ [Specific question being investigated]
28
+
29
+ ## Search Strategy
30
+ Databases searched, keywords used, date range, inclusion/exclusion criteria.
31
+
32
+ ## Findings
33
+ ### Theme 1: [Name]
34
+ [Synthesis of 3-5 papers on this theme with citations]
35
+
36
+ ### Theme 2: [Name]
37
+ [Synthesis]
38
+
39
+ ## Research Gaps
40
+ [What hasn't been studied yet]
41
+
42
+ ## References
43
+ [Formatted citation list]
44
+ ```
45
+
46
+ ## Rules
47
+
48
+ - Always note publication year (recency matters in fast-moving fields)
49
+ - Distinguish between peer-reviewed and preprint
50
+ - Note sample sizes and methodology quality
51
+ - Acknowledge limitations of each study
@@ -0,0 +1,75 @@
1
+ # Advanced Reconnaissance
2
+
3
+ ## Purpose
4
+ Discover maximum attack surface with minimal detection using a 5-layer methodology.
5
+
6
+ ## Core Philosophy
7
+ Breadth -> Depth -> Exploitation. Wide net -> Focus -> Attack.
8
+
9
+ **Key Principle**: 80% of bugs come from assets others miss.
10
+
11
+ ## The 5-Layer Approach
12
+
13
+ ### Layer 1: Organization Intelligence
14
+ - Use `whois` and `amass intel` to find ASNs and IP ranges.
15
+ - Map organizational ownership and subsidiary relationships.
16
+ - Feed results into active discovery workflows.
17
+
18
+ ### Layer 2: Passive Subdomain Discovery
19
+ - Certificate Transparency and DNS Aggregators: `subfinder`, `amass`, `crt.sh`.
20
+ - Build seed list for active resolution.
21
+ - Search Engine Dorking: Google/GitHub dorks to find shadow IT and dev environments.
22
+
23
+ ### Layer 3: Active Subdomain Discovery
24
+ - DNS Brute-Forcing: `puredns`, `shuffledns`.
25
+ - Use massive wordlists (Jhaddix/SecLists) + Permutations (`altdns`).
26
+ - Resolve and validate discovered subdomains.
27
+
28
+ ### Layer 4: Asset Discovery
29
+ - Port Scanning and Service Enumeration: `naabu`, `nmap`.
30
+ - Output: `live.txt` (Httpx results).
31
+ - Technology Detection: `nuclei -t technologies`, `whatweb`.
32
+ - Identify WAFs early for bypass planning.
33
+
34
+ ### Layer 5: Deep Content Discovery
35
+ - Crawling and JavaScript Analysis: `katana`, `hakrawler`.
36
+ - Extract API endpoints from JS files.
37
+ - Identify hidden parameters and administrative interfaces.
38
+
39
+ ## Cloud Asset Discovery
40
+ - AWS/Azure/GCP: Bucket enumeration and cloud-specific pattern scanning.
41
+ - Check for misconfigured storage, exposed services, and metadata endpoints.
42
+
43
+ ## Automation
44
+ - Build pipelines using `tmux` or `axiom` for distributed scanning.
45
+ - Continuous Monitoring: Alert on new subdomains (Cron + Subfinder).
46
+
47
+ ## Data Organization
48
+ Maintain a standardized directory structure:
49
+ - `recon/target/subdomains/` — discovered subdomains
50
+ - `recon/target/web/` — web application data
51
+ - `recon/target/ports/` — port scan results
52
+ - `recon/target/content/` — discovered content and endpoints
53
+
54
+ ## Output Contract
55
+ ```json
56
+ {
57
+ "organization_intel": {},
58
+ "subdomain_inventory": [],
59
+ "live_assets": [],
60
+ "technology_stack": [],
61
+ "content_discovery": [],
62
+ "cloud_assets": [],
63
+ "priority_targets": []
64
+ }
65
+ ```
66
+
67
+ ## Constraints
68
+ - Minimize target contact during passive phases.
69
+ - Respect scope boundaries strictly.
70
+ - Log all active probing for audit trail.
71
+
72
+ ## Quality Checklist
73
+ - [ ] All 5 layers completed.
74
+ - [ ] Cloud assets included.
75
+ - [ ] Priority targets identified with rationale.
@@ -0,0 +1,122 @@
1
+ # Agent Governance
2
+
3
+ ## Policy Definition (YAML)
4
+
5
+ ```yaml
6
+ policies:
7
+ - name: block-destructive
8
+ actions: [delete_file, drop_table, rm_rf, format_disk]
9
+ decision: deny
10
+ reason: "Destructive operations require human approval"
11
+
12
+ - name: rate-limit-external
13
+ actions: [external_api_call, web_fetch, send_email]
14
+ max_per_minute: 10
15
+ decision: allow_with_limit
16
+
17
+ - name: log-all-writes
18
+ actions: [write_file, create_file, update_record]
19
+ decision: allow
20
+ audit: true
21
+ ```
22
+
23
+ ## Tool Interception
24
+
25
+ Wrap every tool call with a policy check:
26
+ 1. Agent requests tool execution
27
+ 2. Governance layer checks action against policies
28
+ 3. If DENY: block and explain why
29
+ 4. If ALLOW_WITH_LIMIT: check rate, execute if under limit
30
+ 5. If ALLOW: execute, log if audit flag set
31
+
32
+ ## Audit Trail
33
+
34
+ Every tool execution logged:
35
+ ```typescript
36
+ interface AuditEntry {
37
+ timestamp: Date;
38
+ agentId: string;
39
+ action: string;
40
+ parameters: Record<string, unknown>;
41
+ decision: "allow" | "deny" | "rate_limited";
42
+ policyName: string;
43
+ result?: unknown;
44
+ }
45
+ ```
46
+
47
+ ## Policy Evaluation Order
48
+
49
+ 1. Check explicit DENY rules first (fail-fast)
50
+ 2. Check rate limits for ALLOW_WITH_LIMIT rules
51
+ 3. Check ALLOW rules with audit flags
52
+ 4. Default-deny for unrecognized actions
53
+
54
+ ## Versioned Constitution Governance
55
+
56
+ Treat policy files as versioned artifacts with integrity guarantees:
57
+
58
+ ### Policy Versioning
59
+ ```yaml
60
+ constitution:
61
+ version: "2.3.0"
62
+ effective_date: "2026-03-01"
63
+ hash: "sha256:abc123..." # integrity check
64
+ changelog:
65
+ - version: "2.3.0"
66
+ change: "Added rate limit for send_email"
67
+ author: "admin@company.com"
68
+ - version: "2.2.0"
69
+ change: "Blocked drop_table action"
70
+ author: "admin@company.com"
71
+ ```
72
+
73
+ ### Diff Linting
74
+ Before applying a policy update:
75
+ 1. Compute diff between current and proposed policy
76
+ 2. Lint the diff: no policy can remove a DENY rule without explicit override flag
77
+ 3. Flag any change that broadens permissions (new ALLOW rules, increased rate limits)
78
+ 4. Require signed approval for permission-broadening changes
79
+
80
+ ### Rollback
81
+ ```typescript
82
+ async function rollbackPolicy(targetVersion: string): Promise<void> {
83
+ const history = await loadPolicyHistory();
84
+ const target = history.find((p) => p.version === targetVersion);
85
+ if (!target) throw new Error(`Version ${targetVersion} not found`);
86
+ await applyPolicy(target);
87
+ await auditLog({ action: "policy_rollback", from: currentVersion, to: targetVersion });
88
+ }
89
+ ```
90
+
91
+ ## Canary Rollout for Policy Changes
92
+
93
+ Staged policy deployment with automatic rollback:
94
+
95
+ ### Rollout Stages
96
+ 1. **Shadow mode** (1 hour): new policy evaluates in parallel with current policy, logs disagreements but doesn't enforce
97
+ 2. **Canary** (10% of requests, 4 hours): new policy enforced for a subset, monitor for anomalies
98
+ 3. **Gradual rollout** (25% → 50% → 100%, each stage 2 hours): expand if metrics are healthy
99
+ 4. **Full deployment**: new policy active for all requests
100
+
101
+ ### Metric Guardrails (auto-rollback triggers)
102
+ - Deny rate increases by >20% compared to baseline
103
+ - User escalation rate doubles
104
+ - Any CRITICAL-severity audit event in canary population
105
+ - Error rate in policy evaluation exceeds 1%
106
+
107
+ ### Auto-Rollback
108
+ ```typescript
109
+ if (denyRateIncrease > 0.20 || escalationRateDoubled || criticalEvent) {
110
+ await rollbackPolicy(previousVersion);
111
+ await notify("Policy canary failed", { reason, metrics });
112
+ }
113
+ ```
114
+
115
+ ## Rules
116
+
117
+ - Policies are declarative YAML, not code (non-developers can write them)
118
+ - Deny decisions always include a human-readable reason
119
+ - Audit log is append-only (never deleted or modified)
120
+ - Default-deny for unrecognized actions
121
+ - Policy changes require versioned changelog entries
122
+ - Permission-broadening changes require signed approval
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: algorithmic-art
3
+ description: "Use this skill for generative art, creative coding, p5.js, canvas art, SVG generation, or algorithmic visual design. Triggers: 'generative art', 'creative coding', 'p5.js', 'algorithmic art', 'procedural', 'fractal', 'generative design', or requests for code-generated visual art."
4
+ license: MIT
5
+ ---
6
+
7
+ # Algorithmic Art
8
+
9
+ ## What This Skill Does
10
+
11
+ Generate visual art through code. p5.js, Canvas API, SVG, shaders. Patterns, fractals, particle systems, noise fields, and generative design.
12
+
13
+ ## p5.js Setup
14
+
15
+ ```html
16
+ <script src="https://cdn.jsdelivr.net/npm/p5@1/lib/p5.min.js"></script>
17
+ <script>
18
+ function setup() {
19
+ createCanvas(800, 800);
20
+ background(20);
21
+ noLoop(); // Draw once, or remove for animation
22
+ }
23
+
24
+ function draw() {
25
+ // Art goes here
26
+ }
27
+ </script>
28
+ ```
29
+
30
+ ## Common Techniques
31
+
32
+ | Technique | Tool |
33
+ |-----------|------|
34
+ | Smooth randomness | Perlin noise: `noise(x, y)` |
35
+ | Particle systems | Array of objects with position, velocity, lifetime |
36
+ | Fractals | Recursive functions with depth limit |
37
+ | Flow fields | Vector grid sampled with noise |
38
+ | L-systems | String rewriting rules for organic shapes |
39
+ | Voronoi | Nearest-point tessellation |
40
+ | Color palettes | HSB mode for intuitive color control |
41
+
42
+ ## Tips
43
+
44
+ - Use HSB color mode for more intuitive color manipulation
45
+ - Add slight randomness to everything (perfect symmetry looks artificial)
46
+ - Layer translucent shapes for depth
47
+ - Export as SVG for print-quality output
48
+ - Use `random()` with seeds for reproducible art
49
+
50
+ ## Rules
51
+
52
+ - Always set a canvas size appropriate for the output medium
53
+ - Use requestAnimationFrame or p5's draw() for animation (never setInterval)
54
+ - Provide a way to save/export the result (saveCanvas, SVG export)
55
+ - Document the parameters that control the art's appearance
@@ -0,0 +1,88 @@
1
+ # API Attack Surface Mapper
2
+
3
+ ## Purpose
4
+ Build a full API inventory, trust-boundary map, and prioritized test matrix from specification and observed behavior.
5
+
6
+ ## Required Inputs
7
+ - `target_base_url`
8
+ - `api_spec_source` (OpenAPI URL/file, Postman collection, or captured traffic)
9
+ - `auth_context` (token types, role accounts, session rules)
10
+ - `scope_rules` (in-scope services, forbidden actions)
11
+
12
+ ## Optional Inputs
13
+ - `known_business_flows`
14
+ - `environment_limits` (rate limits, test windows)
15
+ - `seed_ids` (known object identifiers)
16
+
17
+ ## Preflight Checklist
18
+ - [ ] Spec is reachable and parseable.
19
+ - [ ] Base URL and version path are confirmed.
20
+ - [ ] Auth mechanism is known per endpoint family.
21
+ - [ ] Scope exclusions are explicit.
22
+
23
+ ## Execution Workflow
24
+ ### Phase 1: Normalize Inputs
25
+ 1. Parse spec and resolve path templates, tags, and schema references.
26
+ 2. Deduplicate routes by method + canonical path.
27
+ 3. Flag undocumented endpoints observed in traffic.
28
+
29
+ ### Phase 2: Build Trust-Boundary Map
30
+ 1. Label endpoints as `public`, `user`, `admin`, `internal`, or `unknown`.
31
+ 2. Map auth styles: cookie session, bearer token, API key, mTLS.
32
+ 3. Capture identity source and role enforcement points.
33
+
34
+ ### Phase 3: Parameter Risk Profiling
35
+ 1. Classify parameters by risk type: object references, filter/sort/query operators, file/blob inputs, callback URLs, rich text/template fields.
36
+ 2. Mark whether each parameter is attacker-controlled and persisted.
37
+
38
+ ### Phase 4: Test Matrix Generation
39
+ 1. Generate baseline tests for each endpoint (auth, method, content type).
40
+ 2. Generate abuse tests by class: BOLA/BFLA, mass assignment, injection, SSRF-style URL handling, workflow/state abuse.
41
+ 3. Prioritize by business impact and reachable privilege.
42
+
43
+ ### Phase 5: Low-Noise Validation
44
+ 1. Confirm route liveness and auth expectations.
45
+ 2. Record response fingerprint per endpoint: status bands, auth error shape, validation error shape.
46
+ 3. Mark unstable endpoints as low-confidence until retested.
47
+
48
+ ## Coverage Matrix (Minimum)
49
+ | Class | Minimum Check |
50
+ |---|---|
51
+ | BOLA/BFLA | Cross-account object access with role switch |
52
+ | Auth/session | Missing token, expired token, token audience mismatch |
53
+ | Mass assignment | Hidden fields on create/update |
54
+ | Injection | SQL/NoSQL/template/operator contexts |
55
+ | SSRF | URL/file fetchers, webhooks, importers |
56
+ | Data exposure | Over-broad response fields and debug traces |
57
+ | Rate abuse | Lack of throttling on sensitive actions |
58
+ | Workflow abuse | Invalid state transitions, skipped approvals |
59
+
60
+ ## Output Contract
61
+ ```json
62
+ {
63
+ "endpoint_inventory": [],
64
+ "trust_boundaries": [],
65
+ "parameter_risk_profile": [],
66
+ "prioritized_test_matrix": [],
67
+ "baseline_observations": [],
68
+ "coverage_gaps": []
69
+ }
70
+ ```
71
+
72
+ ## Constraints
73
+ - Do not use as a replacement for exploit confirmation — this is a discovery and planning skill.
74
+ - Treat spec as starting point, not ground truth; verify against runtime.
75
+
76
+ ## Quality Checklist
77
+ - [ ] Inventory covers all observed and documented routes.
78
+ - [ ] Each high-risk endpoint has at least one concrete test case.
79
+ - [ ] Unknowns are explicit and actionable.
80
+
81
+ ## Conditional Decision Matrix
82
+ | Condition | Action | Evidence Requirement |
83
+ |---|---|---|
84
+ | Endpoint undocumented but reachable | Add to inventory and prioritize authz checks | request/response baseline + auth behavior |
85
+ | Auth behavior inconsistent across methods | Split tests by method and content type | per-method status + body signatures |
86
+ | Time-based anomaly only | run matched control timing series | repeated control/test timing traces |
87
+ | Object access differs by role | escalate to cross-tenant/cross-role checks | role-tagged replay proof |
88
+ | Validation differs by parser | run semantic-equivalent content-type tests | parser-path differential evidence |