deploy-artifact-publish
Skill6 starsChanged 3 months agoMITView on GitHub
Set up project-specific or shared artifact publication and publish self-contained HTML with verified public readback. Use when asked to configure or publish an artifact or page.
In this repository65 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/agent-hook-verify/references/claude.mdCLAUDE.md
- agent-command-runSkill
- agent-context-auditSkill
- agent-hook-verifySkill
- agent-integration-auditSkill
- agent-model-findSkill
- agent-project-syncSkill
- agent-skill-findSkill
- agent-skill-syncSkill
- agent-terms-defineSkill
- agent-workspace-migrateSkill
- api-contract-defineSkill
- api-docs-syncSkill
- api-stream-diagnoseSkill
- api-yandex-oauth-runSkill
- code-async-reviewSkill
- code-cli-buildSkill
- code-config-auditSkill
- code-durable-reviewSkill
- code-performance-fixSkill
- code-state-verifySkill
- deploy-rollout-runSkill
- design-brand-buildSkill
- docs-claims-verifySkill
- docs-diagram-buildSkill
- docs-prose-fixSkill
- git-branch-cleanSkill
- git-merge-syncSkill
- git-path-runSkill
- git-repo-runSkill
- git-worktree-guardSkill
- infra-container-setupSkill
- infra-network-diagnoseSkill
- infra-project-migrateSkill
- infra-runbook-buildSkill
- kanban-board-auditSkill
- kanban-card-buildSkill
- kanban-card-planSkill
- kanban-card-reviewSkill
- kanban-card-runSkill
- kanban-card-verifySkill
- kanban-epic-coordinateSkill
- kanban-queue-coordinateSkill
- kanban-roadmap-planSkill
- kanban-schedule-runSkill
- monitor-telemetry-setupSkill
- personal-action-planSkill
- quality-artifact-verifySkill
- quality-change-reviewSkill
- quality-change-verifySkill
- research-prior-art-findSkill
- research-source-auditSkill
- research-source-findSkill
- research-spike-runSkill
- security-access-diagnoseSkill
- security-api-hardenSkill
- security-boundary-hardenSkill
- security-boundary-reviewSkill
- security-filesystem-hardenSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
If the project has a public domain but no publisher, integrate one using its existing conventions and durable storage.
- Distinctive: line 19
If it has no public domain, use the owner's configured global publisher and public HTTPS base URL.
- Distinctive: line 33
Read the entire input before publication.
- Very specific: line 43
Follow the owner's configured Telegram routing, not a hardcoded DM or Saved Messages destination.
- Distinctive: line 47
Keep private chat IDs and credentials in that owner-local skill, not this shared plugin.
- Distinctive: line 50
When the user explicitly authorizes a notification to the configured recipient, after successful public readback send one concise, quiet …
- Distinctive: line 65
When the owner requests an end-to-end test, use a fresh slug and a clearly labeled standalone test report with a unique nonsecret marker.
- Distinctive: line 76
If preflight is refused, preserve the published URL and report notification as not sent.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
deploy-artifact-publish
Set up and use a publisher appropriate to the project and its actual infrastructure. A publisher may be a project command, static server, object store, or other supported backend; do not assume Make, nginx, a fixed route, or local file storage.
Select and configure a destination
- Inspect the current project's instructions and existing publication, domain, storage and deployment configuration. Reuse its supported publisher if suitable. A configured project publisher and public HTTPS base URL take precedence over global settings.
- If the project has a public domain but no publisher, integrate one using its existing conventions and durable storage. Keep routes isolated and preserve existing behavior.
- If it has no public domain, use the owner's configured global publisher and public HTTPS base URL. A URL alone is not a publisher: verify its matching write interface, routing, TLS, and project-specific namespace. If the global service is absent, set it up within the authorized infrastructure; select an unused owned name after checking DNS, TLS and routing. Wildcard resolution does not prove that a name is unused.
- Resolve settings from the runtime's supported environment/configuration interface.
On hosts that use
~/.bash_ai, place owner-specific global settings there, without embedding credentials, domain names, storage paths or implementation assumptions in this shared skill. Existing processes may need a refreshed environment. Project settings override global settings; do not silently fall back when a configured project publisher fails. See reference.md for the integration contract.
Publish
Read the entire input before publication. Publish only self-contained HTML (inline CSS/JS, no external hosts). Never publish impersonation, fabricated records/reviews, or deceptive credential/payment collection. Invoke the selected publisher according to its documented contract, using a unique project namespace and a nonconflicting slug. Read back the exact public HTTPS URL and compare the complete response with the expected published document, including any intentional transformation, before claiming success. Report the URL and any incomplete verification. Publication is an external write and needs user authorization.
Publication notifications
Follow the owner's configured Telegram routing, not a hardcoded DM or Saved
Messages destination. When telegram-ops-notifications is available, load it
and use its verified Gateway helper with --kind notification. Its notification
topic is authoritative; never fall back to a DM, General, another topic or sender.
Keep private chat IDs and credentials in that owner-local skill, not this shared
plugin. Do not read a Hermes credential store directly or create another sender.
When the user explicitly authorizes a notification to the configured recipient, after successful public readback send one concise, quiet notification containing the session ID, actual findings and the bare public URL on its own final line. Resolve the helper through the active runtime's supported skill interface; if it is unavailable, report the notification as not sent. Run its read-only preflight and offline payload check, then send the authorized message with a stable event ID. Verify the returned sender, chat, topic and message ID; perform exact-message readback when the configured user connection is available. An ACK alone is not independent readback. Preserve an uncertain send outcome; do not resend with a new key or change the route on access/policy refusal. Return the URL to the user even when publication succeeded but notification verification remains incomplete, distinguishing both outcomes.
Explicit publication smoke tests
When the owner requests an end-to-end test, use a fresh slug and a clearly labeled standalone test report with a unique nonsecret marker. Do not overwrite an existing report or claim Telegram delivery in the page before it has been verified. Compare the complete public response with the authored document. If a notification is separately authorized, send it once with the same marker and the bare report URL as the final line. Use the owner's notification skill for identity, routing, credentials and access checks; do not embed private destinations or provision access in this shared skill.
Record publication/readback, notification preflight, sender ACK and independent message readback separately. A saved Bot credential is not a successful preflight. If preflight is refused, preserve the published URL and report notification as not sent; do not change accounts, grants, API authorization or send paths to force the test through. Do not republish or resend solely to turn an incomplete check green.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

