Create a DRAFT agent from an Agent Plugins package you wrote in this conversation: pass files as an object mapping each path to its TEXT (for example "skills/my-skill/SKILL.md", "skills/my-skill/references/guide.md", ".claude-plugin/plugin.json", "commands/review.md", "agents/reviewer.md"). FindAgent imports it exactly like an uploaded package — the same skill rules (at most 40 skills, valid Agent Skills names; too many is refused, never cut), the same caps (4 MB of text in total, 2 MB per file, 4000 files; the whole request, JSON escaping included, must also stay under the hosting platform's ~4.5 MB request limit), actions only where plugin.json declares them — stores it in your own namespace and saves a status=draft skills agent you own. Binary files cannot be sent. You must pass attestation: "own-work", confirming these are your own files. Then Submit it with findagent_submit_for_review: agent (the draft slug), confirm_original: true, confirm_not_prohibited: true, llms (at least one) and price_type/price_cents. The first call without confirm_slug returns the permanent slug; call again with confirm_slug set to that exact slug to submit. The package is scanned and a person reviews it before anything is published. Instead of files you may pass repo (owner/repo or a github.com URL) and optionally ref and path (the folder of a repository that holds several packages): FindAgent then reads the package from a GitHub repository YOU OWN (it proves you have push access first; connect GitHub with findagent_connect_github if needed), and no attestation is needed because the ownership is proven. Pass exactly one of files or repo. An agent made from a repository is updated by re-pulling it (findagent_repull). Listing fields are the same as findagent_create_draft (title, slug, tagline, description, category); the instructions, prompts and actions come from the files. NEVER put secret values in any file: an action's credentials are declared by name only. Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp (hosted over https) or findagent_create_local_mcp (started on the buyer machine by a command); an OpenAPI spec becomes tools through findagent_import_openapi before findagent_create_draft; findagent_create_draft saves a declarative listing from findagent_import_repo grounding. Code part: start from https://github.com/FindAgent/agent-template (Node and Python variants). Building any part with an assistant: provider-neutral playbooks at https://github.com/FindAgent/agent-creators (start with AGENTS.md).