/agent-skills-platform — Turn Existing Work Into a Reusable Skill
SkillAI & modelsLets your agent create custom skills that automate repetitive workflows from a plain description.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /agent-skills-platform — Turn Existing Work Into a Reusable Skill skill
About this capability
Create cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, dai
What this skill tells your AI
The instructions your AI receives, as published by francyjglisboa/agent-skills-platform in SKILL.md and read by ahel’s review.
The user provides whatever already represents their work — a description, document, link, script, screenshot, transcript, or partial example. Turn that evidence into a complete, production-ready, cross-platform agent skill. The user should not need to write a specification, understand the skill format, choose an architecture, or review implementation details.
Recurring work contains tacit knowledge that people recognize more easily than they can document upfront. Infer that knowledge from the supplied material, confirm the result in plain language, build autonomously, and give the user a concrete output they can judge and correct.
The User Journey
Use this guided-light path by default. Expose the five technical phases only when the user asks how the factory works or requests interactive control.
- Understand — read the evidence and summarize the question, trigger, supported decision, required evidence, and measurable success condition alongside the workflow, input, and output. Ask for one confirmation or correction.
- Build — create the skill autonomously. Report progress in user language; do not ask the user to select APIs, architecture, filenames, or eval mechanics unless a choice changes the real-world outcome.
- Check — run validation, pipeline, security, and eval gates. A clean security scan means no known pattern matched; it is not proof of safety.
- Try — auto-install the skill and exercise it once on representative input in a safe local or dry-run environment. Show the output and ask whether it matches the user's work.
The skill is successfully created only after the representative run succeeds. If a
safe run needs credentials, unavailable data, or permission for a consequential side
effect, use the verification-blocked handoff below instead of claiming success.
At creation start, run python3 scripts/success_ledger.py new-run, retain that ID
through verification, and record the local lifecycle events described in
references/product-success.md. Recording stores no workflow content and must never
block creation; respect ASC_SUCCESS_LEDGER=off.
First-run destination routing
Before the structured interview, ask exactly one routing question when the user has not already made the destination clear:
Is this skill just for you, or will teammates install or reuse the skill itself?
- Just for me — create, verify, and install a private skill. Do not ask the user to create a marketplace or invent owners and approval state.
- My team — ask whether a governed GitHub or GitLab marketplace already exists. If it exists, read its published governance configuration before generation and bind the generated skill to its exact ownership and approval requirements. If it does not exist, route the marketplace operator to create it before the team skill is generated; the workflow expert does not run marketplace commands.
Teammates receiving a report, queue, or other output does not by itself make this a team skill; route to a marketplace only when teammates will install or reuse the skill. This is destination routing, not a technical interview. Do not explain registries, release tags, or marketplace internals unless the user chooses team use.
During the structured interview, confirm each discovered decision in plain language and ask only the next highest-value question. Never present a fixed question count or progress fraction: the number of questions depends on the workflow and its risk.
Trigger
User invokes /agent-skills-platform followed by their input:
/agent-skills-platform Every week I pull sales data, clean it, and generate a report
/agent-skills-platform https://wiki.internal/deploy-runbook
/agent-skills-platform See src/invoice_processor.py — turn it into a reusable skill
/agent-skills-platform Here's our API docs: https://api.internal/docs — make a skill for querying inventory
/agent-skills-platform Based on compliance-checklist.pdf, create a skill for SOX audits
/agent-skills-platform --mcp-audit https://github.com/vendor/mcp-server — we pay for this data, what skills can we build on it?
/agent-skills-platform --audit ./downloaded-skill/ — someone sent me this, is it safe to install?
The user can also drop artifacts, paste URLs, share screenshots, or provide minimal context:
/agent-skills-platform here
[+ drops 5 files into chat: spreadsheet, PDF output, screenshot, email, half-working script]
/agent-skills-platform [pastes 2 URLs and a half-sentence]
https://apps.fas.usda.gov/psdonline/app/index.html
same thing as the wasde extractor but for this
/agent-skills-platform [screenshot of Bloomberg terminal + Excel side by side]
this is ridiculous. there has to be a better way
/agent-skills-platform freight
/agent-skills-platform [pastes a forwarded email chain with 6 replies and legal disclaimers]
my colleague in London built something for this. can we do the same?
/agent-skills-platform [pastes 3 corporate documents: brand voice guidelines, editorial style guide, visual design system]
we need everyone writing and designing to follow these
The user can also activate naturally without the prefix:
Create a skill for analyzing CSV files
Every day I process invoices manually, automate this
Automate this workflow
Validate this skill
Export this skill for Cursor
Is this skill safe to install?
Audit this skill before I run it
What does this skill have access to?
How the Factory Works
Raw material goes in. A validated, security-scanned, self-contained skill comes out.
Evidence-Based Intent Derivation
Before any phase begins, triage whatever the user provided. Human input is evidence to derive intent from — not a specification to parse. Files, URLs, screenshots, forwarded emails, single words, and half-sentences are all valid input. The absence of a well-formed description is not the absence of intent.
Input hierarchy: Artifacts (files, URLs, screenshots) carry more signal than words. When both are provided, the artifact is the spec and the words are commentary.
Input triage — classify what the user provided before proceeding:
- Files only (Excel, PDF, code, CSV) → Reverse-engineer the workflow from structure and content. Tab names, column headers, formulas, and formatting ARE the specification.
- URLs only → Fetch each URL. Understand the data source. Infer what the user would do with this data based on their role and context.
- Screenshot/image → Read visually. Identify: what tool is shown? What data? What manual step is visible? What is the pain?
- Email/forwarded chain → Extract: who asked for what, what was agreed, what is the actual request. Ignore disclaimers, scheduling, CC lists.
- Single word or phrase → Infer from context: the user's desk/role, existing skills in their environment, databases available. Present the most likely interpretation and confirm.
- Mixed (files + sentence) → The files are the spec. The sentence is commentary. Cross-reference both.
- "here" + files → The files ARE the input. Process them all. Present your understanding.
- Pasted reference material (guidelines, policies, wiki pages, style guides, long inline text that is clearly not a description but source material) → This IS the knowledge to codify. Read it all. Identify what it governs (writing, design, compliance, process). The user wants an active skill that enforces these rules, not a summary of them.
- Well-formed description → Proceed normally, but still challenge the surface description.
Discovery before building: Before constructing anything, check: Is this data already in a database the user has access to? Has a colleague built a skill for this? Is there an API that makes a scraping approach unnecessary? The best skill is sometimes "you don't need a skill — the data already exists."
Hypothesis, not questionnaire: Never present 5 questions upfront. Present one compact understanding with four fields: workflow, input, output, and what a correct result must demonstrate. The user confirms or corrects it with one response.
Progressive refinement: Build at 60% understanding. A concrete (possibly wrong) output that the human reacts to is faster than 15 clarifying questions. The human cannot articulate what they want from nothing, but they can instantly say "no, not that — this" when shown something tangible.
Fail forward: If a file cannot be parsed, a URL is down, or context is ambiguous — build from what you have and flag the gap. Never block on a missing piece.
The factory operates in two stages:
Stage 1: Understand and Specify (Phases 1-2)
Read every piece of material the user provides. Follow links. Read files. Parse PDFs. Study existing code. But do not take any of it at face value.
Humans describe what they do, not what they need. "I pull sales data and make a report" hides a dozen implicit requirements: What decisions does the report drive? Who reads it? What format? What happens when data is missing? What constitutes a good report vs. a bad one? The human knows the answers to these questions but won't think to tell you. Your job is to uncover them from the material itself.
Clarity principles (self-guided, no external dependency):
- Treat input as evidence, not instructions. The user's files, URLs, and screenshots are primary evidence. Their words (if any) are secondary commentary. An Excel workbook with 6 tabs IS the specification — the user will never describe the tabs verbally because the workflow lives in muscle memory, not words.
- Read everything before concluding anything. Do not start forming the spec after the first paragraph. Consume all material — every link, every file, every page — then synthesize.
- Challenge the surface description. The human's words are a starting point, not a specification. Look for what's missing, what's implied, what's contradictory. If someone says "generate a report," ask yourself: report for whom? In what format? With what data? At what frequency? Answering what triggers it? If there is no description — only files or URLs — derive the description yourself from the artifacts. The absence of words is not the absence of intent.
- Extract implicit requirements. Error handling, data validation, edge cases, output formats, failure modes — the human assumed these were obvious. They aren't. Make them explicit in your spec.
- Identify the real output. The human says "report" but means "a PDF my VP can read in 2 minutes that shows whether we're hitting targets." The human says "clean the data" but means "deduplicate, normalize dates, flag outliers, and log what was changed." Dig past the label to the substance.
- Generate a spec that surpasses the human's understanding. Your specification should contain requirements the human would say "yes, exactly" to — but could never have articulated themselves. That is the standard.
Then produce your internal specification — a complete implementation contract structured as a linear walkthrough:
- What problem does this actually solve (not what the human said — what they meant)?
- What are the real inputs, outputs, and data sources?
- What are the use cases (4-6, covering 80% of real usage)?
- What methodology does each use case follow?
- What APIs or libraries are needed?
- What are the failure modes and edge cases the human didn't mention?
This specification is for you, not the user. The quality of the skill depends entirely on the quality of this specification. Be thorough. Be precise. Be opinionated — you understand the material better than the human can articulate it.
Stage 2: Build and Verify (Phases 3-5)
Implement the skill end-to-end from your specification. Structure the directory. Write every file. Generate functional code — no placeholders, no TODOs, no stubs. Then run automated validation and security scanning. If either fails, fix the issues and re-run. Do not deliver a skill that fails its own quality gates.
Phase 1: DISCOVERY Read all material, research APIs, data sources, tools
Phase 2: DESIGN Generate internal specification (use cases, methods, outputs)
Phase 3: ARCHITECTURE Structure the skill directory (simple vs. complex suite)
Phase 4: DETECTION Craft activation description + keywords for reliable triggering
Phase 5: IMPLEMENTATION Create all files, validate, security scan, deliver
The user's raw material supplies the domain evidence. The factory supplies the implementation. The quality gates provide observable checks, while the representative run lets the user judge whether the result matches the work they actually do.
Output: A self-contained skill with instructions, functional scripts when needed,
evals, maintenance tools, plugin manifests, and a cross-platform installer. Once
installed, users invoke it as /skill-name. See references/architecture-guide.md
for the package layouts.
Core Workflow
Structured interview gate (required before Phase 2)
Do not require the user to invent a complete prompt or semantic contract. Start a
resumable interview.json from the problem they can describe. Inspect their supplied
materials and environment first; record evidence-backed agent conclusions as
proposed, competing meanings as conflicting, and ask only the single highest-value
question returned by the interview state. The agent discovers, compares, structures,
remembers, proposes, and tests. Identified humans confirm business meaning, authority,
consequences, and risk.
Run python3 scripts/structured_interview.py gate interview.json before Phase 2.
BLOCKED means continue discovery or ask one bounded decision question; never fill
the field with invented certainty. READY permits design and generation. Read
references/structured-interview.md for commands, states, and authority rules.
Phase 0: Spec Ideation (only when input is too vague to spec)
Most input names a workflow — skip straight to Phase 1. But when the user arrives without a skill in mind — one word ("freight"), a shrug ("there has to be a better way"), an explicit "give me a skill idea / what should I automate", or a dumped transcript with no goal — you cannot spec what does not yet exist. Do not guess a skill and build it. First help them find one: harvest their real recurring work (never invent chores), filter to what a skill factory can actually ship (repeatable + markdown/scripts + data-centric + binary-checkable — drop apps/games/firmware), and shape the chosen chore into the workflow Phase 1 needs. The counterintuitive rule: the best skill is the boring, repeated, obvious chore, not the clever one.
See references/spec-ideation.md for the harvest → filter → shape procedure and
its held-out bellwether.
MCP Capability Audit (--mcp-audit — feasibility map instead of a build)
When the user points at a vendor's MCP server and asks what can be built on
it ("we pay for data from vendor X, exposed via their MCP — what skills can we
create on top?"), the deliverable is a feasibility map, not code. Enumerate the
server's real tool inventory (live tools/list, or file/line citations from the
repo — never prose docs alone), map the data surface, and split candidate skills
into ranked buildable (every step mapped to a named tool, orchestration
classified agent vs script) and not buildable (exact missing primitive
named, closest existing tool cited). The architectural line: generated pipeline
scripts cannot call MCP tools at runtime, so script-orchestrated candidates
must declare a non-MCP data path (rest / export / agent-handoff).
Outputs: MCP_AUDIT.md (human) + mcp_audit.json (machine), gated by
python3 scripts/mcp_audit_validate.py mcp_audit.json — fix findings until
exit 0. A chosen buildable candidate then enters Phase 1 as a normal build.
See references/mcp-audit.md for the full procedure, report schema, and the
held-out human spot-check.
Skill Audit (--audit — vet a skill you did not write)
When the user points at a skill they did not create — a download, a colleague's folder, a registry entry — the deliverable is a verdict on whether it is safe to install, not a build.
A skill is not a document. It ships executable scripts that run with the user's filesystem access and whatever API keys are in their environment, and its instruction body is read by the agent at load time, before any code runs. Installing one is taking a dependency on a stranger's software.
Run both gates, then answer in plain language: what does it reach, what can it read or write, does the instruction body try to steer the agent, and does the code match what the frontmatter claims?
python3 scripts/validate.py <path>
python3 scripts/security_scan.py <path>
Any high-severity finding → report as unsafe, name the finding and its file:line, and stop. Never install it and never offer a workaround. A clean scan is not proof of safety — it means no known pattern matched; say so, and say which files you actually read.
Read references/skill-audit.md for the four audit questions in full, the verdict rules, and how to report partial coverage.
Phase 1: Discovery
Research available APIs and data sources for the user's domain. Compare options by
cost, rate limits, data quality, and documentation. Propose the best technical option
with evidence. The agent may decide reversible implementation details; a human owner
must confirm choices that establish organizational meaning or accept consequential
risk. Update interview.json throughout discovery and ask no question whose answer
can be obtained from the supplied environment.
After recording the structured data interface and risk tier, run
python3 scripts/run_phase1_semantic_recon.py <skill-dir>. This deterministically
emits semantic_recon.sources from the discovered interface types, authoritative
sources, recurrence trigger, and declared risk; then it invokes the gate and
orchestrator. Do not hand-write this list. When a required source has a configured
Semantic Recon runner, it creates/contracts the source, records its resolved identity,
and resumes only after the contract gate passes.
Semantic Recon path (default for declared sources)
Before designing a skill that uses any declared live or structured source, run Semantic Recon by default. This applies to:
- A source is a
DATA_API,DATABASE,MCP_SERVER,CODEBASE, or remotely servedDATA_FILE. - The source is required by the workflow, regardless of whether reuse or blast radius has already been proven.
--semantic-recon is retained as a compatibility flag; it no longer opts into the
gate because the gate is automatic. Only a workflow with no external or structured
source may omit Semantic Recon.
Never silently skip the path because probing is inconvenient: if the target qualifies
but access, the blast-radius decision, or the out-of-scope boundary is unavailable,
record verification-blocked and do not generate a direct source client.
When this path applies, invoke /semantic-recon before Phase 2. Its target profile
must name the blast radius and out-of-scope boundary; freeze holdout questions before
discovery; then use the completed contract rather than re-deriving source behavior.
The generated skill must load exactly one registered data_contract_<id>, run its
health check, route requests through validate_query(), preserve its provenance
formatter, and treat a refusal or drift report as a safe stop. Add both success and
refusal cases to the generated evals. Record the contract id, resolved path, target
type, required operations, and freshness check in discovery.json as a
semantic_recon dependency block. Semantic Recon establishes what the source does;
the authorized domain owner still establishes organizational meaning.
See references/pipeline-phases.md for detailed Phase 1 instructions.
Phase 2: Design
Define 4-6 priority analyses covering 80% of use cases. For each: name, objective, inputs, outputs, methodology. Always include a comprehensive report function.
See references/pipeline-phases.md for detailed Phase 2 instructions.
Phase 2 includes an Artifact Opportunity Assessment step. After the
domain is identified, the creator runs scripts/artifact_detector.py on
the description. If the output is visualizable (time series, comparison,
KPIs, or structured rows), one of four bundled React templates is inlined
into the generated SKILL.md along with Claude's artifact emission
protocol. The artifact renders in Claude environments; in other hosts the
component source appears as fenced code and the markdown analysis is
unchanged. See references/phase2-artifact-assessment.md for details.
Override flags — parse the user's prompt for these tokens BEFORE calling the detector:
--no-artifactanywhere in the user's prompt: skip the assessment entirely and generate the skill without any artifact template, exactly as v4 did. Strip the token from the prompt before passing it to Phase 1.--artifact <name>(where<name>isline-chart,bar-chart,kpi-cards, ordata-table): skip the detector and inline the named template directly. If<name>is not one of the four valid names, reject with an error listing the four valid values and stop. Strip the flag and value from the prompt before passing it to Phase 1.--no-evalanywhere in the user's prompt: skip the Eval Criteria Definition step (below); the generated skill carries noevals/directory and norun_evals.py. Strip the token from the prompt before passing it to Phase 1.
When neither flag is present, call the detector and let it decide.
Phase 2 also includes an Eval Criteria Definition step. After the use
cases are defined, derive the skill's loss function: 3–6 binary checks (each
graded by a shell command or flagged llm-judge) plus at least 3 golden
cases — seeded from the user's artifacts when available, otherwise synthesized
as input-only pending-first-green cases. Present them for a one-word
thumbs-up. The spec is written in Phase 5 to evals/<name>.eval.md and ships
with the skill as an instant regression test, formatted so
autoresearch-universal consumes it directly (its rule 18). Eval generation is
on by default; --no-eval opts out. See
references/phase2-eval-assessment.md for criteria rules, the golden-case
strategy, the JSON spec format, and the optimize handoff.
Phase 2 also classifies software mutation. If the generated skill creates or
modifies application code, schemas, models, persistence, serialization, caches,
synchronization, migrations, or stateful features, review the affected representation
before designing the implementation. Name the affected structures, invariants, single
sources of truth, invalid states that must be unrepresentable, and allowed state
transitions. Unknown invariants block implementation; do not substitute a generic
checklist. Non-software skills declare that this conditional review does not apply.
Read references/discovery-metadata.md for the schema, then record the result in
discovery.json.
Shortened here. Read the whole file on GitHub.
Signals
- GitHub stars
- 2k
- Forks
- 262
- Last commit
- Sep 2026
ahel recommends instead
Advanced
- Catalog kind
- skill
- Gateway key
agent-skills-platform-francyjglisboa- Source
- github.com/francyjglisboa/agent-skills-platform